/* fonts */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(plex-0.woff2) format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(plex-1.woff2) format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(plex-2.woff2) format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(plex-3.woff2) format('woff2');
}

/* mockup */
*{box-sizing:border-box}body{margin:0;font-family:'IBM Plex Sans',Arial,sans-serif;color:#1f2225}a{color:inherit}a:hover{text-decoration-thickness:2px}img{max-width:100%}button,input,textarea{font:inherit}button{border-radius:0}button:disabled{cursor:default!important}html{scroll-behavior:smooth}h1,h2,h3,p{overflow-wrap:break-word}:focus-visible{outline:3px solid #c49300;outline-offset:4px}.skip{position:absolute;top:-80px;left:16px;z-index:100;background:#f9c400;padding:16px}.skip:focus{top:12px}.site-header{position:relative;z-index:40;background:#fff;border-bottom:1px solid #d5d8da}.header-inner{max-width:1440px;margin:auto;padding:0 32px;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;width:155px;height:auto}.site-header nav{display:flex;align-items:center;gap:0}.site-header nav>a{position:relative;display:flex;align-items:center;min-height:88px;padding:0 11px;font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap}.site-header nav>a:hover{background:#f3f4f5}.site-header nav>a[aria-current=page]:after{content:'';position:absolute;left:11px;right:11px;bottom:0;height:4px;background:#f9c400}.site-header nav>a.contact-link{min-height:48px;padding:0 22px;margin-left:12px;background:#f9c400;font-weight:600}.menu-toggle{display:none;background:#fff;border:2px solid #2b2e31;min-height:44px;padding:0 14px;font-weight:600}.gallery{padding:80px 0;background:#fff;overflow:hidden}.section-heading{max-width:1440px;margin:auto;padding:0 clamp(20px,5vw,80px) 40px;display:flex;flex-wrap:wrap;gap:32px}.section-heading h2{flex:1 1 360px;font-size:clamp(30px,3.2vw,46px);line-height:1.12;margin:0;font-weight:600}.section-heading p{flex:1 1 420px;font-size:18px;line-height:1.65;margin:0;color:#4a4f54}.gallery-track{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:24px;padding:0 max(20px,calc((100vw - 1000px)/2));scrollbar-width:thin}.gallery figure{flex:0 0 min(74vw,1000px);margin:0;scroll-snap-align:center}.gallery figure img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.gallery figcaption{text-align:center;font-size:21px;padding:24px 0;font-weight:600}.gallery figcaption span{display:block;font-size:15px;font-weight:400;color:#5e646a;margin-top:8px}.viewer{max-width:1440px;margin:auto;padding:64px clamp(20px,5vw,80px);display:grid;grid-template-columns:1.8fr 1fr;gap:48px}.viewer-main{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.detail-grid>div{overflow:hidden;aspect-ratio:4/3}.detail-grid img{width:100%;height:100%;object-fit:cover}.viewer h2{font-size:36px;line-height:1.15;margin:0 0 24px;font-weight:600}.viewer p{font-size:17px;line-height:1.6}.viewer dl{display:grid;grid-template-columns:1fr 1fr;gap:0;font-size:16px}.viewer dt,.viewer dd{margin:0;padding:16px 0;border-top:1px solid #d5d8da}.viewer dt{font-weight:600}.muted{color:#5e646a;font-size:14px!important}.notes{max-width:900px;margin:60px auto;padding:0 24px;line-height:1.7}.notes h1{font-size:42px;line-height:1.15}.notes h2{margin-top:48px}.horizontal-track{scrollbar-width:thin}.reference-filter[aria-pressed=true]{background:#2b2e31!important;color:white!important}[hidden]{display:none!important}
@media(max-width:1199px){.header-inner{min-height:72px;padding:0 20px;flex-wrap:wrap}.brand{width:145px}.menu-toggle{display:block}.site-header nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;padding-bottom:20px}.site-header nav.open{display:flex}.site-header nav>a{min-height:50px;border-bottom:1px solid #e5e6e7;padding:10px 0}.site-header nav>a[aria-current=page]:after{left:0;right:auto;top:10px;bottom:10px;width:3px;height:auto}.site-header nav>a[aria-current=page]{padding-left:14px}.site-header nav>a.contact-link{margin:16px 0 0;justify-content:center}.viewer{grid-template-columns:1fr}}
@media(max-width:600px){.gallery{padding:56px 0}.gallery figure{flex-basis:86vw}.viewer{gap:24px;padding-top:48px;padding-bottom:48px}.viewer h2{font-size:28px}.detail-grid{gap:6px}form>div[style*="grid-template-columns"]{grid-template-columns:1fr!important}div[style*="grid-template-columns:repeat(4"]{grid-template-columns:1fr!important}div[style*="grid-template-columns:repeat(2"]{grid-template-columns:1fr!important}.notes h1{font-size:32px}}
.site-header{position:sticky;top:0;z-index:100}.back-top{position:fixed;right:18px;bottom:24px;z-index:110;width:44px;height:44px;display:grid;place-items:center;background:#f9c400;color:#1f2225;border:1px solid #2b2e31;text-decoration:none;font-size:26px;box-shadow:0 2px 8px #0002}.back-top:hover{background:#e5b400}html{scroll-padding-top:110px}[id]{scroll-margin-top:110px!important}.video-note{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;background:#1f2225e8;color:#fff;padding:14px 20px;display:flex;gap:12px;align-items:center;justify-content:center;font-size:16px;text-align:center;max-width:calc(100% - 32px);width:max-content}.video-note>span{font-size:25px}.contact-form-card{position:relative;top:50px}.process-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}.process-steps button{width:100%;min-height:92px;text-align:left;border:0;border-top:3px solid #2b2e31;padding:18px 0 12px;background:transparent;color:#1f2225;cursor:pointer;display:flex;flex-direction:column;gap:6px;font-size:18px;font-weight:600}.process-steps button>span:first-child{font-size:15px;font-weight:400;color:#5e646a}.process-steps button[aria-pressed=true]{border-color:#f9c400;background:linear-gradient(#f9c40018,transparent)}.process-steps button:hover{border-color:#f9c400}.process-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:14px;color:#5e646a}.process-pause{background:transparent;border:1px solid #5e646a;padding:9px 14px;color:#2b2e31;cursor:pointer}.process-heading{min-height:2.3em}.process-copy{min-height:6.6em}
@media(max-width:1199px){.site-header nav.open{max-height:calc(100dvh - 72px);overflow:auto}html{scroll-padding-top:90px}[id]{scroll-margin-top:90px!important}}
@media(max-width:600px){.process-steps{grid-template-columns:1fr;gap:0}.process-steps button{min-height:64px;flex-direction:row;align-items:center;gap:16px;padding:14px 8px}.video-note{top:35%;font-size:14px;padding:10px 14px}.back-top{right:12px;bottom:16px}.process-heading,.process-copy{min-height:0}}
body>div[style*="container-type"]{overflow-x:clip!important;overflow-y:visible!important}

/* export-hover */
.s0:hover{background:#E5B400!important;color:#1F2225!important}
.s1:hover{background:#FFFFFF!important;color:#1F2225!important}
.s2:hover{text-decoration-color:#2B2E31!important}
.s3:hover{text-decoration-color:#2B2E31!important}
.s4:hover{text-decoration-color:#2B2E31!important}
.s5:hover{background:#2B2E31!important;color:#FFFFFF!important}
.s6:hover{text-decoration-color:#2B2E31!important}
.s7:hover{color:#FFFFFF!important;text-decoration-color:#FFFFFF!important}
.s8:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s9:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s10:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s11:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s12:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s13:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s14:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s15:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s16:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s17:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s18:hover{transform:translateY(-6px)!important;border-bottom-color:#F9C400!important;box-shadow:0 14px 30px rgba(31,34,37,0.14)!important}
.s19:hover{transform:translateY(-6px)!important;border-bottom-color:#F9C400!important;box-shadow:0 14px 30px rgba(31,34,37,0.14)!important}
.s20:hover{transform:translateY(-6px)!important;border-bottom-color:#F9C400!important;box-shadow:0 14px 30px rgba(31,34,37,0.14)!important}
.s21:hover{background:#F9C400!important}
.s22:hover{background:#F9C400!important}
.s23:hover{color:#FFFFFF!important;text-decoration-color:#FFFFFF!important}
.s24:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s25:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s26:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s27:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s28:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s29:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s30:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s31:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s32:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s33:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s34:hover{color:#FFFFFF!important;text-decoration-color:#FFFFFF!important}
.s35:hover{color:#FFFFFF!important;text-decoration-color:#FFFFFF!important}
.s36:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s37:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s38:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s39:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s40:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s41:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s42:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s43:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s44:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s45:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s46:hover{color:#FFFFFF!important;text-decoration-color:#FFFFFF!important}
.s47:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s48:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s49:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s50:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s51:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s52:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s53:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s54:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s55:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s56:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s57:hover{transform:translateY(-6px)!important;border-bottom-color:#F9C400!important;box-shadow:0 14px 30px rgba(31,34,37,0.14)!important}
.s58:hover{transform:translateY(-6px)!important;border-bottom-color:#F9C400!important;box-shadow:0 14px 30px rgba(31,34,37,0.14)!important}
.s59:hover{transform:translateY(-6px)!important;border-bottom-color:#F9C400!important;box-shadow:0 14px 30px rgba(31,34,37,0.14)!important}
.s60:hover{transform:translateY(-6px)!important;border-bottom-color:#F9C400!important;box-shadow:0 14px 30px rgba(31,34,37,0.14)!important}
.s61:hover{transform:translateY(-6px)!important;border-bottom-color:#F9C400!important;box-shadow:0 14px 30px rgba(31,34,37,0.14)!important}
.s62:hover{transform:translateY(-6px)!important;border-bottom-color:#F9C400!important;box-shadow:0 14px 30px rgba(31,34,37,0.14)!important}
.s63:hover{color:#FFFFFF!important;text-decoration-color:#FFFFFF!important}
.s64:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s65:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s66:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s67:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s68:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s69:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s70:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s71:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s72:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s73:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s74:hover{text-decoration-color:#2B2E31!important}
.s75:hover{color:#FFFFFF!important;text-decoration-color:#FFFFFF!important}
.s76:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s77:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s78:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s79:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s80:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s81:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s82:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s83:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s84:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s85:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s86:hover{background:#E5B400!important;color:#1F2225!important}
.s87:focus{outline:2px solid #2B2E31!important;outline-offset:0!important;border-color:#2B2E31!important}
.s88:focus{outline:2px solid #2B2E31!important;outline-offset:0!important;border-color:#2B2E31!important}
.s89:focus{outline:2px solid #2B2E31!important;outline-offset:0!important;border-color:#2B2E31!important}
.s90:focus{outline:2px solid #2B2E31!important;outline-offset:0!important;border-color:#2B2E31!important}
.s91:focus{outline:2px solid #2B2E31!important;outline-offset:0!important;border-color:#2B2E31!important}
.s92:hover{background:#E5B400!important}
.s93:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s94:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s95:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s96:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s97:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s98:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s99:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s100:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s101:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s102:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s103:focus{outline:2px solid #2B2E31!important;outline-offset:0!important;border-color:#1F2225!important}
.s104:focus{outline:2px solid #2B2E31!important;outline-offset:0!important;border-color:#1F2225!important}
.s105:focus{outline:2px solid #2B2E31!important;outline-offset:0!important;border-color:#1F2225!important}
.s106:focus{outline:2px solid #2B2E31!important;outline-offset:0!important;border-color:#1F2225!important}
.s107:focus{outline:2px solid #2B2E31!important;outline-offset:0!important;border-color:#1F2225!important}
.s108:hover{background:#E5B400!important}
.s109:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s110:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s111:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s112:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s113:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s114:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s115:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s116:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s117:hover{color:#FFFFFF!important;text-decoration:underline!important}
.s118:hover{color:#FFFFFF!important;text-decoration:underline!important}
/* content-2026 */
.editorial-photo{margin:0;min-width:0;background:#e9ebed}.editorial-photo img{display:block;width:100%;height:480px;object-fit:contain}.editorial-photo figcaption{background:#fff;padding:12px 0;font-size:14px;line-height:1.5;color:#5e646a}.editorial-row{max-width:1440px;margin:auto;padding:80px clamp(20px,5vw,80px);display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}.editorial-row.reverse>.editorial-photo{order:2}.editorial-copy h2,.editorial-intro h2,.editorial-section h2,.contact-real h2{font-size:clamp(30px,3.2vw,46px);line-height:1.12;font-weight:600;letter-spacing:-.01em;margin:0 0 24px}.editorial-copy p,.editorial-intro p,.editorial-section p{font-size:18px;line-height:1.65;color:#4a4f54;margin:0 0 20px}.text-link{display:inline-block;font-weight:600;text-decoration:underline;text-decoration-color:#f9c400;text-underline-offset:6px;line-height:1.7;overflow-wrap:anywhere}.outline-link{display:inline-flex;padding:14px 24px;border:2px solid #2b2e31;text-decoration:none;font-weight:600}.editorial-intro{padding-top:80px;padding-bottom:32px;align-items:start}.editorial-intro>div{flex:1 1 420px}.editorial-section{padding:0 clamp(20px,5vw,80px) 80px}.editorial-section>.editorial-intro{padding-left:0;padding-right:0;max-width:1280px}.soft{background:#eef0f1}.real-hero{background:#2b2e31;color:white}.hero-image{position:relative;height:clamp(320px,34vw,540px)}.hero-image>img{height:100%;width:100%;object-fit:cover;object-position:center 35%;display:block}.hero-image.two-images{display:grid;grid-template-columns:1fr 1fr;background:#d9dddf}.hero-image.two-images>img{object-fit:contain}.hero-title{position:absolute;left:0;bottom:-64px;width:clamp(300px,46vw,720px);max-width:calc(100% - 20px);background:#181a1ddd;padding:40px clamp(20px,5vw,80px)}.hero-title h1{font-size:clamp(28px,3.15vw,46px);line-height:1.08;font-weight:600;letter-spacing:-.02em;margin:0;color:#fff;text-wrap:balance}.hero-intro{max-width:1440px;margin:auto;padding:124px clamp(20px,5vw,80px) 80px;display:grid;grid-template-columns:1fr 2.2fr;gap:64px}.hero-intro>div{font-weight:600;color:#f9c400;font-size:17px}.hero-intro p{margin:0;color:#e6e8ea;font-size:clamp(18px,1.45vw,21px);line-height:1.6}.company-facts{max-width:1440px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:56px clamp(20px,5vw,80px);border-bottom:1px solid #d5d8da}.company-facts strong{font-size:28px;display:block;margin-bottom:12px}.company-facts span{color:#5e646a;line-height:1.5}.contact-real{background:#eef0f1;padding:100px clamp(20px,5vw,80px);display:grid;grid-template-columns:1.2fr 1fr;align-items:start}.contact-message{background:#2b2e31;color:#fff;padding:64px}.contact-message p{font-size:18px;line-height:1.65;color:#e6e8ea}.contact-person{margin-top:64px;margin-left:-40px;padding:32px;background:#fff;box-shadow:0 10px 30px #1f22251a;position:relative}.contact-person>.editorial-photo>img{height:240px;object-fit:contain}.contact-person h3{font-size:24px;margin-bottom:4px}.contact-person p{margin-top:0;color:#5e646a}.reference-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.reference-card{background:#fff;border-bottom:3px solid #d5d8da}.reference-card:hover{border-color:#f9c400}.reference-card>a{display:block;text-decoration:none}.reference-card img{display:block;width:100%;height:280px;object-fit:contain;background:#e9ebed}.reference-card>a>div{padding:24px}.reference-card span{font-size:14px;color:#5e646a}.reference-card h3{font-size:24px;line-height:1.2;margin:12px 0}.reference-card p{font-size:16px;line-height:1.6}.reference-card .text-link{color:#1f2225}.reference-filters{max-width:1280px;margin:0 auto 32px;display:flex;flex-wrap:wrap;gap:10px}.reference-filters button{padding:12px 18px;background:white;border:2px solid #2b2e31;cursor:pointer}.project-detail{padding:80px clamp(20px,5vw,80px);border-top:1px solid #d5d8da}.project-detail:nth-child(odd){background:#eef0f1}.project-summary{max-width:1280px;margin:0 auto 36px;display:grid;grid-template-columns:1fr 1.3fr;gap:64px}.project-summary h2{font-size:36px;line-height:1.15;margin:12px 0 24px;font-weight:600}.project-summary h3{font-size:20px;margin-top:0}.project-summary p{font-size:17px;line-height:1.65}.project-category{font-size:15px;color:#5e646a}.photo-strip{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.photo-strip .editorial-photo img{height:300px;object-fit:contain}.photo-strip figcaption{padding:12px;background:transparent}.project-back{max-width:1280px;margin:30px auto 0}.cad-note{color:#5e646a;font-size:15px!important;border-left:3px solid #f9c400;padding-left:16px}.timeline{max-width:1280px;margin:20px auto 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:32px 64px}.timeline li{border-top:3px solid #2b2e31;padding:24px 0;display:grid;grid-template-columns:90px 1fr;gap:16px}.timeline li>span{font-size:30px;font-weight:600}.timeline h3{font-size:21px;line-height:1.3;margin:3px 0 12px}.timeline p{font-size:16px;margin:0}.timeline li:first-child,.timeline li:last-child{border-color:#f9c400}.methods-section{background:#2b2e31;color:#fff;padding:80px clamp(20px,5vw,80px)}.methods-section .section-heading{padding:0 0 36px;max-width:1280px}.methods-section .section-heading p{color:#e6e8ea}.method-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.method-grid article{border-top:3px solid #f9c400;padding-top:24px}.method-grid img{width:100%;height:220px;object-fit:contain;background:#e3e6e8}.method-grid h3{font-size:24px;line-height:1.2}.method-grid p{font-size:17px;line-height:1.6}.application-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.application-grid article{border-top:3px solid #f9c400;padding-top:20px}.application-grid h3{font-size:24px;line-height:1.2}.application-grid p{font-size:17px}.process-section{background:#eef0f1;padding-bottom:64px}.process-section .process-steps,.process-section .process-controls{max-width:1280px;margin-left:auto;margin-right:auto}.process-section .editorial-row{padding-bottom:40px}.process-section .editorial-photo img{height:440px}.process-section .process-steps{padding:0 20px}.process-section .process-controls{padding:0 20px}.contact-layout{position:relative;z-index:2;max-width:1440px;margin:auto;padding:80px clamp(20px,5vw,80px) 0;display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:start}.contact-layout .editorial-photo img{height:auto;max-height:340px;object-fit:contain}.contact-layout h2{font-size:32px;font-weight:600}.contact-layout h3{font-size:24px}.contact-layout address{font-style:normal;line-height:1.7}.contact-layout>.contact-form-card{margin-bottom:-150px;background:#fff;box-shadow:0 16px 40px #1f22251f;padding:40px}.real-form{display:flex;flex-direction:column;gap:24px}.real-form h2{margin:0;font-size:32px}.real-form label{display:flex;flex-direction:column;gap:8px;font-weight:600;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.real-form input,.real-form textarea{width:100%;border:1px solid #7c838a;padding:12px;font-weight:400;min-width:0}.real-form p{font-size:14px;line-height:1.6;margin:0;color:#5e646a}.real-form button{align-self:flex-end;background:#f9c400;border:0;padding:16px 24px;font-weight:600}.career-contact{max-width:900px;margin:auto;background:#fff;padding:40px}.map-placeholder{height:600px;background:#c9ced2;display:flex;align-items:flex-end;justify-content:center;padding:40px;text-align:center}.map-placeholder>div{background:#fff;padding:24px}.map-placeholder h2{font-size:24px;margin:0}.map-placeholder p{margin:8px 0}.form-note{color:#5e646a}
@media(max-width:1000px){.reference-grid{grid-template-columns:1fr 1fr}.method-grid,.application-grid{grid-template-columns:1fr 1fr}.contact-message{padding:40px}.timeline{grid-template-columns:1fr}.editorial-photo img{height:400px}.contact-layout{gap:32px}.contact-layout>.contact-form-card{padding:28px}.hero-intro{gap:32px}.process-steps{gap:12px}}
@media(max-width:700px){.editorial-row,.hero-intro,.contact-real,.project-summary,.contact-layout{grid-template-columns:1fr}.editorial-row{padding-top:48px;padding-bottom:48px;gap:32px}.editorial-row.reverse>.editorial-photo{order:0}.editorial-copy p,.editorial-intro p{font-size:17px}.editorial-photo img{height:380px}.hero-image{height:320px}.hero-title{bottom:-40px;padding:28px 20px}.hero-intro{padding-top:88px;padding-bottom:48px;gap:20px}.hero-intro p{font-size:18px}.editorial-intro{padding-top:56px;gap:12px}.editorial-section{padding-bottom:56px}.reference-grid{grid-template-columns:1fr}.reference-card img{height:340px}.contact-real{padding-top:56px;padding-bottom:56px}.contact-message{padding:32px 24px}.contact-person{margin:0 12px;padding:24px;top:-12px}.company-facts{grid-template-columns:1fr;padding-top:32px;padding-bottom:32px;gap:24px}.company-facts strong{font-size:24px}.project-summary{gap:16px}.project-summary h2{font-size:30px}.project-detail{padding-top:56px;padding-bottom:56px}.photo-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-strip .editorial-photo img{height:220px}.photo-strip figcaption{font-size:13px}.timeline li{grid-template-columns:72px 1fr;gap:12px}.timeline li>span{font-size:26px}.methods-section{padding-top:56px;padding-bottom:56px}.method-grid,.application-grid{grid-template-columns:1fr}.method-grid img{height:300px}.process-section .editorial-photo img{height:380px}.contact-layout{padding-top:48px;gap:32px}.contact-layout>.contact-form-card{padding:24px;margin-bottom:-100px}.form-grid{grid-template-columns:1fr}.career-contact{padding:24px}.map-placeholder{height:500px;padding:24px}.map-placeholder h2{font-size:22px}}
.hero-image.two-images>img{position:absolute;top:0;left:0;width:50%;height:100%;min-height:0;min-width:0;object-fit:contain}.hero-image.two-images>img:nth-child(2){left:50%}

/* image-layout */
/* Approved photos determine the block size. Three consistent display formats, no letterboxing. */
.editorial-photo,.reference-card img,.method-grid img{background:transparent}
.editorial-photo img,.reference-card img,.method-grid img,.photo-strip .editorial-photo img,.contact-person>.editorial-photo>img,.contact-layout .editorial-photo img,.process-section .editorial-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:cover;aspect-ratio:3/2}
.editorial-photo img.image-format-portrait,.reference-card img.image-format-portrait,.method-grid img.image-format-portrait,.photo-strip .editorial-photo img.image-format-portrait{aspect-ratio:3/4}
.editorial-photo img.image-format-wide,.reference-card img.image-format-wide,.method-grid img.image-format-wide,.photo-strip .editorial-photo img.image-format-wide{aspect-ratio:16/9}
.editorial-row{padding-top:48px;padding-bottom:48px;gap:clamp(28px,4vw,64px)}
.editorial-row.row-portrait{grid-template-columns:minmax(220px,360px) minmax(0,1fr);max-width:1180px}
.editorial-row.row-portrait.reverse{grid-template-columns:minmax(0,1fr) minmax(220px,360px)}
.editorial-copy>p:last-child{margin-bottom:0}
.editorial-photo figcaption{background:transparent;padding:10px 0}
.editorial-intro{padding-top:56px;padding-bottom:24px}
.company-facts{padding-top:36px;padding-bottom:36px}
.contact-real{padding-top:56px;padding-bottom:56px;align-items:center;gap:0}
.contact-message{padding:40px 64px 40px 40px}
.contact-person{padding:24px;margin-top:24px}
.contact-person h3{margin-top:18px}
.contact-person>.editorial-photo>img{aspect-ratio:3/2}
.reference-grid{align-items:start;gap:28px}
.reference-card:has(.image-format-portrait){max-width:300px;justify-self:center;width:100%}
.reference-card>a>div{padding:20px 12px}
.photo-strip{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px}
.photo-strip>.editorial-photo{flex:1 1 300px;max-width:calc(50% - 12px)}
.photo-strip>.photo-portrait{flex:0 1 260px;max-width:260px}
.photo-strip>.editorial-photo:only-child{flex:0 1 680px;max-width:min(100%,680px)}
.photo-strip>.photo-portrait:only-child{flex:0 1 340px;max-width:min(100%,340px)}
.photo-strip figcaption{padding:10px 0}
.project-detail:has(.photo-strip>.photo-portrait:only-child){display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px 56px;max-width:1440px;margin:auto}
.project-detail:has(.photo-strip>.photo-portrait:only-child)>.project-summary{display:block;margin:0}
.project-detail:has(.photo-strip>.photo-portrait:only-child)>.project-summary>div+div{margin-top:28px}
.project-detail:has(.photo-strip>.photo-portrait:only-child)>.photo-strip{margin:0}
.project-detail:has(.photo-strip>.photo-portrait:only-child)>.project-back{grid-column:1/-1;margin:0}
.method-grid img.image-format-portrait{max-width:260px}
.process-section .editorial-row{align-items:center}
.process-section .editorial-photo{justify-self:start;width:100%;max-width:580px}
.process-section .editorial-photo:has(.image-format-portrait){max-width:300px;justify-self:center}
.process-heading,.process-copy{min-height:0}
.split-hero{background:#2b2e31;color:white;display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);align-items:center;gap:40px;padding:48px clamp(20px,5vw,80px)}
.split-hero-copy{max-width:580px}.split-hero h1{font-size:clamp(32px,3.15vw,46px);line-height:1.08;font-weight:600;margin:0 0 28px;letter-spacing:-.02em}.split-hero p{font-size:19px;line-height:1.6;color:#e6e8ea}.split-hero .split-lead{color:#f9c400;font-size:17px;font-weight:600}
.split-hero-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.split-hero-photos img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.split-hero-photos img:nth-child(2){margin-top:32px}
@media(max-width:1000px){.split-hero{grid-template-columns:1fr;gap:24px}.split-hero-copy{max-width:800px}.split-hero-photos{max-width:620px}.editorial-row.row-portrait,.editorial-row.row-portrait.reverse{grid-template-columns:1fr 1fr}.project-detail:has(.photo-strip>.photo-portrait:only-child){grid-template-columns:1fr 280px;gap:32px}.contact-message{padding:32px 48px 32px 32px}}
@media(max-width:700px){.editorial-row,.editorial-row.row-portrait,.editorial-row.row-portrait.reverse{grid-template-columns:1fr;padding-top:32px;padding-bottom:32px;gap:24px}.editorial-row>.photo-portrait{max-width:340px;width:100%;justify-self:start}.contact-real{padding-top:36px;padding-bottom:36px}.contact-person{margin:0;top:0;padding:20px}.contact-message{padding:28px 20px}.editorial-intro{padding-top:40px}.reference-card:has(.image-format-portrait){justify-self:start;max-width:320px}.photo-strip>.editorial-photo{flex-basis:100%;max-width:100%}.photo-strip>.photo-portrait{flex-basis:calc(50% - 12px);max-width:calc(50% - 12px)}.project-detail:has(.photo-strip>.photo-portrait:only-child){display:block}.project-detail:has(.photo-strip>.photo-portrait:only-child)>.photo-strip{margin:24px 0}.project-detail:has(.photo-strip>.photo-portrait:only-child)>.project-back{margin-top:24px}.process-section .editorial-photo:has(.image-format-portrait){max-width:260px;justify-self:start}.split-hero{padding-top:32px;padding-bottom:32px}.split-hero-photos{gap:12px}.split-hero-photos img:nth-child(2){margin-top:16px}}
/* Gentle photo hover, intentionally independent of prefers-reduced-motion.
   Matching inset keeps the enlarged photograph inside its original bounds. */
main img[src*="assets/real/"]{transform:scale(1);clip-path:inset(0);transition:transform 420ms ease,clip-path 420ms ease!important}
@media(hover:hover) and (pointer:fine){main img[src*="assets/real/"]:hover{transform:scale(1.03);clip-path:inset(1.456311%)} }
/* Proportional columns produce a shared image height in each gallery row. */
.photo-strip.aligned-gallery{display:grid;gap:28px}
.photo-row{display:grid;gap:24px;width:100%;align-items:start}
.photo-row>.editorial-photo{margin:0;min-width:0;width:100%}
@media(max-width:700px){.photo-row{display:flex;flex-wrap:wrap;gap:24px;max-width:100%!important}.photo-row>.editorial-photo{flex:0 0 100%}.photo-row>.photo-portrait{flex-basis:calc(50% - 12px)}}
.photo-strip.aligned-gallery{grid-template-columns:minmax(0,1fr)}
.parts-gallery{margin-top:48px}.parts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.part-card{padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.part-image{display:block;position:relative;background:#fff;overflow:hidden}.part-image img{display:block;width:100%;aspect-ratio:1;object-fit:contain;transition:transform .4s}.part-card:hover img{transform:scale(1.03)}.part-expand{position:absolute;bottom:10px;right:10px;background:#f9c400;color:#222;width:36px;height:36px;display:grid;place-items:center;font-size:26px}.part-name{display:block;padding:12px 0;font-weight:600}.viewer-dialog{padding:0;border:0;width:min(92vw,1080px);max-width:none;height:min(90vh,900px);max-height:none;background:white;overflow:hidden}.viewer-dialog::backdrop{background:rgba(20,23,26,.65);backdrop-filter:blur(8px)}.viewer-dialog header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;height:60px;box-sizing:border-box;background:#2b2e31;color:white}.viewer-dialog h2{margin:0;font:600 20px 'IBM Plex Sans',Arial,sans-serif}.viewer-close{border:0;background:#f9c400;color:#222;font-size:28px;width:38px;height:38px;cursor:pointer}.viewer-dialog iframe{display:block;border:0;width:100%;height:calc(100% - 60px)}body.viewer-open{overflow:hidden}.part-card:focus-visible,.viewer-close:focus-visible{outline:3px solid #f9c400;outline-offset:4px}@media(max-width:1000px){.parts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.parts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.viewer-dialog{width:96vw;height:80vh}.viewer-dialog header{padding:10px}.viewer-dialog h2{font-size:17px}}
/* Review feedback: inset captions and consistent project overview rows. */
.editorial-photo{position:relative;overflow:hidden}
.editorial-photo figcaption,.photo-strip .editorial-photo figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:10px 12px;margin:0;background:rgba(20,23,26,.68);color:white;font-size:14px;line-height:1.4;pointer-events:none}
.reference-grid{align-items:stretch;column-gap:32px;row-gap:16px}
.reference-card,.reference-card:has(.image-format-portrait){display:grid;grid-template-rows:subgrid;grid-row:span 5;width:100%;max-width:none;margin-bottom:48px;justify-self:stretch}
.reference-card[hidden]{display:none}
.reference-card>a{display:grid;grid-template-rows:subgrid;grid-row:span 5;gap:16px;padding:0 0 20px}
.reference-card .reference-image{display:block;aspect-ratio:3/2;overflow:hidden}
.reference-card .reference-image img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover}
.reference-card .reference-category,.reference-card h3,.reference-card p,.reference-card .text-link{margin:0 16px}
.reference-card h3{align-self:start}.reference-card p{align-self:start}.reference-card .text-link{align-self:end;justify-self:start;margin-bottom:0;display:inline-flex;align-items:center;gap:8px}
.lucide-icon{width:22px;height:22px;flex:none;vertical-align:middle;display:inline-block}
.parts-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.parts-grid>.part-card{flex:0 0 calc((100% - 96px)/5);min-width:0}
.part-name{position:absolute;bottom:0;left:0;right:0;background:rgba(20,23,26,.68);color:#fff;padding:10px 48px 10px 10px;font-size:14px;line-height:1.35;font-weight:500;min-height:56px;display:flex;align-items:center;box-sizing:border-box}
.part-expand{bottom:10px;right:8px;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.part-expand .lucide-icon{width:19px;height:19px}
.viewer-close{padding:0!important;display:flex!important;align-items:center;justify-content:center;line-height:1;flex:0 0 38px;box-sizing:border-box}.viewer-close .lucide-icon{width:24px;height:24px;margin:0}
.viewer-dialog header{gap:16px}.viewer-dialog h2{min-width:0}
.module-variant{max-width:1280px;margin:0 auto 48px}.module-variant h3{font-size:25px;margin:0 0 20px}.module-image-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.module-image-row .editorial-photo{margin:0;min-width:0}.module-image-row .editorial-photo img,.module-image-row .part-image img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.module-visualizations{padding-top:0}.module-visualizations .editorial-intro{padding-top:24px}
.process-section{overflow:hidden}.process-section .editorial-row{min-height:570px}.process-section .editorial-photo{height:400px;display:flex;align-items:center;justify-content:center}.process-section .editorial-photo img{max-height:400px;width:100%;height:auto}.process-section .editorial-photo:has(.image-format-portrait){height:400px;max-width:300px}.process-section .editorial-copy{min-width:0}
@media(max-width:1000px){.parts-grid>.part-card{flex-basis:calc((100% - 48px)/3)}.module-image-row{gap:12px}.reference-grid{column-gap:24px}}
@media(max-width:700px){.parts-grid>.part-card{flex-basis:calc((100% - 24px)/2)}.module-image-row{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-card,.reference-card>a{grid-template-rows:none;grid-row:auto}.reference-card>a{display:flex;flex-direction:column}.reference-card{margin-bottom:20px}.reference-card .reference-image{width:100%;flex:none}.editorial-photo figcaption{font-size:12px;padding:8px}.process-section .editorial-row{min-height:760px}.process-section .editorial-photo{height:320px}.process-section .editorial-photo img{max-height:320px}.process-section .editorial-photo:has(.image-format-portrait){height:320px;max-width:240px}.process-section .editorial-copy{min-height:290px}.module-variant{margin-bottom:36px}}
/* Three stills above one full-width panorama, without image captions. */
.module-image-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.module-image-row>.panorama-card{grid-column:1/-1;width:100%;display:block}
.module-image-row .panorama-card .part-image img{aspect-ratio:2/1;object-fit:cover;transform:none}
.panorama-orbit{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.panorama-orbit .lucide-icon{width:44px;height:44px;color:white;padding:16px;box-sizing:content-box;background:rgba(20,23,26,.65);animation:panorama-orbit-turn 8s linear infinite}
@keyframes panorama-orbit-turn{to{transform:rotate(360deg)}}
@media(max-width:700px){.module-image-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.panorama-orbit .lucide-icon{width:32px;height:32px;padding:12px}}
.panorama-orbit::before{content:"";position:absolute;width:76px;height:76px;background:rgba(20,23,26,.65)}
.panorama-orbit .lucide-icon{position:relative;background:transparent}
@media(max-width:700px){.panorama-orbit::before{width:56px;height:56px}}

/* customer */
.hero-subtitle{font-size:clamp(17px,1.8vw,25px);line-height:1.35;margin:12px 0 0;color:white;font-weight:500}
.hero-title:has(.hero-subtitle){max-width:700px}
.model-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}
.model-photo-grid .editorial-photo{margin:0}.model-photo-grid .editorial-photo img{height:auto;width:100%;aspect-ratio:1;object-fit:cover}
.method-grid img{height:auto!important;aspect-ratio:4/3!important;max-width:none!important;object-fit:cover!important}
.module-hero-photo{max-width:560px;justify-self:center;width:100%}.module-hero-photo img{display:block;width:100%;max-height:540px;object-fit:cover;aspect-ratio:1}
.project-showcase{max-width:1280px;margin:40px auto 0}.project-showcase .editorial-photo{margin:0}.project-showcase .editorial-photo img{aspect-ratio:16/9}
.project-subheading{max-width:1280px;margin:32px auto 20px;font-size:24px;line-height:1.3}
.editorial-photo:has(img[src*="modul-grundriss"]) img{aspect-ratio:auto}
.contact-person>.editorial-photo>img[src*="ansprechpartner"],.contact-layout .editorial-photo img[src*="ansprechpartner"]{object-position:50% 65%;aspect-ratio:4/3}
.reference-card .reference-image img[src*="edventure-einsatz"],.reference-card .reference-image img[src*="schalensitz-bauteil"],.reference-card .reference-image img[src*="front-einsatz"]{object-position:50% 40%}
.reference-image{position:relative}.reference-image:has(img.image-format-portrait){aspect-ratio:3/2}
@media(max-width:700px){.hero-subtitle{font-size:18px}.model-photo-grid{gap:10px}.project-showcase{margin-top:28px}.module-hero-photo{max-width:400px}.method-grid img{max-height:320px}.project-subheading{font-size:21px}}
.reference-card .reference-image:has(img.image-format-portrait){display:flex;justify-content:center;align-items:flex-start}
.reference-card .reference-image img.image-format-portrait{height:100%;width:auto;max-width:100%;object-fit:contain}
/* Bottom anchored hero crops and reference overview anchor. */
.real-hero .hero-image>img{object-position:center bottom}
#projektuebersicht{scroll-margin-top:100px}
.edventure-finished{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1280px;margin:28px auto 0}
.edventure-finished>.editorial-photo{grid-column:2 / span 2;margin:0}
.edventure-finished>.editorial-photo img{aspect-ratio:auto;height:auto;width:100%;object-fit:cover}
@media(max-width:700px){#projektuebersicht{scroll-margin-top:76px}.edventure-finished{grid-template-columns:1fr}.edventure-finished>.editorial-photo{grid-column:1}}
#projektuebersicht{scroll-margin-top:0}
#projektuebersicht{scroll-margin-top:0!important}

/* final-feedback */
/* Customer PDF review 9 November: preserve complete subjects, no padded image borders. */
.real-hero .hero-image{height:clamp(360px,42vw,680px)}
.real-hero .hero-image>img{object-position:50% 50%}
.real-hero .hero-image>img[src*="msh-kunststofftechnik-firma.webp"]{object-position:50% 12%}
.real-hero .hero-image>img[src*="leistungen-halle"]{object-position:50% 35%}
.real-hero .hero-image>img[src*="faser-hero"]{object-position:50% 55%}
.real-hero .hero-image>img[src*="referenzen-hero"]{object-position:50% 35%}
.model-photo-grid{align-items:start}
.model-photo-grid .editorial-photo img{aspect-ratio:auto;height:auto;object-fit:contain}
.process-section .editorial-photo img{width:auto!important;max-width:100%;height:auto!important;max-height:400px;aspect-ratio:auto!important;object-fit:contain;transform:none!important}
.process-section .editorial-photo{background:transparent}
.front-context{max-width:420px;margin-top:24px;background:transparent}
.front-context img{width:100%;height:auto;aspect-ratio:auto;transform:none!important}
.front-context figcaption{position:static!important;background:transparent!important;color:inherit!important;padding:12px 0!important;font-size:15px;line-height:1.5}
@media(max-width:700px){.real-hero .hero-image{height:auto;min-height:0}.real-hero .hero-image>img{height:auto;width:100%;aspect-ratio:auto}.real-hero .hero-title{position:relative;bottom:auto;width:100%;max-width:none}.real-hero .hero-intro{padding-top:32px}.process-section .editorial-photo img{max-height:320px}.model-photo-grid{gap:10px}}
.model-photo-grid .editorial-photo img{aspect-ratio:1;object-fit:cover}.model-photo-grid img[src*="modellbau-detail-2"]{object-position:50% 65%;transform:none!important}
.model-photo-grid img[src*="modellbau-detail-2"]{object-position:50% 45%}.front-context{max-width:300px}

/* manual-review */
.site-header{position:sticky;top:0;transition:background .25s,box-shadow .25s,transform .25s;z-index:100}.site-header.is-scrolled{background:rgba(255,255,255,.88);backdrop-filter:blur(12px);box-shadow:0 4px 16px #00000012;transform:translateY(-6px)}.site-header nav>a[aria-current=page]:after{bottom:calc(50% - 19px);height:3px}.site-header .brand{object-fit:contain}.site-footer img,.footer img{filter:none!important}.footer-contact-icon{width:18px;height:18px;vertical-align:middle;margin-right:9px;display:inline-block}.edventure-finished>.editorial-photo{grid-column:3!important}.editorial-photo:has(img[src*="schwendemann-kaltenbach"]){background:transparent}.editorial-photo img[src*="schwendemann-kaltenbach"]{aspect-ratio:auto!important;height:auto!important;object-fit:contain;transform:none!important}.module-visualizations>.editorial-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:32px}.module-visualizations>.editorial-intro h2{white-space:nowrap;font-size:clamp(26px,2.6vw,40px)}.process-section .editorial-photo:has(img[src*="rocking-montage"]){max-width:none;width:100%}@media(max-width:800px){.module-visualizations>.editorial-intro{grid-template-columns:1fr}.module-visualizations>.editorial-intro h2{font-size:clamp(19px,4.3vw,30px)}.edventure-finished>.editorial-photo{grid-column:1!important}}
footer img{filter:none!important}
footer img{background:transparent!important;padding:0!important;width:220px;height:auto;max-width:100%}
footer a:has(>img){background:transparent!important;padding:0!important}footer a>img{height:auto!important;width:220px!important}
.site-header .brand{width:auto!important;height:68px!important;max-width:min(340px,65vw);object-fit:contain}.real-hero img,.real-hero img:hover,.split-hero img,.split-hero img:hover{transform:none!important;clip-path:none!important;transition:none!important}@media(max-width:600px){.site-header .brand{height:56px!important;max-width:65vw}}

/* Approved landscape assets, 9 November. */
.reference-card .reference-image:has(img[src*="schalensitz-bauteil"]),.reference-card .reference-image:has(img[src*="edventure-einsatz"]),.reference-card .reference-image:has(img[src*="fisch-einsatz"]),.reference-card .reference-image:has(img[src*="modulbad-card"]){aspect-ratio:3/2;width:100%}
.reference-card .reference-image img[src*="schalensitz-bauteil"],.reference-card .reference-image img[src*="edventure-einsatz"],.reference-card .reference-image img[src*="fisch-einsatz"],.reference-card .reference-image img[src*="modulbad-card"]{width:100%;height:100%;object-fit:cover;object-position:center}
.editorial-row:has(>.editorial-photo img[src*="schalensitz-bauteil"]){grid-template-columns:1.15fr 1fr}.editorial-row>.editorial-photo:has(img[src*="schalensitz-bauteil"]){max-width:none;width:100%}.editorial-photo img[src*="rocking-montage"]{aspect-ratio:auto!important;height:auto!important;object-fit:contain;transform:none!important}.photo-strip>.editorial-photo:has(img[src*="rocking-montage"]){flex-basis:calc((100% - 48px)/3);max-width:none}.process-section .editorial-photo:has(img[src*="rocking-montage"]){max-width:none;width:100%}
@media(max-width:700px){.editorial-row:has(>.editorial-photo img[src*="schalensitz-bauteil"]){grid-template-columns:1fr}.photo-strip>.editorial-photo:has(img[src*="rocking-montage"]){flex-basis:100%}}
.reference-card .reference-image{aspect-ratio:5/4!important}.reference-card .reference-image img{object-position:center!important}

/* Match assembly photo to adjacent first sample; full landscape image in process slider. */
#rocking-boat .photo-strip>.editorial-photo:has(img[src*="rocking-montage"]){flex:0 1 260px;max-width:260px;width:260px}
#rocking-boat .photo-strip>.editorial-photo img[src*="rocking-montage"]{width:100%!important;height:auto!important;aspect-ratio:3/4!important;object-fit:cover!important;object-position:50% 50%;clip-path:none!important}
.process-section .editorial-photo:has(img[src*="rocking-montage"]){width:100%;max-width:580px!important;overflow:visible}
.process-section .editorial-photo img[src*="rocking-montage"]{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;clip-path:none!important}
#rocking-boat .photo-row img[src*="rocking-montage"]{width:100%!important;height:auto!important;aspect-ratio:3/4!important;object-fit:cover!important;object-position:50% 50%;clip-path:none!important}
.reference-card:has(img[src*="start-modulbad"]){max-width:none!important;width:100%;justify-self:stretch}.reference-card .reference-image:has(img[src*="start-modulbad"]){width:100%;aspect-ratio:5/4!important}.reference-card .reference-image img[src*="start-modulbad"]{display:block;width:100%!important;height:100%!important;max-width:none;aspect-ratio:auto;object-fit:cover;object-position:center}
#schalensitz .photo-strip.aligned-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;width:100%;max-width:1280px}#schalensitz .photo-row{display:contents!important}#schalensitz .photo-strip figure{width:100%;max-width:none;margin:0;min-width:0}#schalensitz .photo-strip img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}@media(max-width:900px){#schalensitz .photo-strip.aligned-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){#schalensitz .photo-strip.aligned-gallery{gap:12px}}

#montage.editorial-row{max-width:1440px;grid-template-columns:1.15fr 1fr}#montage>.editorial-photo{max-width:none;width:100%;justify-self:stretch}#montage>.editorial-photo img{display:block;width:100%!important;height:auto!important;max-height:none!important}@media(max-width:700px){#montage.editorial-row{grid-template-columns:1fr}}
.edventure-finished>.editorial-photo{grid-column:1!important}

#fertigung>.editorial-photo{overflow:visible;background:transparent}#fertigung>.editorial-photo>img,#fertigung>.editorial-photo>img:hover{display:block;width:100%;height:auto!important;max-height:none;aspect-ratio:auto!important;object-fit:contain!important;transform:none!important;clip-path:none!important}
@media(hover:hover) and (pointer:fine){#fertigung>.editorial-photo>img{transition:transform .35s ease!important;transform-origin:center}#fertigung>.editorial-photo>img:hover{transform:scale(1.025)!important;clip-path:none!important}}

/* Same hover treatment as other editorial images; full image at rest. */
#fertigung>.editorial-photo>img{transform:none!important;clip-path:none!important;transition:transform 420ms ease,clip-path 420ms ease!important}
@media(hover:hover) and (pointer:fine){#fertigung>.editorial-photo>img:hover{transform:scale(1.03)!important;clip-path:inset(1.456311%)!important}}

.parts-gallery .part-image{background:#292d30}.parts-gallery .part-image img{background:transparent}

/* Dark backgrounds for all 360 part thumbnails. */
.parts-gallery .part-card .part-image{background:#292d30!important}.parts-gallery .part-card .part-image img{background:transparent!important}

html{margin-top:0!important}.wp-site-blocks{padding:0}.wp-block-post-content{margin:0}.admin-bar .site-header{top:32px}.wpcf7{width:100%}.wpcf7-form .wpcf7-form-control-wrap{display:block}.wpcf7-form input:not([type=submit]),.wpcf7-form textarea{width:100%;box-sizing:border-box}.wpcf7-form input[type=submit]{background:#f9c400;color:#292d30;border:0;padding:15px 24px;font:inherit;cursor:pointer}.msh-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.wpcf7-response-output{padding:16px!important;margin:20px 0!important}.wpcf7-not-valid-tip{font-size:14px}.real-form{position:relative}.wpcf7-form .form-grid{margin-bottom:20px}@media(max-width:782px){.admin-bar .site-header{top:46px}}
/* Media-library images use classes rather than the old static asset directory. */
main .editorial-photo img,main .reference-image img,main .module-stills img,#fertigung>.editorial-photo>img{
 transform:scale(1)!important;clip-path:inset(0)!important;transform-origin:center;transition:transform 420ms ease,clip-path 420ms ease!important;
}
@media(any-hover:hover){
 main .editorial-photo:hover img,main .reference-image:hover img,main .module-stills img:hover,#fertigung>.editorial-photo:hover>img{
  transform:scale(1.03)!important;clip-path:inset(1.456311%)!important;
 }
}
main .real-hero img,main .real-hero img:hover,main .split-hero img,main .split-hero img:hover{transform:none!important;clip-path:none!important;transition:none!important}
@media(max-width:1199px){
 .site-header .header-inner{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px}
 .site-header .header-inner>a{flex:1 1 0;min-width:0}
 .site-header .brand{width:auto!important;max-width:100%!important;height:auto!important;max-height:56px}
 .site-header .menu-toggle{margin:0 0 0 auto!important;flex:0 0 auto;align-self:center;font-size:14px;padding:0 10px}
 .site-header #main-nav{flex:0 0 100%;width:100%;order:3}
}
.msh-location{position:relative;min-height:460px;background:#d2d5d7;padding:64px clamp(20px,5vw,80px)}
.msh-location>div{max-width:1280px;margin:auto}.msh-map{display:block;border:0;width:100%;height:430px;filter:grayscale(1)}
.msh-map-attribution{font-size:13px;margin:8px 0}.msh-map-placeholder{min-height:330px;display:grid;place-content:center;text-align:center;max-width:580px;margin:auto;gap:12px}.msh-map-placeholder button{background:#f9c400;border:0;padding:14px 22px;font:inherit;cursor:pointer}
.msh-postal-city{white-space:nowrap;display:inline!important}.msh-location h2{font-size:clamp(28px,3vw,42px);margin:0 0 12px}.msh-location{padding-top:85px}.msh-map-attribution a{text-decoration:underline}.msh-map{max-width:100%}
@media(min-width:900px){body.home .real-hero .hero-title{width:max-content;max-width:calc(100% - 40px)}body.home .real-hero .hero-title h1{white-space:nowrap;text-wrap:nowrap}body.home .real-hero .hero-subtitle{max-width:650px}}
.msh-location{padding:0;min-height:560px;isolation:isolate;overflow:hidden;background:#ddd}
.msh-location>div{max-width:none;min-height:560px}
.msh-location .msh-map{position:absolute;inset:0;width:100%;height:100%;z-index:-1;filter:grayscale(1)}
.msh-map-caption{position:relative;display:inline-block;margin:90px 0 0 clamp(20px,5vw,80px);padding:22px 26px;background:rgba(255,255,255,.9);max-width:43%;pointer-events:none}
.msh-map-caption h2{font-size:clamp(26px,2.6vw,36px);line-height:1.15}.msh-map-caption p{margin:0}
.msh-location .msh-map-attribution{position:absolute;bottom:8px;left:12px;margin:0;padding:4px 8px;background:rgba(255,255,255,.9);font-size:12px}
@media(max-width:700px){.msh-map-caption{margin:70px 20px 0;max-width:calc(100% - 40px);padding:16px 20px}.msh-location,.msh-location>div{min-height:560px}}
@media(max-width:700px){.msh-map-caption{position:absolute;bottom:54px;left:20px;margin:0;max-width:calc(100% - 40px)}}
/* Embed controls sit outside the visible map; the source attribution remains visible. */
.msh-location .msh-map{left:-50px;right:auto;width:calc(100% + 100px);max-width:none!important}
