/* Markisen identity, preserving the live Elektro reference layout. */
.brand.markisen-brand { display:flex; flex-direction:column; align-items:flex-start; gap:2px; width:178px; flex-shrink:0; }
.brand.markisen-brand img { width:178px; height:auto; }
.brand.markisen-brand > span { display:block; font-size:9px; font-weight:800; line-height:1.2; letter-spacing:2.5px; color:#555; padding-left:39px; }
.footer .brand.markisen-brand { background:#fff; padding:10px 12px; border-radius:5px; width:210px; margin-bottom:18px; }
.footer .brand.markisen-brand img { filter:none; mix-blend-mode:normal; width:180px; }
.footer .brand.markisen-brand > span { color:#555; }
.footer-top { grid-template-columns:1.3fr 1.1fr .8fr 1fr; }
.footer-original-column a,.footer-original-column span { display:block; }
.footer-original-column a { font-size:12px; margin:7px 0; }
.footer-original-column h3,.footer-original-column h4 { font-size:15px; color:#fff; letter-spacing:0; margin-bottom:20px; }
.footer-original-column p { font-size:12px; }
.footer-top > div > strong { display:block; color:#fff; font-size:14px; margin-bottom:10px; }
.markisen-cost-row { grid-template-columns:minmax(0,1fr) 22px; }
.ez-emergency-prices > p { color:#d2d8d8; font-size:13px; line-height:1.8; }
.ez-emergency-prices > h3 { font-size:29px; color:#fff; margin:16px 0; }
.hero-kicker > .icon { width:46px; height:46px; color:#ff9512; }
.markisen-hero .hero-copy .seo-original-h1 { font-size:clamp(31px,3.1vw,46px); text-transform:none; max-width:620px; line-height:1.12; }
.markisen-hero .hero-copy .hero-lead { font-size:18px; line-height:1.5; margin-top:17px; }
.markisen-hero .hero-copy .hero-service-line { font-size:18px; }
.markisen-hero .hero-team-signature { max-width:350px; }
.markisen-inner-hero { background:#192326; color:#fff; padding:65px 0 72px; }
.markisen-inner-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:65px; align-items:center; }
.markisen-inner-hero h1 { font-size:clamp(31px,3.5vw,50px); line-height:1.14; overflow-wrap:anywhere; }
.markisen-inner-hero .eyebrow { color:#ff9633; margin:26px 0 18px; }
.markisen-back { font-size:11px; color:#c8d3d3; }
.markisen-inner-hero p { color:#e1e5e5; font-size:16px; }
.markisen-inner-hero figure { margin:0; }
.markisen-inner-hero figure img { width:100%; height:350px; object-fit:cover; border-radius:7px; }
.markisen-inner-hero figcaption { font-size:12px; color:#b8c5c5; margin-top:12px; }
.sauna-service-track { grid-template-columns:repeat(6,minmax(0,1fr)); }
.sauna-service-track > div { line-height:1.35; }
.section-intro > p { max-width:430px; }
.source-section { overflow-wrap:anywhere; }
.source-section > div { margin:0; }
.source-section h2 { font-size:29px; margin-bottom:22px; }
.source-section h3 { font-size:20px; margin:24px 0 12px; }
.source-section h4 { font-size:18px; }
.source-section p,.source-section li { font-size:15px; line-height:1.85; }
.source-section ul,.source-section ol { padding-left:22px; }
.source-section a { text-decoration:underline; text-decoration-color:#ecb195; text-underline-offset:3px; }
.source-section a:has(h3) { display:block; margin:25px 0; text-decoration:none; }
.source-section details { margin:10px 0; border:1px solid #e2e2db; padding:16px; border-radius:7px; }
.source-section summary { cursor:pointer; font-weight:750; }
.source-section details p:first-of-type { margin-top:12px; }
.contact-copy .provider-note { font-size:11px; margin-top:25px; opacity:.8; }
.contact-person { display:flex; gap:14px; align-items:center; margin:28px 0; font-size:12px; }
.contact-person img { border-radius:50%; width:64px; height:64px; object-fit:cover; }
.contact-phone { display:flex; gap:15px; align-items:center; margin-top:26px; font-weight:850; font-size:28px; }
.contact-phone small { display:block; font-size:11px; font-weight:500; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.inquiry-form label small { font-weight:400; color:#69716d; }
.inquiry-form .consent { display:flex; align-items:flex-start; gap:10px; font-size:11px; line-height:1.65; font-weight:400; margin:16px 0; }
.inquiry-form .consent input { width:18px; min-width:18px; height:18px; margin:3px 0 0; padding:0; }
.form-status:empty { display:none; }
.form-status { margin:15px 0; padding:13px; font-size:13px; background:#f2f1ec; }
.form-status[data-state=error] { background:#fff0ed; color:#a12119; }
.form-status[data-state=success] { background:#e4f5e8; color:#185c34; }
.form-submit { width:100%; }
.project-lightbox figure { margin:0; }
.project-lightbox img { max-height:78vh; object-fit:contain; width:auto; margin:auto; }
.project-lightbox figcaption strong,.project-lightbox figcaption span { display:block; }
.project-lightbox figcaption { padding:15px; }
.district-grid a { min-width:0; }
.district-grid a span { white-space:normal; }
.ez-reader-index-body a { overflow-wrap:anywhere; }
@media(max-width:1100px) { .brand.markisen-brand,.brand.markisen-brand img { width:156px; }.brand.markisen-brand > span { font-size:8px; padding-left:34px; letter-spacing:2px; }.desktop-nav { gap:12px; }.footer-top { grid-template-columns:1fr 1fr; gap:36px; }.markisen-inner-grid { gap:30px; } }
@media(max-width:800px) {
 .markisen-hero .hero-team-photo img { object-position:center top; }
 .markisen-hero .hero-copy { padding-top:clamp(280px,70vw,460px); }
 .markisen-hero .hero-copy .seo-original-h1 { font-size:clamp(28px,7.1vw,38px); line-height:1.12; letter-spacing:-1px; }
 .markisen-hero .hero-copy .hero-service-line { font-size:15px; margin-top:14px; }
 .markisen-hero .hero-copy .hero-lead { font-size:16px; }
 .markisen-hero .hero-copy .hero-buttons { display:flex; margin-top:20px; }
 .markisen-hero .hero-kicker .eyebrow { font-size:9px; letter-spacing:1.1px; }
 .markisen-hero .hero-kicker > .icon { width:32px; height:32px; }
 .markisen-inner-grid { grid-template-columns:1fr; }
 .markisen-inner-hero { padding:40px 0; }
 .markisen-inner-hero h1 { font-size:32px; }
 .markisen-inner-hero figure img { height:230px; }
 .sauna-service-track { display:flex; overflow:auto; }
 .sauna-service-track > div { flex:0 0 150px; }
 .utility-inner > span:nth-child(2) { display:none; }
 .brand.markisen-brand,.brand.markisen-brand img { width:145px; }
 .brand.markisen-brand > span { padding-left:31px; font-size:7px; }
 .header-call { font-size:11px; padding:10px 8px; }
 .header-inner { gap:7px; }
 .menu-button { width:36px; }
 .source-section h2 { font-size:25px; }
 .form-row { grid-template-columns:1fr; gap:0; }
 .footer-top { grid-template-columns:1fr 1fr; }
 .contact-phone { font-size:25px; }
}
@media(max-width:380px) { .brand.markisen-brand,.brand.markisen-brand img { width:130px; }.brand.markisen-brand > span { padding-left:29px; letter-spacing:1.6px; }.header-call { font-size:10px; }.header-call .icon { width:15px; }.footer-top { grid-template-columns:1fr; } }
/* Rollladen pages retain their original footers and technical articles. */
.footer-top { grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr); }
.footer-preserved > div > div { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:28px; }
.footer-preserved p { font-size:12px; line-height:1.75; }
.footer-preserved strong { font-size:14px; color:#fff; }
.footer-preserved a { font-size:12px; line-height:1.7; display:inline-block; margin:3px 0; }
.footer-preserved div > a { display:block; }
.footer-preserved span { display:block; }
.form-trap { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
.form-status[data-state=pending] { background:#fff3d8;color:#6d4b04; }
.inquiry-form select { display:block;width:100%;padding:15px 12px;border:1px solid #ccd1c8;border-radius:2px;background:white;font:inherit;min-height:51px;margin:7px 0 17px; }
.source-section img { max-height:500px;object-fit:contain; }
@media(max-width:900px) { .footer-top { grid-template-columns:1fr; }.footer-preserved > div > div { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) { .footer-preserved > div > div { grid-template-columns:1fr;gap:22px; } }

/* Rollladen service badge and retained editorial post catalogue. */
.rollladen-brand { display:flex; align-items:center; width:224px; flex:0 0 224px; }
.rollladen-brand img {display:block; width:100%; height:auto; max-height:84px; object-fit:contain;}
.footer .rollladen-brand {width:264px; margin-bottom:18px;}
.rollladen-blog-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px;}
.rollladen-blog-grid > div,.rollladen-blog-grid > article {padding:20px; border:1px solid #d9d9d2; border-radius:14px; background:#fff;}
.rollladen-blog-grid h2 {font-size:23px;line-height:1.2;}
.rollladen-blog-grid p {font-size:15px;}
.rollladen-blog-grid img {width:100%;border-radius:9px;}
@media(max-width:800px){.rollladen-brand{width:176px;flex-basis:176px}.rollladen-brand img{max-height:72px}.mobile-menu-top .rollladen-brand{width:195px;flex-basis:195px}.rollladen-blog-grid{grid-template-columns:1fr}.footer .rollladen-brand{width:230px}}
