*{box-sizing:border-box}html{font-family:Inter,Arial,sans-serif}body{margin:0}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}

/* Stable logo sizing independent of Tailwind/CDN */
.site-logo-link{display:flex;align-items:center;flex:0 0 auto;max-width:270px}
.site-logo{display:block;width:auto!important;height:54px!important;max-width:240px!important;object-fit:contain;object-position:left center}
.footer-logo-box{display:inline-flex;align-items:center;max-width:230px}
.footer-logo{display:block;width:auto!important;height:52px!important;max-width:210px!important;object-fit:contain}
@media (min-width:640px){.site-logo{height:64px!important;max-width:260px!important}}
@media (max-width:1100px){.site-logo-link{max-width:225px}.site-logo{height:52px!important;max-width:220px!important}}
@media (max-width:480px){.site-logo-link{max-width:185px}.site-logo{height:44px!important;max-width:180px!important}.footer-logo{height:44px!important;max-width:180px!important}}


/* Verlässliche Button-Kontraste – unabhängig von Tailwind/CDN und Browser-Cache */
a.btn,button.btn,input.btn,
a.button,button.button,input.button,
a.cta-readable,button.cta-readable{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:48px!important;padding:12px 24px!important;border-radius:999px!important;
  border:2px solid #007CBF!important;background:#007CBF!important;color:#fff!important;
  -webkit-text-fill-color:#fff!important;font-weight:800!important;line-height:1.2!important;
  text-decoration:none!important;cursor:pointer!important;box-shadow:0 10px 26px rgba(0,92,145,.22)!important;
}
a.btn:hover,button.btn:hover,input.btn:hover,
a.button:hover,button.button:hover,input.button:hover,
a.cta-readable:hover,button.cta-readable:hover{
  background:#005f93!important;border-color:#005f93!important;color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
a.btn:focus-visible,button.btn:focus-visible,input.btn:focus-visible,
a.button:focus-visible,button.button:focus-visible,input.button:focus-visible,
a.cta-readable:focus-visible,button.cta-readable:focus-visible{
  outline:3px solid #7dd3fc!important;outline-offset:3px!important;
}
/* Echte Sekundär-/helle Buttons bleiben klar lesbar */
a.btn.secondary,a.button.light,a.button.ghost-dark{
  background:#fff!important;color:#0b4f73!important;-webkit-text-fill-color:#0b4f73!important;
  border-color:#a9c9da!important;box-shadow:none!important;
}
a.btn.secondary:hover,a.button.light:hover,a.button.ghost-dark:hover{
  background:#eaf7fd!important;color:#003f61!important;-webkit-text-fill-color:#003f61!important;
  border-color:#007CBF!important;
}
@media(max-width:760px){a.cta-readable,button.cta-readable{width:100%!important}}

/* Drei-S Zaunplaner */
.config-hero{background:linear-gradient(180deg,#f8fafc 0%,#fff 100%)}

/* Startseite: bewusst nur der Bereich der vier Solarzaun-Produkte */
.solar-products-section{background-color:#444!important}

/* Startseite: Prozess ohne Nummernkarten */
.process-flow{list-style:none;margin:clamp(42px,6vw,72px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #dbe5eb;border-bottom:1px solid #dbe5eb}
.process-step{position:relative;min-width:0;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:18px;padding:clamp(28px,2.6vw,40px) clamp(20px,2.4vw,34px);border-right:1px solid #dbe5eb}
.process-step:nth-child(4n){border-right:0}.process-step:nth-child(n+5){border-top:1px solid #dbe5eb}
.process-icon{display:block;width:44px;height:44px;color:#007CBF}.process-icon svg{display:block;width:100%;height:100%}
.process-copy h3{margin:0;color:#111c24;font-size:clamp(16px,1.25vw,19px);font-weight:750;line-height:1.35;letter-spacing:-.02em;text-wrap:balance}
.process-copy p{margin:10px 0 0;max-width:34ch;color:#546672;font-size:13px;line-height:1.65;text-wrap:pretty}
@media(max-width:1100px){.process-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.process-step:nth-child(4n){border-right:1px solid #dbe5eb}.process-step:nth-child(2n){border-right:0}.process-step:nth-child(n+3){border-top:1px solid #dbe5eb}}
@media(max-width:640px){.process-flow{display:block;border-bottom:0}.process-step{grid-template-columns:42px minmax(0,1fr);gap:16px;padding:24px 4px;border-right:0!important;border-top:0!important;border-bottom:1px solid #dbe5eb}.process-icon{width:38px;height:38px}.process-copy h3{font-size:17px}.process-copy p{max-width:42ch}}

/* Galerie: großzügige Referenzwelt mit filterbarem Projektraster */
.gallery-kicker{margin:0;color:#0088c9;font-size:12px;font-weight:850;letter-spacing:.2em;line-height:1.4;text-transform:uppercase}
.gallery-hero{display:flex!important;min-height:clamp(510px,72vh,780px);align-items:flex-end;background:#0b141b}
.gallery-hero-shell{position:relative;z-index:2;width:100%}
.gallery-hero-card{width:min(720px,calc(100% - 32px));margin-left:0;padding:clamp(28px,4vw,54px);background:#fff;color:#111c24}
.gallery-hero-card h1{max-width:650px;margin:16px 0 18px;font-size:clamp(42px,6vw,78px);font-weight:760;letter-spacing:-.035em;line-height:.98;text-wrap:balance}
.gallery-hero-card>p:not(.gallery-kicker){max-width:620px;margin:0;color:#536672;font-size:clamp(16px,1.35vw,19px);line-height:1.65}
.gallery-hero-total{display:inline-flex;margin-top:26px;padding-top:14px;border-top:1px solid #d9e3e9;color:#111c24;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.gallery-section{padding:clamp(80px,10vw,144px) 0;background:#f7f9fa}
.gallery-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);align-items:end;gap:48px;margin-bottom:46px}
.gallery-intro h2,.gallery-cta h2{max-width:820px;margin:14px 0 0;color:#111c24;font-size:clamp(36px,4.2vw,64px);font-weight:760;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}
.gallery-intro>p{max-width:490px;margin:0;color:#586b77;font-size:16px;line-height:1.75}
.gallery-filter-wrap{position:sticky;top:80px;z-index:20;margin:0 0 20px;padding:12px 0;background:rgba(247,249,250,.96);box-shadow:0 1px 0 rgba(11,20,27,.08)}
.gallery-filters{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:thin;overscroll-behavior-inline:contain}
.gallery-filter{display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;gap:11px;padding:9px 15px;border:1px solid #cbd8df;border-radius:999px;background:#fff;color:#314652;cursor:pointer;font-size:13px;font-weight:750;transition:border-color .18s ease,background-color .18s ease,color .18s ease}
.gallery-filter b{display:grid;min-width:23px;height:23px;place-items:center;border-radius:999px;background:#edf3f6;color:#59707d;font-size:10px;font-weight:800}
.gallery-filter:hover{border-color:#0088c9;color:#006d9f}.gallery-filter[aria-pressed="true"]{border-color:#007cbf;background:#007cbf;color:#fff}.gallery-filter[aria-pressed="true"] b{background:#fff;color:#006ea5}
.gallery-grid{display:grid;grid-auto-flow:dense;grid-auto-rows:235px;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.gallery-item{position:relative;grid-column:span 4;min-width:0;overflow:hidden;border:0;border-radius:6px;background:#dfe7eb;cursor:zoom-in;padding:0;text-align:left}
.gallery-item.is-wide{grid-column:span 8}.gallery-item.is-tall{grid-row:span 2}
.gallery-item[hidden]{display:none!important}
.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.gallery-item-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(5,12,17,.76));opacity:.72;transition:opacity .25s ease}
.gallery-item-meta{position:absolute;inset:auto 0 0;display:flex;align-items:end;justify-content:space-between;gap:18px;padding:22px;color:#fff;transform:translateY(3px);transition:transform .25s ease}
.gallery-item-meta>span{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.gallery-item-meta strong{font-size:12px;font-weight:700;opacity:0;transform:translateX(-5px);transition:opacity .2s ease,transform .2s ease;white-space:nowrap}.gallery-item-meta i{font-style:normal;font-size:15px}
.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.035)}.gallery-item:hover .gallery-item-shade,.gallery-item:focus-visible .gallery-item-shade{opacity:1}.gallery-item:hover .gallery-item-meta,.gallery-item:focus-visible .gallery-item-meta{transform:none}.gallery-item:hover .gallery-item-meta strong,.gallery-item:focus-visible .gallery-item-meta strong{opacity:1;transform:none}
.gallery-item:focus-visible,.gallery-filter:focus-visible,.gallery-lightbox button:focus-visible{outline:3px solid #53bff0;outline-offset:3px}
.gallery-public-empty{padding:80px 24px;border-top:1px solid #d6e0e5;text-align:center}.gallery-public-empty h3{margin:0 0 8px;color:#111c24;font-size:28px}.gallery-public-empty p{margin:0;color:#586b77}
.gallery-cta{padding:clamp(70px,8vw,110px) 0;background:#fff}.gallery-cta-inner{display:flex;align-items:end;justify-content:space-between;gap:42px}.gallery-cta h2{max-width:780px;font-size:clamp(34px,4vw,58px)}.gallery-cta .btn{flex:0 0 auto}
.gallery-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(5,10,14,.97);color:#fff}.gallery-lightbox::backdrop{background:rgba(5,10,14,.92)}.gallery-lightbox[open]{display:block}
.gallery-lightbox-stage{position:relative;display:grid;width:100%;height:100%;grid-template-columns:84px minmax(0,1fr) 84px;align-items:center;padding:70px 20px 24px}
.gallery-lightbox-figure{display:flex;min-width:0;height:100%;margin:0;flex-direction:column;align-items:center;justify-content:center;gap:16px}.gallery-lightbox-figure img{display:block;max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.36)}
.gallery-lightbox-figure figcaption{display:flex;width:min(100%,980px);align-items:center;justify-content:space-between;gap:20px;color:#fff}.gallery-lightbox-figure figcaption strong{font-size:12px;letter-spacing:.12em;text-transform:uppercase}.gallery-lightbox-figure figcaption span{color:rgba(255,255,255,.58);font-size:12px;font-variant-numeric:tabular-nums}
.gallery-lightbox-close,.gallery-lightbox-nav{display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;line-height:1;transition:background-color .18s ease,border-color .18s ease}.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover{border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.16)}
.gallery-lightbox-close{position:absolute;z-index:2;top:20px;right:24px;width:46px;height:46px;font-size:31px;font-weight:200}.gallery-lightbox-nav{width:54px;height:54px;justify-self:center;font-size:38px;font-weight:200}.gallery-lightbox-prev{grid-column:1}.gallery-lightbox-next{grid-column:3}.gallery-lightbox-figure{grid-column:2;grid-row:1}.gallery-lightbox-open{overflow:hidden}
@media(max-width:1024px){.gallery-intro{grid-template-columns:1fr}.gallery-grid{grid-auto-rows:220px;grid-template-columns:repeat(6,minmax(0,1fr))}.gallery-item{grid-column:span 3}.gallery-item.is-wide{grid-column:span 6}.gallery-filter-wrap{top:80px}.gallery-cta-inner{align-items:start;flex-direction:column}.gallery-lightbox-stage{grid-template-columns:64px minmax(0,1fr) 64px}}
@media(max-width:640px){.gallery-hero{min-height:610px}.gallery-hero-shell{padding:0}.gallery-hero-card{width:calc(100% - 24px);padding:27px 23px}.gallery-hero-card h1{font-size:42px}.gallery-section{padding:76px 0}.gallery-intro{gap:20px;margin-bottom:32px}.gallery-intro h2{font-size:39px}.gallery-filter-wrap{top:80px;margin-inline:-20px;padding-inline:20px}.gallery-grid{grid-auto-rows:170px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-item{grid-column:span 1}.gallery-item.is-wide{grid-column:span 2}.gallery-item-meta{padding:14px}.gallery-item-meta>span{font-size:10px}.gallery-item-meta strong{display:none}.gallery-lightbox-stage{grid-template-columns:1fr;padding:64px 14px 84px}.gallery-lightbox-figure{grid-column:1;grid-row:1}.gallery-lightbox-figure img{max-height:calc(100dvh - 190px)}.gallery-lightbox-prev,.gallery-lightbox-next{position:absolute;bottom:20px;width:50px;height:50px}.gallery-lightbox-prev{left:calc(50% - 60px)}.gallery-lightbox-next{right:calc(50% - 60px)}.gallery-lightbox-close{top:12px;right:14px}.gallery-lightbox-figure figcaption{align-items:flex-start;flex-direction:column;gap:4px}.gallery-cta .btn{width:100%!important}}
@media(prefers-reduced-motion:reduce){.gallery-item img,.gallery-item-meta,.gallery-item-meta strong{transition:none!important}}

/* Datenschutz-Einwilligung */
.cookie-banner[hidden]{display:none!important}.cookie-banner{position:fixed;z-index:90;right:20px;bottom:20px;display:grid;width:min(660px,calc(100vw - 40px));grid-template-columns:minmax(0,1fr) 190px;gap:28px;padding:26px;border:1px solid #d6e1e7;border-radius:14px;background:#fff;color:#14212b;box-shadow:0 14px 38px rgba(7,18,26,.22)}.cookie-banner-copy>span,.cookie-dialog header span{color:#007cbf;font-size:10px;font-weight:850;letter-spacing:.16em}.cookie-banner h2,.cookie-dialog h2{margin:7px 0 8px;font-size:23px;line-height:1.15;letter-spacing:-.025em}.cookie-banner p,.cookie-dialog p{margin:0;color:#50636f;font-size:13px;line-height:1.6}.cookie-legal-links{display:flex;gap:15px;margin-top:12px}.cookie-legal-links a{color:#006da7;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.cookie-actions{display:grid;align-content:center;gap:8px}.cookie-actions button,.cookie-dialog button{min-height:42px;padding:10px 14px;border:1px solid #b9c9d2;border-radius:8px;background:#fff;color:#1c303c;cursor:pointer;font-size:12px;font-weight:800}.cookie-actions .cookie-primary,.cookie-dialog .cookie-primary{border-color:#007cbf;background:#007cbf;color:#fff}.cookie-actions button:hover,.cookie-dialog button:hover{border-color:#007cbf}.cookie-dialog{width:min(680px,calc(100vw - 32px));max-width:none;padding:0;border:0;border-radius:14px;background:#fff;color:#14212b}.cookie-dialog::backdrop{background:rgba(6,14,20,.72)}.cookie-dialog-card{padding:0}.cookie-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 18px;border-bottom:1px solid #dce5ea}.cookie-dialog .cookie-close{min-width:40px;height:40px;padding:0;border-color:#dce5ea;font-size:25px}.cookie-dialog-intro{padding:20px 26px}.cookie-category{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 26px;padding:18px 0;border-top:1px solid #e1e8ec}.cookie-category strong{display:block;margin-bottom:4px;font-size:14px}.cookie-category p{max-width:54ch;font-size:12px}.cookie-always{flex:0 0 auto;color:#247445;font-size:11px;font-weight:800}.cookie-category-toggle{position:relative;cursor:pointer}.cookie-category-toggle input{position:absolute;width:1px;height:1px;opacity:0}.cookie-switch{position:relative;width:48px;height:27px;flex:0 0 auto;border-radius:999px;background:#becbd2;transition:background-color .18s ease}.cookie-switch:after{position:absolute;top:4px;left:4px;width:19px;height:19px;border-radius:50%;background:#fff;content:"";transition:transform .18s ease}.cookie-category-toggle input:checked+.cookie-switch{background:#007cbf}.cookie-category-toggle input:checked+.cookie-switch:after{transform:translateX(21px)}.cookie-category-toggle input:focus-visible+.cookie-switch{outline:3px solid #7dd3fc;outline-offset:3px}.cookie-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding:18px 26px;border-top:1px solid #dce5ea;background:#f6f8f9}.cookie-settings-reopen{position:fixed;z-index:45;right:14px;bottom:12px;padding:7px 10px;border:1px solid #cbd7de;border-radius:7px;background:#fff;color:#35505e;cursor:pointer;font-size:10px;font-weight:700;box-shadow:0 3px 8px rgba(10,20,28,.12)}.cookie-banner:not([hidden])~.cookie-settings-reopen{display:none}
@media(max-width:680px){.cookie-banner{right:10px;bottom:10px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px);grid-template-columns:1fr;gap:18px;overflow:auto;padding:21px}.cookie-actions{grid-template-columns:1fr 1fr}.cookie-actions .cookie-primary{grid-column:1/-1}.cookie-dialog header,.cookie-dialog-intro,.cookie-dialog footer{padding-inline:20px}.cookie-category{align-items:flex-start;margin-inline:20px}.cookie-dialog footer{align-items:stretch;flex-direction:column}.cookie-dialog footer button{width:100%}.cookie-settings-reopen{right:8px;bottom:8px}}

/* Rechtliche Seiten */
.legal-hero p:last-child{max-width:720px}.legal-shell{display:grid;grid-template-columns:240px minmax(0,820px);align-items:start;justify-content:center;gap:clamp(40px,7vw,110px)}.legal-toc{position:sticky;top:112px;display:grid;gap:4px;padding:20px;border:1px solid #dbe2e8;border-radius:16px;background:#f7f9fa;font-size:13px}.legal-toc strong{margin:0 0 8px;color:#11171d}.legal-toc a{padding:7px 9px;border-radius:7px;color:#52606c}.legal-toc a:hover,.legal-toc a:focus{background:#fff;color:#007cbf}.legal-content{min-width:0}.legal-content article{padding:0 0 48px;margin:0 0 48px;border-bottom:1px solid #dbe2e8;scroll-margin-top:120px}.legal-content h2{margin:.2em 0 .65em;font-size:clamp(25px,3vw,38px);line-height:1.12;letter-spacing:-.035em}.legal-content p{color:#4b5965}.legal-content address{font-style:normal;font-size:18px;line-height:1.7}.legal-content code{padding:.12em .38em;border-radius:5px;background:#eef3f6;font-size:.9em;overflow-wrap:anywhere}.legal-content a{color:#007cbf;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.legal-kicker{margin:0!important;color:#007cbf!important;font-size:11px!important;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.legal-facts{margin:28px 0 0;border-top:1px solid #dbe2e8}.legal-facts div{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);gap:24px;padding:15px 0;border-bottom:1px solid #dbe2e8}.legal-facts dt{color:#64717c;font-size:13px}.legal-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}.legal-note{padding:22px 24px;border-left:3px solid #007cbf;background:#f3f6f8;border-radius:0 12px 12px 0}.legal-note p{margin:.4em 0 0;font-size:13px}
@media(max-width:800px){.legal-shell{grid-template-columns:1fr}.legal-toc{position:static}.legal-content article{scroll-margin-top:90px}.legal-facts div{grid-template-columns:1fr;gap:4px}}

/* CMS-Bildausschnitte und Produktunterlagen */
.cms-image-frame,.solar-detail-image-frame,.product-hero-image-frame{position:relative;overflow:hidden}.solar-detail-image-frame{aspect-ratio:4/5;border-radius:1.5rem;background:#edf2f5;box-shadow:0 22px 55px rgba(17,32,42,.12)}.cms-image-frame img,.solar-detail-image-frame img,.product-hero-image-frame img{will-change:scale}.site-logo-link,.footer-logo-box{overflow:hidden}.product-hero-image-frame{width:100%;max-height:600px;aspect-ratio:4/3;border-radius:16px;background:#e5ebee}.product-hero-image-frame img{width:100%;height:100%;object-fit:cover}.solar-downloads{padding:clamp(70px,8vw,110px) 0;background:#101820;color:#fff}.solar-downloads-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);align-items:start;gap:clamp(40px,7vw,100px)}.solar-downloads h2{max-width:680px;margin:10px 0 16px;font-size:clamp(32px,4vw,54px);line-height:1.03;letter-spacing:-.035em}.solar-downloads-grid>div:first-child>p:last-child{max-width:600px;margin:0;color:rgba(255,255,255,.58)}.solar-download-list{display:grid;border-top:1px solid rgba(255,255,255,.16)}.solar-download-list a{display:grid;grid-template-columns:48px minmax(0,1fr) 34px;align-items:center;gap:16px;min-height:88px;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.16);transition:background-color .18s ease,padding .18s ease}.solar-download-list a:hover,.solar-download-list a:focus-visible{padding-inline:12px;background:rgba(255,255,255,.055)}.solar-download-icon{display:grid;width:44px;height:48px;place-items:center;border:1px solid rgba(113,202,241,.48);border-radius:7px;color:#71caf1;font-size:9px;font-weight:850;letter-spacing:.08em}.solar-download-list strong,.solar-download-list small{display:block}.solar-download-list strong{font-size:15px}.solar-download-list small{margin-top:4px;color:rgba(255,255,255,.5);font-size:11px}.solar-download-list i{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#007cbf;font-style:normal}.solar-download-list a:focus-visible{outline:3px solid #71caf1;outline-offset:3px}
@media(max-width:800px){.solar-downloads-grid{grid-template-columns:1fr}.solar-download-list{margin-top:5px}.product-hero-image-frame{aspect-ratio:16/10}}

/* Maßstabile Bildfläche: CMS-Zoom wird innerhalb des Containers beschnitten. */
.cms-image-frame,.cms-image-viewport,.solar-detail-image-frame,.product-hero-image-frame,.site-logo-link,.footer-logo-box{overflow:hidden;contain:paint}
.cms-image-viewport{position:relative;width:100%;min-width:0;background:#e5ebee}
.cms-image-viewport--wide{aspect-ratio:16/9}
.cms-image-viewport--catalogue,.cms-image-viewport--product{aspect-ratio:16/10}
.cms-image-viewport>img{display:block;width:100%!important;height:100%!important;max-width:none!important;will-change:scale}
/* Produktkatalog: Bildflaeche randlos – .catalogue-card>div{padding} nicht auf die Bildzelle */
.catalogue-card>.cms-image-viewport{padding:0}
.catalogue-card .cms-image-viewport,.light-grid .product-card .cms-image-viewport{background:#fff}

/* Einheitliches Seitensystem – typografisch an der Solarzaun-Seite ausgerichtet. */
:root{
  --subpage-hero-height:560px;
  --heading-h1:clamp(2.5rem,4.5vw,4rem);
  --heading-h2:clamp(2rem,3.8vw,3.375rem);
  --heading-h3:clamp(1.25rem,2vw,1.625rem);
  --heading-tracking:-.035em;
}
.page-hero:not(.compact),.request-hero,.gallery-hero,.product-hero{height:var(--subpage-hero-height)!important;min-height:var(--subpage-hero-height)!important;max-height:var(--subpage-hero-height)!important}
.page-hero:not(.compact){display:flex;flex-direction:column;justify-content:flex-end;padding:120px var(--pad) 70px!important;overflow:hidden}
.page-hero h1,.request-hero h1,.gallery-hero h1,.product-hero h1,.display{
  font-family:Manrope,Inter,ui-sans-serif,system-ui,sans-serif!important;
  font-size:var(--heading-h1)!important;font-weight:700!important;line-height:1.02!important;
  letter-spacing:var(--heading-tracking)!important;text-wrap:balance;
}
.section-title,.section h2,.section-pad h2,.cta h2,.gallery-intro h2,.gallery-cta h2,.solar-downloads h2{
  font-family:Manrope,Inter,ui-sans-serif,system-ui,sans-serif!important;
  font-size:var(--heading-h2)!important;font-weight:700!important;line-height:1.06!important;
  letter-spacing:var(--heading-tracking)!important;text-wrap:balance;
}
.section h3,.section-pad h3,.product-card h3,.product-card h2{
  font-family:Manrope,Inter,ui-sans-serif,system-ui,sans-serif!important;
  font-size:var(--heading-h3)!important;font-weight:700!important;line-height:1.18!important;
  letter-spacing:-.025em!important;text-wrap:balance;
}
.equal-image-grid{align-items:stretch}.equal-image-frame{width:100%;height:auto;aspect-ratio:4/5;background:#e5ebee}.equal-image-frame>img{display:block;width:100%!important;height:100%!important;max-width:none!important}
.solar-card-copy{display:grid;gap:8px}.solar-card-copy p{margin:0;line-height:1.65}
@media(max-width:760px){.product-hero{height:auto!important;max-height:none!important;min-height:var(--subpage-hero-height)!important}}
@media(max-width:640px){:root{--subpage-hero-height:520px}.page-hero:not(.compact){padding:108px 20px 52px!important}.gallery-hero{min-height:var(--subpage-hero-height)!important}.gallery-hero-card h1{font-size:var(--heading-h1)!important}}

/* Einheitliche Textflucht in allen bildfüllenden Unterseiten-Headern.
   Feste Desktop-Zeilen verhindern, dass kurze Titel tiefer als lange Titel stehen. */
.page-hero.cms-hero:not(.compact){
  display:grid!important;
  grid-template-columns:minmax(0,920px)!important;
  grid-template-rows:17px 132px minmax(0,76px)!important;
  align-content:start!important;
  justify-content:start!important;
  gap:18px 0!important;
  padding:190px var(--pad) 54px!important;
}
.page-hero.cms-hero:not(.compact)::after{
  position:absolute;inset:0;z-index:1;display:block;pointer-events:none;content:"";
  background:linear-gradient(90deg,rgba(4,11,16,.38) 0%,rgba(4,11,16,.22) 48%,rgba(4,11,16,.06) 70%,transparent 86%);
}
.page-hero.cms-hero:not(.compact) > p.eyebrow{
  grid-row:1;
  width:min(920px, 100%);
  max-width:none !important;
  margin:0 !important;
  color:rgb(158,220,255) !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:17px !important;
  letter-spacing:.2em !important;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.9);
}
.page-hero.cms-hero:not(.compact) > h1{
  grid-row:2;
  align-self:start;
  width:min(920px, 100%);
  max-width:none !important;
  margin:0 !important;
  color:rgb(255,255,255) !important;
  text-shadow:0 2px 22px rgba(0,0,0,.82),0 1px 3px rgba(0,0,0,.95);
}
.page-hero.cms-hero:not(.compact) > h1 + p{
  grid-row:3;
  align-self:start;
  width:min(760px, 100%);
  max-width:none !important;
  margin:0 !important;
  color:rgb(255,255,255) !important;
  font-size:clamp(17px, 1.35vw, 20px) !important;
  font-weight:600 !important;
  line-height:1.5 !important;
  text-shadow:0 2px 16px rgba(0,0,0,.95),0 1px 2px #000;
}
@media(max-width:900px){
  .page-hero.cms-hero:not(.compact){
    grid-template-columns:minmax(0,1fr)!important;grid-template-rows:max-content max-content max-content!important;
    align-content:end!important;gap:15px 0!important;padding:120px var(--pad) 54px!important;
  }
  .page-hero.cms-hero:not(.compact) > h1{font-size:clamp(2.35rem,7.5vw,3.6rem) !important;line-height:1.03 !important}
}
@media(max-width:640px){
  .page-hero.cms-hero:not(.compact){gap:13px 0!important;padding:96px 20px 44px!important}
  .page-hero.cms-hero:not(.compact) > p.eyebrow{font-size:10px !important;line-height:15px !important}
  .page-hero.cms-hero:not(.compact) > h1 + p{font-size:16px !important;line-height:1.55 !important}
}

/* Einheitliche Symbolsprache statt dekorativer 01/02/03-Nummerierung. */
.feature-symbol{display:grid;width:46px;height:46px;place-items:center;color:#007cbf}.feature-symbol svg{display:block;width:42px;height:42px}.home-intro-card h3{margin-top:30px!important}
.solar-planning-list{list-style:none;padding:0}.solar-planning-list li{align-items:center}.solar-step-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;color:#70c8f2}.solar-step-icon svg{display:block;width:27px;height:27px}
.request-step-list li>span svg{display:block;width:18px;height:18px}.request-step-list li.is-complete>span svg{display:none}
@media(max-width:640px){.feature-symbol{width:42px;height:42px}.feature-symbol svg{width:38px;height:38px}.solar-step-icon{width:30px;height:30px;flex-basis:30px}.solar-step-icon svg{width:24px;height:24px}}
