/* ENERLYT / Entwurf 02 */
:root{--ink:#172d36;--muted:#59666c;--line:#dce1e2;--paper:#f4f6f6;--accent:#ef891c;--page:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.65 "Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:inherit;font-family:inherit;font-weight:600;line-height:1.16;letter-spacing:-.035em}h1{font-size:clamp(38px,4.3vw,62px)}h2{font-size:clamp(28px,2.5vw,36px)}h3{font-size:22px;letter-spacing:-.025em}p{color:var(--muted)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a:hover{color:#ae5910}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #de7716;outline-offset:5px}img{display:block;max-width:100%;height:auto}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}[hidden]{display:none!important}::selection{background:#f3cc9f;color:var(--ink)}.wrap{width:min(var(--page),calc(100% - 112px));margin:0 auto}.section{padding-top:96px;padding-bottom:96px}.small,.meta,.optional,.privacy-note,.demo-note,figcaption{font-size:14px}.skip{position:fixed;left:20px;top:-100px;background:white;padding:12px;z-index:200}.skip:focus{top:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:50px;padding:12px 23px;border:1px solid transparent;border-radius:3px;background:var(--accent);color:#17252c;font-size:16px;font-weight:600;line-height:1.4;transition:background .2s}.button:hover{background:#ffa53c;color:#17252c}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:#e9eef0}.button-outline{background:transparent;border-color:var(--line);color:var(--ink)}.button-outline:hover{background:var(--paper)}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:16px;font-weight:600}.text-link svg{transition:transform .2s}.text-link:hover svg{transform:translateX(4px)}
/* Shared navigation */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(23,45,54,.08);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:40px}.site-header .brand{display:block;float:none;position:static;padding:0;flex:none;max-width:none}.brand img{width:174px;height:auto}#hauptnavigation{display:flex;align-items:center;gap:38px;font-size:16px}#hauptnavigation>a:not(.button),.nav-dropdown>summary{padding:14px 0}#hauptnavigation [aria-current],.nav-dropdown .active{color:#a95712}.nav-dropdown{position:relative}.nav-dropdown>summary{display:flex;align-items:center;gap:12px;list-style:none}.nav-dropdown>summary:after{content:"";width:7px;height:7px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg);margin-top:-4px}.nav-dropdown[open]>summary:after{transform:rotate(225deg);margin-top:4px}summary::-webkit-details-marker{display:none}.dropdown-panel{position:absolute;top:calc(100% + 15px);left:-28px;background:white;width:365px;border:1px solid var(--line);box-shadow:0 18px 42px #172d361a;padding:16px 26px}.dropdown-panel a{display:flex;align-items:center;justify-content:space-between;padding:12px 0;line-height:1.4}.dropdown-panel .all-services{border-top:1px solid var(--line);margin-top:8px;font-size:14px}.nav-cta{min-height:46px;padding:11px 20px;gap:30px}.menu-toggle{display:none}
/* Photographic introductions, with dark gradients for readable text */
.photo-hero{position:relative;isolation:isolate;background:#14262f;color:#fff;overflow:hidden}.hero{min-height:600px;display:flex;align-items:center}.photo-hero .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,27,37,.91) 0%,rgba(9,27,37,.79) 35%,rgba(9,27,37,.27) 73%,rgba(9,27,37,.13) 100%);z-index:-2}.hero-content{padding-top:90px;padding-bottom:110px}.hero-content h1{max-width:860px;text-wrap:balance}.hero-content p{color:#f0f2f3;max-width:600px;margin:25px 0 32px;line-height:1.7;font-size:18px}.hero-credit{position:absolute;right:56px;bottom:28px;display:flex;align-items:center;gap:20px;color:#fff;font-size:14px;background:#172d364f;padding:7px 12px}.hero-credit:hover{color:white;background:#172d36a8}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:40px}.section-heading p{max-width:410px}.section-heading .text-link{white-space:nowrap}
/* Six visible services; details open on demand */
.service-list{border-top:1px solid var(--line)}.service-row{border-bottom:1px solid var(--line)}.service-row>summary{list-style:none;display:grid;grid-template-columns:1.12fr 1fr 24px;align-items:center;gap:32px;padding:31px 0;transition:color .2s}.service-row>summary:hover{color:#a95712}.service-brief{color:var(--muted);font-size:16px}.expand-icon{display:block;position:relative;width:20px;height:20px;flex-shrink:0;justify-self:end;color:var(--ink)}.expand-icon:before,.expand-icon:after{content:"";position:absolute;background:currentColor;inset:9px 2px auto;height:1.5px}.expand-icon:after{transform:rotate(90deg);transition:transform .2s}details[open]>summary .expand-icon:after{transform:rotate(0)}.service-expanded{display:grid;grid-template-columns:1.12fr 1fr;gap:56px;padding:0 56px 32px 0;align-items:start}.service-expanded p{max-width:560px}.service-expanded .text-link{justify-self:start;margin-top:4px}.service-row[open]>summary .service-name{color:#a95712}.photo-band{min-height:355px;position:relative;isolation:isolate;color:white;display:flex;align-items:center;overflow:hidden;background:var(--ink)}.photo-band>img{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center 48%}.band-content{padding-top:70px;padding-bottom:70px}.band-content p{color:#eef1f2;max-width:440px;margin:18px 0 26px;font-size:18px}
/* Project gallery */
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 28px;align-items:start}.project-image{overflow:hidden;background:var(--paper);aspect-ratio:1.45}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-card:hover .project-image img{transform:scale(1.025)}.project-caption{padding-top:20px}.project-caption .meta{color:var(--muted);margin-bottom:7px}.project-caption h3{font-size:22px;line-height:1.3}.project-caption>p:last-of-type{margin-top:6px}.project-card .accordion{margin-top:20px}.project-card .accordion>summary{font-size:16px;padding:15px 0;gap:16px}.project-card .accordion-body{padding-bottom:10px;font-size:16px}.project-card .text-link{margin-top:14px;font-size:14px;gap:10px}.project-card{scroll-margin-top:125px}.project-card:target .project-image{outline:3px solid var(--accent);outline-offset:4px}.contact-strip{background:var(--paper);padding:52px 0}.contact-strip>.wrap{display:flex;justify-content:space-between;align-items:center;gap:36px}.contact-strip p{margin-top:10px}.contact-strip h2{font-size:32px}
/* Inner pages; native details controls also work without JavaScript */
.page-heading{padding-top:75px;padding-bottom:58px}.page-heading h1{font-size:clamp(36px,4vw,56px)}.page-heading>p{margin-top:22px;max-width:680px;font-size:18px}.overview-services,.reference-section{padding-top:0}.detail-hero{min-height:470px;display:flex;align-items:center}.detail-hero .hero-content{padding-top:44px;padding-bottom:54px}.detail-hero h1{font-size:clamp(34px,4vw,54px);max-width:720px;overflow-wrap:break-word}.detail-hero .hero-content p{max-width:610px;margin-top:22px}.back-link{display:inline-block;margin-bottom:24px;font-size:14px;color:#edf1f2}.back-link:before{content:"←";margin-right:10px}.back-link:hover{color:white;text-decoration:underline}.product-hero{background:#111}.product-hero .hero-image{object-fit:contain;object-position:right center;left:35%;width:65%}.detail-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:96px;align-items:start}.accordion-list{margin-top:32px}.accordion{border-top:1px solid var(--line)}.accordion:last-child{border-bottom:1px solid var(--line)}.accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:20px;font-weight:600;line-height:1.45;list-style:none;padding:24px 0}.accordion>summary:hover{color:#a95712}.accordion-body{padding:0 32px 24px 0}.accordion-body p{max-width:660px}.download-link{display:flex;align-items:center;gap:18px;margin-top:14px;color:var(--ink);text-decoration:underline;text-underline-offset:4px}.download-link svg{width:18px}.contact-card{padding:32px;background:var(--paper);border-top:3px solid var(--accent)}.contact-card h2{font-size:22px;margin-bottom:24px;letter-spacing:-.02em}.contact-card p{color:var(--ink);margin-bottom:8px}.contact-card>a{display:block;margin-top:6px;overflow-wrap:anywhere}.contact-card .text-link{display:flex;margin-top:25px;gap:14px}.detail-photo{padding-bottom:80px}.detail-photo figure{position:relative}.detail-photo img{width:100%;height:370px;object-fit:cover;object-position:center 50%}.detail-photo figcaption{color:var(--muted);margin-top:10px}.company-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-bottom:96px;align-items:start}.company-layout>img{width:100%;height:490px;object-fit:cover}.company-layout h2{margin-bottom:22px}.company-layout p{margin-bottom:28px}.company-layout .accordion-body p{margin-bottom:15px}
/* Contact form */
.contact-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:90px;align-items:start}.contact-aside h1{font-size:clamp(38px,4vw,56px)}.contact-aside>p{margin-top:25px;max-width:350px}.contact-aside>.text-link{margin-top:25px}.contact-methods{margin-top:38px;display:grid;gap:6px}.contact-methods a{font-size:20px}.form-panel{padding:36px;background:var(--paper);scroll-margin-top:120px}.form-panel h2{font-size:28px;margin-bottom:15px}.form-progress{display:flex;gap:32px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px;font-size:14px;color:var(--muted)}.form-progress .current{color:var(--ink);font-weight:600}.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:7px;color:var(--ink)}.field input,.field select,.field textarea{width:100%;min-height:47px;border:1px solid #aebabe;border-radius:2px;padding:10px 12px;background:white;color:var(--ink);max-width:100%}.field textarea{min-height:115px;resize:vertical;display:block}.field-error{display:block;color:#a42323;font-size:14px}.field [aria-invalid=true]{border-color:#ad2424}.optional{font-weight:400;color:var(--muted);margin-left:8px}.optional-fields{margin-top:23px;border-bottom:1px solid var(--line)}.optional-fields>summary{font-size:16px;padding:17px 0;justify-content:initial;gap:8px}.optional-fields .expand-icon{margin-left:auto}.optional-fields .accordion-body{padding-right:0}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.privacy-note{margin-top:20px;color:var(--muted)}.privacy-note a{text-decoration:underline;text-underline-offset:3px}.demo-note{color:var(--muted);margin-bottom:25px}.error-summary{padding:12px;background:#ffebeb;color:#922222;margin-bottom:20px;font-size:14px}.review-list{margin:24px 0 30px}.review-list>div{padding:12px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:100px 1fr;gap:20px}.review-list dt{font-size:14px;color:var(--muted)}.review-list dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.inline-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}#success-panel>.button{margin-top:25px}
/* Quiet footer; retained corporate/legal pages use their original body layout */
.site-footer{padding:60px 0 24px;background:white;color:var(--ink)}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:42px}.footer-brand img{width:150px;height:auto}.footer-top p{font-size:14px;line-height:1.7;margin-top:24px}.footer-contact{display:grid;align-content:start;gap:8px;text-align:right}.footer-contact a{font-size:16px}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:14px}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:22px}.legacy-content{font-family:inherit;color:var(--ink)}.legacy-content h1,.legacy-content h2,.legacy-content h3{font-family:inherit;letter-spacing:-.025em}.legacy-content h1{font-size:42px;line-height:1.2}.legacy-content h2{font-size:30px;line-height:1.25}.legacy-content h3{font-size:22px}.legacy-content p,.legacy-content .paragraph,.legacy-content .listenpunkt{font-family:inherit;font-size:16px;line-height:1.7}.legacy-content .heading{background:var(--paper);color:var(--ink)}
@media(min-width:1700px){.hero{min-height:680px}.hero-content{padding-top:120px;padding-bottom:140px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}#hauptnavigation{gap:25px}.header-inner{gap:25px}.hero{min-height:560px}.hero-credit{right:32px}.detail-layout{gap:48px}.contact-layout{gap:44px}.service-row>summary{gap:22px}.service-brief{max-width:320px}.project-grid{gap:38px 22px}.form-panel{padding:28px}.footer-bottom{flex-direction:column}.hero-content h1{max-width:700px}.service-row .service-name{font-size:21px}.detail-photo img{height:330px}}
@media(max-width:960px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:76px}.brand img{width:146px}.menu-toggle{display:flex;align-items:center;gap:14px;background:transparent;border:1px solid var(--line);border-radius:3px;padding:9px 12px;font-size:14px;color:var(--ink)}#hauptnavigation{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 76px);overflow-y:auto;padding:15px 24px 25px;background:white;border-bottom:1px solid var(--line);align-items:stretch;gap:8px}#hauptnavigation.is-open{display:flex;flex-direction:column}#hauptnavigation>a:not(.button){padding:10px 0}.nav-dropdown>summary{justify-content:space-between}.dropdown-panel{position:static;width:auto;padding:4px 0 12px 16px;box-shadow:none;border:0}.dropdown-panel a{font-size:16px;padding:9px 0}.nav-cta{align-self:flex-start;margin-top:10px}.hero{min-height:565px}.hero-content{padding-top:72px;padding-bottom:106px}.hero-content p{font-size:16px;max-width:470px}.hero-shade{background:linear-gradient(90deg,rgba(9,27,37,.88),rgba(9,27,37,.72) 60%,rgba(9,27,37,.4))}.hero-credit{left:20px;right:auto;bottom:22px;font-size:14px;gap:12px}.section{padding-top:62px;padding-bottom:62px}.section-heading{align-items:flex-start;gap:20px;margin-bottom:30px}.section-heading>p{max-width:270px;font-size:16px}.service-row>summary{grid-template-columns:1fr 22px;gap:6px 20px;padding:24px 0}.service-row .service-name{font-size:22px}.service-brief{grid-column:1;grid-row:2;max-width:none}.service-row .expand-icon{grid-column:2;grid-row:1/3}.service-expanded{grid-template-columns:1fr;gap:16px;padding-right:36px;padding-bottom:25px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 20px}.project-grid .project-card:last-child:nth-child(3){grid-column:1/-1;max-width:calc(50% - 10px)}.reference-section .project-grid .project-card:last-child{grid-column:auto;max-width:none}.project-caption h3{font-size:21px}.photo-band{min-height:330px}.band-content{padding-top:60px;padding-bottom:60px}.band-content p{font-size:16px}.contact-strip{padding:40px 0}.contact-strip>.wrap{align-items:flex-start}.contact-strip h2{font-size:28px}.detail-layout{grid-template-columns:1fr;gap:38px}.contact-card{display:block;max-width:none}.detail-hero{min-height:435px}.detail-hero .hero-content{padding:42px 0}.detail-hero .hero-content p{max-width:530px}.detail-photo{padding-bottom:60px}.detail-photo img{height:300px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-aside h1 br{display:none}.contact-aside>p{max-width:480px}.contact-methods{margin-top:25px}.contact-aside>p:last-of-type{display:none}.contact-aside>.text-link{margin-top:16px}.contact-methods a{font-size:18px}.form-panel{padding:30px}.page-heading{padding-top:48px;padding-bottom:38px}.overview-services,.reference-section{padding-top:0}.company-layout{grid-template-columns:1fr;gap:36px;padding-bottom:60px}.company-layout>img{height:340px}.product-hero .hero-image{left:20%;width:80%;opacity:.6}}
@media(max-width:520px){h1{font-size:38px;letter-spacing:-.04em}.hero{min-height:540px}.hero-content{padding-top:58px;padding-bottom:104px}.hero-content h1 br{display:none}.hero-content p{margin-top:22px;margin-bottom:26px;max-width:340px}.desktop-break{display:none}.photo-hero .hero-image{object-position:63% center}.hero-credit{font-size:12px;padding:6px 9px}.hero-credit svg{width:16px}.section-heading{flex-direction:column;gap:14px}.section-heading p{max-width:none}.service-row .service-name{font-size:20px;line-height:1.3}.service-brief{font-size:14px;line-height:1.5;margin-top:4px}.project-grid{grid-template-columns:1fr;gap:34px}.project-grid .project-card:last-child:nth-child(3){grid-column:auto;max-width:none}.project-caption{padding-top:15px}.project-image{aspect-ratio:1.5}.contact-strip>.wrap{flex-direction:column;gap:23px}.contact-strip h2{font-size:28px}.detail-hero h1{font-size:36px;hyphens:auto}.detail-hero .hero-content p{font-size:16px}.detail-hero{min-height:450px}.accordion>summary{font-size:18px;padding:20px 0}.accordion-body{padding-right:10px}.detail-photo img{height:240px}.contact-card{padding:25px}.form-panel{padding:25px 18px;margin:0 -8px}.form-fields{grid-template-columns:1fr}.field.full{grid-column:auto}.form-actions{align-items:flex-start;gap:14px}.form-actions .button{gap:14px;padding:12px 16px}.form-actions .small{padding-top:13px}.form-progress{gap:26px}.review-list>div{grid-template-columns:1fr;gap:4px}.footer-top{flex-direction:column;gap:25px;padding-bottom:30px}.footer-contact{text-align:left;gap:6px}.footer-bottom>div{gap:12px 20px}.site-footer{padding-top:40px}.footer-top p{margin-top:18px}.page-heading>p{font-size:16px}.inline-actions .button{width:100%}.optional-fields>summary{font-size:16px}.optional-fields .optional{font-size:14px;margin:0}.legacy-content h1{font-size:34px}.legacy-content h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.service-name{font-size:22px;font-weight:600;line-height:1.3;letter-spacing:-.025em}@media(max-width:520px){.service-name{font-size:20px}}
