
:root{--ink:#202421;--ink2:#292e29;--cream:#f2f0e9;--paper:#fbfaf6;--muted:#b9bdb5;--text:#292d28;--sub:#656a62;--accent:#bd986b;--line:rgba(255,255,255,.18);--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--cream);color:var(--text);line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.19em;color:var(--accent);font-weight:700}.site-header{position:absolute;top:0;left:0;right:0;z-index:5;color:white;border-bottom:1px solid rgba(255,255,255,.14)}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:.9rem;font-weight:800;letter-spacing:.12em;line-height:1.3}.brand small{display:block;font-size:.58rem;font-weight:500;letter-spacing:.18em;color:#d5d7d0;margin-top:5px}.brand-mark{width:39px;height:39px;flex-shrink:0}.nav-links{display:flex;align-items:center;gap:30px;font-size:.82rem}.nav-links a{color:#f1f1ec;opacity:.86;transition:opacity .2s}.nav-links a:hover{opacity:1}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 18px;background:var(--accent);color:#202421;font-size:.82rem;font-weight:700;border:1px solid var(--accent);transition:transform .2s,background .2s}.nav-cta:hover,.btn:hover{transform:translateY(-2px);background:#d0ad82}.btn-outline{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}.btn-outline:hover{background:#fff;color:var(--ink)}.menu-btn{display:none;background:none;color:white;border:1px solid #ffffff55;padding:8px 12px}.hero{min-height:760px;display:flex;align-items:center;position:relative;color:white;background:linear-gradient(90deg,rgba(18,23,21,.96) 0%,rgba(18,23,21,.8) 42%,rgba(18,23,21,.1) 100%),linear-gradient(0deg,rgba(0,0,0,.24),transparent 50%),url('images/holzkonstruktion-hero.jpg') center/cover no-repeat}.hero-content{padding:150px 0 100px;max-width:720px}.hero h1{font-size:clamp(3rem,7vw,6.2rem);line-height:.99;letter-spacing:-.065em;font-weight:550;margin:22px 0 24px}.hero p{max-width:520px;color:#e0e2dc;font-size:1.05rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-note{position:absolute;right:4%;bottom:36px;color:#e8e8e2;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl}.section{padding:110px 0}.section-head{max-width:640px}.section h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.05;letter-spacing:-.05em;font-weight:550;margin:15px 0 22px}.section p{color:var(--sub);max-width:620px}.intro-grid{display:grid;grid-template-columns:1fr .85fr;gap:9%;align-items:center}.intro-photo{min-height:400px;background:url('images/dachstuhl.jpg') center/cover;border-radius:2px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}.principle{border-top:1px solid #d7d3c9;padding-top:18px}.number{color:var(--accent);font-size:1.8rem;font-weight:500}.principle h3{font-size:1rem;margin:8px 0}.principle p{font-size:.88rem;margin:0}.dark{background:var(--ink);color:#f5f4ee}.dark p{color:#c2c6be}.services-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start}.service-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 20px}.service-card img{width:100%;height:190px;object-fit:cover;display:block;filter:saturate(.8)}.service-card h3{font-size:1rem;margin:12px 0 4px}.service-card p{font-size:.83rem;margin:0 0 8px}.text-link{font-size:.78rem;color:var(--accent);font-weight:700}.reference-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:8%;align-items:center}.reference-photo{height:440px;background:url('images/holzrahmenbau.jpg') center/cover}.small-note{font-size:.75rem;color:var(--sub)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:center}.about-photo{min-height:390px;background:url('images/gebroeder-langliz-team.png') center 48%/cover no-repeat}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start}.contact-details{display:grid;gap:15px;margin-top:28px}.detail{display:flex;gap:13px;align-items:flex-start;color:var(--sub);font-size:.92rem}.detail b{color:var(--text);display:block}.form-card{background:var(--paper);padding:30px;border:1px solid #e4e0d6}.form-card h3{margin:0 0 20px;font-size:1.2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.76rem;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #d9d6cd;background:#fff;padding:12px;color:var(--text);border-radius:0}.field textarea{min-height:120px;resize:vertical}.consent{display:flex;gap:9px;align-items:flex-start;font-size:.76rem;color:var(--sub);margin:16px 0}.consent input{margin-top:5px}.form-message{font-size:.85rem;color:var(--sub);margin-top:12px}.footer{background:#171a18;color:#f4f3ed;padding:40px 0 22px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:30px}.footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:.8rem;color:#c4c7bf}.footer-bottom{border-top:1px solid #ffffff22;padding-top:18px;display:flex;justify-content:space-between;gap:18px;font-size:.7rem;color:#9da39b}.legal-placeholder{color:#c4c7bf}.reveal{opacity:1;transform:none}
@media(min-width:900px){.about-title{display:flex;flex-wrap:wrap;column-gap:.28em;align-items:baseline}.about-title span{white-space:nowrap}}
@media(max-width:800px){.wrap{width:min(100% - 36px,var(--max))}.nav{height:76px}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;padding:20px 24px 24px;background:var(--ink);flex-direction:column;align-items:flex-start;gap:18px}.nav-links.open{display:flex}.nav-cta{display:none}.menu-btn{display:block}.hero{min-height:700px;background-position:58% center}.hero-content{padding:135px 0 90px}.intro-grid,.services-grid,.reference-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:34px}.intro-photo{min-height:300px;order:-1}.principles{gap:16px}.service-cards{gap:20px 14px}.service-card img{height:150px}.reference-photo{height:330px}.about-photo{min-height:300px}.about-title{display:block}.about-title span{display:inline}.section{padding:76px 0}.footer-top{align-items:flex-start;flex-direction:column}.footer-bottom{flex-direction:column}.hero-note{display:none}}
@media(max-width:480px){.hero h1{font-size:3.25rem}.principles{grid-template-columns:1fr}.service-cards{grid-template-columns:1fr 1fr}.service-card img{height:125px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-card{padding:20px}.brand{font-size:.78rem}.brand-mark{width:32px;height:32px}}

/* Local assets, complete team image and accessible responsive navigation. */
.about-grid{grid-template-columns:1fr 1.2fr;gap:6%}.about-figure{margin:0;min-width:0}.team-photo{display:block;width:100%;height:auto;object-fit:contain}.about-figure figcaption{font-size:.72rem;color:#c2c6be;margin-top:12px;letter-spacing:.08em}.about-title span{white-space:normal}.intro-photo{background-position:center 42%}.reference-photo{background-position:center 60%}.service-card:nth-child(4) img{object-position:center 35%}.small-note{line-height:1.65}.dark .small-note{color:#c2c6be}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bd986b;outline-offset:5px}.skip-link{position:absolute;top:-100px;left:16px;z-index:20;padding:12px;background:var(--cream);color:var(--ink)}.skip-link:focus{top:12px}.footer-links a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:4px}.nav-links.open{max-height:calc(100dvh - 76px);overflow:auto}.form-message:empty{display:none}
@media(max-width:800px){.about-grid{grid-template-columns:1fr}.about-figure{width:100%}.hero{background-position:62% center}.hero h1{font-size:clamp(2.75rem,9vw,4.8rem)}}
@media(max-width:480px){.service-cards{grid-template-columns:1fr}.service-card img{height:230px}.hero{min-height:680px}.hero h1{font-size:clamp(2.55rem,11vw,3.25rem)}.brand{letter-spacing:.07em}.menu-btn{padding:8px;white-space:nowrap}.nav{gap:8px}.footer-bottom .footer-links{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.form-privacy a{text-decoration:underline;text-underline-offset:3px}.btn{cursor:pointer}

