:root{--red:#cb292b;--ink:#262725;--paper:#f3f3ed;--line:#d8d9d1;--gray:#676a63}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;cursor:pointer}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{max-width:100%}.topbar{display:flex;justify-content:space-between;background:var(--ink);color:white;font:10px monospace;letter-spacing:1px;padding:11px 5%}.site-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;background:#ffffffef;backdrop-filter:blur(20px);padding:21px 5%;border-bottom:1px solid var(--line)}.logo img{width:216px;display:block}nav{display:flex;align-items:center;gap:30px;font-size:12px}nav a:hover{color:var(--red)}.nav-contact{border-bottom:2px solid var(--red);padding:10px 0}.menu{display:none}.hero{display:grid;grid-template-columns:46% 54%;background:var(--paper);min-height:660px;padding:60px 5% 35px;gap:20px;border-bottom:1px solid var(--line);overflow:hidden}.hero-copy{padding:25px 0 0}.kicker{font:10px monospace;letter-spacing:1.5px;display:flex;align-items:center;gap:10px;line-height:1.6}.signal{width:8px;height:8px;display:inline-block;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px #cb292b15}h1{font-size:clamp(65px,7.6vw,122px);line-height:.96;letter-spacing:-7px;font-weight:500;margin:40px 0 30px}h1>span{color:var(--red)}.hero-copy>p{font-size:16px;line-height:1.8;color:var(--gray)}.hero-buttons{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:30px}.solid,.outline{padding:17px 24px;font-size:12px;display:inline-block;border:1px solid var(--red);background:var(--red);color:white;transition:background .2s}.solid:hover{background:#a71e20}.outline{background:transparent;color:var(--ink);border-color:var(--line)}.outline:hover{background:var(--paper)}.underlined{font-size:12px;border-bottom:1px solid var(--ink);padding:8px 0;display:inline-block;transition:color .2s}.underlined:hover{color:var(--red);border-color:var(--red)}.hero-note{display:flex;gap:18px;font:8px monospace;letter-spacing:1.3px;margin-top:50px;color:var(--gray)}.house-stage{display:flex;flex-direction:column;justify-content:center;padding-top:15px;min-width:0}.drawing-label{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:1px;border-bottom:1px solid var(--line);padding-bottom:15px}.house-canvas{position:relative}.house{display:block;width:100%;height:auto}.room-glow{fill:#f9d785;opacity:0;transition:opacity .6s}.lights-on .room-glow{opacity:.65}.lights-on .building{filter:drop-shadow(0 0 12px #f3db9c35)}.hotspot{position:absolute;width:31px;height:31px;border:0;border-radius:50%;background:var(--red);color:white;font:10px monospace;box-shadow:0 0 0 6px #cb292b12;transition:box-shadow .3s,transform .3s}.hotspot:hover,.hotspot.selected{box-shadow:0 0 0 11px #cb292b20;transform:scale(1.1)}.h1{left:49%;top:63%}.h2{left:40%;top:42%}.h3{left:58%;top:74%}.h4{left:75%;top:30%}.light-switch{position:absolute;left:0;bottom:7px;padding:9px 11px;border:1px solid var(--line);font:9px monospace;background:var(--paper);color:var(--ink)}.light-switch[aria-pressed=true]{background:var(--ink);color:white}.house-caption{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px}.house-caption span{font:10px monospace;letter-spacing:1px;color:var(--red)}.house-caption p{font-size:13px;margin:10px 0}.model-hint{font:9px monospace;color:#81847b;margin-top:13px}.chapter-band{display:flex;justify-content:space-between;gap:20px;padding:24px 5%;border-bottom:1px solid var(--line);align-items:center}.chapter-band>span{font-size:14px}.chapter-band>div{font:9px monospace;letter-spacing:1.5px}.chapter-band i{color:var(--red);font-style:normal;margin:0 15px}.section{padding:95px 7%}.section-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:20px 65px;margin-bottom:50px;align-items:end}.section-intro .kicker{grid-column:1/-1}.red{color:var(--red)}h2{font-size:clamp(34px,4vw,60px);letter-spacing:-2.5px;line-height:1.06;font-weight:500;margin:0}.section-intro>p{font-size:14px;line-height:1.8;color:var(--gray);max-width:360px;margin:0}.service-list{border-top:1px solid var(--ink)}.service-row{border-bottom:1px solid var(--line);scroll-margin-top:115px}.service-row summary{list-style:none;display:grid;grid-template-columns:45px 1fr 1fr 28px;align-items:center;gap:20px;padding:27px 0;cursor:pointer}.service-row summary::-webkit-details-marker{display:none}.service-num{font:11px monospace;color:var(--red)}.service-row h3{font-size:23px;font-weight:400;letter-spacing:-.6px;margin:0}.service-short{font-size:12px;color:var(--gray);line-height:1.7}.plus{position:relative;width:22px;height:22px;justify-self:end}.plus:before,.plus:after{content:'';position:absolute;background:var(--red);width:16px;height:1px;top:10px;left:3px;transition:transform .25s}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}.service-row[open]{background:var(--paper);padding:0 25px;margin:0 -25px}.service-body{padding:0 50px 40px 65px;max-width:950px;font-size:14px;line-height:1.9}.service-body h1{display:none}.service-body h2{font-size:26px;letter-spacing:-.5px;line-height:1.3;margin:22px 0}.service-body h3{font-size:20px}.service-body img{max-height:260px;max-width:50%;object-fit:contain;float:right;margin:0 0 20px 30px}.service-body a:not(.solid){text-decoration:underline;text-underline-offset:4px}.service-body .solid{margin-top:18px}.service-body:after{content:'';display:block;clear:both}.company{background:var(--ink);color:white}.company-heading{display:flex;justify-content:space-between;align-items:start;gap:35px;margin-bottom:55px}.company-heading .kicker{color:#afafa7;margin-top:8px}.company-heading h2{width:53%;font-size:59px}.company-heading h2 span{color:#bdbfb7}.company-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.company-photo{position:relative}.company-photo img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover}.company-photo>span{display:block;font:8px monospace;letter-spacing:1px;padding-top:16px;color:#aaa}.company-copy .lead{font-size:25px;line-height:1.3;letter-spacing:-.5px}.company-copy>p:not(.lead){color:#b9bcb2;font-size:13px;line-height:1.9}.company-pages{display:grid;grid-template-columns:1fr 1fr;margin-top:25px;gap:0 25px}.company-pages a{padding:14px 0;border-bottom:1px solid #ffffff25;font-size:12px}.company-pages a:hover{color:#f47777}.promise{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #ffffff25;padding-top:30px;margin-top:55px;font:10px monospace;color:#d2d2ca}.project-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:35px}.project-card .project-image{position:relative;overflow:hidden;background:var(--paper)}.project-image img{display:block;width:100%;height:350px;object-fit:cover;transition:transform .7s}.project-card:hover img{transform:scale(1.04)}.project-card h3{font-size:24px;font-weight:400;letter-spacing:-.6px;margin:18px 0 10px;line-height:1.3}.project-card .kicker{font-size:9px;margin-top:20px;color:var(--red)}.project-card p{font-size:13px;color:var(--gray);line-height:1.8}.project-links{display:flex;gap:32px;flex-wrap:wrap;margin-top:35px}.showroom{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.showroom h2{margin:25px 0;font-size:62px}.showroom em{font-style:normal;color:var(--red)}.showroom-heading>p{max-width:380px;font-size:14px;color:var(--gray);line-height:1.9}.opening{border-top:4px solid var(--red);padding-top:25px}.opening-label{font:10px monospace;letter-spacing:1.5px}.opening>div{display:flex;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--line);gap:25px}.opening>div>span{font-size:13px}.opening strong{font-weight:400;font-size:25px;line-height:1.4;letter-spacing:-1px;font-variant-numeric:tabular-nums}.opening>p{font-size:12px;line-height:1.9;margin:25px 0}.library-tools{border-top:1px solid var(--ink);padding-top:28px}.search>span{font:9px monospace;letter-spacing:1px;display:block;margin-bottom:10px}.search input{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:15px 0 23px;font-size:23px;letter-spacing:-.5px;color:var(--ink)}.search input::placeholder{color:#999c94}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.filters button{font-size:11px;padding:10px 14px;border:1px solid var(--line);background:white;border-radius:0;color:var(--ink)}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.library-status{font:10px monospace;color:var(--gray);padding:12px 0}.library{display:grid;grid-template-columns:repeat(3,1fr);gap:0 35px}.library a{padding:22px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5}.library a:hover{color:var(--red)}.library small{display:block;color:var(--gray);font:8px monospace;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.load-more{margin-top:35px}.contact{background:var(--red);color:white}.contact-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:30px 0 50px}.contact h2{font-size:100px;letter-spacing:-5px}.contact h2 em{font-style:normal;color:#f7c5c2}.contact-heading>p{font-size:15px;line-height:1.9;max-width:300px}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;border-top:1px solid #ffffff60;padding-top:30px;gap:35px}.contact-grid span{font:9px monospace;letter-spacing:1.5px;display:block;margin-bottom:18px;color:#ffdfdc}.contact-grid strong{font-size:26px;font-weight:400;letter-spacing:-.8px}.contact-grid p{font-size:13px}.contact-grid a:hover strong{text-decoration:underline;text-underline-offset:6px}footer{padding:40px 5%}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:35px}.footer-top img{width:180px}.footer-top p{font-size:12px;color:var(--gray)}.footer-top>a{font-size:11px}.footer-links{border-top:1px solid var(--line);padding-top:25px;display:flex;flex-wrap:wrap;gap:18px 28px;font-size:10px}.footer-links a:hover{color:var(--red)}.article-page{max-width:1140px;margin:0 auto;padding:60px 6% 100px}.article-nav{display:flex;gap:25px;font-size:11px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:40px;flex-wrap:wrap}.article-nav a{border-bottom:1px solid var(--ink);padding-bottom:4px}.article-meta{font:10px monospace;color:var(--red);letter-spacing:1.5px;margin-bottom:20px}.article-page h1{font-size:55px;line-height:1.1;letter-spacing:-2px;margin:20px 0 40px}.article-content{font-size:16px;line-height:1.9;overflow-wrap:anywhere}.article-content h1{display:none}.article-content h2{font-size:31px;line-height:1.3;letter-spacing:-1px;margin:40px 0 20px}.article-content h3{font-size:23px;line-height:1.4}.article-content img{display:block;max-height:480px;width:auto;max-width:100%;margin:25px 0;object-fit:contain}.article-content a{color:var(--red);text-decoration:underline;text-underline-offset:4px}.article-content table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse}.article-content td,.article-content th{border:1px solid var(--line);padding:12px}.article-contact{border-top:1px solid var(--line);margin-top:50px;padding-top:30px;display:flex;justify-content:space-between;gap:30px;align-items:center}.article-contact p{font-size:14px}.article-related{margin-top:60px;border-top:1px solid var(--line);padding-top:30px}.article-related h2{font-size:26px;letter-spacing:-.5px}.article-related>div{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px;font-size:12px}.article-related a{border-bottom:1px solid var(--line);padding-bottom:6px}.empty{font-size:14px;line-height:1.8}.loading{padding:60px 7%;font-size:18px}@media(min-width:1700px){body{max-width:1920px;margin:auto}}@media(max-width:1050px){nav{gap:20px}.logo img{width:180px}.hero{grid-template-columns:45% 55%;padding-top:35px;min-height:580px}h1{font-size:82px;letter-spacing:-5px}.hero-copy>p{font-size:14px}.hero-note{font-size:7px;gap:12px}.hero-buttons{gap:17px}.hero-buttons .solid{padding:15px}.chapter-band>div{font-size:8px}.chapter-band i{margin:0 7px}.section{padding:75px 6%}.company-heading h2{font-size:48px}.showroom h2{font-size:51px}.contact-grid strong{font-size:22px}.project-image img{height:290px}.contact h2{font-size:85px}.service-row summary{grid-template-columns:30px 1fr 1fr 20px;gap:13px}.service-row h3{font-size:21px}}@media(max-width:700px){html{scroll-padding-top:90px}.topbar{font-size:8px;letter-spacing:.3px}.site-header{padding:17px 5%}.logo img{width:175px}.menu{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:12px}.menu span{width:24px;height:1px;background:var(--ink);transition:transform .2s}.menu[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}nav{display:none;position:absolute;left:0;right:0;top:100%;padding:22px 6%;background:white;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:22px;font-size:15px}.hero{grid-template-columns:1fr;padding:28px 6% 30px;gap:40px}.hero-copy{padding-top:10px}.kicker{font-size:9px;letter-spacing:1px}h1{font-size:90px;letter-spacing:-5px;margin:30px 0 25px}.hero-copy>p{font-size:15px}.hero-buttons{gap:25px}.hero-note{margin-top:35px;font-size:8px}.house-stage{border-top:1px solid var(--line);padding-top:18px}.drawing-label{font-size:7px}.house-caption p{font-size:12px;line-height:1.6}.house-caption span{font-size:9px}.hotspot{width:28px;height:28px;font-size:9px}.chapter-band{display:block;padding:23px 6%}.chapter-band>div{margin-top:15px;font-size:8px;letter-spacing:1px}.chapter-band i{margin:0 7px}.section{padding:60px 6%}.section-intro{display:block;margin-bottom:35px}.section-intro h2{margin:22px 0}h2{font-size:38px;letter-spacing:-1.5px}.section-intro>p{font-size:13px}.service-row summary{grid-template-columns:25px 1fr 22px;gap:12px;padding:23px 0}.service-row h3{font-size:21px}.service-short{grid-column:2;grid-row:2;font-size:11px}.service-row summary .plus{grid-column:3;grid-row:1/3}.service-row[open]{padding:0 14px;margin:0 -14px}.service-body{padding:0 14px 30px 37px;font-size:13px}.service-body img{float:none;max-width:100%;max-height:220px;margin:15px 0}.service-body h2{font-size:23px}.company-heading{display:block;margin-bottom:30px}.company-heading h2{width:100%;margin-top:25px;font-size:47px}.company-layout{grid-template-columns:1fr;gap:22px}.company-copy .lead{font-size:26px}.promise{display:grid;grid-template-columns:1fr 1fr;gap:22px;font-size:9px;line-height:1.6;margin-top:35px}.project-grid{grid-template-columns:1fr;gap:40px}.project-image img{height:auto;max-height:360px}.project-card h3{font-size:25px}.project-links{gap:18px}.showroom{grid-template-columns:1fr;gap:40px}.showroom h2{font-size:49px}.opening strong{font-size:27px}.library{grid-template-columns:1fr 1fr;gap:0 24px}.library a{font-size:13px}.library small{font-size:7px;line-height:1.6}.search input{font-size:17px;letter-spacing:-.4px}.filters{gap:7px}.filters button{font-size:10px;padding:9px 11px}.contact-heading{display:block}.contact h2{font-size:86px;letter-spacing:-4px}.contact-heading>p{margin-top:25px;font-size:14px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-grid>a{border-bottom:1px solid #ffffff30;padding-bottom:25px}.contact-grid strong{font-size:29px}.contact-grid span{margin-bottom:12px}.footer-top{flex-wrap:wrap;gap:20px}.footer-top img{width:150px}.footer-top p{font-size:10px}.footer-top>a{font-size:10px}.footer-links{font-size:10px;gap:18px 22px}.article-page{padding:35px 6% 60px}.article-page h1{font-size:39px;letter-spacing:-1.5px;margin-bottom:30px}.article-content{font-size:14px;line-height:1.9}.article-content h2{font-size:27px}.article-contact{display:block}.article-contact .solid{margin-top:15px}.article-nav{gap:17px;font-size:10px}.article-meta{font-size:8px}.model-hint{font-size:8px}}@media(max-width:370px){h1{font-size:76px}.library{grid-template-columns:1fr}.contact-grid strong{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.flow-dots{display:none}}

[hidden]{display:none!important}.overview-link{margin:0 0 30px}.service-list+.overview-link{margin:25px 0 0}

/* Letter-by-letter entrance and original photo sequence */
h1.fall-title>span{color:var(--ink)}.fall-title .title-line{display:block;white-space:nowrap;line-height:1.12}.fall-title .title-line.future{color:var(--red)}.fall-letter{display:inline-block;opacity:0;transform:translateY(-140px) rotate(-7deg);animation:letter-drop 850ms cubic-bezier(.22,.75,.2,1) both;animation-delay:calc(var(--letter) * 85ms + 120ms);will-change:transform,opacity}@keyframes letter-drop{0%{opacity:0;transform:translateY(-140px) rotate(-7deg)}18%{opacity:1}65%{opacity:1;transform:translateY(10px) rotate(1deg)}82%{opacity:1;transform:translateY(-4px) rotate(-.4deg)}100%{opacity:1;transform:translateY(0) rotate(0)}}
.carousel-window{overflow:hidden;touch-action:pan-y}.carousel-track{display:flex;transition:transform .8s cubic-bezier(.22,.61,.36,1)}.carousel-slide{min-width:100%;width:100%}.company-photo .carousel-slide img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover}.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0 5px}.carousel-dots{display:flex;gap:12px}.carousel-dots button{background:transparent;color:#a7a99f;border:0;border-bottom:2px solid transparent;padding:6px 2px;font:11px monospace}.carousel-dots button[aria-pressed=true]{color:white;border-color:#ef6567}.carousel-pause{background:transparent;color:#c5c7bc;border:1px solid #ffffff40;padding:8px 10px;font:9px monospace}.legal-content{max-width:800px}.legal-content h2{font-size:26px;margin-top:36px}.legal-content p{line-height:1.9}.legal-index{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:35px;font-size:12px}.legal-index a{border-bottom:1px solid var(--line);padding-bottom:5px}
@media(max-width:700px){.fall-title .title-line{line-height:1.1}.carousel-pause{font-size:8px;padding:8px}.carousel-controls{gap:10px}.carousel-dots{gap:10px}}@media(prefers-reduced-motion:reduce){.fall-letter{opacity:1;transform:none;animation:none!important}.carousel-track{transition:none}}

.cookie-banner{position:fixed;bottom:24px;left:5%;right:5%;max-width:1150px;margin:auto;z-index:100;background:#fff;color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 12px 60px #0003;padding:24px 28px;display:flex;justify-content:space-between;gap:35px;align-items:center}.cookie-banner h2{font-size:21px;letter-spacing:-.5px;line-height:1.3;margin:0 0 8px}.cookie-banner p{font-size:12px;line-height:1.8;max-width:800px;margin:0;color:var(--gray)}.cookie-banner a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.cookie-accept{flex-shrink:0}.cookie-settings{font:inherit;border:0;padding:0;background:none;color:inherit;cursor:pointer}.cookie-settings:hover{color:var(--red)}@media(max-width:700px){.cookie-banner{bottom:12px;left:4%;right:4%;padding:20px;display:block}.cookie-banner .solid{margin-top:15px;padding:12px 22px}.cookie-banner h2{font-size:19px}.cookie-banner p{font-size:11px}}

.cookie-banner.cookie-choice{display:block;max-width:920px;max-height:85vh;overflow-y:auto;padding:24px 28px}.cookie-choice .cookie-intro p{max-width:none}.cookie-categories{border:0;margin:20px 0 0;padding:0;min-width:0}.cookie-categories legend{font-size:11px;color:var(--gray);padding:0 0 8px}.cookie-category{display:flex;position:relative;justify-content:space-between;gap:25px;align-items:center;padding:13px 0;border-top:1px solid var(--line);cursor:pointer}.cookie-category strong{display:block;font-size:13px;font-weight:600}.cookie-category small{display:block;font-size:11px;color:var(--gray);line-height:1.7;margin-top:3px}.cookie-category input{position:absolute;right:0;width:44px;height:26px;opacity:0;margin:0;cursor:pointer;z-index:1}.cookie-toggle{display:block;flex-shrink:0;width:44px;height:26px;background:#c7cac2;border-radius:20px;position:relative;transition:background .2s}.cookie-toggle:after{content:'';position:absolute;width:20px;height:20px;top:3px;left:3px;background:white;border-radius:50%;transition:transform .2s}.cookie-category input:checked+.cookie-toggle{background:var(--red)}.cookie-category input:checked+.cookie-toggle:after{transform:translateX(18px)}.cookie-category input:disabled+.cookie-toggle{background:#73776c}.cookie-category input:focus-visible+.cookie-toggle{outline:3px solid var(--ink);outline-offset:4px}.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.cookie-actions .solid,.cookie-actions .outline{flex:1;white-space:nowrap;text-align:center;padding:14px 16px;font-size:12px}.cookie-actions .outline{border-color:#9b9f94}@media(max-width:700px){.cookie-banner.cookie-choice{padding:20px;max-height:82vh}.cookie-category{gap:14px;padding:11px 0}.cookie-category small{font-size:10px}.cookie-choice .cookie-actions{display:grid;grid-template-columns:1fr;gap:8px}.cookie-choice .cookie-actions .solid{margin:0}.cookie-actions .solid,.cookie-actions .outline{padding:12px 16px;font-size:11px}}

:root{--surface:#fff;--header:#fffffff0;--fixed-ink:#262725}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.site-header{gap:24px}.site-header nav{gap:22px}.header-tools{display:flex;gap:14px;align-items:center}.site-search{display:flex;align-items:center;border-bottom:1px solid var(--line);max-width:190px}.site-search input{width:155px;min-width:0;border:0;background:transparent;color:var(--ink);font-size:11px;padding:10px 0;outline-offset:2px}.site-search button{background:transparent;border:0;color:var(--ink);padding:8px 0 8px 8px;display:flex}.theme-switch{display:flex;gap:0;border:1px solid var(--line)}.theme-switch button{background:transparent;color:var(--gray);border:0;padding:9px 8px;font-size:10px}.theme-switch button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.search-dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);width:min(840px,92vw);max-height:85vh;padding:32px;margin:auto;overscroll-behavior:contain}.search-dialog::backdrop{background:#0c140faa;backdrop-filter:blur(5px)}.search-dialog-head{display:flex;justify-content:space-between;gap:25px;align-items:start}.search-dialog-head h2{font-size:40px;margin-top:15px;letter-spacing:-1.5px}.search-close{padding:10px 14px;font-size:11px}.global-search-label{display:block;font-size:11px;color:var(--gray);margin:30px 0 12px}.search-dialog input{width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:16px;font-size:17px;border-radius:0}.global-search-status{font:10px monospace;color:var(--gray);padding:16px 0 5px;line-height:1.7}.global-search-results a{display:block;padding:20px 0;border-bottom:1px solid var(--line)}.global-search-results a:hover h3{color:var(--red)}.global-search-results h3{font-size:20px;font-weight:400;margin:7px 0;letter-spacing:-.4px}.global-search-results small{font:9px monospace;letter-spacing:1px;color:var(--red);text-transform:uppercase}.global-search-results p,.search-empty{font-size:12px;color:var(--gray);line-height:1.8;margin-bottom:0}.search-more{margin-top:25px}html[data-theme=dark]{color-scheme:dark;--ink:#edf1e8;--paper:#1c231e;--line:#3b473d;--gray:#b2bcaf;--red:#ee686a;--surface:#151b17;--header:#151b17f0}html[data-theme=light]{color-scheme:light}body{background:var(--surface)}.site-header{background:var(--header)}.solid{background:#cb292b;color:#fff;border-color:#cb292b}.solid:hover{background:#a71e20}html[data-theme=dark] .company{background:#242d26;color:#edf1e8}html[data-theme=dark] .contact{background:#a82428;color:#fff}html[data-theme=dark] .topbar{background:#0d130f;color:#e4eadd}html[data-theme=dark] .logo,html[data-theme=dark] .footer-top>img{background:#f3f3ed;padding:7px;display:block}html[data-theme=dark] .logo img{width:202px}html[data-theme=dark] .filters button{background:var(--surface);color:var(--ink)}html[data-theme=dark] .filters button.active{background:var(--ink);color:var(--surface)}html[data-theme=dark] .cookie-banner{background:var(--surface);color:var(--ink)}html[data-theme=dark] .cookie-banner a{color:var(--ink)}html[data-theme=dark] .cookie-category input:checked+.cookie-toggle{background:#cb292b}html[data-theme=dark] .light-switch{background:var(--paper);color:var(--ink)}html[data-theme=dark] .light-switch[aria-pressed=true]{background:#edf1e8;color:#151b17}html[data-theme=dark] .house .building{fill:#202a22;stroke:#bccbbd}html[data-theme=dark] .house .building [fill="#deded7"]{fill:#445344}html[data-theme=dark] .house .building [fill="#eee"],html[data-theme=dark] .house .building [fill="#ddd"]{fill:#364739}html[data-theme=dark] .house #grid path{stroke:#526653}html[data-theme=dark] .house .circuit{stroke:#ee686a}html[data-theme=dark] .house .flow-dots{fill:#ee686a}html[data-theme=dark] .coast-image span{background:var(--surface);color:var(--ink)}html[data-theme=dark] nav{background:var(--header)}html[data-theme=dark] .cookie-toggle{background:#526052}html[data-theme=dark] .service-body img,html[data-theme=dark] .article-content img{background:#e5e9df;padding:4px}
@media(max-width:1150px){.site-header{gap:15px}.site-header nav{gap:15px;font-size:11px}.site-search{max-width:150px}.site-search input{width:120px;font-size:10px}.header-tools{gap:10px}.theme-switch button{font-size:9px;padding:9px 6px}.logo img{width:180px}html[data-theme=dark] .logo img{width:166px}}@media(max-width:850px){.site-header{flex-wrap:wrap}.site-header nav{gap:17px}.header-tools{width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}.site-search{max-width:none;width:calc(100% - 120px)}.site-search input{width:100%;font-size:12px}.theme-switch button{font-size:10px;padding:9px 12px}html{scroll-padding-top:155px}}@media(max-width:700px){.site-header{gap:12px;padding-bottom:12px}.site-header>.logo{order:0}.site-header>.menu{order:1}.site-header>nav{order:3;font-size:15px;gap:22px}.header-tools{order:2}.logo img{width:175px}html[data-theme=dark] .logo img{width:161px}.search-dialog{padding:22px;width:94vw;max-height:88vh}.search-dialog-head h2{font-size:30px;letter-spacing:-1px}.search-dialog-head{gap:15px}.search-dialog-head .kicker{font-size:8px}.search-close{padding:9px;font-size:10px}.search-dialog input{font-size:14px;padding:14px}.global-search-results h3{font-size:18px}.global-search-results p{font-size:11px}}

/* Purpose-made dark logo: no backing plate, consistent size in both themes. */
html[data-theme=dark] .logo,html[data-theme=dark] .footer-top>img{background:none;padding:0}html[data-theme=dark] .logo img{width:216px}html[data-theme=dark] .logo img,html[data-theme=dark] .footer-top>img{filter:drop-shadow(0 1px 0 #0003)}@media(max-width:1150px){html[data-theme=dark] .logo img{width:180px}}@media(max-width:700px){html[data-theme=dark] .logo img{width:175px}}

/* Fachgeschäft im Einstieg, zusätzlich zum interaktiven Haus. */
.hero-visual{min-width:0;align-self:center}.hero-shop-photo{margin:0 0 28px;overflow:hidden;border:1px solid var(--line);background:var(--paper)}.hero-shop-photo img{display:block;width:100%;height:auto;aspect-ratio:2.1;object-fit:cover;object-position:center}.hero-shop-photo figcaption{display:flex;justify-content:space-between;gap:12px;padding:13px 15px;font:9px monospace;letter-spacing:.8px;color:var(--ink);line-height:1.6}.hero-shop-photo figcaption span{color:var(--gray)}@media(max-width:700px){.hero-shop-photo{margin-bottom:24px}.hero-shop-photo img{aspect-ratio:1.7}.hero-shop-photo figcaption{flex-direction:column;gap:3px;font-size:8px}}

/* Partnerlogo rechts auf der Markenlinie. */
.site-header{gap:20px}.site-header>nav{gap:18px}.partner-logo{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:136px;padding:5px 7px;background:#fff;border-radius:3px}.partner-logo img{display:block;width:100%;height:auto}.site-header>.logo{flex-shrink:0}@media(min-width:1101px){.site-header>.logo img{width:190px}.site-header>nav{font-size:11px}.header-tools{gap:10px}.site-search input{width:115px}}@media(min-width:701px) and (max-width:1100px){.site-header{display:grid;grid-template-columns:1fr 1fr;padding-top:15px;padding-bottom:15px;gap:14px 24px}.site-header>.logo{grid-column:1;grid-row:1}.partner-logo{grid-column:2;grid-row:1;justify-self:end}.site-header>nav{grid-column:1;grid-row:2}.header-tools{grid-column:2;grid-row:2;justify-self:end}.site-header>nav{gap:16px;font-size:11px}}@media(max-width:700px){.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 12px}.site-header>.logo{grid-column:1;grid-row:1}.site-header>.logo img{width:min(175px,100%)}.partner-logo{grid-column:2;grid-row:1;width:104px;padding:4px}.site-header>.menu{grid-column:3;grid-row:1;padding:8px}.site-header>.header-tools{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:space-between}.site-header>nav{grid-column:1/-1}.site-header .site-search{max-width:210px}}@media(max-width:370px){.partner-logo{width:85px}.site-header{gap:8px}.site-header>.logo img{width:145px}}

.hero-shop-photo .carousel-slide{flex:0 0 100%}.hero-shop-photo .carousel-controls{padding:10px 15px;border-top:1px solid var(--line)}.hero-shop-photo .carousel-dots button{color:var(--gray)}.hero-shop-photo .carousel-dots button[aria-pressed=true]{color:var(--ink);border-color:var(--red)}.hero-shop-photo .carousel-pause{color:var(--ink);border-color:var(--line)}

/* Betrieb ohne doppelte Bildergalerie. */
.company-layout{grid-template-columns:1fr}.company-copy{max-width:850px}.company-pages{max-width:700px}

.washer-drum{transform-origin:381px 370px;animation:washer-spin 1.4s linear infinite;animation-play-state:paused}.lights-on .washer-drum{animation-play-state:running}@keyframes washer-spin{to{transform:rotate(360deg)}}

/* e-masters ohne helle Trägerfläche auf dunklem Header. */
html[data-theme=dark] .partner-logo{background:transparent}html[data-theme=dark] .partner-logo img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}

/* PV und Speicher als verbundenes Energiesystem. */
.house-shell{fill:#e8ebe5;stroke:none}.house .building{stroke-linecap:round;stroke-linejoin:round}.house .pv-panel{fill:#2a4655;stroke:#718e9c;stroke-width:2}.house .pv-cells{stroke:#90b1c0;stroke-width:1}.energy-wire{fill:none;stroke:#ce292c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.55}.energy-travel{fill:none;stroke:#e7ad25;stroke-width:3;stroke-dasharray:5 17;stroke-linecap:round;opacity:0;animation:energy-transfer 1.2s linear infinite;animation-play-state:paused}.lights-on .energy-travel{opacity:1;animation-play-state:running}.energy-junction{fill:#ce292c;stroke:var(--paper);stroke-width:2}.battery-unit{fill:#f9faf7;stroke:#59665d;stroke-width:1.6;stroke-linecap:round}.battery-side{stroke:#d0d6ce}.battery-display{fill:#263b32;stroke:none}.battery-charge{fill:#7e8f80;stroke:none}.lights-on .battery-charge{fill:#8ad998}.battery-led{fill:#879889;stroke:none}.lights-on .battery-led{fill:#8ad998}.energy-labels{fill:var(--gray);font:8px monospace;letter-spacing:1px}@keyframes energy-transfer{to{stroke-dashoffset:-44}}html[data-theme=dark] .house-shell{fill:#26352c}html[data-theme=dark] .battery-unit{fill:#283c31;stroke:#b1c3b2}html[data-theme=dark] .battery-side{stroke:#536c5a}html[data-theme=dark] .energy-wire{stroke:#ee686a}@media(prefers-reduced-motion:reduce){.energy-travel{animation:none}.lights-on .energy-travel{opacity:.8}}

.house .tv-frame{fill:#414b45;stroke:#718078;stroke-width:1.5}.house .tv-screen{fill:#17221c;stroke:none}.tv-logo{opacity:0;transition:opacity .35s}.lights-on .tv-logo{opacity:1}.lights-on .tv-screen{fill:#1d3026}

.house .lights-on .tv-screen,.lights-on .house .tv-screen{fill:#f5f5ed}.lights-on .tv-screen{fill:#f5f5ed}

/* Zwei Betriebszustände: PV lädt oder Speicher versorgt das Haus. */
.house .flow-dots{display:none}.energy-system .energy-travel{stroke-dasharray:3 18;animation:energy-direction 1.1s linear infinite;animation-play-state:running}.energy-system .energy-charge-flow{opacity:1}.energy-system .energy-supply-flow{opacity:0;animation-play-state:paused}.lights-on .energy-system .energy-charge-flow{opacity:0;animation-play-state:paused}.lights-on .energy-system .energy-supply-flow{opacity:1;animation-play-state:running}.energy-mode-supply{display:none}.lights-on .energy-mode-charge{display:none}.lights-on .energy-mode-supply{display:block}.battery-charge rect{fill:#8ad998;animation:battery-loading 2.4s ease-in-out infinite}.battery-charge rect:nth-child(2){animation-delay:.35s}.battery-charge rect:nth-child(1){animation-delay:.7s}.lights-on .battery-charge rect{animation:none;fill:#8ad998}.energy-system .battery-led{fill:#8ad998}@keyframes energy-direction{to{stroke-dashoffset:-42}}@keyframes battery-loading{0%,100%{opacity:.25}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.energy-system .energy-travel,.battery-charge rect{animation:none!important}}

/* TV-Gehäuse im gleichen hellen Gerätestil wie die Waschmaschine. */
.house .tv-frame{fill:#f8f8f4;stroke:#59665d;stroke-width:1.6}.house-tv>path{stroke:#59665d}html[data-theme=dark] .house .tv-frame{fill:#f8f8f4;stroke:#c6d0c7}html[data-theme=dark] .house-tv>path{stroke:#c6d0c7}

.house-canvas .hotspot.h3{left:57.73%;top:68%}

/* Sichtbarer Entladezyklus bei eingeschaltetem Hausstrom. */
.lights-on .battery-charge rect{animation:battery-discharging 6s steps(1,end) infinite;fill:#8ad998}.lights-on .battery-charge rect:nth-child(1){animation-delay:0s}.lights-on .battery-charge rect:nth-child(2){animation-delay:1.5s}.lights-on .battery-charge rect:nth-child(3){animation-delay:3s}@keyframes battery-discharging{0%{opacity:1}25%,99%{opacity:.12}100%{opacity:1}}@media(prefers-reduced-motion:reduce){.lights-on .battery-charge rect{animation:none!important}.lights-on .battery-charge rect:nth-child(-n+2){opacity:.2}}

.facebook-link{display:inline-flex;align-items:center;gap:9px}.facebook-icon{flex-shrink:0;color:#1877f2}html[data-theme=dark] .facebook-icon{color:#7db2ff}.facebook-link:hover span{text-decoration:underline;text-underline-offset:4px}
