/* GLUMANN — Lock: mono (architectural 1px grid on white, ghost buttons, labels tracked uppercase, planar) ; red from logo only for the one CTA + hover; tables as the visual signature */
:root{--white:#fff;--ink:#1a1a1a;--ink2:#444;--muted:#777;--rule:#1a1a1a;--soft:#e6e6e6;--bg2:#f4f4f2;--red:#d71920;
--head:'Archivo',system-ui,sans-serif;--body:'Archivo',system-ui,sans-serif;--nar:'Archivo Narrow','Arial Narrow',sans-serif;--max:1400px;--g:clamp(20px,4vw,56px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}p{margin:0}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.03em;line-height:1;text-wrap:balance}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--g)}
.label{font-family:var(--nar);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);font-weight:500}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--nar);letter-spacing:.14em;text-transform:uppercase;font-size:14px;padding:0 22px;height:46px;border:1px solid var(--ink);transition:.2s}
.btn:hover{background:var(--ink);color:#fff}
.btn.red{background:var(--red);border-color:var(--red);color:#fff}.btn.red:hover{background:#b3141a;border-color:#b3141a}
/* nav */
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--rule)}
.nav .wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:72px;gap:32px}
.nav .logo img{height:34px;width:auto}
.nav ul{display:flex;gap:0;list-style:none;margin:0;padding:0;justify-content:center;height:72px}
.nav li a{display:flex;align-items:center;height:100%;padding:0 20px;font-family:var(--nar);font-size:14px;letter-spacing:.16em;text-transform:uppercase;border-left:1px solid var(--soft)}
.nav li:last-child a{border-right:1px solid var(--soft)}
.nav li a:hover,.nav li a[aria-current]{background:var(--ink);color:#fff}
.burger{display:none;background:none;border:1px solid var(--ink);width:44px;height:44px;cursor:pointer}
.burger span{display:block;width:18px;height:1px;background:var(--ink);margin:3px auto}
/* hero */
.hero{border-bottom:1px solid var(--rule)}
.hero .grid{display:grid;grid-template-columns:1fr 1fr;min-height:640px}
.hero .txt{padding:clamp(48px,6vw,88px) clamp(32px,5vw,72px) clamp(48px,6vw,88px) 0;border-right:1px solid var(--rule);display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.hero h1{font-size:clamp(40px,5.4vw,80px)}
.hero .sub{font-size:19px;color:var(--ink2);max-width:46ch;margin-top:28px}
.hero .pic{position:relative;overflow:hidden}
.hero .pic img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hero .facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}
.hero .facts div{padding:18px 20px 0 0}
.hero .facts b{display:block;font-size:34px;font-weight:600;letter-spacing:-.03em;line-height:1}
.hero .facts span{font-family:var(--nar);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-top:8px}
/* sections */
section{padding:clamp(64px,8vw,112px) 0}
.h2{font-size:clamp(32px,4.4vw,60px)}
.lead{font-size:18px;color:var(--ink2);max-width:60ch}
.head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:40px}
/* grid cells */
.cells{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--rule);border-right:0}
.cells a{border-right:1px solid var(--rule);padding:24px 22px 28px;display:flex;flex-direction:column;gap:12px;min-height:280px;transition:background .2s}
.cells a:hover{background:var(--ink);color:#fff}
.cells a:hover .label,.cells a:hover .num{color:#fff}
.cells .num{font-size:40px;font-weight:600;letter-spacing:-.03em;line-height:1;margin-top:auto}
.cells .num small{font-family:var(--nar);font-size:12px;letter-spacing:.14em;text-transform:uppercase;display:block;margin-top:8px;color:var(--muted)}
.cells h3{font-size:24px}
.cells p{font-size:14px;color:inherit;opacity:.8}
/* tables */
table{width:100%;border-collapse:collapse;border-top:1px solid var(--rule);font-size:15px}
th{text-align:left;font-family:var(--nar);font-weight:500;letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:var(--muted);padding:12px 16px 12px 0;border-bottom:1px solid var(--rule)}
td{padding:16px 16px 16px 0;border-bottom:1px solid var(--soft);vertical-align:top}
td:first-child{font-weight:600;width:34%}
td .sub{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:2px}
.tbl-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin:56px 0 16px}
.tbl-head h3{font-size:28px}
.tbl-head p{font-size:15px;color:var(--ink2);max-width:60ch}
/* photo strip */
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.strip figure{margin:0;background:#fff;position:relative;overflow:hidden}
.strip img{width:100%;aspect-ratio:16/10;object-fit:cover}
.strip figcaption{position:absolute;left:0;bottom:0;background:#fff;padding:8px 14px;font-family:var(--nar);font-size:12px;letter-spacing:.16em;text-transform:uppercase;border-top:1px solid var(--rule);border-right:1px solid var(--rule)}
/* products */
.prods{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule);border-right:0}
.prod{border-right:1px solid var(--rule);display:flex;flex-direction:column}
.prod .pic{background:var(--bg2);aspect-ratio:3/2;display:grid;place-items:center;border-bottom:1px solid var(--rule);overflow:hidden}
.prod .pic img{width:100%;height:100%;object-fit:cover}
.prod .body{padding:22px 22px 26px}
.prod h3{font-size:22px;margin-bottom:8px}.prod p{font-size:14px;color:var(--ink2)}
.prod .meta{font-family:var(--nar);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:14px}
/* history */
.hist{border-top:1px solid var(--rule)}
.hist div{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--soft)}
.hist b{font-size:22px;font-weight:600;letter-spacing:-.02em}.hist p{font-size:15px;color:var(--ink2);max-width:70ch}
/* two col */
.two{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--rule)}
.two>div{padding:clamp(20px,3vw,36px);min-width:0;border-right:1px solid var(--rule)}.two>div:last-child{border-right:0}
.two h3{font-size:26px;margin-bottom:14px}.two p{font-size:15px;color:var(--ink2);margin-bottom:12px}
/* contact */
.dark{background:var(--ink);color:#fff}
.dark .label,.dark .h2{color:#fff}.dark .lead{color:#c8c8c8}
.people{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #444;margin-top:40px}
.people div{padding:20px 20px 24px 0;border-bottom:1px solid #444}
.people span{font-family:var(--nar);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#9a9a9a;display:block}
.people b{font-size:20px;font-weight:500;display:block;margin-top:6px}
footer{border-top:1px solid var(--rule);font-size:13px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;min-height:64px;gap:24px;flex-wrap:wrap;padding-block:12px}
footer a{margin-right:20px;color:var(--ink)}footer a:hover{color:var(--red)}
/* subpage */
.page-head{padding:clamp(48px,6vw,80px) 0 0;border-bottom:1px solid var(--rule)}
.page-head h1{font-size:clamp(38px,5.4vw,76px);max-width:16ch}.page-head .lead{margin-top:24px;margin-bottom:48px}
.prose{max-width:76ch}.prose h2{font-size:28px;margin:44px 0 12px}.prose h3{font-size:20px;margin:28px 0 8px}.prose p{margin:0 0 14px;color:var(--ink2);font-size:16px}
.figure img{width:100%;aspect-ratio:21/9;object-fit:cover;border-bottom:1px solid var(--rule)}
.spec{border-top:1px solid var(--rule);margin-top:16px}
.spec div{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--soft);font-size:15px}
.spec dt{color:var(--muted)}.spec dd{margin:0}
form.anfrage{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;max-width:820px;margin-top:32px}
form.anfrage label{display:grid;gap:6px;font-family:var(--nar);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
form.anfrage input,form.anfrage textarea{font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--ink);background:#fff;border-radius:0;outline:0}
form.anfrage input:focus,form.anfrage textarea:focus{border-color:var(--red)}
form.anfrage .full{grid-column:1/-1}form.anfrage textarea{min-height:120px}
@media(max-width:1100px){.cells{grid-template-columns:repeat(3,1fr)}.cells a{border-bottom:1px solid var(--rule)}.hero .grid{grid-template-columns:1fr}.hero .txt{border-right:0;border-bottom:1px solid var(--rule)}.hero .pic{min-height:360px}}
@media(max-width:900px){
 .nav .wrap{grid-template-columns:auto auto}.nav ul,.nav>.wrap>.btn{display:none}.burger{display:block;justify-self:end}
 .nav.open ul{display:flex;position:absolute;left:0;right:0;top:72px;background:#fff;flex-direction:column;height:auto;border-bottom:1px solid var(--rule)}
 .nav.open li a{border:0;border-bottom:1px solid var(--soft);padding:16px var(--g);font-size:16px}
 .head,.two,.prods,.strip{grid-template-columns:1fr}.two>div{border-right:0;border-bottom:1px solid var(--rule)}.prod{border-right:0;border-bottom:1px solid var(--rule)}
 .people{grid-template-columns:1fr 1fr}.cells{grid-template-columns:1fr 1fr}
 td:first-child{width:auto}.hist div{grid-template-columns:70px 1fr}.spec div{grid-template-columns:1fr}form.anfrage{grid-template-columns:1fr}
 .hero .facts{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:560px){.cells{grid-template-columns:1fr}.people{grid-template-columns:1fr}.hero .facts{grid-template-columns:1fr}.hero .facts div{padding-bottom:12px}}
