
:root{--ink:#142f3a;--gold:#d5a346;--paper:#f6f5f0;--muted:#617078;--line:#dce1df;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}p{font-size:17px;line-height:1.75;margin:0 0 22px}h1,h2,h3{font-weight:400;margin:0;letter-spacing:-.045em}h1{font-size:clamp(48px,6.3vw,90px);line-height:1.04;max-width:900px}h2{font-size:clamp(36px,4vw,60px);line-height:1.1}h3{font-size:28px;line-height:1.2}em{font-family:Georgia,serif;font-weight:400;color:var(--gold)}.wrap{width:min(1200px,88%);margin:auto}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;display:block;margin-bottom:25px}.eyebrow:before{content:'';display:inline-block;width:26px;height:2px;background:var(--gold);vertical-align:middle;margin-right:14px}.btn{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;padding:19px 24px;background:var(--ink);color:white;font-size:13px;font-weight:700;letter-spacing:.03em;border:1px solid var(--ink);transition:background .2s,transform .2s}.btn:hover{background:#284b58;transform:translateY(-2px)}.btn span{color:var(--gold);font-size:19px}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}.btn.gold span{color:var(--ink)}.btn.outline{background:transparent;color:inherit;border-color:#ffffff70}.btn.outline:hover{background:#ffffff18}.skip{position:fixed;top:-60px;left:10px;z-index:99;background:white;padding:15px}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
header{height:88px;position:sticky;top:0;background:#fff;z-index:20;border-bottom:1px solid #e5e8e6}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{width:270px;height:auto}.links{display:flex;align-items:center;gap:27px;font-size:12px}.links a:not(.btn):hover{color:#9a6c20}.links .btn{padding:15px 20px}.menu{display:none;background:none;border:1px solid var(--line);padding:10px 14px;color:var(--ink)}
.hero{min-height:720px;height:calc(100svh - 88px);max-height:1050px;position:relative;display:flex;align-items:center;background:var(--ink);color:white;isolation:isolate}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,28,36,.83),rgba(10,28,36,.3) 68%,rgba(10,28,36,.13));z-index:-1}.hero .wrap{padding:70px 0 110px}.hero p{max-width:510px;color:#e4e9e7;margin-top:28px;font-size:18px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero-foot{position:absolute;bottom:28px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#e0e7e7}.hero-foot a{border-bottom:1px solid #ffffff55;padding-bottom:5px}.intro-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:35px 0;border-bottom:1px solid var(--line)}.intro-strip div{padding:0 30px;border-right:1px solid var(--line)}.intro-strip div:first-child{padding-left:0}.intro-strip div:last-child{border:0}.intro-strip b{display:block;font-weight:400;font-size:23px;margin-bottom:8px}.intro-strip small{font-size:12px;color:var(--muted)}section.block{padding:110px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.copy{color:var(--muted)}.copy strong{color:var(--ink);font-weight:400}.text-link{display:inline-block;border-bottom:1px solid var(--gold);padding:5px 0 10px;font-size:13px;font-weight:700;color:var(--ink)}.text-link span{margin-left:25px;color:#aa7b2d}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-head p{max-width:350px;color:var(--muted);margin:0;font-size:15px}.projects{background:#fff}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.project{display:block}.photo{height:380px;position:relative;overflow:hidden;background:#d8dfdb}.photo img{height:100%;width:100%;object-fit:cover;transition:transform .7s}.project:hover img{transform:scale(1.04)}.tag{position:absolute;top:20px;left:20px;padding:9px 13px;background:#fffffff0;font-size:10px;letter-spacing:.12em}.visual-label{position:absolute;bottom:12px;right:14px;color:#fff;background:#142f3a9e;font-size:9px;padding:5px 8px}.project-meta{display:flex;justify-content:space-between;align-items:center;padding:26px 0 18px;border-bottom:1px solid var(--line)}.project-meta small{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.circle{width:45px;height:45px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;font-size:22px}.project p{font-size:14px;color:var(--muted);padding-top:18px;margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px}.service{border-top:1px solid var(--ink);padding:28px 28px 10px 0}.service+.service{padding-left:28px;border-left:1px solid var(--line)}.num{font-size:12px;color:#9c742f;display:block;margin-bottom:45px}.service h3{margin-bottom:20px}.service p{font-size:15px;color:var(--muted)}.sustain{background:var(--ink);color:white;overflow:hidden}.sustain .split{align-items:center}.sustain p{color:#c3d0d2;margin-top:28px}.sustain .image{position:relative}.sustain img{width:100%;height:530px;object-fit:cover}.sustain .caption{font-size:10px;color:#afbec1;margin-top:12px}.principles{display:flex;gap:20px;flex-wrap:wrap;margin-top:35px;font-size:11px;letter-spacing:.08em}.principles span{border-top:1px solid #ffffff40;padding-top:14px}.process{margin-top:50px;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.process article{padding-top:22px;border-top:1px solid var(--line)}.process h3{font-size:23px;margin:20px 0 15px}.process p{font-size:15px;color:var(--muted)}.contact{background:#e9ece7}.contact h2{max-width:650px}.contact-details{padding:35px;background:white}.contact-details .label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:10px}.contact-details>a{display:block;font-size:clamp(20px,2.5vw,30px);margin:0 0 28px;letter-spacing:-.03em}.contact-details address{font-style:normal;font-size:14px;line-height:1.8;color:var(--muted)}footer{background:#fff;padding:45px 0 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:35px}.footer-top img{width:240px}.footer-links{display:flex;gap:25px;font-size:12px}.fineprint{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:22px;font-size:10px;line-height:1.6;color:var(--muted)}.reveal{transition:opacity .6s,transform .6s}.js .reveal.pending{opacity:0;transform:translateY(22px)}
@media(min-width:1500px){.hero .wrap{padding-left:0}}@media(max-width:1000px){.logo{width:220px}.links{gap:16px}.links .btn{display:none}.split{gap:40px}.photo{height:310px}}@media(max-width:720px){header{height:74px}.logo{width:205px}.menu{display:block}.links{display:none;position:absolute;top:74px;left:0;right:0;padding:25px 6%;background:white;box-shadow:0 12px 20px #142f3a12}.links.open{display:flex;align-items:stretch;flex-direction:column;gap:0}.links a{padding:15px 0}.hero{min-height:680px;height:calc(92svh - 74px)}.hero .wrap{padding:55px 0 90px}.hero h1{font-size:49px}.hero p{font-size:16px}.hero>img{object-position:60%}.hero:after{background:linear-gradient(90deg,#102a36d9,#102a3655)}.hero-foot{font-size:8px;gap:20px}.actions .btn{padding:16px 18px;font-size:12px}.intro-strip{gap:20px;padding:28px 0}.intro-strip div{padding:0;border:0}.intro-strip b{font-size:18px}.intro-strip small{font-size:10px}.split,.project-grid{grid-template-columns:1fr;gap:36px}section.block{padding:75px 0}.section-head{display:block}.section-head p{margin-top:25px}.photo{height:330px}.services,.process{grid-template-columns:1fr;gap:15px}.service,.service+.service{padding:25px 0;border-left:0}.num{margin-bottom:25px}.sustain img{height:360px}.footer-top,.fineprint{align-items:start;flex-direction:column}.contact-details{padding:28px}.footer-links{flex-wrap:wrap}h2{font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal.pending{opacity:1;transform:none}}

/* Kompakte Referenzen – Version 2.0 */
.reference-heading{margin-top:80px;padding-top:50px;border-top:1px solid var(--line)}.reference-heading h3{font-size:36px}.reference-heading p{font-size:15px;color:var(--muted);margin-top:16px}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:35px}.reference-card{border:1px solid var(--line);background:#fff;overflow:hidden}.reference-photo{height:180px;background:var(--paper);padding:12px}.reference-photo img{width:100%;height:100%;object-fit:contain}.reference-body{padding:25px}.reference-city{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.reference-body h3{font-size:25px;overflow-wrap:anywhere}.reference-kind{display:block;font-size:11px;color:#856020;margin-top:12px}.reference-body p{font-size:14px;line-height:1.65;color:var(--muted);margin:16px 0 0}.reference-list{margin-top:45px;border-top:1px solid var(--line)}.reference-row{display:grid;grid-template-columns:1fr 1.2fr;gap:35px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.reference-row h3{font-size:23px}.reference-row p{font-size:14px;line-height:1.65;margin:0;color:var(--muted)}@media(max-width:1000px){.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.reference-heading{margin-top:55px;padding-top:35px}.reference-heading h3{font-size:29px}.reference-grid{grid-template-columns:1fr;gap:24px}.reference-photo{height:180px}.reference-row{grid-template-columns:1fr;gap:12px}.reference-body{padding:23px}}

/* Original-Logo NEOKEEN, proportional skaliert */
.logo{width:235px;height:auto;max-height:52px;object-fit:contain}.footer-top img{width:220px;height:auto}@media(max-width:720px){.logo{width:190px;max-height:42px}}

/* Kontaktformular – Versand über kontakt.php auf dem Hosting */
.contact-form-wrap{margin-top:55px;background:white;padding:45px;display:grid;grid-template-columns:.75fr 1.5fr;gap:55px}.form-intro h3{font-size:34px}.form-intro p{font-size:15px;color:var(--muted);margin-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:10px}.optional{font-weight:400;color:var(--muted);margin-left:6px}.field input,.field select,.field textarea{font:inherit;font-size:16px;width:100%;max-width:100%;padding:14px;border:1px solid #b7c3c3;border-radius:0;background:#fafbf9;color:var(--ink)}.field textarea{resize:vertical;min-height:140px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:2px}.privacy-note{font-size:12px;line-height:1.6;color:var(--muted);margin:22px 0}.privacy-note a{text-decoration:underline}.form-submit{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.form-submit button{cursor:pointer}.form-submit button:disabled{opacity:.65;cursor:wait;transform:none}.required-note{font-size:11px;color:var(--muted)}#form-status{font-size:14px;margin:20px 0 0;line-height:1.6}#form-status:empty{display:none}#form-status[data-state="error"]{color:#9b2f24}#form-status[data-state="success"]{color:#245b3a}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:1000px){.contact-form-wrap{grid-template-columns:1fr;gap:25px}}@media(max-width:720px){.contact-form-wrap{padding:25px;margin-top:35px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}

.portfolio-link{margin-top:40px;text-align:center}.social-links{display:flex;gap:12px;flex-wrap:wrap}.social-links:empty{display:none}.social-links a{padding:10px 14px;border:1px solid var(--line);font-size:12px}.social-links a:hover{border-color:var(--gold)}.footer-social{margin-bottom:26px}.portfolio-intro{padding:80px 0 65px;background:var(--ink);color:#fff}.breadcrumbs{display:flex;gap:12px;font-size:11px;letter-spacing:.08em;color:#bacacf;margin-bottom:48px}.portfolio-intro h1{font-size:clamp(46px,6vw,82px)}.portfolio-intro p{color:#c6d1d1;max-width:630px;margin:28px 0 0}.portfolio-toolbar{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:35px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{padding:12px 17px;background:transparent;border:1px solid #c8d1d0;color:var(--ink);font-size:12px;cursor:pointer}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.portfolio-count{font-size:12px;color:var(--muted);white-space:nowrap}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px}.portfolio-card{min-width:0}.portfolio-card[hidden]{display:none}.portfolio-image{position:relative;overflow:hidden;background:#dce3df;aspect-ratio:4/3}.portfolio-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.035);transition:transform .7s,filter .7s}.portfolio-image:hover img{transform:scale(1.035);filter:saturate(1) contrast(1)}.portfolio-image button{display:block;padding:0;border:0;background:none;width:100%;height:100%;cursor:zoom-in}.image-number{position:absolute;left:16px;top:16px;background:#ffffffeb;padding:7px 9px;font-size:10px;letter-spacing:.1em;pointer-events:none}.image-kind{position:absolute;bottom:14px;left:14px;font-size:9px;letter-spacing:.08em;color:white;background:#142f3abf;padding:7px 9px;pointer-events:none}.portfolio-card-body{padding:22px 0 0}.portfolio-card-body h2{font-size:27px;line-height:1.15;letter-spacing:-.035em}.portfolio-card-body .reference-kind{margin-top:13px}.portfolio-card-body p{font-size:14px;color:var(--muted);line-height:1.7;margin:15px 0}.portfolio-card-body .text-link{font-size:12px}.portfolio-grid .abstract{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:end;padding:30px;color:white;background:linear-gradient(135deg,#183541,#315260);overflow:hidden}.abstract:after{content:'';position:absolute;width:75%;height:100%;right:-15%;top:20%;border:1px solid #c5a55e80;transform:rotate(-25deg);box-shadow:0 0 0 28px #ffffff06,0 0 0 56px #ffffff04;z-index:-1}.abstract b{font-size:44px;letter-spacing:-.05em;font-weight:400}.abstract small{font-size:10px;letter-spacing:.14em;margin-top:15px;text-transform:uppercase;color:#d7c391}.portfolio-cta{padding:70px 0;background:#e9ece7}.portfolio-cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.portfolio-cta h2{font-size:40px;max-width:650px}.gallery-dialog{border:none;padding:0;background:#102a35;color:white;max-width:94vw;max-height:94svh;width:min(1100px,94vw)}.gallery-dialog::backdrop{background:#07151de8}.gallery-dialog img{width:100%;height:75svh;object-fit:contain}.gallery-bar{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.gallery-bar p{font-size:13px;margin:0}.gallery-bar button{border:1px solid #ffffff60;color:white;background:none;padding:10px 16px;cursor:pointer}.portfolio-caption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:35px}.project .photo img{filter:saturate(.85) contrast(1.02)}
@media(max-width:1000px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-toolbar{align-items:start;flex-direction:column}}@media(max-width:720px){.portfolio-grid{grid-template-columns:1fr;gap:36px}.portfolio-intro{padding:45px 0}.breadcrumbs{margin-bottom:35px}.portfolio-cta .wrap{align-items:start;flex-direction:column}.portfolio-cta h2{font-size:34px}.gallery-dialog img{height:65svh}.filters button{padding:11px 13px}.portfolio-image{aspect-ratio:4/3}}
