:root{--bg:#111113;--surface:#1b1b1e;--ink:#f5f3ee;--muted:#b7b5b5;--red:#cb3b50;--line:#38383c;--space:clamp(24px,5.3vw,90px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #ff8190;outline-offset:6px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.04;letter-spacing:-.055em}p{color:var(--muted)}.skip{position:fixed;top:-80px;left:20px;z-index:99;background:white;color:black;padding:12px}.skip:focus{top:10px}header{height:100px;padding:0 var(--space);display:flex;gap:35px;align-items:center;position:absolute;top:0;left:0;width:100%;z-index:20;border-bottom:1px solid #ffffff30;background:#11111344}header.fixed{position:fixed;background:#111113ed;backdrop-filter:blur(16px);height:84px}.logo{width:230px;padding:9px 12px;background:#fff;flex-shrink:0}.logo img{width:100%;height:auto}nav{display:flex;gap:28px;margin-left:auto;font-size:14px}nav a:hover,footer a:hover{color:#ff7c8e}.header-cta{font-size:14px;border-bottom:1px solid #bd4657;padding:8px 0;white-space:nowrap}.header-cta span{margin-left:22px}.menu{display:none;border:0;color:white;background:none;font-size:25px}.hero{min-height:780px;height:100svh;max-height:1200px;position:relative;overflow:hidden;display:flex;align-items:center;padding:135px var(--space) 115px}.hero-img{position:absolute;inset:-8% 0;width:100%;height:116%;max-width:none;object-fit:cover;object-position:center 47%;will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0ddd 0%,#0b0b0d64 60%,#0b0b0d20),linear-gradient(0deg,#111113 0%,transparent 45%,#0d0d0d55)}.hero-content{position:relative;width:100%;padding-top:55px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.17em;color:#e2dedc;display:flex;gap:12px;align-items:center}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff5269;box-shadow:0 0 15px #e43658}h1{font-size:clamp(64px,8.4vw,140px);font-weight:900;line-height:.94;margin:35px 0 45px;letter-spacing:-.065em}h1 em{font-style:normal;color:#f1d6d9}h1 em::after{content:'';display:inline-block;width:.13em;height:.13em;background:var(--red);margin-left:.07em}.hero-bottom{display:flex;align-items:center;gap:70px}.hero-bottom p{color:#e2dddd;font-size:18px;line-height:1.6}.button{display:inline-flex;gap:45px;align-items:center;justify-content:space-between;background:var(--red);color:#fff;padding:17px 22px;font-size:14px;font-weight:600;border:1px solid var(--red);transition:background .2s,transform .2s}.button:hover{background:#ac293e;transform:translateY(-3px)}.button span{font-size:23px;font-weight:400}.hero-foot{position:absolute;bottom:30px;left:var(--space);right:var(--space);border-top:1px solid #ffffff40;padding-top:24px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.1em}.hero-credit{color:#aca6ab}.hero-foot a span{margin-left:20px}.ticker{display:flex;gap:40px;justify-content:space-around;align-items:center;padding:25px 20px;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;font-size:16px;font-weight:700;letter-spacing:.04em}.ticker b{font-size:32px;color:var(--red);font-weight:400}footer{padding:50px var(--space) 25px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.footer-logo{width:190px;background:white;padding:8px}footer div{display:flex;gap:25px}.prototype-note{width:100%;font-size:12px;border-top:1px solid var(--line);padding-top:20px}
@media(max-width:1100px){nav{gap:18px}.logo{width:195px}header{gap:25px}.hero-credit{display:none}.hero-bottom{gap:30px}}
@media(max-width:800px){header{height:82px}.logo{width:190px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:#171719;padding:25px;flex-direction:column;border-bottom:1px solid var(--line);font-size:20px}nav.open{display:flex}.header-cta{margin-left:auto}.menu{display:block}.hero{min-height:730px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:25px}h1{font-size:clamp(56px,10.4vw,84px)}.hero-content{padding-top:20px}.hero-img{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#111113c9,#11111344),linear-gradient(0deg,#111113,transparent 70%)}.ticker{justify-content:flex-start;gap:25px;font-size:13px}.hero-foot{font-size:10px}.eyebrow{font-size:11px;letter-spacing:.12em}}
@media(max-width:480px){header{gap:16px}.logo{width:174px}.header-cta{display:none}.menu{margin-left:auto}.hero{min-height:740px;padding-top:110px}.hero h1{font-size:clamp(46px,10.5vw,55px);margin:32px 0}.hero-bottom p{font-size:16px}.hero-foot{letter-spacing:.05em}.hero-foot a span{margin-left:5px}.eyebrow{font-size:10px}.hero-content{padding-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-img{transform:none!important}}
.section{padding:110px var(--space)}.red{color:var(--red)}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:58px}.section-head .eyebrow{align-self:start;margin-top:8px}h2{font-size:clamp(44px,5.1vw,82px);font-weight:600;line-height:1.04}.intro{margin-top:26px;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service{position:relative;min-height:380px;overflow:hidden}.service img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s;opacity:.75}.service::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#050508f0,transparent 100%)}.service:hover img{transform:scale(1.06)}.service-content{position:absolute;inset:0;padding:28px 24px;z-index:1;display:flex;flex-direction:column;justify-content:flex-end}.service-no{position:absolute;top:25px;left:24px;font-size:13px}.service h3{font-size:44px;margin-bottom:18px}.service p{color:#d5d1d3;font-size:14px;line-height:1.6}.round-arrow{width:40px;height:40px;border:1px solid #ffffff66;border-radius:50%;display:grid;place-items:center;font-size:23px}.service .round-arrow{position:absolute;top:20px;right:20px}.projects{background:#18181b;border-top:1px solid var(--line)}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 25px}.case{border:0;padding:0;background:transparent;text-align:left;color:var(--ink);width:100%}.case-wide{grid-column:1/-1}.case-picture{height:330px;position:relative;overflow:hidden}.case-wide .case-picture{height:550px}.case-picture img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.case:hover img{transform:scale(1.035)}.case-tag{position:absolute;left:22px;top:22px;background:#111113a8;border:1px solid #ffffff50;backdrop-filter:blur(8px);padding:6px 12px;font-size:11px;letter-spacing:.09em}.case .round-arrow{position:absolute;right:24px;bottom:24px;background:#12121260;width:50px;height:50px}.case-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:23px 0 9px}.case h3{font-size:30px;letter-spacing:-.04em}.case-title span{color:var(--muted);font-size:12px}.case p{font-size:15px}.archive-note,.equipment-note{margin-top:36px;font-size:12px;color:#969399}.equipment{background:#efede8;color:#18181b}.equipment p{color:#5b585c}.equipment .eyebrow{color:#4d494d}.equipment-tabs{display:flex;border-bottom:1px solid #bbb7b4;gap:32px;margin-bottom:38px;overflow:auto}.equipment-tabs button{padding:16px 0;flex-shrink:0;border:0;border-bottom:3px solid transparent;background:none;color:#625e61;font-size:14px}.equipment-tabs button[aria-selected=true]{border-color:var(--red);color:#201a1c;font-weight:700}.equipment-display{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;align-items:center}.equipment-image{background:white;min-width:0;padding:26px 25px 20px;min-height:390px;display:flex;flex-direction:column;justify-content:space-between}.equipment-image>span{font-size:11px;letter-spacing:.15em;color:#777}.equipment-image img{width:100%;height:270px;object-fit:contain;margin:18px 0}.equipment-image p{font-size:12px;line-height:1.5}.equipment-info h3{font-size:clamp(40px,4vw,62px);margin:18px 0 24px}.equipment-info>p:not(.eyebrow){font-size:16px;line-height:1.7}.brands{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 32px}.brands a{font-size:12px;border:1px solid #bcb8b8;padding:6px 10px}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:14px;border-bottom:1px solid var(--red);padding:10px 0}.text-link span{font-size:22px}.about{display:grid;grid-template-columns:1.15fr 1fr;gap:11vw;align-items:start}.about-sticky{position:sticky;top:140px}.about h2{font-size:clamp(40px,4vw,62px);margin:30px 0}.about-sticky>p:not(.eyebrow){margin:20px 0;max-width:410px}.about .text-link{margin-top:16px}.steps article{padding:40px 0 65px;border-top:1px solid var(--line)}.steps article>span{color:#d86071;font-size:12px;letter-spacing:.1em}.steps h3{font-size:32px;margin:28px 0 22px;line-height:1.1}.steps p{font-size:16px;line-height:1.8}.contact{background:#aa3042;color:#fff;padding-top:75px;padding-bottom:65px}.contact p{color:#f6d8dd}.contact-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:35px 0 60px}.contact h2{font-size:clamp(80px,11vw,172px);font-weight:600;line-height:.95}.contact h2 em{font-style:normal;color:#ecc7cc}.contact-arrow{font-size:100px;width:175px;height:175px;border:1px solid #ffffff88;border-radius:50%;display:grid;place-items:center;line-height:1;transition:background .3s}.contact-arrow:hover{background:#ffffff20}.contact-bottom{display:grid;grid-template-columns:1.5fr 1.2fr 1fr;gap:25px;border-top:1px solid #ffffff55;padding-top:30px;align-items:start}.contact-bottom a{display:block;font-size:18px;line-height:1.8}.contact address{font-style:normal;font-size:14px;color:#f0c8cf}dialog{padding:0;border:1px solid #555;background:#19191c;color:var(--ink);width:min(900px,calc(100vw - 32px));max-height:90svh;overflow:auto}dialog::backdrop{background:#000c;backdrop-filter:blur(10px)}dialog>img{width:100%;height:clamp(200px,40vh,420px);object-fit:cover}.dialog-close{position:absolute;right:15px;top:15px;border:1px solid #777;color:#fff;background:#111d;width:44px;height:44px;border-radius:50%;z-index:1}.dialog-copy{padding:35px}.dialog-copy h2{font-size:42px;margin:20px 0}.dialog-copy>p{margin-bottom:20px}.dialog-credit{font-size:12px}.reveal.visible{animation:reveal .7s both}@keyframes reveal{from{opacity:.25;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.service-grid{grid-template-columns:1fr 1fr}.section-head{grid-template-columns:1fr 1.5fr}.equipment-display{gap:30px}.contact-bottom{grid-template-columns:1fr 1fr}.contact-bottom address{grid-column:2}.about{gap:7vw}.service{min-height:330px}}
@media(max-width:700px){.section{padding:72px var(--space)}.section-head{grid-template-columns:1fr;gap:25px;margin-bottom:36px}h2{font-size:44px}.intro{font-size:16px}.intro br{display:none}.service-grid{gap:12px}.service{min-height:290px}.service-content{padding:20px 16px}.service h3{font-size:34px}.service p{font-size:13px}.service-no{left:16px}.service .round-arrow{right:14px;width:32px;height:32px}.case-grid{grid-template-columns:1fr;gap:34px}.case-wide{grid-column:auto}.case-picture,.case-wide .case-picture{height:290px}.case h3{font-size:25px}.equipment-tabs{gap:24px}.equipment-display{grid-template-columns:1fr;gap:32px}.equipment-image{min-height:300px;padding:20px}.equipment-image img{height:220px}.equipment-info h3{font-size:42px}.about{grid-template-columns:1fr;gap:45px}.about-sticky{position:static}.steps article{padding:28px 0 35px}.steps h3{font-size:29px}.contact h2{font-size:70px}.contact-arrow{width:86px;height:86px;font-size:50px;flex-shrink:0}.contact-bottom{grid-template-columns:1fr;gap:25px}.contact-bottom address{grid-column:auto}.contact-heading{margin-bottom:40px}footer{padding:35px var(--space);align-items:flex-start;flex-direction:column;gap:22px}.dialog-copy{padding:24px}.dialog-copy h2{font-size:34px}}
@media(max-width:360px){.service-grid{grid-template-columns:1fr}.contact h2{font-size:60px}.contact-arrow{width:65px;height:65px;font-size:40px}}

/* Original logo pixels: white background is transparent; brand lettering and subtitle use dark-surface colors. */
.logo,.footer-logo{background:transparent;padding:0}.logo{width:250px}.footer-logo{width:220px}.logo img,.footer-logo img{filter:url(#qss-dark-logo)}header{background:linear-gradient(180deg,#111113e8,#111113a0)}@media(max-width:1100px){.logo{width:215px}}@media(max-width:480px){.logo{width:205px}}

.references{background:#141416;border-top:1px solid var(--line)}.reference-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:60px;border-top:1px solid var(--line)}.reference-highlights>div{padding:28px 24px 30px 0;border-bottom:1px solid var(--line)}.reference-highlights span{font-size:11px;letter-spacing:.13em;color:#de7a87}.reference-highlights h3{font-size:26px;letter-spacing:-.035em;margin:18px 0 12px;line-height:1.15}.reference-highlights p{font-size:14px}.reference-group{border-top:1px solid var(--line);padding:0 0 28px}.reference-group summary{cursor:pointer;font-size:21px;font-weight:600;padding:25px 0;line-height:1.4}.reference-group summary>span{float:right;font-size:13px;font-weight:400;color:var(--muted);padding-top:6px}.reference-list{columns:3;column-gap:40px;list-style:none;margin:5px 0 0;padding:0}.reference-list li{break-inside:avoid;padding:11px 0;border-bottom:1px solid #ffffff0f;font-size:14px;line-height:1.7;color:#d4cfd1}.reference-source{font-size:12px;line-height:1.8;margin-top:12px}.reference-source a{text-decoration:underline;text-underline-offset:3px}summary:focus-visible{outline:3px solid #ff8190;outline-offset:6px}@media(min-width:801px) and (max-width:1180px){header{gap:18px}nav{gap:14px;font-size:13px}.logo{width:190px}.header-cta{font-size:13px}}@media(max-width:900px){.reference-list{columns:2}.reference-highlights{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.reference-highlights{grid-template-columns:1fr 1fr;column-gap:18px}.reference-highlights>div{padding-right:0}.reference-highlights h3{font-size:21px}.reference-highlights p{font-size:13px}.reference-highlights span{font-size:10px}.reference-list{columns:1}.reference-group summary{font-size:18px}.reference-group summary>span{font-size:12px}.reference-list li{font-size:14px}}

/* Responsive logo sizing and event strip. */
.logo,.footer-logo{display:block;flex-shrink:0;border:0;text-decoration:none;box-shadow:none}
.logo{width:280px}.logo img,.footer-logo img{display:block;width:100%;height:auto;aspect-ratio:500/103;object-fit:contain;border:0}
.footer-logo{width:220px}
.ticker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:24px var(--space);overflow:visible;white-space:normal}
.ticker>span{display:flex;align-items:center;justify-content:center;gap:18px;font-size:clamp(12px,1.05vw,16px);white-space:nowrap}
.ticker>span::before{content:'✳';font-size:28px;color:var(--red);font-weight:400;flex-shrink:0}
@media(max-width:1100px){.logo{width:240px}header{gap:24px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#171719;padding:25px;flex-direction:column;border-bottom:1px solid var(--line);font-size:20px;margin:0}nav.open{display:flex}.header-cta{margin-left:auto}.menu{display:block}.ticker{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}.ticker>span{font-size:14px;justify-content:flex-start}}
@media(max-width:480px){.logo{width:230px}.ticker{column-gap:12px;padding:20px var(--space)}.ticker>span{font-size:12px;gap:9px}.ticker>span::before{font-size:20px}}
@media(max-width:380px){.logo{width:205px}.ticker{grid-template-columns:1fr}.ticker>span{font-size:14px}}
/* Exclude the empty raster edge from the logo filter's output bounds. */
.logo img,.footer-logo img{clip-path:inset(0 0 1px 0)}

.legal-page header{position:relative;background:#111113;height:auto;min-height:100px;padding-top:20px;padding-bottom:20px}.legal-back{margin-left:auto;font-size:14px}.legal-document{max-width:940px;margin:0 auto;padding:75px var(--space) 100px}.legal-document h1{font-size:clamp(40px,6vw,72px);margin:0 0 28px;overflow-wrap:anywhere}.legal-document h2{font-size:26px;line-height:1.3;letter-spacing:-.02em;margin:40px 0 15px}.legal-document p{line-height:1.85;margin:0 0 18px}.legal-document a{color:#f0a4af;text-decoration:underline;text-underline-offset:3px}.legal-document strong{color:var(--ink)}.legal-lead{font-size:18px}.legal-modal{width:min(940px,calc(100vw - 30px))}.legal-modal .legal-document{padding:55px 30px}.legal-modal .dialog-close{position:sticky;top:12px;float:right;margin:12px 12px 0 0}.legal-page footer{justify-content:space-between}@media(max-width:480px){.legal-page header{gap:15px}.legal-page .logo{width:190px}.legal-back{max-width:70px}.legal-document{padding-top:50px}}

/* Selected white design, September 2026. */
html{scrollbar-gutter:stable}.case-tag,.case .round-arrow,.service{color:#fff}.service{background:#111}.legal-document a{overflow-wrap:anywhere}
:root{--bg:#fff;--surface:#f4f4f5;--ink:#171719;--muted:#59575c;--red:#b92f46;--line:#dedde0}
body,footer,.references,.equipment{background:#fff;color:var(--ink)}
header,header.fixed,.legal-page header{background:#fffffff2;border-color:#dedde0;backdrop-filter:blur(16px);color:#171719}
.logo img,.footer-logo img{filter:none}.logo,.footer-logo{background:#fff}
.menu{color:#171719}nav.open{background:#fff}.eyebrow{color:#59575c}
.hero-shade{background:linear-gradient(90deg,#fffffff5 0%,#ffffffde 33%,#ffffff64 70%,#ffffff20),linear-gradient(0deg,#fff 0%,transparent 55%)}
h1 em{color:#b92f46}.hero-bottom p,.hero-credit{color:#454148}.hero-foot{border-color:#25202540}
.projects{background:#f5f4f5}.archive-note,.equipment-note{color:#625d65}
.equipment-image{background:#f3f2f3}.equipment p,.equipment .eyebrow{color:#59575c}
.reference-list li{color:#403c42;border-color:#22222212}.reference-highlights span,.steps article>span{color:#a92d42}
dialog{background:#fff;color:#171719;border-color:#d5d2d5}.legal-document a{color:#a3293f}
.contact .eyebrow{color:#f6d8dd}.contact{background:#a92d42}.button{color:#fff}
@media(max-width:1100px){nav{background:#fff;color:#171719}}

/* Lift image presentation while retaining the original color palette. */
.hero-img{filter:brightness(1.12)}
.service img{opacity:1;filter:brightness(1.22)}
.service::after{background:linear-gradient(0deg,#050508db 0%,#05050850 37%,transparent 72%)}
.case:not([data-case="gallen"]) .case-picture img{filter:brightness(1.18)}
.equipment-image img{filter:brightness(1.22)}
#dialog-img.friendly-image{filter:brightness(1.18)}

/* Approved selectable light / dark appearance, 29 September 2026. */
:root{color-scheme:light}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:24px;background:transparent;color:inherit;flex-shrink:0;font-size:12px;line-height:1}
.theme-toggle:hover{background:var(--surface)}
.theme-toggle svg{flex-shrink:0}
.reference-group:not([open]){padding-bottom:0}
html[data-theme="dark"]{color-scheme:dark;--bg:#111113;--surface:#1b1b1e;--ink:#f5f3ee;--muted:#b7b5b5;--red:#cb3b50;--line:#38383c}
html[data-theme="dark"] body,html[data-theme="dark"] footer,html[data-theme="dark"] .references,html[data-theme="dark"] .equipment{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] header,html[data-theme="dark"] header.fixed,html[data-theme="dark"] .legal-page header{background:#111113f2;border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .logo,html[data-theme="dark"] .footer-logo{background:transparent}
html[data-theme="dark"] .logo img,html[data-theme="dark"] .footer-logo img{filter:url(#qss-dark-logo)}
html[data-theme="dark"] .menu,html[data-theme="dark"] nav{color:var(--ink)}
html[data-theme="dark"] nav.open{background:#171719}
html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .equipment p,html[data-theme="dark"] .equipment .eyebrow{color:var(--muted)}
html[data-theme="dark"] .hero-shade{background:linear-gradient(90deg,#0b0b0ddd 0%,#0b0b0d64 60%,#0b0b0d20),linear-gradient(0deg,#111113 0%,transparent 45%,#0d0d0d55)}
html[data-theme="dark"] h1 em{color:#f1d6d9}
html[data-theme="dark"] .hero-bottom p,html[data-theme="dark"] .hero .eyebrow{color:#e2dddd}
html[data-theme="dark"] .hero-credit{color:#b7b5b5}
html[data-theme="dark"] .hero-foot{border-color:#ffffff40}
html[data-theme="dark"] .projects{background:#18181b}
html[data-theme="dark"] .equipment-image{background:#222225}
html[data-theme="dark"] .equipment-image>span{color:#b7b5b5}
html[data-theme="dark"] .equipment-tabs{border-color:var(--line)}
html[data-theme="dark"] .equipment-tabs button{color:var(--muted)}
html[data-theme="dark"] .equipment-tabs button[aria-selected=true]{color:var(--ink)}
html[data-theme="dark"] .brands a{border-color:#58545a}
html[data-theme="dark"] .equipment-note{color:var(--muted)}
html[data-theme="dark"] .reference-list li{color:#d4cfd1;border-color:#ffffff18}
html[data-theme="dark"] .reference-highlights span,html[data-theme="dark"] .steps article>span{color:#de7a87}
html[data-theme="dark"] dialog{background:#19191c;color:var(--ink);border-color:#555}
html[data-theme="dark"] .legal-document a{color:#f0a4af}
html[data-theme="dark"] .contact .eyebrow{color:#f6d8dd}
@media(max-width:1280px){header{gap:18px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:25px;flex-direction:column;border-bottom:1px solid var(--line);font-size:20px;margin:0}nav.open{display:flex}.header-cta{margin-left:auto}.menu{display:block}}
@media(max-width:700px){header{gap:12px}.theme-toggle{padding:8px}.theme-label{display:none}.header-cta{display:none}.theme-toggle{margin-left:auto}.menu{margin-left:0}.legal-page .theme-toggle{margin-left:0}.legal-page .legal-back{margin-left:auto}.legal-page header{flex-wrap:wrap}}
@media(max-width:380px){header{gap:8px}.logo{width:180px}}

.brands a:hover,.brands a:focus-visible{border-color:var(--red);text-decoration:underline;text-underline-offset:3px}

/* Referenzgalerie – lokaler Entwurf, noch nicht freigegeben */
.reference-gallery{margin:12px 0 76px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin:0 0 30px}.gallery-heading .eyebrow{margin-bottom:14px}.gallery-heading h3{font-size:clamp(30px,3.4vw,48px);font-weight:500;letter-spacing:-.045em;margin:0}.gallery-heading>p{font-size:14px;line-height:1.8;margin:0;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:230px 230px 280px;gap:16px}.gallery-card{position:relative;display:block;width:100%;height:100%;min-width:0;padding:0;border:0;overflow:hidden;background:#18181b;color:#fff;text-align:left;cursor:pointer;font:inherit;grid-column:span 4;border-radius:3px}.gallery-card-1{grid-column:span 8;grid-row:span 2}.gallery-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.3,1)}.gallery-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.72) 100%)}.gallery-caption{position:absolute;bottom:26px;left:26px;right:56px}.gallery-category{display:block;font-size:10px;letter-spacing:.16em;font-weight:600;margin-bottom:10px;color:#fff}.gallery-caption strong{font-size:clamp(20px,2.1vw,29px);font-weight:500;letter-spacing:-.035em;line-height:1.15;display:block}.gallery-card-1 .gallery-caption strong{font-size:clamp(28px,3.5vw,46px);max-width:450px}.gallery-expand{position:absolute;right:20px;bottom:25px;width:32px;height:32px;border:1px solid #ffffff75;border-radius:50%;display:grid;place-items:center;transition:background .2s,color .2s}.gallery-card:hover img{transform:scale(1.045)}.gallery-card:hover .gallery-expand{background:white;color:#171719}.gallery-card:focus-visible{outline:3px solid #bd3c51;outline-offset:5px}.gallery-photo-credit{font-size:11px;color:var(--muted);margin:15px 0 0}.gallery-dialog{box-sizing:border-box;background:var(--bg,#fff);color:var(--ink,#171719);width:min(1200px,94vw);max-width:94vw;max-height:94dvh;padding:20px 28px;border:1px solid var(--line);overflow:auto}.gallery-dialog::backdrop{background:rgba(5,5,8,.90);backdrop-filter:blur(10px)}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.14em;margin-bottom:14px}.gallery-close{background:transparent;color:inherit;border:1px solid var(--line);border-radius:50%;height:42px;width:42px;font-size:28px;cursor:pointer}.gallery-dialog figure{margin:0}.gallery-dialog figure>img{width:100%;height:min(62dvh,760px);object-fit:contain;display:block;background:#101013}.gallery-dialog figcaption{display:flex;justify-content:space-between;gap:24px;padding:16px 0;align-items:center}.gallery-dialog figcaption p{margin:0;color:inherit}.gallery-dialog #gallery-dialog-title{font-size:20px;font-weight:500}.gallery-dialog #gallery-credit{font-size:12px;color:var(--muted);margin-top:5px}.gallery-dialog #gallery-counter{font-size:12px;white-space:nowrap;color:var(--muted)}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:14px}.gallery-controls span{font-size:12px;color:var(--muted)}.gallery-controls button{border:1px solid var(--line);background:transparent;color:inherit;min-width:48px;height:42px;cursor:pointer;font-size:22px}.gallery-dialog button:focus-visible{outline:3px solid #bd3c51;outline-offset:3px}body.gallery-open{overflow:hidden}
@media(max-width:900px){.gallery-grid{grid-template-rows:190px 190px 230px;gap:12px}.gallery-caption{left:18px;bottom:20px;right:46px}.gallery-expand{right:12px;bottom:18px}.gallery-heading{align-items:start;flex-direction:column;gap:16px}}
@media(max-width:600px){.reference-gallery{margin-bottom:48px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:10px}.gallery-card{grid-column:span 1;grid-row:auto;aspect-ratio:3/4}.gallery-card-1{grid-column:span 2;aspect-ratio:4/3}.gallery-card-6{grid-column:span 2;aspect-ratio:16/9}.gallery-caption{left:14px;bottom:16px;right:14px}.gallery-caption strong{font-size:19px}.gallery-card-1 .gallery-caption strong{font-size:30px}.gallery-category{font-size:8px;letter-spacing:.1em;line-height:1.5}.gallery-expand{top:12px;bottom:auto;width:28px;height:28px}.gallery-heading>p{font-size:13px}.gallery-dialog{padding:14px;width:96vw;max-width:96vw}.gallery-dialog figure>img{height:54dvh}.gallery-dialog #gallery-dialog-title{font-size:17px}.gallery-toolbar{font-size:8px}}
@media(prefers-reduced-motion:reduce){.gallery-card img,.gallery-expand{transition:none}.gallery-card:hover img{transform:none}}

.gallery-slide[hidden]{display:none}.gallery-pagination{display:flex;align-items:center;gap:18px;margin:0 0 22px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.gallery-pagination button{font:inherit;background:transparent;color:var(--ink);cursor:pointer;border:1px solid var(--line);min-width:44px;min-height:44px}.gallery-pagination>button{font-size:22px}.gallery-pagination>button:last-child{margin-left:auto}.gallery-page-buttons{display:flex;align-items:center;gap:12px}.gallery-page-buttons button{border:0;font-size:14px;color:var(--muted)}.gallery-page-buttons button[aria-current]{color:var(--ink);border-bottom:2px solid #ae394c}.gallery-page-buttons span{color:var(--muted);font-size:12px}.gallery-pagination p{font-size:12px;margin:0;color:var(--muted)}.gallery-pagination button:focus-visible{outline:3px solid #bd3c51;outline-offset:3px}.gallery-slide-portrait img{object-position:center 45%}@media(max-width:600px){.gallery-pagination{gap:8px}.gallery-pagination p{font-size:10px}.gallery-page-buttons{gap:4px}.gallery-pagination button{min-width:38px}.gallery-slide:nth-child(2) .gallery-card-4 img{object-position:center 36%}}
