@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url("assets/fonts/manrope-latin.woff2") format("woff2")}
@font-face{font-family:Oswald;font-style:normal;font-weight:500 700;font-display:swap;src:url("assets/fonts/oswald-latin.woff2") format("woff2")}
:root{--green:#537943;--green-light:#7ca16c;--ink:#151918;--paper:#f2f0e9;--muted:#a7aaa3;--line:rgba(255,255,255,.13);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#fff;font-family:Manrope,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Oswald,Arial,sans-serif;text-transform:uppercase}::selection{background:var(--green);color:white}
.cursor-glow{position:fixed;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(83,121,67,.15),transparent 68%);pointer-events:none;z-index:0;transform:translate(-50%,-50%)}
.nav{position:fixed;z-index:100;top:0;left:0;width:100%;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:rgba(21,25,24,.72);backdrop-filter:blur(16px)}.nav-brand{position:relative;z-index:102}.nav-brand img{display:block;width:112px;height:70px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}.nav-links>a:not(.nav-contact){color:#c9ccc7}.nav-contact{border:1px solid var(--green);padding:13px 18px}.nav-contact span,.button span,.text-link span{margin-left:14px;color:var(--green-light)}.menu-toggle,.mobile-menu,.mobile-actions{display:none}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;padding:150px 8vw 90px;overflow:hidden}.hero:after{content:"";position:absolute;width:64vw;height:64vw;border:1px solid rgba(83,121,67,.25);border-radius:50%;right:-25vw;top:13vh;box-shadow:0 0 0 7vw rgba(83,121,67,.025),0 0 0 14vw rgba(83,121,67,.018)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,black,transparent)}.hero-copy{position:relative;z-index:2;max-width:940px}.kicker,.section-number{color:var(--green-light);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.hero h1{font-size:clamp(4rem,8.3vw,9rem);line-height:.91;letter-spacing:-.035em;margin:24px 0 34px}.hero h1 span,.intro h2 span,.services h2 span,.heritage h2 span,.contact h2 span{color:var(--green)}.hero-text{max-width:550px;color:#b5bab4;font-size:clamp(1rem,1.35vw,1.24rem);line-height:1.7}.hero-actions{display:flex;align-items:center;gap:38px;margin-top:44px}.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:210px;padding:17px 20px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:.3s}.button-primary{background:var(--green)}.button-primary span{color:white}.button:hover{transform:translateY(-3px)}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #5f625f;padding:14px 0}.hero-mark{position:absolute;z-index:2;right:7vw;bottom:16vh;display:flex;align-items:center;gap:15px;color:#a8ada7;text-transform:uppercase;font-size:10px;letter-spacing:.16em;transform:rotate(90deg);transform-origin:right}.hero-mark-number{font:600 25px Oswald;color:white}.hero-mark-line{width:70px;height:1px;background:var(--green)}.scroll-note{position:absolute;bottom:28px;left:50%;display:flex;flex-direction:column;align-items:center;gap:10px;color:#777d77;text-transform:uppercase;font-size:9px;letter-spacing:.2em}.scroll-note i{height:36px;width:1px;background:linear-gradient(var(--green),transparent);animation:pulse 1.7s infinite}@keyframes pulse{50%{transform:scaleY(.45);opacity:.4}}
.reveal{opacity:0;transform:translateY(32px);animation:reveal .9s var(--ease) forwards}.reveal:nth-child(2){animation-delay:.08s}.reveal:nth-child(3){animation-delay:.16s}.reveal:nth-child(4){animation-delay:.24s}@keyframes reveal{to{opacity:1;transform:none}}
.intro{background:var(--paper);color:var(--ink);padding:140px 8vw 120px;display:grid;grid-template-columns:1fr 2.1fr 1fr;gap:5vw;align-items:end}.intro>.section-number{align-self:start;padding-top:8px}.intro h2,.services h2,.heritage h2,.contact h2{font-size:clamp(3rem,5.8vw,6.6rem);line-height:.98;letter-spacing:-.03em}.intro>p:last-child{color:#6c716c;line-height:1.7;font-size:14px}
.build-story{height:420vh;position:relative;background:#111413}.build-stage{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:34% 66%;overflow:hidden;padding-top:92px}.stage-copy{position:relative;border-right:1px solid var(--line);padding:8vh 5vw}.story-step{position:absolute;top:50%;left:5vw;right:4vw;transform:translateY(calc(-50% + 25px));opacity:0;transition:opacity .45s,transform .7s var(--ease)}.story-step.is-active{opacity:1;transform:translateY(-50%)}.story-step>span{font:600 12px Oswald;color:var(--green-light)}.story-step>p{margin:14px 0;color:#939892;text-transform:uppercase;font-size:10px;letter-spacing:.2em}.story-step h3{font-size:clamp(2rem,3.5vw,4rem);line-height:1.05}.workbench{position:relative;overflow:hidden;background:radial-gradient(circle at 60% 46%,#293129 0,#171b19 55%,#111413 100%)}.plan-lines{position:absolute;inset:12% 10%;opacity:0}.plan-lines i{position:absolute;background:var(--green-light);transform-origin:left;transform:scaleX(0)}.plan-lines i:nth-child(1){width:70%;height:1px;left:8%;top:15%}.plan-lines i:nth-child(2){width:50%;height:1px;left:32%;top:72%}.plan-lines i:nth-child(3){height:65%;width:1px;left:32%;top:15%;transform-origin:top;transform:scaleY(0)}.plan-lines i:nth-child(4){height:57%;width:1px;left:78%;top:15%;transform-origin:top;transform:scaleY(0)}.plan-lines i:nth-child(5){width:46%;height:1px;left:32%;top:43%}.measure-line{position:absolute;top:22%;left:18%;width:58%;height:1px;background:#fff;opacity:0;transform:scaleX(0)}.measure-line:before,.measure-line:after{content:"";position:absolute;top:-5px;width:1px;height:11px;background:#fff}.measure-line:after{right:0}.measure-line b{position:absolute;left:50%;top:-26px;transform:translateX(-50%);font-size:10px;letter-spacing:.15em}.wood-board{position:absolute;left:16%;top:47%;width:67%;height:105px;background:#af8257;border-radius:2px;transform:translateX(110%);opacity:0;box-shadow:0 25px 70px #0008}.wood-board i{position:absolute;width:88%;height:1px;left:6%;background:#765639;opacity:.5}.wood-board i:nth-child(1){top:24%}.wood-board i:nth-child(2){top:51%}.wood-board i:nth-child(3){top:78%}.saw{position:absolute;z-index:3;left:10%;top:37%;width:110px;height:135px;opacity:0;transform:translateX(-160px)}.saw-grip{position:absolute;left:36px;width:52px;height:60px;border:14px solid #394039;border-radius:10px 10px 0 0}.saw-blade{position:absolute;bottom:0;width:110px;height:55px;background:#bcc2bd;border-radius:110px 110px 5px 5px;transform-origin:center}.saw-blade:after{content:"";position:absolute;width:14px;height:14px;background:#3f4640;border-radius:50%;left:48px;top:26px}.kitchen{position:absolute;inset:10% 7% 8%;opacity:0;perspective:900px}.k-wall{position:absolute;inset:0;background:linear-gradient(115deg,#d9d7cf,#efeee8);transform:scale(.96);box-shadow:0 40px 90px #0008}.k-piece{position:absolute;background:#47673c;box-shadow:0 14px 26px #0003;opacity:0;transform:translateY(-70px) scale(.92)}.k-tall{left:7%;bottom:9%;width:18%;height:70%}.k-top{left:28%;bottom:34%;width:59%;height:5%;background:#202522}.k-upper{top:12%;height:27%;width:22%;background:#e4e0d5}.k-upper.one{left:38%}.k-upper.two{left:62%}.k-base{bottom:9%;height:25%;width:18%}.k-base.one{left:28%}.k-base.two{left:48%}.k-base.three{left:68%}.k-island{left:36%;bottom:3%;width:43%;height:21%;background:#232825}.k-island:before{content:"";position:absolute;left:-3%;top:-9%;width:106%;height:8%;background:#e5e0d4}.k-island i{position:absolute;left:15%;top:30%;width:2px;height:50%;background:#6c726d}.k-island i:last-child{left:72%}.k-light{position:absolute;top:4%;width:12px;height:12px;background:#fff;border-radius:50%;box-shadow:0 0 35px 12px #fff8;opacity:0}.k-light.one{left:44%}.k-light.two{left:70%}.completion{position:absolute;right:10%;bottom:10%;color:var(--ink);opacity:0;transform:translateY(15px)}.completion span{font:700 48px Oswald;color:var(--green)}.completion p{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.stage-progress{position:absolute;left:0;bottom:0;width:34%;height:3px;background:#2b302c}.stage-progress i{display:block;width:0;height:100%;background:var(--green-light)}
.services{background:var(--paper);color:var(--ink);padding:150px 8vw}.services-head{display:grid;grid-template-columns:2fr 1fr;gap:10vw;align-items:end;margin-bottom:90px}.services-head>div p{margin-bottom:23px}.services-head>p{color:#6e736e;line-height:1.8;font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c9c9c1;border-left:1px solid #c9c9c1}.service-grid article{position:relative;min-height:310px;padding:34px;border-right:1px solid #c9c9c1;border-bottom:1px solid #c9c9c1;transition:.45s var(--ease);overflow:hidden}.service-grid article:before{content:"";position:absolute;inset:100% 0 0;background:var(--green);transition:.45s var(--ease)}.service-grid article>*{position:relative;z-index:1}.service-grid article>span{font:600 11px Oswald;color:var(--green)}.service-grid h3{font-size:32px;margin:55px 0 18px}.service-grid p{color:#70756f;line-height:1.7;font-size:13px;max-width:280px}.service-grid i{position:absolute;right:30px;bottom:27px;font-style:normal;font-size:25px;color:var(--green)}.service-grid article:hover{color:white;transform:translateY(-8px)}.service-grid article:hover:before{top:0}.service-grid article:hover p,.service-grid article:hover span,.service-grid article:hover i{color:white}
.heritage{min-height:80vh;padding:120px 8vw;display:grid;grid-template-columns:1fr 2fr;gap:12vw;align-items:center;background:linear-gradient(120deg,#171b19,#202820)}.heritage-stamp{width:min(30vw,330px);aspect-ratio:1;border:1px solid var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:20px;position:relative}.heritage-stamp:after{content:"";position:absolute;inset:12px;border:1px solid #ffffff12;border-radius:50%}.heritage-stamp strong{font:700 clamp(5rem,9vw,9rem) Oswald;color:var(--green)}.heritage-stamp span{font-size:10px;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;color:#b9bdb8}.heritage-copy .section-number{margin-bottom:25px}.heritage-copy p:last-child{color:#aeb3ad;line-height:1.8;max-width:660px;margin-top:40px}
.contact{background:var(--green);padding:130px 8vw 34px}.contact .section-number{color:#d2decf}.contact h2{font-size:clamp(4rem,8vw,9rem);margin:30px 0 75px}.contact h2 span{color:#172017}.contact-row{display:flex;justify-content:space-between;align-items:flex-start;border-top:1px solid #ffffff55;padding:38px 0 80px}.button-light{background:white;color:var(--ink)}.contact-data{display:flex;flex-direction:column;align-items:flex-end;gap:9px;font-size:13px}.contact-data p{color:#d7e1d4}.footer-bottom{border-top:1px solid #ffffff55;padding-top:28px;display:flex;align-items:center;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.footer-bottom img{width:260px;height:auto;max-height:76px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
@media(max-width:850px){body{padding-bottom:62px}.nav{height:74px;padding:0 20px}.nav-brand img{width:85px;height:56px}.nav-links{display:none}.menu-toggle{display:flex;position:relative;z-index:102;width:46px;height:46px;border:0;background:transparent;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px;padding:0;color:white}.menu-toggle i{display:block;width:25px;height:1px;background:currentColor;transition:.35s var(--ease)}.menu-toggle i:last-child{width:17px}.menu-toggle[aria-expanded="true"] i:first-child{width:25px;transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] i:last-child{width:25px;transform:translateY(-4.5px) rotate(-45deg)}.mobile-menu{display:flex;position:fixed;z-index:99;inset:0;background:#151918;padding:118px 24px 92px;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transform:translateY(-18px);transition:.4s var(--ease)}.mobile-menu.is-open{opacity:1;visibility:visible;transform:none}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font:600 clamp(2.3rem,11vw,4rem)/1.45 Oswald;text-transform:uppercase;border-bottom:1px solid var(--line);transform:translateY(20px);opacity:0;transition:.35s var(--ease)}.mobile-menu.is-open nav a{transform:none;opacity:1}.mobile-menu.is-open nav a:nth-child(2){transition-delay:.05s}.mobile-menu.is-open nav a:nth-child(3){transition-delay:.1s}.mobile-menu.is-open nav a:nth-child(4){transition-delay:.15s}.mobile-menu nav span{display:inline-block;width:34px;color:var(--green-light);font:600 10px Manrope;vertical-align:middle}.mobile-menu-contact{display:flex;justify-content:space-between;font-size:12px;color:#c5c9c3}.menu-open{overflow:hidden}.mobile-actions{display:grid;position:fixed;z-index:98;left:0;right:0;bottom:0;height:62px;grid-template-columns:1fr 1.45fr;background:#fff;color:var(--ink);box-shadow:0 -8px 28px #0003}.mobile-actions a{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.mobile-actions a:last-child{background:var(--green);color:white}.mobile-actions span{margin-left:14px}.hero{min-height:100svh;padding:112px 24px 84px;align-items:center}.hero h1{font-size:clamp(3.55rem,16.3vw,6rem);line-height:.94;margin:20px 0 26px}.hero-text{font-size:.97rem;line-height:1.65;max-width:420px}.hero-mark{display:none}.scroll-note{bottom:80px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px;margin-top:30px}.button{min-width:190px;padding:15px 17px}.intro{grid-template-columns:1fr;padding:92px 24px 84px;gap:26px}.intro h2,.services h2,.heritage h2,.contact h2{font-size:clamp(2.8rem,13vw,4.8rem)}.build-story{height:360vh}.build-stage{padding-top:74px;grid-template-columns:1fr;grid-template-rows:35% 65%}.stage-copy{border-right:0;border-bottom:1px solid var(--line);padding:25px 24px}.story-step{left:24px;right:24px}.story-step h3{font-size:clamp(1.75rem,8vw,2.4rem);max-width:520px}.workbench{min-height:0}.kitchen{inset:8% 4% 7%}.completion{right:7%;bottom:8%}.completion span{font-size:36px}.stage-progress{width:100%}.wood-board{left:9%;width:78%;top:50%}.saw{top:35%;transform:scale(.85)}.services{padding:92px 24px}.services-head{grid-template-columns:1fr;gap:32px;margin-bottom:48px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:215px;padding:28px}.service-grid h3{margin:34px 0 13px}.heritage{grid-template-columns:1fr;padding:92px 24px;gap:62px}.heritage-stamp{width:min(72vw,270px);margin:auto}.contact{padding:90px 24px 28px}.contact h2{margin:24px 0 55px}.contact-row{flex-direction:column;gap:42px;padding-bottom:58px}.contact-data{align-items:flex-start;word-break:break-word;font-size:12px}.footer-bottom{gap:16px;align-items:flex-end}.footer-bottom p{display:none}.cursor-glow{display:none}}
@media(max-width:480px){.kicker{font-size:9px;letter-spacing:.15em}.hero h1{font-size:clamp(3.1rem,15.8vw,4.4rem)}.hero-text{font-size:.9rem}.scroll-note{display:none}.stage-copy{padding-top:20px}.story-step>p{margin:8px 0}.story-step h3{font-size:1.58rem}.measure-line{left:12%;width:72%}.kitchen{inset:7% 2% 5%}.completion p{display:none}.service-grid article{min-height:200px}.mobile-menu-contact{flex-direction:column;gap:12px}.contact-data a{font-size:11px}.footer-bottom img{width:190px;max-height:58px}}
@media(max-width:850px) and (orientation:landscape){body{padding-bottom:0}.mobile-actions{display:none}.hero{min-height:620px}.build-stage{grid-template-columns:36% 64%;grid-template-rows:1fr;padding-top:74px}.stage-copy{border-right:1px solid var(--line);border-bottom:0}.story-step{left:20px;right:20px}.story-step h3{font-size:1.45rem}.workbench{height:calc(100vh - 74px)}.kitchen{inset:5%}.mobile-menu{padding-top:90px}.mobile-menu nav a{font-size:2rem;line-height:1.28}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.cursor-glow{display:none}}

/* Kompaktes Markenlogo ohne Außenkreis */
.nav-brand{display:flex;align-items:center;min-width:0;max-width:calc(100% - 62px)}
.nav{height:110px;padding-left:8vw}
.nav-brand img{display:block;width:clamp(200px,20vw,270px);max-width:100%;height:auto;max-height:78px;object-fit:contain;background:transparent}
@media(max-width:850px){.nav{height:88px;padding:0 24px}.nav-brand img{width:clamp(170px,46vw,210px);height:auto;max-height:60px}.build-stage{padding-top:88px}.mobile-menu{padding-top:132px}}
@media(max-width:380px){.nav-brand img{width:170px}}

/* Scrollgesteuerte Küchensequenz */
.frame-story{height:500vh;position:relative;background:#0d100f}
.frame-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#0d100f}
.scroll-sequence-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.frame-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,11,9,.82) 0,rgba(8,11,9,.35) 36%,transparent 63%),linear-gradient(0deg,rgba(8,11,9,.68),transparent 36%);pointer-events:none}
.frame-heading{position:absolute;z-index:2;left:8vw;top:17vh;max-width:620px}
.frame-heading h2{font-size:clamp(3.2rem,6vw,7rem);line-height:.94;letter-spacing:-.03em;margin-top:20px}
.frame-heading h2 span{color:var(--green-light)}
.frame-captions{position:absolute;z-index:3;left:8vw;bottom:11vh;width:min(440px,42vw);min-height:92px}
.frame-caption{position:absolute;inset:auto 0 0;opacity:0;transform:translateY(18px);transition:opacity .4s,transform .65s var(--ease)}
.frame-caption.is-active{opacity:1;transform:none}
.frame-caption span{float:left;margin:4px 17px 42px 0;font:600 11px Oswald;color:var(--green-light)}
.frame-caption p{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#c7cbc6;margin-bottom:9px}
.frame-caption strong{display:block;font:500 clamp(1.3rem,2vw,2rem) Oswald;text-transform:uppercase}
.frame-count{position:absolute;z-index:3;right:4vw;bottom:5vh;color:#d4d7d2;font:600 10px Manrope;letter-spacing:.16em}
.frame-count span{color:var(--green-light)}
.frame-progress{position:absolute;z-index:4;left:0;right:0;bottom:0;height:4px;background:#ffffff20}
.frame-progress i{display:block;width:0;height:100%;background:var(--green-light)}
.frame-loader{position:absolute;z-index:5;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;background:#0d100f;color:#aeb3ad;font-size:9px;letter-spacing:.18em;text-transform:uppercase;transition:opacity .55s,visibility .55s}
.frame-loader i{width:28px;height:28px;border:1px solid #ffffff30;border-top-color:var(--green-light);border-radius:50%;animation:frameSpin .8s linear infinite}
.frame-stage.is-ready .frame-loader{opacity:0;visibility:hidden}
.frame-fallback{width:100%;height:100%;object-fit:cover}
@keyframes frameSpin{to{transform:rotate(360deg)}}

@media(max-width:850px){
  .frame-story{height:420vh}
  .frame-shade{background:linear-gradient(180deg,rgba(8,11,9,.72) 0,rgba(8,11,9,.1) 38%,rgba(8,11,9,.78) 100%)}
  .frame-heading{left:24px;right:24px;top:15vh}
  .frame-heading h2{font-size:clamp(3rem,13vw,5.2rem);max-width:560px}
  .frame-captions{left:24px;right:60px;bottom:13vh;width:auto}
  .frame-caption strong{font-size:1.5rem}
  .frame-count{right:24px;bottom:8vh}
}

/* Die Küchensequenz bildet den Header der Küchenseite */
.sequence-header-story{height:500vh}
.sequence-header-story .frame-stage{padding-top:92px}
.sequence-header-story .frame-shade{background:linear-gradient(90deg,rgba(8,11,9,.9) 0,rgba(8,11,9,.5) 43%,rgba(8,11,9,.05) 75%),linear-gradient(0deg,rgba(8,11,9,.72),transparent 42%)}
.sequence-frame-heading{top:clamp(145px,18vh,190px);max-width:980px}
.sequence-frame-heading h1{font-size:clamp(4.8rem,9.2vw,10.5rem);letter-spacing:-.045em;margin:22px 0 30px}
.sequence-frame-heading h1 span{color:var(--green-light)}
.sequence-frame-heading .frame-lead{max-width:670px;color:#c1c6bf;font-size:clamp(.95rem,1.2vw,1.15rem);line-height:1.75}
.sequence-frame-index{z-index:3;top:155px}
.sequence-header-story .frame-captions{bottom:9vh}

@media(max-width:1100px){.sequence-frame-index{display:none}}
@media(max-width:850px){
  .sequence-header-story{height:460vh}
  .sequence-header-story .frame-stage{padding-top:88px}
  .sequence-header-story .frame-shade{background:linear-gradient(180deg,rgba(8,11,9,.88) 0,rgba(8,11,9,.35) 52%,rgba(8,11,9,.9) 100%)}
  .sequence-frame-heading{top:122px;left:24px;right:24px}
  .sequence-frame-heading h1{font-size:clamp(3.4rem,15vw,5.6rem);margin:16px 0 20px}
  .sequence-frame-heading .frame-lead{max-width:31rem;font-size:.88rem;line-height:1.55}
  .sequence-header-story .frame-captions{bottom:13vh}
}
@media(max-width:420px){
  .sequence-frame-heading h1{font-size:14vw}
  .sequence-frame-heading .frame-lead{font-size:.78rem;line-height:1.5}
  .sequence-header-story .frame-captions{bottom:14vh}
}
@media(max-width:480px){
  .frame-heading{top:13vh}
  .frame-heading h2{font-size:clamp(2.8rem,13vw,4.2rem)}
  .frame-captions{bottom:15vh}
}

/* Project visualizations inside the service galleries. */
.service-gallery-grid figure{position:relative;overflow:hidden;background:#151918;isolation:isolate}
.service-gallery-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .6s ease;filter:saturate(.88) contrast(1.02)}
.service-gallery-grid figure:after{content:"";position:absolute;inset:36% 0 0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent,#0c120ddd)}
.service-gallery-grid figcaption{position:absolute;z-index:2;inset:auto 0 0;display:grid;grid-template-columns:auto 1fr;gap:7px 16px;align-items:end;padding:28px;color:#fff}
.service-gallery-grid figcaption span{grid-row:1/3;align-self:start;font:600 11px Oswald;color:#c6daa9;letter-spacing:.08em}
.service-gallery-grid figcaption strong{font:600 clamp(1.4rem,2vw,2.2rem) Oswald;text-transform:uppercase;line-height:1.08}
.service-gallery-grid figcaption small{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#d4ddd0}
@media(hover:hover){.service-gallery-grid figure:hover .service-gallery-image{transform:scale(1.035);filter:saturate(1) contrast(1.02)}}
@media(max-width:850px){.service-gallery-grid figcaption{padding:22px}.service-gallery-grid figcaption strong{font-size:clamp(1.45rem,7vw,2.1rem)}}

/* Early proof points: factual trust signals directly after the home hero. */
.trust-band{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(0,4fr) auto;gap:clamp(28px,4vw,70px);align-items:center;padding:30px 6vw;background:#111713;border-top:1px solid #ffffff1c;border-bottom:1px solid #ffffff1c}
.trust-band-label{color:#9fb891;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.trust-band-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid #ffffff20}
.trust-band-grid div{min-width:0;padding:4px clamp(14px,2vw,30px);border-right:1px solid #ffffff20}
.trust-band-grid strong{display:block;font:600 clamp(1.15rem,1.5vw,1.55rem) Oswald;text-transform:uppercase;color:#fff;line-height:1.1}
.trust-band-grid span{display:block;margin-top:7px;color:#9ca49c;font-size:9px;line-height:1.45;letter-spacing:.1em;text-transform:uppercase}
.trust-band>a{display:inline-flex;align-items:center;gap:14px;min-height:44px;white-space:nowrap;color:#dbe5d6;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #61745a}
.trust-band>a span{color:var(--green-light)}
@media(max-width:1050px){.trust-band{grid-template-columns:1fr auto}.trust-band-label{grid-column:1/-1}.trust-band-grid{grid-column:1}.trust-band>a{grid-column:2}}
@media(max-width:850px){.trust-band{grid-template-columns:1fr;padding:28px 24px 32px;gap:24px}.trust-band-label,.trust-band-grid,.trust-band>a{grid-column:1}.trust-band-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #ffffff20}.trust-band-grid div{padding:19px 14px 18px 0;border-right:0;border-bottom:1px solid #ffffff20}.trust-band-grid div:nth-child(odd){border-right:1px solid #ffffff20}.trust-band-grid div:nth-child(even){padding-left:14px}.trust-band>a{justify-self:start}}
@media(prefers-reduced-motion:reduce){.frame-story{height:100svh}.frame-caption{transition:none}.frame-loader i{animation:none}}
@media(max-width:850px) and (pointer:coarse) and (prefers-reduced-motion:reduce){.frame-story{height:420vh}}

/* Ausgewogenere Typografie und ausführlicherer Prozess */
.build-story{height:460vh}
.story-detail{max-width:34rem;margin-top:22px;color:#aeb3ad;font-size:13px;line-height:1.7}
@media(max-width:850px){
  .hero h1{font-size:clamp(3.15rem,14.6vw,5rem);line-height:.96}
  .intro h2,.services h2,.heritage h2,.contact h2{font-size:clamp(2.55rem,11.5vw,4.2rem);line-height:1}
  .intro>p:last-child{font-size:13px;line-height:1.75}
  .build-story{height:440vh}
  .build-stage{grid-template-rows:42% 58%}
  .story-step h3{font-size:clamp(1.45rem,6.6vw,2rem);line-height:1.08}
  .story-detail{margin-top:14px;font-size:12.5px;line-height:1.55;max-width:34rem}
  .frame-story{height:460vh}
  .frame-heading{top:14vh}
  .frame-heading h2{font-size:clamp(2.45rem,10.6vw,3.8rem);line-height:.98}
  .frame-captions{bottom:14vh}
  .frame-caption strong{font-size:1.22rem;line-height:1.2}
}
@media(max-width:480px){
  .hero h1{font-size:clamp(2.85rem,13.8vw,3.8rem)}
  .stage-copy{padding-top:18px}
  .story-step>p{margin:7px 0}
  .story-step h3{font-size:1.38rem}
  .story-detail{margin-top:11px;font-size:11.5px;line-height:1.48}
  .frame-heading{top:12vh}
  .frame-heading h2{font-size:clamp(2.25rem,10.2vw,3.25rem)}
  .frame-caption strong{font-size:1.12rem}
}

/* Über uns */
.heritage-copy .text-link{display:inline-flex;margin-top:28px}
.about-page{background:#101311}
.about-page .nav-links [aria-current="page"]{color:#fff}
.about-hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:160px 8vw 110px;overflow:hidden;background:radial-gradient(circle at 78% 38%,#273126 0,#151918 38%,#101311 70%)}
.about-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 82%)}
.about-hero:after{content:"";position:absolute;right:-12vw;top:50%;width:min(58vw,780px);aspect-ratio:1;border:1px solid #7ca16c66;border-radius:50%;transform:translateY(-48%);box-shadow:0 0 0 5vw #5379430b,0 0 0 10vw #53794308}
.about-hero-copy{position:relative;z-index:2;max-width:980px}
.about-hero h1{font-size:clamp(5rem,9.2vw,10rem);line-height:.9;letter-spacing:-.045em;margin:25px 0 38px}
.about-hero h1 span,.about-manifesto h2 span,.about-values h2 span,.about-profile h2 span{color:var(--green-light)}
.about-hero-copy>p:last-child{max-width:610px;color:#b5bab4;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.75}
.about-generation{position:absolute;z-index:2;right:9vw;top:50%;width:260px;aspect-ratio:1;border:1px solid var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:18px;transform:translateY(-50%);background:#151918aa;backdrop-filter:blur(12px)}
.about-generation:after{content:"";position:absolute;inset:12px;border:1px solid #ffffff16;border-radius:50%}
.about-generation strong{font:700 92px Oswald;color:var(--green-light)}
.about-generation span{font-size:9px;line-height:1.7;letter-spacing:.15em;text-transform:uppercase;color:#c3c7c1}
.about-scroll{position:absolute;z-index:2;left:8vw;bottom:40px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#aeb3ad}
.about-scroll span{margin-left:18px;color:var(--green-light)}
.about-manifesto{display:grid;grid-template-columns:1fr 3fr;gap:8vw;padding:150px 8vw;background:var(--paper);color:var(--ink)}
.about-manifesto h2,.about-values h2,.about-profile h2{font-size:clamp(3.5rem,6.5vw,7.5rem);line-height:.95;letter-spacing:-.035em}
.about-manifesto div>p{max-width:760px;margin-top:46px;color:#626862;font-size:16px;line-height:1.85}
.about-values{padding:145px 8vw;background:#151918}
.about-values-head{display:grid;grid-template-columns:1fr 3fr;gap:8vw;align-items:start;margin-bottom:85px}
.about-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#ffffff24;border:1px solid #ffffff24}
.about-value-grid article{position:relative;min-height:520px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;isolation:isolate;background:#202720}
.about-value-grid article:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#10151124 18%,#101511e8 82%,#101511 100%)}
.about-value-grid article:before{content:"";position:absolute;z-index:1;left:28px;right:28px;bottom:0;height:2px;background:var(--green-light);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.about-value-grid article:hover:before{transform:scaleX(1)}
.about-value-grid img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78) brightness(.82);transition:transform .8s var(--ease),filter .5s var(--ease)}
.about-value-grid article:hover img{transform:scale(1.045);filter:saturate(.95) brightness(.92)}
.about-value-grid article>span{font:600 12px Oswald;color:#d0b873;letter-spacing:.12em}
.about-value-copy{position:relative}
.about-value-grid h3{font-size:clamp(30px,2.4vw,42px);margin:0 0 18px;color:#fff}
.about-value-grid p{max-width:28rem;color:#d2d6cf;font-size:13px;line-height:1.75}
.about-statement{position:relative;overflow:hidden;padding:150px 8vw;background:var(--green);color:#fff}
.about-statement:after{content:"02";position:absolute;right:-2vw;top:50%;transform:translateY(-53%);font:700 min(35vw,520px)/1 Oswald;color:#ffffff0c}
.about-statement>p{position:relative;z-index:1;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#dbe5d7}
.about-statement>p:last-child{text-align:right;margin-top:34px}
.about-statement h2{position:relative;z-index:1;font-size:clamp(5rem,10vw,11rem);line-height:.85;letter-spacing:-.04em;margin:24px 0}
.about-statement h2 span{color:#172017}
.about-profile{display:grid;grid-template-columns:1fr 2fr;gap:10vw;align-items:center;padding:145px 8vw;background:var(--paper);color:var(--ink)}
.about-profile-mark{width:min(29vw,360px);aspect-ratio:1;border:1px solid var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:18px;position:relative}
.about-profile-mark:after{content:"";position:absolute;inset:13px;border:1px solid #53794333;border-radius:50%}
.about-profile-mark strong{font:700 clamp(4.5rem,8vw,8rem) Oswald;color:var(--green)}
.about-profile-mark span{font-size:9px;line-height:1.7;letter-spacing:.12em;text-transform:uppercase;color:#60665f}
.about-profile-copy>.section-number{margin-bottom:26px}
.about-profile-copy>p:not(.section-number){max-width:760px;margin-top:42px;color:#626862;font-size:15px;line-height:1.85}
.about-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:62px;border-top:1px solid #c9cbc5}
.about-facts div{padding:28px 20px 0 0}
.about-facts strong{display:block;font:600 32px Oswald;color:var(--green);text-transform:uppercase}
.about-facts span{display:block;margin-top:7px;color:#737873;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.about-contact{padding-top:120px}
@media(max-width:1100px){.about-generation{width:210px;right:5vw}.about-generation strong{font-size:72px}.about-hero-copy{max-width:760px}.about-value-grid{grid-template-columns:repeat(2,1fr)}.about-value-grid article{min-height:410px}}
@media(max-width:850px){
  .about-hero{min-height:100svh;padding:130px 24px 100px;align-items:flex-start}
  .about-hero:after{width:95vw;right:-48vw;top:43%}
  .about-hero h1{font-size:clamp(3.3rem,15vw,5.2rem);line-height:.93;margin:22px 0 28px}
  .about-hero-copy>p:last-child{font-size:.94rem;line-height:1.7;max-width:440px}
  .about-generation{position:relative;right:auto;top:auto;width:155px;margin:46px 0 0 auto;transform:none}
  .about-generation strong{font-size:52px}
  .about-generation span{font-size:7px}
  .about-scroll{left:24px;bottom:78px}
  .about-manifesto{grid-template-columns:1fr;gap:28px;padding:95px 24px}
  .about-manifesto h2,.about-values h2,.about-profile h2{font-size:clamp(2.7rem,12vw,4.5rem);line-height:.98}
  .about-manifesto div>p{margin-top:30px;font-size:14px;line-height:1.75}
  .about-values{padding:95px 24px}
  .about-values-head{grid-template-columns:1fr;gap:28px;margin-bottom:52px}
  .about-value-grid{grid-template-columns:1fr}
  .about-value-grid article{min-height:360px;padding:24px}
  .about-value-grid article:before{left:24px;right:24px}
  .about-value-grid h3{font-size:34px;margin:0 0 14px}
  .about-statement{padding:100px 24px}
  .about-statement h2{font-size:clamp(4rem,18vw,6rem);line-height:.88}
  .about-profile{grid-template-columns:1fr;gap:66px;padding:95px 24px}
  .about-profile-mark{width:min(74vw,270px);margin:auto}
  .about-profile-copy>p:not(.section-number){margin-top:30px;font-size:14px;line-height:1.75}
  .about-facts{grid-template-columns:1fr;margin-top:45px}
  .about-facts div{padding:21px 0;border-bottom:1px solid #c9cbc5}
  .about-contact{padding-top:90px}
}
@media(max-width:480px){.about-hero h1{font-size:clamp(3rem,14.5vw,4rem)}.about-generation{width:138px}.about-statement h2{font-size:17vw}}

/* Zusätzliche Zwischenstufen für Tablets, Laptops und Querformat */
@media(min-width:851px) and (max-width:1500px){
  .about-hero-copy{max-width:calc(100% - 390px)}
  .about-hero h1{font-size:clamp(4.4rem,7vw,7.2rem);line-height:.92}
  .about-generation{width:210px;right:5vw}
  .about-generation strong{font-size:72px}
}
@media(min-width:600px) and (max-width:850px){
  .about-value-grid{grid-template-columns:repeat(2,1fr)}
  .about-value-grid article{min-height:390px}
  .about-facts{grid-template-columns:repeat(3,1fr)}
  .about-facts div{padding:24px 14px 0 0;border-bottom:0}
}
@media(max-width:850px) and (orientation:landscape){
  .about-hero{min-height:680px;padding-top:115px}
  .about-hero-copy{max-width:70vw}
  .about-hero h1{font-size:clamp(3.3rem,9vw,4.8rem)}
  .about-generation{position:absolute;right:28px;top:54%;width:138px;margin:0;transform:translateY(-50%)}
  .about-scroll{display:none}
}
@media(min-width:1800px){
  .about-hero-copy,.about-manifesto>*,.about-values>* ,.about-profile>*{max-width:1600px}
}

/* Sichere Zeilenhöhe für Ä, Ö und Ü in allen Display-Schriften */
h1,h2,h3{line-height:1.06!important}
.frame-caption strong{line-height:1.16}

/* Leistungsdetailseiten */
.service-link{position:absolute!important;inset:0;z-index:4!important}
.service-page{background:#101311}
.service-page .nav-links [aria-current="page"]{color:#fff}
.service-hero{position:relative;min-height:88svh;display:flex;align-items:flex-end;padding:180px 8vw 105px;overflow:hidden;background:radial-gradient(circle at 78% 42%,#2a3528 0,#161b18 38%,#101311 72%)}
.service-hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 88%)}
.service-hero:after{content:attr(data-number);position:absolute;right:3vw;bottom:-6vw;font:700 min(38vw,620px)/.8 Oswald;color:#ffffff08}
.service-hero-copy{position:relative;z-index:2;max-width:1080px}
.service-hero h1{font-size:clamp(5rem,10vw,11rem);letter-spacing:-.045em;margin:24px 0 38px}
.service-hero h1 span{color:var(--green-light)}
.service-hero-copy>p:last-child{max-width:720px;color:#b8bdb6;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.75}
.service-hero-index{position:absolute;z-index:2;right:8vw;top:170px;width:128px;aspect-ratio:1;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;font:600 42px Oswald;color:var(--green-light)}
.service-intro{display:grid;grid-template-columns:1fr 2.4fr;gap:8vw;padding:145px 8vw;background:var(--paper);color:var(--ink)}
.service-intro h2,.service-scope h2,.service-process h2{font-size:clamp(3.3rem,6vw,7rem);letter-spacing:-.035em}
.service-intro-copy>p{max-width:790px;margin-top:42px;color:#626862;font-size:16px;line-height:1.85}
.service-scope{padding:140px 8vw;background:#151918}
.service-section-head{display:grid;grid-template-columns:1fr 2.4fr;gap:8vw;align-items:start;margin-bottom:78px}
.service-section-head h2 span,.service-process h2 span{color:var(--green-light)}
.service-scope-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-scope-grid article{min-height:210px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:55px 1fr;gap:18px;align-content:start}
.service-scope-grid article>span{font:600 11px Oswald;color:var(--green-light);padding-top:7px}
.service-scope-grid h3{font-size:28px;margin-bottom:15px}
.service-scope-grid p{color:#aeb3ad;font-size:13px;line-height:1.72;max-width:520px}
.service-process{padding:140px 8vw;background:var(--green);color:#fff}
.service-process>.section-number{color:#d7e3d3;margin-bottom:25px}
.service-process h2 span{color:#172017}
.service-process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:78px;border-top:1px solid #ffffff55}
.service-process-grid article{padding:30px 28px 10px 0;min-height:235px;border-right:1px solid #ffffff45}
.service-process-grid article:not(:first-child){padding-left:28px}
.service-process-grid span{font:600 11px Oswald;color:#dbe7d7}
.service-process-grid h3{font-size:27px;margin:42px 0 17px}
.service-process-grid p{font-size:12px;line-height:1.7;color:#e4ece1}
.service-fit{display:grid;grid-template-columns:1fr 2fr;gap:9vw;padding:130px 8vw;background:var(--paper);color:var(--ink);align-items:start}
.service-fit h2{font-size:clamp(3rem,5vw,5.8rem);letter-spacing:-.03em}
.service-fit h2 span{color:var(--green)}
.service-fit-list{display:flex;flex-wrap:wrap;gap:12px}
.service-fit-list span{padding:15px 18px;border:1px solid #c5c8c0;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.service-related{padding:110px 8vw;background:#151918}
.service-related-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}
.service-related h2{font-size:clamp(2.8rem,4.5vw,5rem)}
.service-related-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-related-links a{min-height:150px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;font:500 25px Oswald;text-transform:uppercase;transition:.3s}
.service-related-links a:hover{background:var(--green);transform:translateY(-5px)}
.service-related-links span{color:var(--green-light)}
.service-related-links a:hover span{color:#fff}
@media(max-width:1100px){.service-hero-index{display:none}.service-process-grid{grid-template-columns:repeat(2,1fr)}.service-process-grid article{border-bottom:1px solid #ffffff45}.service-related-links{grid-template-columns:1fr}}
@media(max-width:850px){
  .service-hero{min-height:78svh;padding:145px 24px 82px}
  .service-hero h1{font-size:clamp(3.4rem,15vw,5.6rem);margin:20px 0 28px}
  .service-hero-copy>p:last-child{font-size:.94rem;line-height:1.7}
  .service-intro,.service-fit{grid-template-columns:1fr;gap:30px;padding:92px 24px}
  .service-intro h2,.service-scope h2,.service-process h2{font-size:clamp(2.7rem,12vw,4.4rem)}
  .service-intro-copy>p{margin-top:28px;font-size:14px;line-height:1.75}
  .service-scope,.service-process{padding:92px 24px}
  .service-section-head{grid-template-columns:1fr;gap:28px;margin-bottom:48px}
  .service-scope-grid{grid-template-columns:1fr}
  .service-scope-grid article{min-height:175px;padding:25px;grid-template-columns:42px 1fr}
  .service-scope-grid h3{font-size:24px}
  .service-process-grid{grid-template-columns:1fr;margin-top:50px}
  .service-process-grid article,.service-process-grid article:not(:first-child){min-height:185px;padding:27px 0;border-right:0}
  .service-process-grid h3{margin:25px 0 13px}
  .service-fit-list span{font-size:10px;padding:13px 14px}
  .service-related{padding:85px 24px}
  .service-related-head{align-items:start;flex-direction:column}
  .service-related-links a{min-height:120px;font-size:22px}
}
@media(max-width:420px){.service-hero h1{font-size:14vw}.service-scope-grid article{grid-template-columns:1fr}.service-scope-grid article>span{padding-top:0}.service-fit-list{display:grid;grid-template-columns:1fr}.service-fit-list span{text-align:center}}

/* Kompakter Küchen-Teaser auf der Startseite */
.home-kitchen-teaser{position:relative;min-height:72svh;display:flex;align-items:flex-end;padding:90px 8vw;overflow:hidden;background:#0d100f}
.home-kitchen-teaser:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080b09e8 0,#080b09a8 38%,transparent 76%),linear-gradient(0deg,#080b098c,transparent 55%)}
.home-kitchen-teaser>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-kitchen-teaser>div{position:relative;z-index:2}
.home-kitchen-teaser h2{font-size:clamp(3.2rem,6vw,7rem);letter-spacing:-.035em;margin:20px 0 34px}
.home-kitchen-teaser h2 span{color:var(--green-light)}

/* Austauschbare Bildflächen auf den Leistungsseiten */
.service-gallery{padding:130px 8vw 145px;background:#e7e4da;color:var(--ink)}
.service-gallery-head{display:grid;grid-template-columns:1.4fr 2fr 1.2fr;gap:6vw;align-items:end;margin-bottom:60px}
.service-gallery-head h2{font-size:clamp(3rem,5.5vw,6.4rem);letter-spacing:-.035em}
.service-gallery-head h2 span{color:var(--green)}
.service-gallery-head>p:last-child{color:#636a63;font-size:13px;line-height:1.75}
.service-gallery-grid{display:grid;grid-template-columns:1.65fr 1fr;grid-template-rows:repeat(2,minmax(240px,1fr));gap:14px}
.service-gallery-grid figure{margin:0;min-height:280px}
.service-gallery-grid .is-large{grid-row:1/3;min-height:600px}
.image-placeholder{position:relative;width:100%;height:100%;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;overflow:hidden;border:1px solid #aeb2a8;background-color:#d8d7ce;background-image:linear-gradient(135deg,transparent 49.8%,#b8bcb255 50%,transparent 50.2%),linear-gradient(45deg,transparent 49.8%,#b8bcb255 50%,transparent 50.2%),linear-gradient(#ffffff40 1px,transparent 1px),linear-gradient(90deg,#ffffff40 1px,transparent 1px);background-size:100% 100%,100% 100%,42px 42px,42px 42px}
.image-placeholder:before{content:"BILD";position:absolute;right:22px;top:16px;font:700 clamp(3.5rem,8vw,8rem)/1 Oswald;color:#1519180b}
.image-placeholder span{font:600 11px Oswald;color:var(--green);margin-bottom:auto}
.image-placeholder strong{font:600 clamp(1.4rem,2vw,2.2rem) Oswald;text-transform:uppercase}
.image-placeholder small{margin-top:8px;color:#737970;font-size:9px;letter-spacing:.16em;text-transform:uppercase}

@media(max-width:850px){
  .home-kitchen-teaser{min-height:62svh;padding:75px 24px}
  .home-kitchen-teaser:after{background:linear-gradient(0deg,#080b09e8 0,#080b0980 58%,transparent 100%)}
  .home-kitchen-teaser h2{font-size:clamp(2.8rem,12vw,4.6rem)}
  .service-gallery{padding:90px 24px 100px}
  .service-gallery-head{grid-template-columns:1fr;gap:22px;margin-bottom:42px}
  .service-gallery-head h2{font-size:clamp(2.7rem,12vw,4.4rem)}
  .service-gallery-head>p:last-child{max-width:34rem}
  .service-gallery-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:10px}
  .service-gallery-grid figure,.service-gallery-grid .is-large{grid-row:auto;min-height:62vw;max-height:430px}
}

/* Abschließende responsive Absicherung aller Seitentypen */
.story-step h3{font-size:clamp(2rem,3vw,3.25rem);overflow-wrap:break-word}
.service-hero-copy{width:100%;min-width:0}
.service-hero h1{font-size:clamp(4.5rem,8.2vw,9.75rem)}
@media(max-width:850px){
  .about-hero{flex-direction:column}
  .service-hero h1{font-size:clamp(3.1rem,13.5vw,5.2rem)}
  .sequence-frame-heading{top:122px}
}
@media(max-width:480px){
  .service-hero h1{font-size:13.5vw}
  .service-gebaeudeservice .service-hero h1{font-size:11.2vw}
  .sequence-frame-heading{top:112px}
  .footer-bottom{align-items:center}
  .service-scope-grid,.service-scope-grid article,.service-scope-grid article>div{min-width:0}
  .service-scope-grid h3{overflow-wrap:anywhere}
}
@media(max-width:850px) and (orientation:landscape){
  .sequence-frame-heading{top:108px;left:24px;right:auto;max-width:53vw}
  .sequence-frame-heading h1{font-size:clamp(2.8rem,7vw,3.7rem);margin:10px 0 12px}
  .sequence-frame-heading .frame-lead{font-size:.72rem;line-height:1.4}
  .sequence-header-story .frame-captions{left:auto;right:24px;bottom:28px;width:38vw}
}
@media(min-width:1800px){
  .service-hero-copy{max-width:1250px}
}

/* Rechtliche Seiten und globale Pflichtlinks */
.legal-links{display:flex;justify-content:flex-end;gap:24px;padding-top:22px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.legal-links a{padding-bottom:3px;border-bottom:1px solid transparent;color:#e1e8de}
.legal-links a:hover,.legal-links a[aria-current="page"]{border-color:currentColor}
.legal-main{background:var(--paper);color:var(--ink);padding:170px 8vw 130px}
.legal-hero{padding-bottom:72px;border-bottom:1px solid #c9cbc4}
.legal-hero h1{font-size:clamp(4.6rem,10vw,10rem);line-height:.92;letter-spacing:-.04em;margin:22px 0 28px}
.legal-hero>p:last-child{max-width:650px;color:#626861;font-size:clamp(.95rem,1.3vw,1.2rem);line-height:1.7}
.legal-draft{display:grid;grid-template-columns:1fr 2fr;gap:8vw;margin:46px 0 30px;padding:24px 0;border-top:1px solid #c9cbc4;border-bottom:1px solid #c9cbc4}
.legal-draft strong{font:600 22px Oswald;text-transform:uppercase;color:var(--green)}
.legal-draft p{color:#606660;line-height:1.7}
.legal-content{max-width:1020px;margin-left:auto}
.legal-content section{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.7fr);gap:6vw;padding:48px 0;border-bottom:1px solid #c9cbc4}
.legal-content h2{font-size:clamp(1.45rem,2.3vw,2.25rem);line-height:1.15}
.legal-content p{grid-column:2;color:#4e554e;line-height:1.85}
.legal-content p+p{margin-top:-28px}
.legal-content a{text-decoration:underline;text-underline-offset:3px}
.legal-content mark{display:inline;padding:.1em .32em;background:#dce8d8;color:#36512d;font-weight:700}
.legal-content small{font-size:.8rem;color:#6c726c}
.legal-footer{padding-top:46px}
@media(max-width:850px){
  .legal-main{padding:122px 24px 88px}
  .legal-hero{padding-bottom:48px}
  .legal-hero h1{font-size:clamp(3.7rem,18vw,6rem)}
  .legal-draft,.legal-content section{grid-template-columns:1fr;gap:18px}
  .legal-draft{margin-top:34px}
  .legal-content{margin:0}
  .legal-content section{padding:36px 0}
  .legal-content p{grid-column:1}
  .legal-content p+p{margin-top:0}
  .legal-links{justify-content:flex-start;gap:20px;flex-wrap:wrap}
  .legal-footer{padding-top:38px}
}

/* Bildgefuehrter Einstieg der Startseite: Entwurf wird zum fertigen Raum */
.hero-v2{min-height:max(100svh,760px);isolation:isolate;align-items:center;background:#0b0e0c}
.hero-v2:after{content:"";position:absolute;z-index:0;inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,rgba(7,10,8,.94) 0%,rgba(7,10,8,.82) 36%,rgba(7,10,8,.3) 70%,rgba(7,10,8,.1) 100%),linear-gradient(0deg,rgba(7,10,8,.9) 0%,transparent 46%,rgba(7,10,8,.2) 100%)}
.hero-media,.hero-media picture,.hero-media img{position:absolute;inset:0;width:100%;height:100%}
.hero-media{z-index:-2;overflow:hidden;background:#101311}
.hero-media picture{display:block}
.hero-media img{display:block;object-fit:cover;object-position:center center;filter:saturate(.78) contrast(1.05);animation:heroRoomZoom 12s var(--ease) both}
.hero-media-blueprint{z-index:2;clip-path:inset(0 0 0 0);animation:heroBlueprint 4.8s var(--ease) .7s forwards}
.hero-media-blueprint img{filter:saturate(.6) contrast(1.12) brightness(.78)}
.hero-reveal-line{position:absolute;z-index:3;top:0;bottom:0;left:100%;width:1px;background:linear-gradient(transparent 10%,var(--green-light) 48%,transparent 90%);box-shadow:0 0 24px rgba(124,161,108,.65);animation:heroRevealLine 4.8s var(--ease) .7s forwards}
.hero-v2 .hero-grid{z-index:1;opacity:.48;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.42) 48%,transparent 82%)}
.hero-v2 .hero-copy{z-index:3;width:min(840px,61vw);padding-top:22px}
.hero-v2 h1{font-size:clamp(4.8rem,7.6vw,8.6rem);line-height:.93!important;margin:22px 0 30px;text-shadow:0 4px 28px rgba(0,0,0,.25)}
.hero-v2 h1 span{color:var(--green-light)}
.hero-v2 .hero-text{max-width:600px;color:#d0d4ce;font-size:clamp(.98rem,1.15vw,1.15rem)}
.hero-v2 .hero-actions{margin-top:36px}
.hero-facts{position:absolute;z-index:3;right:6vw;bottom:42px;display:flex;border-top:1px solid rgba(255,255,255,.3);animation-delay:.38s}
.hero-facts>span{display:flex;flex-direction:column;gap:5px;min-width:128px;padding:15px 20px 0;border-left:1px solid rgba(255,255,255,.18);color:#c3c7c1;font-size:8px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.hero-facts strong{font:600 21px Oswald;color:#fff;letter-spacing:.02em}
.hero-v2 .scroll-note{z-index:3;left:8vw;bottom:35px;align-items:flex-start}
@keyframes heroBlueprint{0%{clip-path:inset(0 0 0 0);opacity:1}72%{opacity:.95}100%{clip-path:inset(0 100% 0 0);opacity:.35}}
@keyframes heroRevealLine{0%{left:100%;opacity:0}8%{opacity:1}88%{opacity:1}100%{left:0;opacity:0}}
@keyframes heroRoomZoom{from{transform:scale(1.035)}to{transform:scale(1)}}

@media(max-width:1100px){
  .hero-v2 .hero-copy{width:min(760px,72vw)}
  .hero-facts>span{min-width:112px;padding-left:14px;padding-right:14px}
}
@media(max-width:850px){
  .hero-v2{min-height:max(100svh,700px);padding:128px 24px 124px;align-items:flex-start}
  .hero-v2:after{background:linear-gradient(180deg,rgba(7,10,8,.85) 0%,rgba(7,10,8,.68) 42%,rgba(7,10,8,.92) 100%)}
  .hero-media img{object-position:61% center}
  .hero-v2 .hero-grid{mask-image:linear-gradient(to bottom,#000,transparent 85%)}
  .hero-v2 .hero-copy{width:100%;max-width:620px;padding-top:7vh}
  .hero-v2 h1{font-size:clamp(3.25rem,14.5vw,5.4rem);line-height:.96!important;margin:18px 0 24px}
  .hero-v2 .hero-text{font-size:.92rem;line-height:1.65;max-width:470px}
  .hero-v2 .hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:22px;margin-top:28px}
  .hero-facts{left:24px;right:24px;bottom:80px;justify-content:space-between}
  .hero-facts>span{min-width:0;flex:1;padding:12px 9px 0;font-size:6.5px;letter-spacing:.1em}
  .hero-facts>span:first-child{padding-left:0;border-left:0}
  .hero-facts strong{font-size:18px}
  .hero-v2 .scroll-note{display:none}
}
@media(max-width:540px){
  .hero-v2{padding-top:112px}
  .hero-v2 .hero-copy{padding-top:3vh}
  .hero-v2 h1{font-size:clamp(3rem,14vw,4.35rem)}
  .hero-v2 .hero-actions{align-items:flex-start;flex-direction:column;gap:8px}
  .hero-v2 .button{min-width:205px}
}
@media(max-width:850px) and (orientation:landscape){
  .hero-v2{min-height:690px;padding:120px 24px 120px}
  .hero-v2 .hero-copy{width:67%;padding-top:0}
  .hero-v2 h1{font-size:clamp(3rem,8.2vw,4.5rem)}
  .hero-v2 .hero-actions{flex-direction:row}
}
@media(prefers-reduced-motion:reduce){
  .hero-media-blueprint,.hero-reveal-line{display:none}
  .hero-media img{animation:none}
}

/* Automatischer Portfolio-Wechsel im Hero */
.hero-media .hero-slide{z-index:0;opacity:0;transform:scale(1.045);transition:opacity .72s ease,transform 3.8s var(--ease)}
.hero-media .hero-slide.is-active{z-index:1;opacity:1;transform:scale(1)}
.hero-media .hero-slide img{animation:none}
.hero-v2 .hero-changing-copy,.hero-v2 #hero-kicker{transition:opacity .22s ease,transform .35s var(--ease)}
.hero-v2.is-changing .hero-changing-copy,.hero-v2.is-changing #hero-kicker{opacity:0;transform:translateY(10px)}
.hero-v2 h1 .hero-title-primary,.hero-v2 h1 .hero-title-accent{display:block}
.hero-v2 h1 .hero-title-primary{color:#fff}
.hero-v2 h1 .hero-title-accent{color:var(--green-light)}
.hero-portfolio-nav{position:absolute;z-index:4;right:6vw;bottom:45px;display:grid;grid-template-columns:repeat(6,minmax(54px,82px));gap:8px;animation-delay:.38s}
.hero-portfolio-nav button{appearance:none;border:0;background:transparent;color:#aeb3ad;padding:10px 0;cursor:pointer;text-align:left;font:600 12px Manrope;transition:color .25s ease}
.hero-portfolio-nav button:hover,.hero-portfolio-nav button:focus-visible,.hero-portfolio-nav button.is-active{color:#fff}
.hero-portfolio-nav button:focus-visible{outline:1px solid var(--green-light);outline-offset:4px}
.hero-portfolio-nav button i{display:block;position:relative;height:2px;margin-top:8px;overflow:hidden;background:rgba(255,255,255,.22)}
.hero-portfolio-nav button i:after{content:"";position:absolute;inset:0;background:var(--green-light);transform:scaleX(0);transform-origin:left}
.hero-portfolio-nav button.is-active i:after{animation:heroPortfolioProgress 5s linear both}
.hero-v2.is-paused .hero-portfolio-nav button.is-active i:after{animation-play-state:paused}
@keyframes heroPortfolioProgress{to{transform:scaleX(1)}}

@media(max-width:850px){
  .hero-portfolio-nav{left:24px;right:24px;bottom:78px;grid-template-columns:repeat(6,1fr);gap:6px}
  .hero-portfolio-nav button{font-size:11px;padding:8px 0}
  .hero-v2 .hero-copy{padding-top:2vh}
  .hero-v2 h1{font-size:clamp(3rem,13.2vw,4.9rem)}
}
@media(max-width:540px){
  .hero-v2{padding-bottom:138px}
  .hero-v2 .hero-text{max-width:94%;font-size:.88rem}
  .hero-v2 h1{font-size:clamp(2.75rem,12.7vw,3.85rem);margin-bottom:18px}
  .hero-portfolio-nav{bottom:76px}
}
@media(max-width:850px) and (orientation:landscape){
  .hero-portfolio-nav{left:auto;right:24px;width:42%;bottom:26px}
}
@media(prefers-reduced-motion:reduce){
  .hero-media .hero-slide,.hero-v2 .hero-changing-copy,.hero-v2 #hero-kicker{transition:none}
  .hero-portfolio-nav button.is-active i:after{animation:none;transform:scaleX(1)}
}
.workbench.workbench-drawing { background: #2b2d2c; min-width: 0; min-height: 0; }
.workbench-drawing .process-poster,
.workbench-drawing .process-canvas { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.workbench-drawing .process-canvas { opacity: 0; transition: opacity .25s ease; }
.build-stage.is-ready .process-canvas { opacity: 1; }
.build-stage.is-ready .process-poster { visibility: hidden; }
.services-editorial{padding:clamp(80px,9vw,150px) 6vw}
.services-editorial .services-head{max-width:1500px;margin:0 auto 64px;gap:6vw;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.services-editorial .services-head h2{font-size:clamp(2.7rem,5.2vw,6rem);line-height:1.17}
.services-editorial .services-head>p{font-size:1rem;max-width:28rem;border-left:2px solid var(--green);padding-left:24px}
.services-editorial .service-grid{max-width:1500px;margin:auto;border:0;gap:24px;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
.services-editorial .service-grid article{grid-column:span 6;border:0;padding:30px;min-height:470px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink);color:white;isolation:isolate;opacity:1;transform:none;transition:transform .65s var(--ease),box-shadow .65s var(--ease)}
.services-editorial .service-grid article:nth-child(1){grid-column:span 7;min-height:570px}
.services-editorial .service-grid article:nth-child(2){grid-column:span 5;margin-top:85px;min-height:485px}
.services-editorial .service-grid article:nth-child(3),.services-editorial .service-grid article:nth-child(4){grid-column:span 6;min-height:420px}
.services-editorial .service-grid article:nth-child(5){grid-column:span 5;min-height:420px}
.services-editorial .service-grid article:nth-child(6){grid-column:span 7;min-height:420px}
.services-editorial .service-grid article:before{inset:0;z-index:0;background:linear-gradient(180deg,#10171126 5%,#10171114 30%,#101711ed 90%);transition:background .4s}
.services-editorial .service-grid .service-visual{position:absolute;inset:0;z-index:-1;overflow:hidden}
.service-visual img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.2s var(--ease),filter .7s;filter:saturate(.75)}
.services-editorial .service-grid article>span{position:absolute;top:25px;left:30px;font:500 1rem Oswald;color:white;border:1px solid #ffffff66;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#15191833}
.services-editorial .service-grid h3{margin:0 0 12px;font-size:clamp(1.8rem,3vw,3.3rem);line-height:1.2;overflow-wrap:anywhere}
.services-editorial .service-grid p{font-size:1rem;line-height:1.65;color:#e0e5dd;max-width:34rem;padding-right:34px}
.services-editorial .service-detail{margin-top:25px;padding-top:18px;border-top:1px solid #ffffff40;color:#c0d5b5;text-transform:uppercase;font-size:.75rem;letter-spacing:.12em;font-weight:600}
.services-editorial .service-grid i{right:30px;bottom:27px;color:white;transition:transform .4s}
.services-editorial .service-link:focus-visible{outline:3px solid #c0d5b5;outline-offset:-6px}
.services-editorial .service-grid article:focus-within .service-visual img{transform:scale(1.07)}
@media(hover:hover){.services-editorial .service-grid article:hover{transform:translateY(-6px);box-shadow:0 20px 40px #15191824}.services-editorial article:hover .service-visual img{transform:scale(1.08);filter:saturate(1)}.services-editorial .service-grid article:hover i{transform:translateX(6px)}}
@media(prefers-reduced-motion:no-preference){.services-editorial .service-grid article.visible{animation:service-enter .85s var(--ease) var(--reveal-delay,0ms) both}@keyframes service-enter{from{opacity:0;translate:0 38px;clip-path:inset(7% 0 0 0)}to{opacity:1;translate:0 0;clip-path:inset(0)}}}
@media(min-width:651px) and (max-width:1000px){.services-editorial .service-grid{gap:18px}.services-editorial .service-grid article{padding:24px}.services-editorial .service-grid article:nth-child(n){grid-column:span 6;min-height:440px;margin-top:0}.services-editorial .service-grid p{padding-right:0}.services-editorial .services-head{grid-template-columns:1fr;gap:25px}}
@media(max-width:650px){.services-editorial{padding:80px 20px}.services-editorial .services-head{grid-template-columns:1fr;gap:24px;margin-bottom:36px}.services-editorial .service-grid{grid-template-columns:minmax(0,1fr);gap:20px}.services-editorial .service-grid article:nth-child(n){grid-column:auto;margin-top:0;min-height:420px;padding:25px}.services-editorial .service-grid article>span{left:25px}.services-editorial .service-grid h3{font-size:2rem}.services-editorial .service-grid p{padding-right:0}.services-editorial .service-grid i{right:25px}.services-editorial .services-head h2{font-size:clamp(2.3rem,9vw,3.5rem)}}
@media(prefers-reduced-motion:reduce){.services-editorial .service-grid article,.services-editorial .service-visual img,.services-editorial .service-grid i{animation:none!important;transition:none!important}}
.contact-request{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.7fr);gap:clamp(32px,6vw,90px);align-items:start;margin:60px 0 75px}
.request-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;padding:clamp(24px,4vw,52px);background:#fff;color:var(--ink)}
.form-intro,.form-message,.form-consent,.form-status{grid-column:1/-1}.form-intro{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid #d5d7d1;padding-bottom:28px;margin-bottom:4px}.form-intro p{max-width:33rem;color:#666d67;line-height:1.7}.form-intro>span,.contact-direct>p{color:var(--green);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
.request-form label>span{display:block;margin-bottom:10px;font-size:.73rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.request-form input,.request-form select,.request-form textarea{width:100%;border:0;border-bottom:1px solid #afb4ad;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:1rem;padding:11px 2px;outline:none}.request-form textarea{resize:vertical;min-height:115px}.request-form input:focus,.request-form select:focus,.request-form textarea:focus{border-color:var(--green);box-shadow:0 2px 0 var(--green)}
.request-form .form-consent{display:flex;align-items:flex-start;gap:12px}.request-form .form-consent input{width:18px;height:18px;accent-color:var(--green);flex:0 0 auto}.request-form .form-consent span{margin:0;font-size:.78rem;line-height:1.5;text-transform:none;letter-spacing:0;font-weight:400}.form-consent a{text-decoration:underline}.form-submit{border:0;cursor:pointer;background:var(--green);color:#fff}.form-status{min-height:1.5em;color:#47713a;font-size:.8rem;line-height:1.5}.contact-direct{display:grid;gap:0;border-top:1px solid #ffffff3d}.contact-direct>p{padding:24px 0;color:var(--green-light)}.contact-direct>a{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid #ffffff20;font:500 1.15rem Oswald;text-transform:uppercase}.contact-direct>a span{color:var(--green-light)}.contact-direct .contact-data{margin-top:28px;align-items:flex-start;font-size:.78rem;color:#aeb3ad}
@media(max-width:850px){.contact-request{grid-template-columns:1fr;margin:40px 0 55px}.request-form{grid-template-columns:1fr;padding:26px 20px}.request-form>*{grid-column:1!important}.form-intro{display:block}.form-intro>span{display:block;margin-top:18px}.contact-direct{margin-top:8px}}
.inquiry-page{background:var(--paper);color:var(--ink)}.inquiry-main{padding:clamp(130px,16vw,190px) 8vw 110px}.inquiry-head{max-width:1050px;margin-bottom:60px}.inquiry-head h1{font-size:clamp(3.5rem,7.5vw,8rem);line-height:.94;letter-spacing:-.035em;margin:20px 0 28px}.inquiry-head h1 span{color:var(--green)}.inquiry-head>p:last-child{max-width:580px;color:#666d67;font-size:1.05rem;line-height:1.75}.inquiry-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.65fr);gap:clamp(30px,6vw,90px);align-items:start}.inquiry-page .request-form{box-shadow:0 24px 70px #19201914}.inquiry-direct{position:sticky;top:130px;padding-top:25px;border-top:1px solid #b9beb7}.inquiry-direct h2{font-size:clamp(2rem,3vw,3.2rem);margin:18px 0 28px}.inquiry-direct>a{display:flex;justify-content:space-between;padding:19px 0;border-top:1px solid #ccd0ca;font:500 1.05rem Oswald;text-transform:uppercase}.inquiry-direct>a span{color:var(--green)}.inquiry-direct>p:last-child{margin-top:28px;color:#697069;line-height:1.7}.inquiry-page .form-submit{min-width:230px}.inquiry-page .nav{background:rgba(21,25,24,.94);color:#fff}@media(max-width:850px){.inquiry-main{padding:115px 20px 85px}.inquiry-head{margin-bottom:38px}.inquiry-head h1{font-size:clamp(3rem,14vw,5rem)}.inquiry-layout{grid-template-columns:1fr}.inquiry-direct{position:static;margin-top:15px}}
.inquiry-direct .inquiry-contact-item{position:relative;display:grid;gap:10px;padding:24px 30px 24px 0;text-transform:none;font-family:Manrope,Arial,sans-serif;transition:background .2s,color .2s;min-width:0}
.inquiry-contact-item .inquiry-contact-label{font-size:.8rem;letter-spacing:.04em;font-weight:600;color:#606a5d}
.inquiry-contact-item .inquiry-phone{font-size:clamp(1.6rem,2.4vw,2.4rem);font-weight:700;line-height:1.2;letter-spacing:-.035em;color:var(--ink)}
.inquiry-contact-item .inquiry-email{font-size:1rem;line-height:1.55;font-weight:600;overflow-wrap:anywhere;color:var(--ink)}
.inquiry-contact-item i{position:absolute;right:0;top:50%;font-style:normal;color:var(--green);font-size:1.3rem;transition:transform .2s}
.inquiry-contact-item:hover i{transform:translate(3px,-3px)}
.inquiry-contact-item:focus-visible{outline:2px solid var(--green);outline-offset:5px}
@media(prefers-reduced-motion:reduce){.inquiry-direct .inquiry-contact-item,.inquiry-contact-item i{transition:none}}
@supports(overflow:clip){body{overflow-x:clip}.menu-open{overflow:hidden}}
@media(max-width:850px){.build-story{height:440svh}.build-stage{height:calc(100svh - 62px);grid-template-rows:minmax(0,42fr) minmax(0,58fr)}.build-stage .workbench{height:auto}.story-step{left:20px;right:20px}.story-step h3{font-size:clamp(1.45rem,6vw,2.1rem);line-height:1.2}.story-step .step-detail{font-size:14px;line-height:1.5}}
@media(max-width:850px) and (orientation:landscape){.build-stage{height:100svh;grid-template-columns:40% 60%;grid-template-rows:minmax(0,1fr)}.story-step h3{font-size:1.3rem}}
/* Keep slideshow controls in the mobile layout, clear of both action rows. */
@media(max-width:850px){
  .hero.hero-v2{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;min-height:100svh;padding:112px 24px calc(90px + env(safe-area-inset-bottom,0px))}
  .hero-v2 .hero-copy{display:contents}
  .hero-v2 .hero-copy>*{position:relative;z-index:3}
  .hero-v2 #hero-kicker{order:1}
  .hero-v2 h1{order:2;font-size:clamp(2.2rem,9.5vw,3.6rem);line-height:1.06!important;margin:16px 0}
  .hero-v2 #hero-text{order:3;font-size:.9rem;line-height:1.55}
  .hero-v2 .hero-portfolio-nav{order:5;position:relative;inset:auto;width:100%;max-width:620px;flex:0 0 auto;margin:22px 0 0;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
  .hero-v2 .hero-portfolio-nav button{min-height:44px;font-size:12px;padding:10px 0}
  .hero-v2 .hero-actions{order:4;margin-top:22px;gap:12px}
  .hero-v2 .hero-portfolio-nav button i{height:3px}
}
@media(max-width:850px) and (orientation:landscape){
  .hero.hero-v2{padding-bottom:30px;min-height:100svh}
}
/* Mobile navigation: compact bold type and comfortable contact targets. */
@media(max-width:850px){
  .mobile-menu{height:100dvh;padding:112px 24px calc(28px + env(safe-area-inset-bottom,0px));gap:28px;overflow-y:auto;overscroll-behavior:contain;justify-content:flex-start;color:#f2f0e9}
  .mobile-menu nav{flex:0 0 auto}
  .mobile-menu nav a{display:flex;align-items:center;gap:16px;padding:16px 0;font:600 clamp(1.3rem,5.5vw,1.7rem)/1.4 Oswald,Arial,sans-serif;letter-spacing:0;text-transform:uppercase;min-height:58px}
  .mobile-menu nav span{flex:0 0 24px;width:24px;font:500 12px/1.4 Manrope,Arial,sans-serif;letter-spacing:.08em}
  .mobile-menu-contact{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:8px;flex:0 0 auto;color:#f2f0e9;font-size:16px}
  .mobile-menu-contact a{display:flex;align-items:center;min-height:52px;padding:14px 18px;border:1px solid #ffffff28;font-size:16px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}
  .mobile-menu-contact a:last-child{background:#537943;border-color:#537943;color:white}
  .mobile-menu a:focus-visible{outline:2px solid var(--green-light);outline-offset:3px}
}
@media(max-width:850px) and (max-height:600px){.mobile-menu{padding-top:100px;gap:20px}.mobile-menu nav a{font-size:19px;min-height:48px;padding:10px 0}}


/* Responsive safeguards for narrow phones, long legal terms and flexible media. */
img,video,canvas,svg{max-width:100%}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.nav-links>a:not(.nav-contact){padding-block:12px}
.cinema-nav button,.motion-toggle{min-height:44px}
.footer-bottom>a,.legal-links a{display:inline-flex;align-items:center;min-height:36px}
.legal-content,.legal-content section,.legal-content section>*{min-width:0}
.legal-content h2,.legal-content p,.legal-content a,.legal-content mark{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:480px){
  .legal-main{padding:112px 20px 78px}.legal-hero{padding-bottom:40px}
  .legal-hero h1{font-size:clamp(2.65rem,14vw,3.6rem);overflow-wrap:anywhere}
  .legal-content section{padding:31px 0;gap:14px}.legal-content h2{font-size:clamp(1.3rem,7vw,1.7rem)}.legal-content p{line-height:1.72}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:18px}.footer-bottom img{width:170px;max-width:100%}
  .footer-bottom a,.legal-links a{font-size:12px}.about-scroll{font-size:11px}.mobile-menu nav a{display:flex;align-items:center;min-height:44px}
}

/* Ruhiger, hoehenfester Einstieg: klare Hierarchie ohne Ueberlagerungen. */
.hero.hero-v2{
  min-height:max(100svh,760px);
  padding-block:clamp(132px,16vh,168px) 158px;
}
.hero-v2 .hero-copy{
  width:min(780px,62vw);
  padding-top:0;
}
.hero-v2 h1{
  max-width:10.5ch;
  margin:20px 0 26px;
  font-size:clamp(4rem,min(7vw,11.5vh),7.75rem);
  line-height:1.035!important;
  letter-spacing:-.025em;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.hero-v2 h1 .hero-title-primary,
.hero-v2 h1 .hero-title-accent{text-wrap:balance}
.hero-v2 .hero-text{
  max-width:48ch;
  font-size:clamp(1rem,1.1vw,1.12rem);
  line-height:1.65;
}
.hero-v2 .hero-actions{margin-top:30px;gap:34px}
.hero-v2 .scroll-note{bottom:30px}
.hero-portfolio-nav{bottom:34px}

@media(max-width:1100px){
  .hero-v2 .hero-copy{width:min(720px,70vw)}
  .hero-v2 h1{font-size:clamp(3.75rem,min(7.2vw,10.8vh),6.5rem)}
}

@media(max-width:850px){
  .hero.hero-v2{
    display:flex;
    min-height:max(100svh,740px);
    padding:118px 24px calc(34px + env(safe-area-inset-bottom,0px));
  }
  .hero-v2 .hero-copy{display:contents}
  .hero-v2 .hero-copy>*{position:relative;z-index:3}
  .hero-v2 #hero-kicker{order:1}
  .hero-v2 h1{
    order:2;
    width:min(100%,620px);
    max-width:11ch;
    margin:18px 0 22px;
    font-size:clamp(2.65rem,11.5vw,4.25rem);
    line-height:1.07!important;
  }
  .hero-v2 #hero-text{
    order:3;
    max-width:38ch;
    font-size:clamp(.94rem,2.8vw,1.02rem);
    line-height:1.62;
  }
  .hero-v2 .hero-actions{
    order:4;
    margin-top:28px;
    gap:14px 24px;
  }
  .hero-v2 .hero-portfolio-nav{
    order:5;
    position:relative;
    inset:auto;
    width:100%;
    max-width:620px;
    margin:clamp(30px,6vh,54px) 0 0;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
  }
  .hero-v2 .hero-portfolio-nav button{
    min-height:44px;
    padding:10px 0;
    font-size:12px;
  }
  .hero-v2 .hero-portfolio-nav button i{height:3px}
}

@media(max-width:540px){
  .hero.hero-v2{min-height:max(100svh,760px);padding-inline:20px}
  .hero-v2 h1{font-size:clamp(2.45rem,11.8vw,3.7rem)}
  .hero-v2 .hero-text{max-width:34ch}
  .hero-v2 .hero-actions{align-items:stretch;flex-direction:column;gap:10px}
  .hero-v2 .button{width:min(100%,260px);min-width:0}
  .hero-v2 .text-link{align-self:flex-start}
  .hero-v2 .hero-portfolio-nav{margin-top:34px;gap:7px}
}

@media(max-width:850px) and (orientation:landscape){
  .hero.hero-v2{min-height:620px;padding:104px 24px 30px}
  .hero-v2 h1{max-width:12ch;font-size:clamp(2.65rem,7.2vw,4rem)}
  .hero-v2 #hero-text{max-width:46ch}
  .hero-v2 .hero-actions{flex-direction:row;align-items:center}
  .hero-v2 .hero-portfolio-nav{width:100%;margin-top:28px}
}

@media(min-width:851px) and (max-height:760px){
  .hero.hero-v2{min-height:700px;padding-block:116px 136px;align-items:flex-start}
  .hero-v2 h1{font-size:clamp(3.5rem,9.5vh,5.4rem);margin-block:16px 20px}
  .hero-v2 .hero-actions{margin-top:24px}
}
