/* Generated by bin/build-static-assets.py from assets/css/modules.json. Do not edit this file directly. */

/* Unified product-page design system. All verified kit pages share this file. */
:root{--product-border:#e8e8e8;--product-muted:#525252;--product-subtle:#6a6a6a;--product-blue:#194d93;--product-section-space:76px;--product-section-space-mobile:54px;--product-gap:clamp(44px,6vw,72px);--product-radius:16px}
.product-detail{font-synthesis:none;color:var(--color-text)}
.product-detail .eyebrow{font-weight:500}
.product-detail .section{padding-block:var(--product-section-space);background:#fff}
.product-detail .product-section>.container{position:relative}
.product-detail .product-section>.container::before{position:absolute;top:calc(var(--product-section-space)*-1);right:0;left:0;height:1px;background:var(--product-border);content:""}
.product-hero{padding:clamp(42px,5vw,64px) 0 70px;background:#fff}
.product-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:clamp(40px,5vw,60px);align-items:center}
.product-gallery{min-width:0}
.product-gallery__main{display:flex;min-height:520px;margin:0;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.product-gallery__main picture,.product-gallery__main img{display:block;width:100%;height:100%}
.product-gallery__main img{max-height:760px;object-fit:contain;object-position:center}
.product-gallery__fallback{display:grid;min-height:520px;padding:48px;place-content:center;text-align:center;background:#f7f8f7;border:1px solid var(--product-border);border-radius:var(--product-radius)}
.product-gallery__fallback span{color:var(--product-subtle);font-size:.78rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase}
.product-gallery__fallback strong{margin-top:14px;font-size:clamp(5.5rem,12vw,10rem);font-weight:600;line-height:.85;letter-spacing:-.08em}
.product-gallery__fallback small{margin-top:8px;font-size:1.35rem;font-weight:500}
.product-gallery__fallback p{max-width:420px;margin:24px auto 0;color:var(--product-muted);line-height:1.55}
.product-hero__content{display:flex;min-width:0;flex-direction:column;align-items:flex-start}
.product-hero__content h1{max-width:680px;margin:0;font-size:clamp(2.2rem,3.5vw,3.2rem);font-weight:600;line-height:1.02;letter-spacing:-.05em;text-wrap:balance}
.product-hero__lead{display:-webkit-box;max-width:680px;margin:18px 0 0;overflow:hidden;color:var(--product-muted);font-size:clamp(1rem,.96rem + .18vw,1.12rem);line-height:1.67;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.product-variant{margin-top:24px}
.product-detail .kit-placement>span{font-size:.82rem;font-weight:500}
.product-detail .kit-placement__buttons{display:flex;gap:6px;padding:5px;border-radius:999px;background:#f0f3f1}
.product-detail .kit-placement button{min-height:44px;padding:9px 18px;border:0;border-radius:999px;background:transparent;font-size:.92rem;font-weight:600}
.product-detail .kit-placement button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px rgb(0 0 0/.08)}
.product-price{width:100%;margin-top:20px;padding-top:18px;border-top:1px solid var(--product-border)}
.product-price>span{display:block;color:var(--product-subtle);font-size:.82rem}
.product-price__value{display:flex;margin-top:5px;gap:10px;align-items:baseline;flex-wrap:wrap}
.product-price__value strong{font-size:clamp(2.4rem,4vw,3rem);font-weight:600;line-height:1;letter-spacing:-.045em}
.product-price__value small{color:var(--product-muted);font-size:.9rem;font-weight:500}
.product-price>p{max-width:640px;margin:10px 0 0;color:var(--product-muted);font-size:.94rem;line-height:1.6}
.product-key-specs{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0 0;gap:0 18px}
.product-key-specs>div{min-width:0;padding:12px 0;border-bottom:1px solid var(--product-border)}
.product-key-specs dt{color:var(--product-subtle);font-size:.74rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase}
.product-key-specs dd{margin:7px 0 0;font-size:1rem;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.product-location{display:inline-flex;min-height:36px;margin:16px 0 0;gap:8px;align-items:center;font-size:.84rem;font-weight:600}
.product-location span{color:var(--product-blue);font-size:1.05rem}
.product-hero__actions{margin-top:24px}
.product-hero__actions .button{min-width:250px}
.product-hero__legal{max-width:680px;margin:16px 0 0;color:var(--product-muted);font-size:.84rem;line-height:1.62}
.product-section__grid{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:var(--product-gap);align-items:start}
.product-section__grid h2,.product-section__heading h2,.product-performance__header h2{margin:0;font-size:clamp(2rem,3.6vw,2.85rem);font-weight:600;line-height:1.06;letter-spacing:-.045em;text-wrap:balance}
.product-section__grid header>p:not(.eyebrow){max-width:520px;margin:18px 0 0;color:var(--product-muted);line-height:1.7}
.product-section__heading{max-width:900px;margin-bottom:34px}
.product-section__heading--split{display:flex;max-width:none;gap:28px;align-items:end;justify-content:space-between}
.product-section__heading--split .text-link{flex:0 0 auto}
.product-specification__table{display:block;margin:0}
.product-specification__table>div{display:grid;grid-template-columns:minmax(170px,.4fr) minmax(0,1fr);gap:28px;padding:16px 0;border-bottom:1px solid var(--product-border)}
.product-specification__table>div:first-child{padding-top:0}
.product-specification__table>div:last-child{padding-bottom:0;border-bottom:0}
.product-specification__table dt{color:var(--product-subtle);font-size:.75rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase}
.product-specification__table dd{min-width:0;margin:0;font-size:.96rem;line-height:1.62;overflow-wrap:anywhere}
.product-specification__table strong{font-weight:600}
.product-engineering__content{min-width:0}
.product-engineering__paragraphs p{max-width:74ch;margin:0;padding:18px 0;border-bottom:1px solid var(--product-border);color:var(--product-muted);font-size:.96rem;line-height:1.72}
.product-engineering__paragraphs p:first-child{padding-top:0}
.product-engineering__facts{margin-top:30px}
.product-engineering__facts h3{margin:0 0 12px;font-size:1.2rem;font-weight:600}
.product-engineering__facts ul{display:grid;margin:0;padding:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;list-style:none;border-top:1px solid var(--product-border)}
.product-engineering__facts li{padding:14px 0;border-bottom:1px solid var(--product-border);font-size:.94rem;line-height:1.5}
.product-cost__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,72px)}
.product-cost__grid h3{margin:0 0 14px;font-size:1.25rem;font-weight:600}
.product-cost__grid ul{display:grid;margin:0;padding:0;list-style:none}
.product-cost__grid li{position:relative;padding:13px 0 13px 26px;border-bottom:1px solid var(--product-border);font-size:.95rem;line-height:1.58}
.product-cost__grid li::before{position:absolute;top:1.08rem;left:2px;width:9px;height:5px;border-bottom:2px solid var(--product-blue);border-left:2px solid var(--product-blue);content:"";transform:rotate(-45deg)}
.product-performance__header{max-width:920px;margin:0 auto 32px;text-align:center}
.product-performance__header>p:not(.eyebrow){margin:14px 0 0;color:var(--product-muted);line-height:1.65}
.product-performance__primary{display:block;margin-top:10px;font-size:clamp(2.25rem,4vw,3.1rem);font-weight:600;line-height:1.06;letter-spacing:-.045em}
.product-performance__figure{width:100%;max-width:820px;margin:0 auto;text-align:center}
.product-performance__figure picture,.product-performance__figure img{display:block;width:100%;height:auto}
.product-performance__figure figcaption{margin-top:12px;font-size:.9rem;font-weight:600}
.product-performance__scenario{max-width:940px;margin:18px auto 0;color:var(--product-muted);font-size:.82rem;line-height:1.65;text-align:center}
.product-performance__metrics{display:grid;max-width:980px;margin:26px auto 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.product-performance__metrics>div{padding:18px 12px;border-top:1px solid var(--product-border);text-align:center}
.product-performance__metrics dt{color:var(--product-subtle);font-size:.74rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase}
.product-performance__metrics dd{margin:8px 0 0;font-size:1.02rem;font-weight:600;line-height:1.45}
.product-performance__note{max-width:900px;margin:18px auto 0;color:var(--product-muted);font-size:.88rem;line-height:1.65;text-align:center}
.product-autonomy{display:grid;max-width:820px;margin:6px auto 0;gap:18px}
.product-autonomy__row{display:grid;grid-template-columns:160px minmax(180px,1fr) 80px;gap:18px;align-items:center}
.product-autonomy__row span{font-size:.9rem;font-weight:500}
.product-autonomy__row>div{height:14px;overflow:hidden;border-radius:999px;background:#e9edf2}
.product-autonomy__row i{display:block;width:var(--autonomy-width);height:100%;border-radius:999px;background:var(--product-blue)}
.product-autonomy__row strong{text-align:right;font-size:.95rem;font-weight:600}
.product-warning__content{padding-left:22px;border-left:3px solid var(--product-blue)}
.product-warning__content p{margin:0;line-height:1.72}
.product-warning__content p+p{margin-top:14px}
.product-detail .text-link{display:inline-flex;min-height:42px;align-items:center;color:var(--color-link);font-weight:600;text-decoration:none}
.product-detail .text-link:hover{text-decoration:underline;text-underline-offset:4px}
.product-warning__content .text-link{margin-top:18px}
.product-projects__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.product-projects__grid--count-1{max-width:calc((100% - 48px)/3)}
.product-projects__grid--count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:calc((100% - 24px)/1.5)}
.product-project-card{min-width:0}
.product-project-card__link{display:block;height:100%;color:var(--color-text);text-decoration:none;border-radius:var(--product-radius)}
.product-project-card__link:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.product-projects__image{display:block;overflow:hidden;aspect-ratio:16/10;border-radius:var(--product-radius);background:#ececea}
.product-projects__image picture,.product-projects__image img{display:block;width:100%;height:100%}
.product-projects__image img{object-fit:cover}
.product-projects__grid h3{margin:16px 0 0;font-size:1rem;font-weight:600;line-height:1.45}
.product-project-card__link:hover h3{text-decoration:underline;text-underline-offset:4px}
.product-empty-state{display:flex;min-height:142px;padding:24px;gap:20px;align-items:center;justify-content:space-between;border:1px solid var(--product-border);border-radius:var(--product-radius);background:#fff}
.product-empty-state p{margin:0;color:var(--product-muted);line-height:1.6}
.product-faq .kit-faq__items{border-top:1px solid var(--product-border)}
.product-faq details{border-bottom:1px solid var(--product-border)}
.product-faq summary{position:relative;min-height:64px;padding:18px 40px 18px 0;font-size:1rem;font-weight:600}
.product-faq summary::after{position:absolute;right:2px;content:"+";font-size:1.2rem;font-weight:500}
.product-faq details[open] summary::after{content:"−"}
.product-faq details p{margin:0;padding:0 0 22px;color:var(--product-muted);font-size:.95rem;line-height:1.7}
.on-grid-kit-request{scroll-margin-top:88px}
.on-grid-kit-request>.container{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:var(--product-gap);align-items:start}
.on-grid-kit-request h2{margin:0;font-size:clamp(2rem,3.6vw,2.85rem);font-weight:600;line-height:1.06;letter-spacing:-.045em}
.on-grid-kit-request header>p:not(.eyebrow){margin:18px 0 0;color:var(--product-muted);line-height:1.7}
.on-grid-kit-request__form{display:grid;padding:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.on-grid-kit-request__form .form-alert{grid-column:1/-1}
.on-grid-kit-request__form .contact-form__actions-row{margin-top:6px;padding-top:20px;border-top:1px solid var(--product-border)}
.on-grid-kit-request__form .contact-form__submit{width:auto;min-width:250px;flex:0 0 auto}
.on-grid-kit-request__form input[type=file]{padding:11px;background:#fff}
.product-link-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.product-link-cards>a{display:flex;min-height:230px;padding:24px;flex-direction:column;border:1px solid var(--product-border);border-radius:var(--product-radius);background:#fff;color:var(--color-text);text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.product-link-cards>a:hover{border-color:#b9c7bd;transform:translateY(-2px)}
.product-link-cards span{color:var(--product-subtle);font-size:.74rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase}
.product-link-cards strong{margin-top:14px;font-size:1.18rem;font-weight:600;line-height:1.35}
.product-link-cards p{margin:12px 0 0;color:var(--product-muted);font-size:.9rem;line-height:1.58}
.product-link-cards small{margin-top:auto;padding-top:22px;color:var(--color-link);font-size:.86rem;font-weight:600}
.product-related .product-link-cards>a{min-height:170px}
@media(max-width:940px){.product-hero__grid,.product-section__grid,.on-grid-kit-request>.container{grid-template-columns:1fr}.product-gallery__main,.product-gallery__fallback{min-height:420px;max-width:760px}.product-hero__content{max-width:760px}.product-projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-projects__grid--count-1{max-width:calc((100% - 24px)/2)}.product-projects__grid--count-2{max-width:none}}
@media(max-width:700px){.product-detail .section{padding-block:var(--product-section-space-mobile)}.product-detail .product-section>.container::before{top:calc(var(--product-section-space-mobile)*-1)}.product-hero{padding:34px 0 52px}.product-gallery__main,.product-gallery__fallback{min-height:310px}.product-hero__lead{-webkit-line-clamp:5}.product-key-specs{gap:0 10px}.product-key-specs dt{font-size:.67rem}.product-key-specs dd{font-size:.88rem}.product-specification__table>div{grid-template-columns:1fr;gap:7px;padding:15px 0}.product-engineering__facts ul,.product-cost__grid,.product-performance__metrics,.product-projects__grid,.product-link-cards,.on-grid-kit-request__form{grid-template-columns:1fr}.product-projects__grid--count-1,.product-projects__grid--count-2{max-width:none}.product-section__heading--split{align-items:flex-start;flex-direction:column}.product-autonomy__row{grid-template-columns:1fr;gap:7px}.product-autonomy__row strong{text-align:left}.product-performance__figure{overflow-x:auto}.product-performance__figure picture{min-width:680px}.product-empty-state{align-items:flex-start;flex-direction:column}.on-grid-kit-request__form .contact-form__actions-row{align-items:stretch;flex-direction:column}.on-grid-kit-request__form .contact-form__submit{width:100%;min-width:0}}
@media(max-width:520px){.product-hero__content h1{font-size:clamp(2rem,9vw,2.5rem)}.product-detail .kit-placement__buttons{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:14px}.product-detail .kit-placement button{padding-inline:10px;border-radius:10px}.product-price__value strong{font-size:2.35rem}.product-hero__actions{display:grid;width:100%}.product-hero__actions .button{width:100%;min-width:0}.product-key-specs{grid-template-columns:repeat(3,minmax(0,1fr))}.product-location{align-items:flex-start}}

.on-grid-kit-architecture{background:#f4f5f7}
.on-grid-kit-architecture__grid,.on-grid-kit-architecture__consumption{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.on-grid-kit-architecture__grid article,.on-grid-kit-architecture__consumption>div{padding:clamp(22px,4vw,38px);background:#fff;border:1px solid #d9dde3}
.on-grid-kit-architecture__grid h3,.on-grid-kit-architecture__consumption h3{margin:.4rem 0 1rem;font-size:clamp(1.35rem,2.4vw,2rem)}
.on-grid-kit-architecture__grid ul{padding-left:1.2rem}.on-grid-kit-architecture__grid li+li{margin-top:.55rem}
.on-grid-kit-architecture__hybrid{border-top:4px solid #194d93!important}
.on-grid-kit-architecture__consumption{margin-top:20px}.on-grid-kit-architecture__landing-link{margin:24px 0 0}
@media(max-width:720px){.on-grid-kit-architecture__grid,.on-grid-kit-architecture__consumption{grid-template-columns:1fr}}

/* Final shell cleanup: only the header bottom and footer top may create full-viewport rules. */
body .site-header{border-bottom:1px solid var(--color-border)}
body .breadcrumbs{border-bottom:0!important}
body main>:is(header,section,aside,article,div){border-top:0!important;border-bottom:0!important;border-block:0!important;background-color:#fff!important;background-image:none!important;box-shadow:none!important}
body .footer-cta{border-top:0!important;background:#fff!important}
body .site-footer{border-top:1px solid var(--color-border)!important;background:#fff!important}
body .site-footer__bottom{border-top:0!important}
body .map-frame{background:#fff}
body .map-frame--office{min-height:420px}
body .map-frame--office iframe{min-height:420px}
body .kit-card__media,body .kit-card__visual,body .kit-card__visual--product{background:#fff!important}
body .kit-card__facts,body .kit-card__fact,body .kit-card__prices,body .kit-card__prices p{border-top:0!important;border-bottom:0!important;border-block:0!important}
body .product-detail .product-section>.container::before{display:none!important}
@media(max-width:680px){body .map-frame--office,body .map-frame--office iframe{min-height:430px}}
/* 2026-07-25: unified realised-projects component and compact product information blocks. */
.product-hero__lead{margin-top:12px;line-height:1.55;-webkit-line-clamp:2}
.product-variant{margin-top:16px}
.product-price{margin-top:14px;padding-top:12px}
.product-price__value strong{font-size:clamp(2.3rem,3.7vw,2.8rem)}
.product-price>p{margin-top:6px;line-height:1.45}
.product-key-specs{margin-top:12px}
.product-key-specs>div{padding:8px 0}
.product-key-specs dd{margin-top:4px;line-height:1.25}
.product-location{min-height:30px;margin-top:10px}
.product-hero__actions{margin-top:16px}
.product-hero__legal{margin-top:10px;line-height:1.45}
.product-detail .product-specification.section{padding-block:58px}
.product-specification .product-section__grid{gap:clamp(34px,4.5vw,54px)}
.product-specification .product-section__grid header>p:not(.eyebrow){margin-top:12px;line-height:1.55}
.product-specification .product-specification__table>div{grid-template-columns:minmax(165px,.36fr) minmax(0,1fr);gap:20px;padding:11px 0}
.product-specification .product-specification__table dd{font-size:.94rem;line-height:1.48}
.product-projects__intro{max-width:680px;margin:12px 0 0;color:var(--product-muted);font-size:.94rem;line-height:1.55}
.product-projects .product-section__heading{margin-bottom:28px}
@media(max-width:700px){.product-hero__lead{line-height:1.55;-webkit-line-clamp:4}.product-detail .product-specification.section{padding-block:42px}.product-specification .product-specification__table>div{grid-template-columns:1fr;gap:5px;padding:10px 0}.product-specification .product-specification__table dd{line-height:1.45}.product-projects__intro{font-size:.9rem}}
