@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(/intra_web29/static/assets/ibm-plex-0.woff2) format('truetype');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(/intra_web29/static/assets/ibm-plex-1.woff2) format('truetype');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(/intra_web29/static/assets/ibm-plex-2.woff2) format('truetype');
}

/* IBM Plex Serif: Typography specification v1.2, locally hosted. */
@font-face {
  font-family: 'IBM Plex Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/intra_web29/static/assets/ibm-plex-serif-400-italic.ttf) format('truetype');
}
@font-face {
  font-family: 'IBM Plex Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/intra_web29/static/assets/ibm-plex-serif-400-normal.ttf) format('truetype');
}

#intra-site :where(*){all:revert;box-sizing:border-box}#intra-site{display:block;width:100%;margin:0;padding:0;background:white}#wrap.intra-site-wrap{margin:0;padding:0;width:100%;max-width:none}#intra-site [hidden]{display:none!important}
#intra-site{--purple:#8a2be2;--deep:#6618b2;--ink:#202026;--muted:#68676f;--line:#e6e2e9;--light:#f5f2f8;--warm:#f6f5f1;--white:#fff;--max:1240px}
#intra-site *{box-sizing:border-box}
#intra-site{scroll-behavior:smooth;scroll-padding-top:112px}
#intra-site{margin:0;font-family:'IBM Plex Sans',Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--ink);background:#fff}
#intra-site a{color:inherit;text-decoration:none}
#intra-site button,#intra-site input,#intra-site select,#intra-site textarea{font:inherit}
#intra-site button,#intra-site a,#intra-site input,#intra-site summary,#intra-site select,#intra-site textarea{-webkit-tap-highlight-color:transparent}
#intra-site button{cursor:pointer}
#intra-site img{max-width:100%;display:block}
#intra-site button:focus-visible,#intra-site a:focus-visible,#intra-site summary:focus-visible{outline:3px solid var(--purple);outline-offset:5px}
#intra-site input:focus,#intra-site select:focus,#intra-site textarea:focus{outline:2px solid var(--purple);outline-offset:2px}
#intra-site ::selection{background:#e5cafa}
#intra-site h1,#intra-site h2,#intra-site h3,#intra-site h4,#intra-site p{margin-top:0}
#intra-site h1,#intra-site h2,#intra-site h3{font-weight:500;line-height:1.1;letter-spacing:-.04em}
#intra-site h1{font-size:clamp(40px,4.9vw,72px);margin-bottom:25px}
#intra-site h2{font-size:clamp(32px,3.3vw,48px);margin-bottom:24px}
#intra-site h3{font-size:26px;letter-spacing:-.025em;margin-bottom:17px}
#intra-site h4{font-size:19px;line-height:1.3}
#intra-site p{margin-bottom:22px}
#intra-site p:last-child{margin-bottom:0}
#intra-site .wrap{max-width:var(--max);padding:0 32px;margin:auto}
#intra-site .narrow{max-width:800px}
#intra-site .section{padding:96px 0}
#intra-site .section-sm{padding:60px 0}
#intra-site .eyebrow{text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--purple);margin-bottom:22px;display:block}
#intra-site .lead{font-size:21px;line-height:1.55;color:#59565f;max-width:650px}
#intra-site .small{font-size:14px;line-height:1.6;color:var(--muted)}
#intra-site .muted{color:var(--muted)}
#intra-site .purple{color:var(--purple)}
#intra-site .light{background:var(--light)}
#intra-site .warm{background:var(--warm)}
#intra-site .dark{background:#21152f;color:white}
#intra-site .dark .eyebrow{color:#c29bea}
#intra-site .dark .lead,#intra-site .dark .small{color:#cbc1d4}
#intra-site .white{color:white}
#intra-site .rule{border-top:1px solid var(--line)}
#intra-site .stack>*+*{margin-top:24px}
#intra-site .grid2,#intra-site .grid3,#intra-site .grid4{display:grid;gap:28px}
#intra-site .grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
#intra-site .grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
#intra-site .grid4{grid-template-columns:repeat(4,minmax(0,1fr))}
#intra-site .split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
#intra-site .align-start{align-items:start}
#intra-site .section-head{display:flex;gap:40px;align-items:end;justify-content:space-between;margin-bottom:42px}
#intra-site .section-head h2{max-width:670px;margin-bottom:0}
#intra-site .section-head p{max-width:390px;margin:0}
#intra-site .section-head .text-link{flex-shrink:0}
#intra-site .btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:13px 23px;background:var(--purple);color:white;border:1px solid var(--purple);font-weight:500;font-size:16px;border-radius:4px;line-height:1.3;transition:background .2s,transform .2s}
#intra-site .btn:hover{background:var(--deep);border-color:var(--deep);transform:translateY(-1px)}
#intra-site .btn.light-btn{background:white;color:var(--ink);border-color:var(--line)}
#intra-site .btn.light-btn:hover{border-color:var(--purple);color:var(--purple)}
#intra-site .btn.white-btn{background:white;color:var(--deep);border-color:white}
#intra-site .btn:disabled{opacity:.4;cursor:not-allowed}
#intra-site .actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:30px}
#intra-site .text-link{font-size:16px;display:inline-flex;gap:15px;align-items:center;font-weight:500;border-bottom:1px solid #b6a6c5;padding-bottom:4px}
#intra-site .text-link:hover{color:var(--purple);border-color:var(--purple)}
#intra-site .arrow{font-size:23px;font-weight:400;line-height:1}
#intra-site .badge{display:inline-block;padding:5px 10px;background:#f0e5fb;color:var(--deep);font-size:12px;letter-spacing:.04em;font-weight:500;border-radius:2px}
#intra-site .skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:100}
#intra-site .skip:focus{top:10px}
#intra-site .preview-bar{height:30px;background:#eee6f6;color:#573675;font-size:11px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;letter-spacing:.025em}
#intra-site .preview-bar a{text-decoration:underline;text-underline-offset:3px}
#intra-site .site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}
#intra-site .header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1320px;margin:auto;padding:18px 32px}
#intra-site .logo{flex-shrink:0;display:flex;align-items:center;gap:11px}
#intra-site .logo img{width:73px;height:73px;object-fit:contain}
#intra-site .nav{display:flex;align-items:center;gap:23px}
#intra-site .nav a{font-size:14px;font-weight:500;white-space:nowrap;padding:12px 0;border-bottom:2px solid transparent;line-height:1.2}
#intra-site .nav a:hover,#intra-site .nav a[aria-current=page]{color:var(--purple);border-bottom-color:var(--purple)}
#intra-site .nav a.btn{padding:14px 18px;color:white;border-bottom-color:var(--purple);font-size:14px;min-height:48px}
#intra-site .menu-toggle{display:none;border:1px solid var(--line);background:white;padding:10px 15px;border-radius:4px}
#intra-site .breadcrumb{font-size:13px;color:var(--muted);margin:28px 0 0}
#intra-site .breadcrumb span{padding:0 10px;color:#b9afc2}
#intra-site .hero{padding:60px 0 0}
#intra-site .hero-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:45px;align-items:center}
#intra-site .hero-copy{padding:25px 0 45px}
#intra-site .hero-copy h1 em{font-style:normal;color:var(--purple)}
#intra-site .hero-copy .lead{font-size:20px;max-width:500px}
#intra-site .hero-photo{position:relative;height:610px;overflow:hidden;border-radius:5px 5px 0 0}
#intra-site .hero-photo img{height:100%;width:100%;object-fit:cover;object-position:58% center}
#intra-site .photo-tag{position:absolute;bottom:16px;left:18px;background:rgba(255,255,255,.94);padding:8px 13px;font-size:12px;max-width:90%;line-height:1.4}
#intra-site .photo-tag.dark-tag{background:rgba(24,20,30,.7);color:white}
#intra-site .hero-footer{margin-top:32px;display:flex;gap:22px;font-size:13px;color:var(--muted);flex-wrap:wrap}
#intra-site .hero-footer span:before{content:'✓';color:var(--purple);margin-right:8px}
#intra-site .trust-strip{border-block:1px solid var(--line);padding:25px 0}
#intra-site .trust-items{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:start}
#intra-site .trust-items div{border-right:1px solid var(--line);padding-right:22px}
#intra-site .trust-items div:last-child{border:0}
#intra-site .trust-items b{display:block;font-size:17px;font-weight:500}
#intra-site .trust-items span{font-size:13px;color:var(--muted)}
#intra-site .page-intro{padding:65px 0 58px}
#intra-site .page-intro h1{max-width:950px}
#intra-site .page-intro .lead{max-width:740px}
#intra-site .intro-row{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:65px}
#intra-site .intro-row h1{margin-bottom:0}
#intra-site .intro-row p{margin:0}
#intra-site .wide-photo{height:430px;position:relative;overflow:hidden}
#intra-site .wide-photo img{width:100%;height:100%;object-fit:cover}
#intra-site .wide-photo .photo-tag{left:32px}
#intra-site .solution{display:flex;flex-direction:column;border-top:2px solid var(--purple);padding:27px 28px 28px;background:var(--warm)}
#intra-site .solution .icon{margin-bottom:32px}
#intra-site .solution h3{max-width:260px}
#intra-site .solution p{color:var(--muted);font-size:16px;flex:1}
#intra-site .solution .text-link{align-self:start}
#intra-site .icon{display:inline-flex;width:45px;height:45px;color:var(--purple)}
#intra-site .icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
#intra-site .photo-frame{position:relative;overflow:hidden;border-radius:4px}
#intra-site .photo-frame>img{width:100%;height:480px;object-fit:cover}
#intra-site .tick-list{list-style:none;padding:0;margin:28px 0}
#intra-site .tick-list li{padding:13px 0 13px 28px;position:relative;border-bottom:1px solid var(--line);font-size:16px}
#intra-site .tick-list li:before{content:'✓';position:absolute;left:0;color:var(--purple);font-weight:600}
#intra-site .tick-list li:last-child{border:0}
#intra-site .steps{counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
#intra-site .step{border-top:1px solid #cec5d6;padding-top:24px}
#intra-site .step:before{counter-increment:steps;content:'0' counter(steps);display:block;color:var(--purple);font-size:15px;margin-bottom:35px}
#intra-site .step h3{font-size:22px}
#intra-site .step p{font-size:15px;color:var(--muted)}
#intra-site .project-card{display:flex;flex-direction:column;position:relative}
#intra-site .project-img{height:240px;overflow:hidden;background:#eee8f3;position:relative}
#intra-site .project-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
#intra-site .project-card:hover .project-img img{transform:scale(1.035)}
#intra-site .project-body{padding:24px 0;border-bottom:1px solid var(--line);flex:1}
#intra-site .project-body h3{font-size:24px;max-width:320px;margin:10px 0 15px}
#intra-site .project-meta{display:flex;gap:18px;color:var(--muted);font-size:13px;margin-bottom:14px}
#intra-site .project-card .project-arrow{position:absolute;right:0;bottom:20px;font-size:24px;color:var(--purple)}
#intra-site .project-body p{font-size:15px;color:var(--muted);padding-right:24px}
#intra-site .project-art{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:22px 26px;background:#eee8f3;color:var(--deep);background-image:linear-gradient(90deg,#d8c9e54d 1px,transparent 1px),linear-gradient(#d8c9e54d 1px,transparent 1px);background-size:28px 28px}
#intra-site .project-art strong{font-size:68px;font-weight:400;letter-spacing:-.06em;line-height:1}
#intra-site .project-art small{font-size:13px}
#intra-site .project-art .art-top{text-transform:uppercase;letter-spacing:.15em;font-size:11px}
#intra-site .region-panel{background:#eee7f6;padding:40px;border-radius:4px}
#intra-site .region-panel h3{font-size:30px}
#intra-site .region-places{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0}
#intra-site .region-places span{border:1px solid #cebedb;background:#fff8;padding:8px 13px;border-radius:3px;font-size:14px}
#intra-site .region-links{display:flex;gap:28px;flex-wrap:wrap}
#intra-site .faq details{border-top:1px solid var(--line)}
#intra-site .faq details:last-child{border-bottom:1px solid var(--line)}
#intra-site .faq summary{list-style:none;cursor:pointer;position:relative;padding:23px 40px 23px 0;font-size:19px;font-weight:500;line-height:1.4}
#intra-site .faq summary::-webkit-details-marker{display:none}
#intra-site .faq summary:after{content:'+';position:absolute;right:4px;top:18px;font-weight:400;font-size:28px;color:var(--purple)}
#intra-site .faq details[open] summary:after{content:'−'}
#intra-site .faq details p{max-width:850px;color:var(--muted);padding:0 35px 24px 0;font-size:16px;margin:0}
#intra-site .cta{background:var(--purple);color:white;padding:60px 0}
#intra-site .cta .wrap{display:flex;justify-content:space-between;gap:45px;align-items:center}
#intra-site .cta h2{max-width:720px;margin-bottom:12px}
#intra-site .cta p{color:#f1ddff}
#intra-site .cta .btn{white-space:nowrap}
#intra-site .footer{background:#f5f3f6;padding:65px 0 25px}
#intra-site .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:45px}
#intra-site .footer-logo{font-size:35px;font-weight:700;line-height:1;letter-spacing:-.05em}
#intra-site .footer-sub{font-size:15px;font-style:italic;display:block;letter-spacing:0;font-weight:400;margin:5px 0 22px}
#intra-site .footer p,#intra-site .footer a{font-size:14px;color:#65616a}
#intra-site .footer h4{font-size:14px;font-weight:600;margin-bottom:20px}
#intra-site .footer ul{list-style:none;margin:0;padding:0}
#intra-site .footer li{margin:9px 0}
#intra-site .footer a:hover{color:var(--purple)}
#intra-site .footer-bottom{border-top:1px solid #dfd9e6;margin-top:45px;padding-top:23px;font-size:12px;display:flex;justify-content:space-between;gap:20px;color:#746b7d}
#intra-site .footer-bottom div{display:flex;gap:22px}
#intra-site .inpage-nav{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:0 0 17px;overflow:auto;white-space:nowrap;font-size:14px}
#intra-site .inpage-nav a:hover{color:var(--purple)}
#intra-site .package{padding:34px;border:1px solid var(--line);position:relative;border-radius:4px;background:white}
#intra-site .package.featured{border:2px solid var(--purple);padding:33px}
#intra-site .package .badge{margin-bottom:25px}
#intra-site .package h3{font-size:33px}
#intra-site .package-number{font-size:58px;line-height:1.1;letter-spacing:-.06em;margin:24px 0 5px}
#intra-site .package-number small{font-size:21px;letter-spacing:0}
#intra-site .package p{color:var(--muted);font-size:15px}
#intra-site .package .tick-list{margin:24px 0}
#intra-site .package .tick-list li{font-size:14px}
#intra-site .package .btn{width:100%}
#intra-site .package-mark{position:absolute;right:24px;top:24px;color:var(--purple)}
#intra-site .quote-note{border-left:2px solid var(--purple);padding:20px 24px;background:var(--light);font-size:15px;color:#5b5164}
#intra-site .data-table{width:100%;border-collapse:collapse;font-size:15px}
#intra-site .data-table th,#intra-site .data-table td{text-align:left;border-bottom:1px solid var(--line);padding:20px 18px;vertical-align:top}
#intra-site .data-table th{background:var(--light);font-weight:500}
#intra-site .data-table td:first-child{font-weight:500}
#intra-site .table-scroll{overflow:auto}
#intra-site .spec-list{padding:0;list-style:none}
#intra-site .spec-list li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;gap:20px;font-size:15px}
#intra-site .spec-list span{color:var(--muted)}
#intra-site .device-scene{position:relative;height:360px;background:var(--light);display:flex;align-items:center;justify-content:center;gap:28px;border-radius:4px;overflow:hidden}
#intra-site .device-scene:before{position:absolute;content:'';width:260px;height:260px;border:1px solid #ddd0e8;border-radius:50%}
#intra-site .device-scene .device-label{position:absolute;bottom:17px;left:22px;font-size:11px;color:#7c6a8a}
#intra-site .inverter{position:relative;width:130px;height:165px;background:#fefefe;border:1px solid #ccc;border-radius:18px 18px 25px 25px;box-shadow:8px 18px 28px #34244e16;transform:translateY(-30px)}
#intra-site .inverter:before{content:'';position:absolute;top:30px;left:24px;width:82px;height:14px;background:#33343b;border-radius:3px}
#intra-site .inverter:after{content:'';position:absolute;bottom:30px;left:58px;width:13px;height:4px;border-radius:5px;background:#77a281}
#intra-site .battery{width:126px;height:236px;background:repeating-linear-gradient(to bottom,#fff 0px,#f6f6f7 48px,#c6c8cc 49px,#fff 50px);border:1px solid #c7c8cd;border-radius:8px;box-shadow:10px 18px 28px #34244e16;position:relative}
#intra-site .battery:before{content:'';position:absolute;top:22px;left:20px;width:30px;height:4px;background:#999fa8}
#intra-site .wallbox{width:115px;height:175px;background:#303038;border-radius:20px;position:relative;box-shadow:8px 18px 28px #34244e20}
#intra-site .wallbox:after{content:'';position:absolute;border:7px solid #25252b;border-top:0;border-radius:0 0 60px 60px;width:110px;height:110px;left:42px;top:125px}
#intra-site .wallbox:before{content:'';position:absolute;left:30px;top:30px;width:55px;height:4px;background:#c9a2ed}
#intra-site .panel-device{width:205px;height:265px;border:5px solid #35343a;background:repeating-linear-gradient(90deg,transparent 0 47px,#68717e 48px,transparent 49px),repeating-linear-gradient(0deg,#263342 0 41px,#68717e 42px,#263342 43px);transform:perspective(500px) rotateY(-15deg) rotateX(8deg);box-shadow:13px 18px 20px #34244e20}
#intra-site .product-section{padding:70px 0;border-bottom:1px solid var(--line)}
#intra-site .filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}
#intra-site .filter{padding:10px 19px;border:1px solid var(--line);background:white;border-radius:3px;font-size:14px}
#intra-site .filter[aria-pressed=true]{background:var(--purple);color:white;border-color:var(--purple)}
#intra-site [hidden]{display:none!important}
#intra-site .ref-grid{row-gap:50px}
#intra-site .map-box{background:#f2edf6;padding:35px;border-radius:4px}
#intra-site .map-box svg{width:100%;height:auto}
#intra-site .map-box text{font-family:inherit}
#intra-site .project-details{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-block:1px solid var(--line);padding:25px 0;margin:35px 0}
#intra-site .project-details strong{display:block;font-size:28px;font-weight:500}
#intra-site .project-details span{font-size:13px;color:var(--muted)}
#intra-site .team-note{padding:25px;background:var(--warm);font-size:15px}
#intra-site .timeline{display:grid;grid-template-columns:1fr 1fr;gap:60px}
#intra-site .timeline article{border-top:2px solid var(--purple);padding-top:30px}
#intra-site .timeline strong{font-size:50px;font-weight:400;color:var(--purple);display:block;margin-bottom:15px}
#intra-site .contact-box{padding:35px;border:1px solid var(--line);background:white}
#intra-site .contact-box h3{font-size:27px}
#intra-site .contact-box p{font-size:16px;color:var(--muted)}
#intra-site .contact-box a{color:var(--purple)}
#intra-site .checklist-item{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:24px 0;border-bottom:1px solid var(--line)}
#intra-site .checklist-item b{color:var(--purple);font-weight:500}
#intra-site .checklist-item p{color:var(--muted);font-size:15px}
#intra-site .checklist-item h3{font-size:22px}
#intra-site .region-hero{background:#eee7f6;padding:55px;border-radius:4px;min-height:350px;display:flex;flex-direction:column;justify-content:space-between}
#intra-site .region-hero .region-title{font-size:60px;line-height:1;letter-spacing:-.06em;color:var(--deep)}
#intra-site .region-hero .region-num{font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:#806393}
#intra-site .region-hero p{font-size:15px;max-width:370px;color:#786785}
#intra-site .form-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:55px;align-items:start}
#intra-site .form-shell{border:1px solid var(--line);border-radius:5px;background:white;padding:36px}
#intra-site .form-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:36px}
#intra-site .progress-item{font-size:12px;color:#877c90;border-top:3px solid #e8e0ef;padding-top:12px}
#intra-site .progress-item.active{border-color:var(--purple);color:var(--deep)}
#intra-site .progress-item.done{border-color:#ac7fd2}
#intra-site .form-shell h2{font-size:30px;letter-spacing:-.025em;margin-bottom:12px}
#intra-site .form-shell .sub{font-size:15px;color:var(--muted);margin-bottom:28px}
#intra-site .choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#intra-site .choice{display:block;position:relative;border:1px solid var(--line);border-radius:4px;padding:20px 19px 20px 44px;cursor:pointer;line-height:1.4}
#intra-site .choice input{position:absolute;left:17px;top:24px;accent-color:var(--purple);margin:0}
#intra-site .choice:has(input:checked){border-color:var(--purple);background:#f6effc;box-shadow:inset 0 0 0 1px var(--purple)}
#intra-site .choice strong{font-size:16px;font-weight:500;display:block}
#intra-site .choice small{font-size:13px;color:var(--muted);display:block;margin-top:7px}
#intra-site .field{margin-bottom:22px}
#intra-site .field>label,#intra-site .field-label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}
#intra-site .field input,#intra-site .field select,#intra-site .field textarea{width:100%;border:1px solid #cfc7d8;border-radius:3px;min-height:49px;padding:12px;background:white;color:var(--ink);font-size:16px}
#intra-site .field textarea{resize:vertical;min-height:110px}
#intra-site .field small{display:block;margin-top:6px;font-size:12px;color:var(--muted)}
#intra-site .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#intra-site .form-actions{display:flex;justify-content:space-between;gap:15px;margin-top:30px;border-top:1px solid var(--line);padding-top:25px}
#intra-site .back-btn{border:0;background:transparent;color:var(--muted);font-size:15px;padding:10px 0}
#intra-site .form-aside{padding:12px 0;position:sticky;top:150px}
#intra-site .form-aside h3{font-size:25px}
#intra-site .form-aside ul{font-size:15px}
#intra-site .form-notice{font-size:12px;color:#766885;padding:15px 18px;background:#f1e8f9;margin-top:23px;border-radius:3px}
#intra-site .form-error{color:#b32a39;font-size:14px;margin-top:15px}
#intra-site .summary-box{padding:23px;background:var(--light);font-size:14px;margin-bottom:26px}
#intra-site .summary-box dl{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin:0}
#intra-site .summary-box dt{color:var(--muted)}
#intra-site .summary-box dd{margin:0;font-weight:500}
#intra-site .consent{font-size:13px;display:flex;gap:10px;align-items:flex-start;line-height:1.5}
#intra-site .consent input{margin-top:4px;accent-color:var(--purple)}
#intra-site .success-mark{width:64px;height:64px;border-radius:50%;background:#efe2fb;color:var(--purple);font-size:34px;text-align:center;line-height:64px;margin-bottom:25px}
#intra-site .review-intro{background:#21152f;padding:65px 0;color:white}
#intra-site .review-intro .eyebrow{color:#c29bea}
#intra-site .review-intro p{color:#d0c1dd;max-width:780px}
#intra-site .review-card{padding:30px;border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column}
#intra-site .review-card .num{font-size:13px;color:var(--purple);margin-bottom:35px}
#intra-site .review-card h3{font-size:26px}
#intra-site .review-card p{font-size:15px;color:var(--muted);flex:1}
#intra-site .review-card .text-link{align-self:start}
#intra-site .review-note{background:#f8f3e8;border-left:3px solid #b28d40;padding:22px 25px;font-size:15px;margin-top:25px}
#intra-site .source-list{font-size:14px;line-height:2}
#intra-site .source-list a{text-decoration:underline;overflow-wrap:anywhere}
#intra-site .legal p,#intra-site .legal li{font-size:16px}
#intra-site .mobile-cta{display:none}
@media(min-width:1500px){#intra-site .hero-photo{height:660px}}
@media(max-width:1150px){#intra-site .nav{gap:15px}
#intra-site .nav a{font-size:13px}
#intra-site .header-inner{padding:15px 24px;gap:20px}
#intra-site .logo img{width:63px;height:63px}
#intra-site .split{gap:45px}
#intra-site .hero-grid{gap:30px}
#intra-site .hero-photo{height:560px}
#intra-site .hero-copy h1{font-size:57px}
#intra-site .form-layout{gap:30px}
#intra-site .hero-footer{gap:12px}
#intra-site .footer-grid{gap:25px}
#intra-site .nav a.btn{padding:13px 14px}}
@media(max-width:1000px){#intra-site .menu-toggle{display:block}
#intra-site .nav{display:none;position:absolute;top:100%;left:0;right:0;padding:15px 30px 30px;background:white;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #00000008;align-items:stretch;flex-direction:column;gap:0}
#intra-site .nav.open{display:flex}
#intra-site .nav a{font-size:16px;padding:14px 0}
#intra-site .nav a.btn{margin-top:15px;padding:16px}
#intra-site .hero-copy h1{font-size:48px}
#intra-site .hero-photo{height:520px}
#intra-site .steps{grid-template-columns:1fr 1fr}
#intra-site .grid4{grid-template-columns:1fr 1fr}
#intra-site .grid3{gap:20px}
#intra-site .solution{padding:25px 20px}
#intra-site .section{padding:75px 0}
#intra-site .intro-row{gap:30px}
#intra-site .intro-row h1{font-size:48px}
#intra-site .footer-grid{grid-template-columns:1fr 1fr}
#intra-site .form-layout{grid-template-columns:1fr}
#intra-site .form-aside{position:static;max-width:700px}
#intra-site .device-scene{gap:18px}
#intra-site .inverter{width:112px}
#intra-site .inverter:before{width:70px;left:20px}
#intra-site .inverter:after{left:48px}
#intra-site .form-shell{max-width:800px}
#intra-site .project-art strong{font-size:58px}}
@media(max-width:700px){#intra-site{font-size:16px}
#intra-site .wrap{padding:0 22px}
#intra-site .preview-bar{padding:0 18px;font-size:10px;height:28px}
#intra-site .preview-bar span .hide-mobile{display:none}
#intra-site .header-inner{padding:12px 22px}
#intra-site .logo img{width:56px;height:56px}
#intra-site .menu-toggle{font-size:14px;padding:8px 13px}
#intra-site .hero{padding-top:25px}
#intra-site .hero-grid{grid-template-columns:1fr;gap:0}
#intra-site .hero-copy{padding:18px 0 35px}
#intra-site .hero-copy h1{font-size:46px;max-width:470px}
#intra-site .hero-copy .lead{font-size:18px}
#intra-site .hero-photo{height:390px}
#intra-site .hero-footer{margin-top:25px;gap:12px 18px;font-size:12px}
#intra-site .eyebrow{font-size:11px;margin-bottom:17px}
#intra-site .lead{font-size:18px}
#intra-site .trust-items{grid-template-columns:1fr 1fr;gap:25px 15px}
#intra-site .trust-items div:nth-child(2){border:0}
#intra-site .trust-items b{font-size:15px}
#intra-site .trust-items span{font-size:12px}
#intra-site .section{padding:60px 0}
#intra-site .section-sm{padding:42px 0}
#intra-site h2{font-size:34px}
#intra-site h3{font-size:24px}
#intra-site .section-head{display:block;margin-bottom:30px}
#intra-site .section-head p,#intra-site .section-head .text-link{margin-top:22px}
#intra-site .split,#intra-site .intro-row{grid-template-columns:1fr;gap:32px}
#intra-site .grid3,#intra-site .grid2{grid-template-columns:1fr}
#intra-site .grid4{gap:22px}
#intra-site .solution{padding:25px}
#intra-site .solution .icon{margin-bottom:25px}
#intra-site .photo-frame>img{height:380px}
#intra-site .steps{gap:25px}
#intra-site .step:before{margin-bottom:25px}
#intra-site .step h3{font-size:20px}
#intra-site .step p{font-size:14px}
#intra-site .region-panel{padding:28px}
#intra-site .region-links{gap:20px}
#intra-site .project-img{height:270px}
#intra-site .project-body h3{font-size:26px}
#intra-site .cta{padding:45px 0}
#intra-site .cta .wrap{display:block}
#intra-site .cta h2{font-size:34px}
#intra-site .cta .btn{margin-top:27px}
#intra-site .footer-grid{grid-template-columns:1fr 1fr;gap:33px 20px}
#intra-site .footer-grid>div:first-child{grid-column:1/-1}
#intra-site .footer{padding-top:45px;padding-bottom:25px}
#intra-site .footer-bottom{display:block;font-size:11px}
#intra-site .footer-bottom div{margin-top:16px;flex-wrap:wrap;gap:15px}
#intra-site .breadcrumb{margin-top:20px;font-size:12px}
#intra-site .page-intro{padding:40px 0}
#intra-site .page-intro h1,#intra-site .intro-row h1{font-size:43px}
#intra-site .wide-photo{height:320px}
#intra-site .inpage-nav{gap:20px;font-size:13px}
#intra-site .package{padding:28px}
#intra-site .package.featured{padding:27px}
#intra-site .package-number{font-size:54px}
#intra-site .product-section{padding:50px 0}
#intra-site .product-section .split{gap:30px}
#intra-site .product-section:nth-child(even) .device-scene{order:0}
#intra-site .table-scroll{margin:0 -22px;padding:0 22px}
#intra-site .data-table{min-width:600px}
#intra-site .device-scene{height:330px}
#intra-site .map-box{padding:20px 10px}
#intra-site .project-details{gap:15px}
#intra-site .project-details strong{font-size:23px}
#intra-site .project-details span{font-size:11px}
#intra-site .timeline{grid-template-columns:1fr;gap:30px}
#intra-site .timeline strong{font-size:42px}
#intra-site .form-shell{padding:24px 20px}
#intra-site .form-progress{margin-bottom:28px;gap:7px}
#intra-site .progress-item{font-size:11px}
#intra-site .form-shell h2{font-size:28px}
#intra-site .choices{grid-template-columns:1fr}
#intra-site .form-grid{grid-template-columns:1fr;gap:0}
#intra-site .form-actions .btn{gap:12px;min-height:48px}
#intra-site .form-actions{align-items:center}
#intra-site .form-layout{gap:30px}
#intra-site .form-aside{padding-top:0}
#intra-site .form-notice{font-size:11px}
#intra-site .summary-box{padding:18px}
#intra-site .summary-box dl{grid-template-columns:1fr;gap:3px}
#intra-site .summary-box dd{margin-bottom:10px}
#intra-site .region-hero{padding:35px;min-height:300px}
#intra-site .region-hero .region-title{font-size:52px}
#intra-site .review-intro{padding:45px 0}
#intra-site .review-intro h1{font-size:42px}
#intra-site .review-card .num{margin-bottom:22px}
#intra-site .faq summary{font-size:17px;padding-top:20px;padding-bottom:20px}
#intra-site .actions{gap:18px}
#intra-site .actions .btn{width:100%}
#intra-site .actions .text-link{margin:auto}
#intra-site .form-actions .btn{width:auto}
#intra-site .section-head .text-link{margin-top:20px}
#intra-site .grid3 .project-card{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){#intra-site{scroll-behavior:auto}
#intra-site *{transition:none!important}}
#intra-site{--purple:#8a2be2;--deep:#6821ad;--ink:#282032;--muted:#655d6e;--line:#e3d9eb;--light:#f3edf8;--warm:#faf8fc;--lilac:#e8dcf2}
#intra-site .preview-links{display:flex;gap:24px}
#intra-site .preview-bar{background:#ede3f6;color:#51405e}
#intra-site .preview-bar a{color:#51405e}
#intra-site .eyebrow,#intra-site .text-link{color:var(--deep)}
#intra-site .hero{padding:48px 0;background:var(--light)}
#intra-site .hero-grid{grid-template-columns:1fr 1.08fr;gap:48px;align-items:center}
#intra-site .hero-copy{padding:8px 0}
#intra-site .hero-copy h1{font-size:clamp(46px,4.7vw,66px);letter-spacing:-.055em;line-height:1.06}
#intra-site .hero-copy h1 em{color:var(--deep)}
#intra-site .hero-copy .lead{font-size:19px;line-height:1.6}
#intra-site .hero-copy .lead strong{font-weight:500}
#intra-site .hero-footer{gap:10px 18px;font-size:12px;margin-top:28px}
#intra-site .hero-visual{min-width:0;overflow:hidden;border-radius:6px;background:white;box-shadow:0 12px 35px #39234a0b}
#intra-site .hero-photo{height:auto;aspect-ratio:1.32;position:relative;border-radius:0;background:#eee6e1;isolation:isolate}
#intra-site .hero-photo img,#intra-site .hero-photo video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:54% 50%}
#intra-site .hero-photo .video-fallback{z-index:0}
#intra-site .hero-photo video{z-index:1}
#intra-site .hero-photo.video-unavailable video{display:none}
#intra-site .hero-photo .media-label{position:absolute;left:16px;bottom:16px;background:#282032e8;color:white;border-radius:3px;padding:6px 10px;font-size:11px;z-index:3;pointer-events:none}
#intra-site .video-control{position:absolute;right:16px;top:16px;z-index:3;color:var(--ink);background:#fffffff2;border:1px solid #ffffffa0;min-height:42px;padding:9px 14px;font-size:12px;border-radius:3px;cursor:pointer;box-shadow:0 2px 10px #0001}
#intra-site .video-control:hover{background:white}
#intra-site .video-control:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
#intra-site .hero-media-caption{padding:22px 26px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
#intra-site .caption-kicker{font-size:13px;font-weight:600;max-width:125px;line-height:1.5;color:var(--deep)}
#intra-site .hero-media-caption p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}
#intra-site .trust-strip{background:white}
#intra-site .region-panel,#intra-site .region-hero{background:var(--lilac)}
#intra-site .region-hero p,#intra-site .region-hero .region-num{color:#65516f}
#intra-site .photo-landscape>img{height:auto;aspect-ratio:1.35;object-fit:cover}
#intra-site .photo-landscape{background:var(--light)}
#intra-site .photo-tag{max-width:calc(100% - 32px);font-size:11px;line-height:1.5}
#intra-site .photo-frame .photo-tag{left:16px;bottom:16px;background:#ffffffed;color:#3d3148;padding:7px 10px;border-radius:3px}
#intra-site .process-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:52px}
#intra-site .process-gallery figure{margin:0;background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden}
#intra-site .process-gallery img{width:100%;height:auto;aspect-ratio:1.7;object-fit:cover;display:block}
#intra-site .process-gallery figcaption{padding:20px 23px}
#intra-site .process-gallery figcaption b{display:block;font-size:18px;font-weight:500}
#intra-site .process-gallery figcaption span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
#intra-site .process-intro{margin-bottom:60px}
#intra-site .archive-gallery{margin-bottom:0}
#intra-site .archive-gallery img{aspect-ratio:4/3}
#intra-site .cta{background:#392447}
#intra-site .cta p{color:#e5daed}
#intra-site .cta .white-btn{background:white;color:var(--deep);border-color:white}
#intra-site .cta .white-btn:hover{background:var(--light)}
#intra-site .footer{background:#f3edf8}
#intra-site .review-intro{background:#392447}
#intra-site .design-principle{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding:65px 0 25px}
#intra-site .design-principle p{color:var(--muted);align-self:center}
#intra-site .palette{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin:18px 0 35px}
#intra-site .palette article{min-width:0}
#intra-site .swatch{height:132px;border:1px solid var(--line);border-radius:4px;margin-bottom:17px}
#intra-site .palette h3{font-size:19px;margin-bottom:4px}
#intra-site .palette code{font-size:12px;color:var(--muted)}
#intra-site .palette p{font-size:14px;margin-top:12px;color:var(--muted)}
#intra-site .image-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 25px}
#intra-site .image-review{border:1px solid var(--line);border-radius:5px;overflow:hidden;display:flex;flex-direction:column;background:white}
#intra-site .image-review>img{width:100%;aspect-ratio:1.5;object-fit:cover}
#intra-site .image-review>div{padding:24px;flex:1;display:flex;flex-direction:column}
#intra-site .image-review h3{font-size:24px}
#intra-site .image-review p{font-size:15px;color:var(--muted);flex:1}
#intra-site .image-review .text-link{align-self:flex-start;font-size:14px}
@media(max-width:1150px){#intra-site .hero-grid{gap:32px}
#intra-site .hero-copy h1{font-size:56px}
#intra-site .hero-photo{aspect-ratio:1.1}
#intra-site .hero-media-caption{padding:20px;gap:15px}
#intra-site .hero-media-caption p{font-size:13px}
#intra-site .caption-kicker{font-size:12px}
#intra-site .hero-copy .lead{font-size:18px}
#intra-site .hero-footer{font-size:11px}}
@media(max-width:1000px){#intra-site .hero-copy h1{font-size:48px}
#intra-site .hero-copy .actions{gap:15px}
#intra-site .hero-copy .actions .btn{font-size:14px;padding-inline:18px}
#intra-site .hero-copy .actions .text-link{font-size:14px}
#intra-site .hero-media-caption{display:block}
#intra-site .hero-media-caption .caption-kicker{max-width:none}
#intra-site .hero-media-caption p{margin-top:7px}
#intra-site .palette{grid-template-columns:repeat(3,1fr)}
#intra-site .image-review-grid{grid-template-columns:1fr 1fr}
#intra-site .design-principle{gap:35px}}
@media(max-width:700px){#intra-site .preview-links{gap:16px}
#intra-site .preview-bar{font-size:9px}
#intra-site .hero{padding:28px 0 30px}
#intra-site .hero-grid{grid-template-columns:1fr;gap:28px}
#intra-site .hero-copy{padding:0}
#intra-site .hero-copy h1{font-size:45px;margin-bottom:23px}
#intra-site .hero-copy .lead{font-size:18px}
#intra-site .hero-footer{font-size:11px;gap:8px 13px;margin-top:24px}
#intra-site .hero-copy .actions .btn{font-size:16px}
#intra-site .hero-photo{aspect-ratio:1.3}
#intra-site .hero-photo img,#intra-site .hero-photo video{object-position:57% 50%}
#intra-site .hero-media-caption{display:block;padding:20px}
#intra-site .hero-media-caption p{font-size:14px;margin-top:5px}
#intra-site .hero-photo .media-label{left:10px;bottom:10px;font-size:9px}
#intra-site .video-control{right:10px;top:10px;font-size:11px}
#intra-site .photo-landscape>img{height:auto;aspect-ratio:1.25}
#intra-site .process-gallery{grid-template-columns:1fr;gap:22px;margin-bottom:40px}
#intra-site .process-gallery img{aspect-ratio:1.5}
#intra-site .process-gallery figcaption{padding:18px 20px}
#intra-site .process-gallery figcaption b{font-size:17px}
#intra-site .archive-gallery{margin-bottom:0}
#intra-site .archive-gallery img{aspect-ratio:4/3}
#intra-site .process-intro{margin-bottom:40px}
#intra-site .design-principle{grid-template-columns:1fr;gap:12px;padding:45px 0 15px}
#intra-site .palette{grid-template-columns:1fr 1fr;gap:20px 16px}
#intra-site .palette h3{font-size:17px}
#intra-site .palette p{font-size:13px}
#intra-site .swatch{height:100px}
#intra-site .image-review-grid{grid-template-columns:1fr}
#intra-site .image-review h3{font-size:23px}
#intra-site .image-review>div{padding:22px}
#intra-site .hero .actions .text-link{font-size:15px}}
#intra-site .hero-copy{container-type:inline-size}
#intra-site .hero-copy h1{font-size:56px;font-size:clamp(34px,12cqw,64px);line-height:1.08;letter-spacing:-.045em}
#intra-site .hero-copy h1 em{font-size:.78em;white-space:nowrap;letter-spacing:-.045em}
#intra-site .hero-copy .lead{font-size:18px;line-height:1.6}
#intra-site .hero-copy .lead strong{color:var(--ink)}
#intra-site .hero-copy .actions{gap:18px}
#intra-site .hero-copy .actions .btn{font-size:16px;gap:16px}
#intra-site .hero-copy .actions .text-link{font-size:15px}
#intra-site .hero-media-caption .caption-kicker{max-width:110px}
#intra-site .decision-strip{background:white;border-block:1px solid var(--line);padding:28px 0}
#intra-site .decision-links{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
#intra-site .decision-links a{display:block;border-right:1px solid var(--line);padding:3px 18px 3px 0}
#intra-site .decision-links a:last-child{border:0}
#intra-site .decision-links b{display:block;font-size:17px;font-weight:500;color:var(--ink)}
#intra-site .decision-links span{display:block;font-size:12px;color:var(--deep);margin-top:5px}
#intra-site .decision-links a:hover b{color:var(--deep)}
#intra-site .decision-links a:focus-visible{outline:2px solid var(--purple);outline-offset:6px}
#intra-site .cost-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
#intra-site .cost-grid article{padding:26px 23px;background:white;border:1px solid var(--line);border-radius:4px}
#intra-site .cost-number{display:block;color:var(--deep);font-size:13px;letter-spacing:.12em;margin-bottom:26px}
#intra-site .cost-grid h3{font-size:23px;line-height:1.25;hyphens:auto}
#intra-site .cost-grid p{font-size:15px;color:var(--muted);margin-bottom:0}
#intra-site .cost-comparison{margin-top:44px;gap:55px}
#intra-site .page-intro h1{overflow-wrap:break-word;hyphens:auto}
@media(max-width:1100px){#intra-site .cost-grid{grid-template-columns:1fr 1fr}
#intra-site .decision-links{gap:16px}
#intra-site .decision-links b{font-size:16px}
#intra-site .decision-links a{padding-right:12px}}
@media(max-width:700px){#intra-site .hero-copy h1{font-size:clamp(34px,12cqw,46px)}
#intra-site .hero-copy .lead{font-size:17px}
#intra-site .hero-copy .actions .text-link{font-size:15px}
#intra-site .decision-strip{padding:24px 0}
#intra-site .decision-links{grid-template-columns:1fr 1fr;gap:22px 16px}
#intra-site .decision-links a:nth-child(2){border-right:0}
#intra-site .decision-links b{font-size:15px}
#intra-site .decision-links span{font-size:11px}
#intra-site .cost-grid{grid-template-columns:1fr;gap:18px}
#intra-site .cost-grid article{padding:24px}
#intra-site .cost-number{margin-bottom:18px}
#intra-site .cost-comparison{gap:28px;margin-top:32px}
#intra-site .cost-grid h3{font-size:23px}}
#intra-site .image08-figure{ margin: 0; min-width: 0; }
#intra-site figure.image08-figure > img{ display: block; width: 100%; height: auto; aspect-ratio: auto 3 / 2; object-fit: contain; }
#intra-site .process-gallery img[src^="/assets/intra-"],#intra-site .image-review > img[src^="/assets/intra-"]{ aspect-ratio: auto 3 / 2; }
#intra-site .image08-figure > img[src*="intra-familienhaus-solarstrom"],#intra-site .image-review > img[src*="intra-familienhaus-solarstrom"]{ aspect-ratio: auto 1672 / 941; }
#intra-site .image08-caption{ padding: 10px 0 0; color: var(--muted); font-size: var(--fs-small); line-height: 1.5; }
#intra-site .image08-intro{ margin-bottom: 32px; }
#intra-site .image08-service{ margin: 0 0 24px; }
#intra-site .image08-service .image08-caption{ padding-inline: 0; }
#intra-site .image08-reserve{ border-style: dashed; }
#intra-site .image08-anchor{ scroll-margin-top: 140px; }
@media (max-width: 760px){#intra-site .image08-intro{ margin-bottom: 28px; }
#intra-site .image08-anchor{ scroll-margin-top: 100px; }}
#intra-site{
  --font-body: 'IBM Plex Sans', Arial, sans-serif;
  --font-heading: 'IBM Plex Serif', Georgia, serif;
  --fs-hero: var(--fs-h1);
  --fs-h1: clamp(30px, 3.3vw, 44px);
  --fs-h2: clamp(24px, 2.65vw, 36px);
  --fs-statement: clamp(23px, 2.1vw, 28px);
  --fs-lead: 19px;
  --fs-hero-lead: var(--fs-lead);
  --fs-legal-h2: 22px;
  --fs-h3: 18px;
  --fs-body: 17px;
  --fs-compact: 16px;
  --fs-nav: 14px;
  --fs-small: 13px;
  --fs-eyebrow: 12px;
  --leading-body: 1.65;
  --space-eyebrow: 14px;
  --space-h1: 24px;
  --space-h2: 20px;
  --space-h3: 8px;
  --space-paragraph: 16px;
  --space-action: 32px;
  --space-section: 72px;
  --space-section-compact: 40px;
  --space-columns: 30px;
  --max: 1170px;
}
#intra-site{ font-family: var(--font-body); font-size: var(--fs-body); line-height: var(--leading-body); }
#intra-site strong,#intra-site b{ font-weight: 600; }
#intra-site .wrap{ padding-inline: 30px; }
#intra-site .section{ padding-block: var(--space-section); }
#intra-site .section-sm,#intra-site .page-intro{ padding-block: var(--space-section-compact); }
#intra-site .split,#intra-site .intro-row{ gap: var(--space-columns); }
#intra-site .hero-grid{ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-columns); }
#intra-site .split > *,#intra-site .intro-row > *{ min-width: 0; }
#intra-site .section-head{ margin-bottom: 32px; }
#intra-site .actions{ margin-top: var(--space-action); }
#intra-site .hero-copy{ container-type: inline-size; }
#intra-site #main h1,#intra-site #main h2{
  font-family: var(--font-heading);
  font-weight: 400;
  font-style: normal;
  text-wrap: balance;
  hyphens: manual;
  overflow-wrap: normal;
}
#intra-site #main h1{ font-size: var(--fs-h1); line-height: 1.15; letter-spacing: -.015em; max-width: 22ch; margin-bottom: var(--space-h1); }
#intra-site #main .intro-row h1{ margin-bottom: 0; }
#intra-site #main h2{ font-size: var(--fs-h2); line-height: 1.22; letter-spacing: -.01em; max-width: 28ch; margin-bottom: var(--space-h2); }
#intra-site #main h3,#intra-site #main h4{
  font-family: var(--font-body); font-size: var(--fs-h3); font-weight: 600;
  line-height: 1.4; letter-spacing: .01em; margin-bottom: var(--space-h3);
  text-transform: none; text-wrap: balance; hyphens: manual; overflow-wrap: normal;
}
#intra-site #main .hero h1{ font-size: var(--fs-hero); line-height: 1.08; letter-spacing: -.025em; }
#intra-site #main .hero h1 em{ font-size: inherit; font-weight: inherit; font-style: normal; letter-spacing: inherit; white-space: normal; }
#intra-site #main .legal h2{ font-size: var(--fs-legal-h2); line-height: 1.35; }
#intra-site #main p{ font-size: var(--fs-body); line-height: var(--leading-body); max-width: 66ch; margin-bottom: var(--space-paragraph); }
#intra-site #main p:last-child{ margin-bottom: 0; }
#intra-site #main .lead,#intra-site #main h2 + p:not(.small),#intra-site #main .section-head > p{ font-size: var(--fs-lead); line-height: 1.6; max-width: 62ch; }
#intra-site #main .hero .lead{ font-size: var(--fs-hero-lead); line-height: 1.45; }
#intra-site #main .solution p,#intra-site #main .step p,#intra-site #main .project-body p,#intra-site #main .package p,#intra-site #main .cost-grid p,#intra-site #main .image-review p,#intra-site #main .region-panel p,#intra-site #main .form-aside p,#intra-site #main .review-card p,#intra-site #main .checklist-item p{
  font-size: var(--fs-compact); line-height: 1.55;
}
#intra-site #main .small,#intra-site #main .hero-media-caption p,#intra-site #main .form-notice,#intra-site .photo-tag,#intra-site .project-meta,#intra-site .breadcrumb,#intra-site .hero-footer,#intra-site .process-gallery figcaption span,#intra-site .image-review .text-link{
  font-size: var(--fs-small); line-height: 1.5;
}
#intra-site .eyebrow,#intra-site .caption-kicker,#intra-site .badge{
  font-size: var(--fs-eyebrow); font-weight: 600; line-height: 1.5; letter-spacing: .14em;
}
#intra-site .eyebrow{ margin-bottom: var(--space-eyebrow); }
#intra-site .caption-kicker{ letter-spacing: 0; }
#intra-site .btn,#intra-site .hero-copy .actions .btn,#intra-site .nav a.btn{
  font-family: var(--font-body); font-size: var(--fs-compact); font-weight: 600;
  line-height: 1.2; min-height: 48px; padding: 14px 24px; border-radius: 6px;
}
#intra-site .text-link,#intra-site .hero-copy .actions .text-link{ font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; }
#intra-site #main :is(.solution,.step,.project-body,.package,.cost-grid,.image-review,.region-panel,.form-aside,.review-card,.checklist-item){ font-size: var(--fs-compact); line-height: 1.55; }
#intra-site #main .image-review .text-link{ font-size: inherit; line-height: inherit; }
#intra-site .nav a{ font-size: var(--fs-nav); font-weight: 500; letter-spacing: .025em; }
#intra-site .faq summary{ font-family: var(--font-body); font-size: var(--fs-h3); font-weight: 600; line-height: 1.4; letter-spacing: .01em; }
#intra-site #main ul,#intra-site #main ol,#intra-site #main li,#intra-site #main .contact-box p{ font-size: var(--fs-body); line-height: var(--leading-body); }
#intra-site #main :is(.solution,.step,.project-body,.package,.cost-grid,.image-review,.region-panel,.form-aside,.review-card,.checklist-item) li,#intra-site .spec-list li,#intra-site .data-table,#intra-site .quote-note{ font-size: var(--fs-compact); line-height: 1.55; }
#intra-site #main .legal p,#intra-site #main .legal li{ font-size: var(--fs-body); line-height: var(--leading-body); max-width: 70ch; }
#intra-site #main .legal .small{ font-size: var(--fs-small); line-height: 1.5; }
#intra-site .process-gallery figcaption b{ font-size: var(--fs-h3); font-weight: 600; line-height: 1.4; }
#intra-site .step:before,#intra-site .cost-number{ font-family: var(--font-heading); font-size: 28px; font-weight: 400; line-height: 1.4; letter-spacing: 0; margin-bottom: 20px; }
#intra-site .package-number,#intra-site .project-art strong,#intra-site .project-details strong,#intra-site .timeline strong,#intra-site .region-hero .region-title{
  font-family: var(--font-heading); font-size: var(--fs-statement); font-weight: 400; line-height: 1.4; letter-spacing: -.015em;
}
#intra-site .package-number small{ font-family: var(--font-body); font-size: var(--fs-compact); }
#intra-site .footer p,#intra-site .footer a,#intra-site .footer-bottom{ font-size: var(--fs-small); font-weight: 400; line-height: 1.5; }
#intra-site .footer ul a,#intra-site .footer-bottom a{ font-size: var(--fs-eyebrow); font-weight: 600; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
#intra-site .footer-brand{ display: inline-flex; margin-bottom: 22px; line-height: 1; }
#intra-site .footer-brand img{ display: block; width: 88px; height: 88px; object-fit: contain; }
#intra-site .footer h4{ font-size: var(--fs-eyebrow); font-weight: 600; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
#intra-site #main :is(strong,b){ font-weight: 600; }
#intra-site #main .project-art strong,#intra-site #main .project-details strong,#intra-site #main .timeline strong{ font-weight: 400; }
#intra-site #main .small,#intra-site #main p.small,#intra-site #main .hero-media-caption p,#intra-site #main .form-notice,#intra-site #main .review-note,#intra-site #main .review-note p,#intra-site #main .device-label,#intra-site #main .project-meta,#intra-site #main .project-details span,#intra-site #main .project-art small,#intra-site #main .photo-tag,#intra-site #main .image08-caption,#intra-site #main .field small,#intra-site #main .choice small,#intra-site #main .source-list,#intra-site #main .source-list li,#intra-site #main .palette code,#intra-site .hero-photo .media-label,#intra-site .video-control{
  font-family: var(--font-body); font-size: var(--fs-small); font-weight: 400; line-height: 1.5;
}
#intra-site #main .project-art .art-top,#intra-site #main .region-num,#intra-site #main .progress-item,#intra-site #main .decision-links span,#intra-site #main .review-card .num{
  font-family: var(--font-body); font-size: var(--fs-eyebrow); font-weight: 600;
  line-height: 1.5; letter-spacing: .14em; text-transform: uppercase;
}
#intra-site #main .decision-links b{ font-size: var(--fs-h3); font-weight: 600; line-height: 1.4; letter-spacing: .01em; }
#intra-site #main .region-places span,#intra-site #main .summary-box{ font-size: var(--fs-compact); line-height: 1.55; }
#intra-site #main .field > label,#intra-site #main .field-label{ font-size: var(--fs-body); font-weight: 500; line-height: var(--leading-body); }
#intra-site #main .choice strong{ font-size: var(--fs-compact); font-weight: 600; line-height: 1.4; }
#intra-site #main .field input,#intra-site #main .field select,#intra-site #main .field textarea{ font-family: var(--font-body); font-size: var(--fs-compact); line-height: 1.55; }
#intra-site #main .form-error{ font-size: var(--fs-small); line-height: 1.5; }
#intra-site #main .back-btn,#intra-site #main .filter,#intra-site .menu-toggle{ font-family: var(--font-body); font-size: var(--fs-compact); font-weight: 600; line-height: 1.2; }
#intra-site #main .inpage-nav{ font-size: var(--fs-nav); line-height: 1.5; }
#intra-site #main .success-mark{ font-size: var(--fs-statement); }
#intra-site .hero-visual,#intra-site .photo-frame,#intra-site .process-gallery figure,#intra-site .image-review{ border-radius: 0; box-shadow: none; }
#intra-site .hero-photo{ height: auto; aspect-ratio: 16 / 9; background: var(--light); }
#intra-site .hero-photo img,#intra-site .hero-photo video{ object-fit: contain; object-position: center; }
#intra-site .photo-frame > img,#intra-site .photo-landscape > img,#intra-site .process-gallery img,#intra-site .archive-gallery img,#intra-site .image-review > img{ height: auto; aspect-ratio: auto; object-fit: contain; object-position: center; border-radius: 0; }
#intra-site .wide-photo{ height: auto; }
#intra-site .wide-photo img{ height: auto; object-fit: contain; }
#intra-site .project-card:hover .project-img img{ transform: none; }
#intra-site .project-img img{ object-fit: contain; }
#intra-site .process-gallery{ gap: var(--space-columns); margin-bottom: 40px; }
#intra-site .archive-gallery{ margin-bottom: 0; }
#intra-site .process-gallery figcaption{ padding: 20px 24px; }
@media (max-width: 1100px){#intra-site .nav a{ font-size: 16px; }}
@media (max-width: 991px){#intra-site .hero-grid{ grid-template-columns: minmax(0, 1fr); gap: 28px; }
#intra-site .hero-copy{ padding: 0; }
#intra-site .hero-visual{ max-width: 720px; width: 100%; }}
@media (max-width: 760px){#intra-site{
    --fs-h1: 30px; --fs-h2: 24px; --fs-statement: 23px;
    --fs-lead: 17px; --fs-legal-h2: 20px; --fs-h3: 17px; --fs-body: 16px; --fs-nav: 16px;
    --leading-body: 1.6; --space-section: 48px; --space-section-compact: 32px;
    --space-columns: 28px;
  }
#intra-site .wrap{ padding-inline: 20px; }
#intra-site .split,#intra-site .intro-row{ grid-template-columns: minmax(0, 1fr); }
#intra-site .intro-row{ gap: var(--space-h1); }
#intra-site #main .hero h1{ line-height: 1.1; }
#intra-site #main .hero .lead{ font-size: var(--fs-hero-lead); line-height: 1.45; }
#intra-site #main .legal h2{ font-size: var(--fs-legal-h2); }
#intra-site #main p{ hyphens: auto; overflow-wrap: break-word; }
#intra-site .hero-photo{ aspect-ratio: 16 / 9; }
#intra-site .hero-media-caption{ padding: 20px; }
#intra-site .hero-photo .media-label,#intra-site .video-control{ font-size: var(--fs-small); }
#intra-site .video-control{ min-height: 44px; }
#intra-site .hero-photo .media-label{ padding: 5px 8px; }
#intra-site .photo-frame .photo-tag{ position: static; display: block; max-width: none; padding: 10px 12px; }
#intra-site .footer a{ display: inline-flex; align-items: center; min-height: 44px; }
#intra-site .table-scroll{ margin-inline: -20px; padding-inline: 20px; }}
@media (max-width: 479px){#intra-site #main h1,#intra-site #main h2,#intra-site #main h3,#intra-site #main h4{ hyphens: auto; overflow-wrap: break-word; }}
#intra-site .header-inner{ max-width: var(--max); padding-inline: 30px; gap: 30px; }
#intra-site .logo:focus-visible,#intra-site .team12-mosaic a:focus-visible{ outline: 3px solid var(--purple); outline-offset: 4px; }
#intra-site .offer12-intro .lead{ max-width: 700px; }
#intra-site .offer12-benefits{ max-width: 820px; margin-top: 24px; }
#intra-site .offer12-intro .actions{ margin-top: 24px; }
#intra-site #inquiry-form{ scroll-margin-top: 140px; }
#intra-site .offer12-trust .solution{ display: flex; flex-direction: column; align-items: flex-start; }
#intra-site .offer12-trust .text-link{ margin-top: auto; }
#intra-site .team12-mosaic{ display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; width: 100%; max-width: 900px; }
#intra-site .team12-mosaic a{ display: block; min-width: 0; background: var(--warm); }
#intra-site .team12-mosaic img{ display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
@media(max-width:760px){#intra-site .header-inner{ padding-inline: 20px; gap: 20px; }
#intra-site .team12-mosaic{ grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
#intra-site #inquiry-form{ scroll-margin-top: 110px; }}
#intra-site .product14-copy{ padding: 28px 0; }
#intra-site .product14-details{ border-block: 1px solid var(--line); margin: 24px 0; }
#intra-site .product14-details summary{ cursor: pointer; padding: 18px 0; font-weight: 600; }
#intra-site .product14-details > div{ padding-bottom: 20px; }
#intra-site .product14-specs{ margin: 0 0 20px; }
#intra-site .product14-specs dt{ font-weight: 600; margin-top: 16px; }
#intra-site .product14-specs dd{ margin: 4px 0 0; }
#intra-site .product14-note,#intra-site .commercial14-note{ margin-top: 24px; }
#intra-site .product14-note a{ margin-top: 10px; }
#intra-site .offer14-commercial-intro .lead{ max-width: 700px; }
@media (max-width:1150px){#intra-site .menu-toggle{ display:block; }
#intra-site .nav{ display:none; position:absolute; top:100%; left:0; right:0; padding:15px 30px 30px; background:white; border-bottom:1px solid var(--line); box-shadow:0 15px 20px #00000008; align-items:stretch; flex-direction:column; gap:0; }
#intra-site .nav.open{ display:flex; }
#intra-site .nav a{ padding:14px 0; }
#intra-site .nav a.btn{ margin-top:15px; padding:16px; }}
@media (max-width:700px){#intra-site .product14-specs{ overflow-wrap:anywhere; }}
#intra-site .contact-box a.btn:not(.light-btn):not(.white-btn),#intra-site .contact-box a.btn:not(.light-btn):not(.white-btn):is(:hover,:focus-visible){ color:#fff; }
#intra-site #loesungen .package{ display:flex; flex-direction:column; min-width:0; border-width:2px; padding:33px; }
#intra-site #loesungen .package > .badge{ align-self:flex-start; }
#intra-site #loesungen .package > .btn{ margin-top:auto; min-height:68px; justify-content:space-between; gap:10px; text-align:left; }
#intra-site #loesungen .package > .tick-list{ margin-bottom:28px; }
#intra-site #loesungen .package-number{ white-space:nowrap; }
@media(min-width:901px){#intra-site #loesungen .package > .badge{ min-height:36px; }
#intra-site #loesungen .package > h3{ min-height:51px; }
#intra-site #loesungen .package-number{ height:68px; }
#intra-site #loesungen .package > p{ min-height:50px; }}
#intra-site .system16{ margin:0; min-width:0; }
#intra-site .system16 > img{ width:100%; height:auto; display:block; border-radius:6px; }
#intra-site .system16 figcaption{ padding:16px 0 0; }
#intra-site .system16 figcaption b{ display:block; font-size:var(--fs-compact); font-weight:600; }
#intra-site .system16 figcaption span{ display:block; font-size:var(--fs-small); color:var(--muted); margin-top:6px; line-height:1.5; }
#intra-site #energiemanagement .system16{ margin-bottom:28px; }
#intra-site .reference16 > a{ border-radius:6px; overflow:hidden; }
#intra-site .reference16 img{ object-fit:cover; }
#intra-site .reference16-note{ margin-top:24px; }
#intra-site .consultation16{ display:flex; align-items:center; gap:18px; margin:0 0 28px; }
#intra-site .consultation16 img{ width:144px; height:108px; object-fit:cover; border-radius:6px; flex:0 0 144px; }
#intra-site .consultation16 figcaption b,#intra-site .consultation16 figcaption span{ display:block; }
#intra-site .consultation16 figcaption b{ font-size:var(--fs-compact); }
#intra-site .consultation16 figcaption span{ font-size:var(--fs-small); color:var(--muted); margin-top:5px; line-height:1.5; }
#intra-site .service16-banner{ position:relative; margin:0; border-radius:6px; overflow:hidden; background:var(--warm); }
#intra-site .service16-banner img{ display:block; width:100%; height:auto; max-height:600px; object-fit:cover; }
#intra-site .service16-banner figcaption{ position:absolute; inset:auto 0 0; padding:72px 32px 25px; color:white; background:linear-gradient(transparent,rgba(34,24,43,.88)); }
#intra-site .service16-banner figcaption span,#intra-site .service16-banner figcaption b{ display:block; }
#intra-site .service16-banner figcaption span{ font-size:var(--fs-small); }
#intra-site .service16-banner figcaption b{ font:400 var(--fs-statement)/1.3 var(--font-heading); margin-top:7px; }
#intra-site .service16-contact{ margin:0 0 24px; }
#intra-site .service16-contact img{ width:100%; height:260px; object-fit:cover; object-position:center 35%; border-radius:6px; }
#intra-site .service16-contact figcaption{ margin-top:8px; font-size:var(--fs-small); color:var(--muted); }
@media(max-width:700px){#intra-site #loesungen .package{ padding:25px; }
#intra-site .consultation16{ gap:14px; align-items:flex-start; }
#intra-site .consultation16 img{ width:105px; height:90px; flex-basis:105px; }
#intra-site .service16-banner figcaption{ padding:40px 18px 16px; }}
#intra-site .form20 fieldset{border:0;padding:0;margin:0;min-width:0}
#intra-site .form20 .form-progress{grid-template-columns:repeat(3,minmax(0,1fr))}
#intra-site .form20 .form20-notice{margin:0 0 28px}
#intra-site .form20 .choices{margin-bottom:16px}
#intra-site .form20 .choice{min-height:132px}
#intra-site .form20 [hidden]{display:none!important}
#intra-site .form20 .form-step h2:focus,#intra-site .form20 #form-success h2:focus{outline:none}
#intra-site .form20 .form-actions #form-next{margin-left:auto}
#intra-site .form20 .form-grid>*{min-width:0}
#intra-site .form20 .summary-box{overflow-wrap:anywhere}
#intra-site .form20 .summary-box dd{white-space:pre-line}
#intra-site .form20 input[type=file]{font-size:var(--fs-small);padding:10px;overflow:hidden}
#intra-site .form20 input[type=file]::file-selector-button{font:inherit;border:1px solid var(--line);border-radius:3px;background:var(--light);padding:10px;margin-right:8px;cursor:pointer}
#intra-site #main .form20-files{padding-left:20px;margin:8px 0;overflow-wrap:anywhere}
#intra-site #main .form20-files li{font-size:var(--fs-small)}
#intra-site .form20-contact{padding-top:25px;margin-top:28px}
#intra-site .form20-footnote{margin-top:16px}
#intra-site .form20 .back-btn{min-height:44px}
#intra-site .form20 .field input:disabled,#intra-site .form20 .field select:disabled{opacity:.6}
#intra-site .visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#intra-site .guide20-part{padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--line)}
#intra-site .guide20-source{padding-block:10px}
#intra-site .guide20-back{margin-top:32px}
#intra-site .guide20-cards .solution{display:flex;flex-direction:column;align-items:flex-start}
#intra-site .guide20-cards .solution .text-link{margin-top:auto}
@media(max-width:700px){#intra-site .form20 .choice{min-height:0}
#intra-site .form20 .form-actions{flex-wrap:wrap}
#intra-site .form20 .choices{gap:10px}
#intra-site .guide20-part{padding-bottom:20px;margin-bottom:24px}}
#intra-site .home27 .hero-copy h1{max-width:22ch}
#intra-site .hero-reference27{margin:0;min-width:0}
#intra-site .hero-reference27 img{width:100%;height:auto;aspect-ratio:1.06;object-fit:cover;border-radius:4px}
#intra-site .hero-reference27 figcaption{font-size:var(--fs-small);padding-top:12px;color:var(--muted)}
#intra-site .proof27{border-block:1px solid var(--line);background:#fff}
#intra-site .proof27>.wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:24px}
#intra-site .proof27 p{font-weight:600;font-size:14px!important;margin:0!important;line-height:1.5!important}
#intra-site .packages27{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:32px}
#intra-site .package27{display:flex;flex-direction:column;align-items:flex-start;padding:32px;background:#fff;border:1px solid var(--line);border-radius:6px}
#intra-site .package27 h3{max-width:28ch}
#intra-site .package27 .power27{font-family:var(--font-heading);font-size:44px!important;line-height:1.2!important;color:var(--deep);margin:20px 0!important}
#intra-site .package27 .power27 span{font-family:var(--font-body);font-size:17px}
#intra-site .package27 .price27{font-size:24px!important;font-weight:600;margin-top:20px}
#intra-site .package27 .btn{margin-top:auto;width:100%}
#intra-site .package27 .small{padding-bottom:24px}
#intra-site .package27-foot{margin-top:16px!important}
#intra-site .steps27{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:32px}
#intra-site .step27{border-top:2px solid #cdb9e0;padding-top:20px}
#intra-site .step27 p{font-size:16px!important}
#intra-site .refs27{margin-top:30px}
#intra-site .refs27 figure{margin:0}
#intra-site .refs27 img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
#intra-site .refs27 figcaption{font-size:14px;padding-top:12px}
#intra-site .refs27 a{display:block}
#intra-site .region-links{flex-wrap:wrap}
#intra-site .region-links a{min-height:44px;align-items:center}
#intra-site .btn,#intra-site .menu-toggle,#intra-site summary{min-height:44px}
#intra-site .footer a{display:inline-flex;align-items:center;min-height:44px}
#intra-site .footer-brand{display:block!important}
#intra-site .breadcrumb a{min-height:44px;display:inline-flex;align-items:center}
#intra-site .home27 .actions .btn{gap:12px}
#intra-site .source-note{font-size:13px;color:var(--muted);margin-top:32px}
#intra-site .article-table{width:100%;border-collapse:collapse}
#intra-site .article-table th,#intra-site .article-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}
@media(max-width:900px){#intra-site .steps27{grid-template-columns:repeat(2,minmax(0,1fr))}
#intra-site .proof27>.wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
#intra-site .hero-reference27 img{aspect-ratio:4/3}}
@media(max-width:600px){#intra-site .packages27{grid-template-columns:1fr}
#intra-site .package27{padding:24px}
#intra-site .steps27{grid-template-columns:1fr;gap:24px}
#intra-site .proof27>.wrap{gap:18px}
#intra-site .proof27 p{font-size:13px!important}
#intra-site .home27 .actions{align-items:stretch}
#intra-site .home27 .actions .btn{width:100%}
#intra-site .refs27{grid-template-columns:1fr}
#intra-site .hero-reference27 img{aspect-ratio:1.12}
#intra-site .article-table th,#intra-site .article-table td{padding:8px;font-size:14px}}