:root{color-scheme:light;--ink:#192425;--muted:#506061;--yellow:#ffd331;--line:#d9ded8;--paper:#fffefa;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#eaece6;line-height:1.5}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #29625b;outline-offset:4px}p{margin:0 0 12px}h1,h2,h3{margin:0;line-height:1.06;letter-spacing:-.04em}h2{font-size:clamp(26px,4vw,37px);margin-bottom:10px}h3{font-size:20px}
.sheet{width:min(100% - 32px,810px);margin:25px auto;padding:clamp(19px,5vw,44px);background:var(--paper);box-shadow:0 16px 65px #14201b19;border:1px solid #d6d8d1}
.masthead,footer{display:flex;justify-content:space-between;align-items:center;gap:18px}.masthead{padding-bottom:15px;border-bottom:2px solid var(--ink)}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-weight:800}.brand img{object-fit:contain}.brand small{display:block;font-size:9px;letter-spacing:.12em}.toplink{font-size:13px;font-weight:700;text-underline-offset:4px}.toplink span{margin-left:4px}
.hero{position:relative;display:grid;align-items:center;min-height:186px;margin-bottom:14px;padding:25px 0;isolation:isolate}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:.145em;font-weight:800;margin:0 0 8px}.hero h1{font-size:clamp(33px,7.2vw,71px);letter-spacing:-.077em;margin:7px 0 10px}.hero h1 span{color:#a57900}.hero p:last-child{max-width:35ch;color:var(--muted);margin:0}.drawing{position:absolute;width:clamp(130px,30vw,252px);right:0;bottom:0;opacity:.5;z-index:-1}
.card{display:grid;grid-template-columns:43px minmax(0,1fr);gap:15px;margin:0 0 13px;padding:clamp(16px,3.1vw,27px);border:1px solid var(--line);border-radius:9px}.card p:not(.eyebrow){max-width:69ch;font-size:15px}.number{display:grid;place-items:center;width:42px;height:36px;border:1px solid currentColor;border-radius:5px;font-size:14px;font-weight:800}.offer{background:#fff3be;border-color:#e7cc71}.offer .number{background:var(--yellow)}.fine{color:#4a5147}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}.choice{display:flex;justify-content:space-between;align-items:center;gap:7px;background:var(--paper);border:1px solid #ded5ad;padding:11px;border-radius:5px;font-weight:800;line-height:1.16;font-size:13px;text-decoration:none}.choice small{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:4px}.choice:hover,.topic:hover{background:var(--yellow);border-color:var(--ink)}.plan{background:#f2f4ee}.consult{background:var(--ink);color:#fffdf4;border-color:var(--ink)}.consult .number,.consult .eyebrow{color:var(--yellow)}.button{display:inline-flex;align-items:center;gap:16px;min-height:41px;background:var(--ink);border:1px solid var(--ink);color:white;padding:8px 13px;border-radius:5px;text-decoration:none;font-size:13px;font-weight:800}.button:hover{background:#344648}.consult .button{background:var(--yellow);color:var(--ink)}.consult .button:hover{background:#ffe372}.consult :focus-visible{outline-color:var(--yellow)}
.topics{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 15px}.topic{background:#fafaf4;border:1px solid #d4dad0;border-radius:4px;padding:6px 9px;font-size:12px;text-align:left;font-weight:700}.topic span{padding-left:5px;color:#586561}.library{scroll-margin-top:12px}footer{padding:13px 0 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}footer div{display:flex;flex-wrap:wrap;gap:12px}
dialog{padding:0;border:1px solid var(--ink);border-radius:10px;width:min(92vw,650px);max-height:88dvh;background:var(--paper);color:var(--ink);box-shadow:0 20px 70px #0005}dialog::backdrop{background:#162221b5}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px;background:var(--yellow)}.dialog-head h2{margin:0}.close{background:var(--paper);border:1px solid var(--ink);border-radius:4px;font-size:24px;line-height:1;width:38px;height:38px}.flyer-list{overflow:auto;max-height:calc(88dvh - 100px);padding:8px 22px 22px;scroll-padding:8px}.flyer-group{padding:13px 0;border-bottom:1px solid var(--line)}.flyer-group[data-selected]{background:#fff3be;border-radius:5px;padding-inline:8px}.flyer-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding:8px 0 0}.flyer-row a{flex-shrink:0;font-weight:800;text-underline-offset:3px}.flyer-row small{display:block;color:var(--muted);margin-top:2px}
@media(max-width:550px){.sheet{width:min(100% - 16px,810px);margin:8px auto}.masthead{gap:8px}.toplink{font-size:11px}.hero{min-height:152px}.drawing{opacity:.18}.card{grid-template-columns:30px minmax(0,1fr);gap:9px}.number{width:29px;height:28px;font-size:11px}.choices{grid-template-columns:1fr}.flyer-row{align-items:flex-start}.brand{font-size:12px}.brand img{width:42px;height:36px}}
@page{size:A4 portrait;margin:9mm}
@media print{body{background:white}.sheet{width:100%;padding:0;margin:0;border:0;box-shadow:none}.hero{min-height:120px;padding:12px 0}.card{padding:12px;margin-bottom:8px;break-inside:avoid}.card p:not(.eyebrow){font-size:11px;margin-bottom:6px}h2{font-size:24px}.hero h1{font-size:51px}.topics{margin:6px 0}.topic{padding:3px 6px;font-size:10px}.button{min-height:28px;padding:3px 7px}.choices{margin-top:8px}.choice{padding:6px}.drawing{width:160px}dialog{display:none!important}}
[hidden]{display:none!important}.edition{font-size:10px;letter-spacing:.12em;font-weight:800;text-align:right;color:var(--muted)}.audience{display:grid;grid-template-columns:1fr 1fr;padding:4px;gap:4px;border:1px solid var(--line);border-radius:7px;margin-top:15px;background:#eff0ea}.audience button{border:1px solid transparent;background:transparent;min-height:47px;font-weight:800;border-radius:4px}.audience button[aria-pressed=true]{background:var(--yellow);border-color:#ac870b}.audience button[aria-pressed=false]:hover{background:#fffefa}.business-hero{min-height:176px}.business-hero h1{font-size:clamp(37px,7vw,64px)}.draft{align-self:end;justify-self:start;font-size:10px;letter-spacing:.12em;font-weight:800;padding:4px 7px;background:#f0f0e7;border-radius:3px;margin-top:10px}.business-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.business-services a{border:1px solid #7c8988;border-radius:5px;padding:8px;color:white;text-decoration:none;font-size:13px;font-weight:700}.business-services a:hover{background:#314445}@media(max-width:550px){.business-services{grid-template-columns:1fr}.edition{font-size:8px}}

.technical-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.technical-group{position:relative;display:grid;grid-template-columns:36px 1fr;gap:4px 12px;border:1px solid var(--line);border-radius:6px;padding:16px 28px 16px 14px;text-decoration:none;background:var(--paper)}.technical-group:hover{border-color:var(--ink);background:#fff3be}.group-code{grid-row:1/3;background:var(--yellow);width:32px;height:32px;display:grid;place-items:center;font-weight:800;border-radius:4px}.technical-group strong{font-size:15px;line-height:1.4}.technical-group small{color:var(--muted);font-size:12px}.group-arrow{position:absolute;right:10px;top:15px}.breadcrumbs{padding-top:20px;font-size:14px}.service-list{margin:24px 0 32px;display:grid;gap:9px}.service-entry{display:grid;grid-template-columns:82px 1fr 18px;gap:12px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:5px;text-decoration:none;background:#f2f4ee}.service-entry:hover{background:#fff3be;border-color:var(--ink)}.service-entry>span:first-child{font-weight:800}.hero h1.detail-title{font-size:clamp(30px,5vw,47px);letter-spacing:-.04em;overflow-wrap:anywhere}.detail-title~p{max-width:none}@media(max-width:600px){.technical-groups{grid-template-columns:1fr}.service-entry{grid-template-columns:70px 1fr 16px;padding:13px;gap:9px}}
.business-choices{grid-template-columns:1fr;margin-bottom:14px}.business-choices .choice{max-width:520px}.business-request{margin-top:2px}
.quote-page .hero{min-height:145px}.quote-page .hero p:last-child{max-width:60ch}.quote-form{display:grid;gap:15px}.quote-panel{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff}.quote-panel h2{font-size:25px;margin-bottom:12px}.quote-panel p{color:var(--muted);font-size:14px}.quote-panel .hint{font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .wide{grid-column:1/-1}.quote-page label{display:grid;gap:5px;font-size:13px;font-weight:700}.quote-page input,.quote-page select{width:100%;min-height:42px;padding:8px 10px;border:1px solid #aab3aa;border-radius:5px;background:#fff;font:inherit;color:var(--ink)}.quote-page input:focus-visible,.quote-page select:focus-visible{outline:3px solid #29625b;outline-offset:2px}.quote-page label.checkline{display:flex;align-items:center;gap:9px;margin:14px 0 0}.quote-page .checkline input{width:18px;min-height:18px;height:18px;accent-color:#ad8200}.quote-page .dist-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin:10px 0;padding:12px;background:#f5f6ef;border:1px solid var(--line);border-radius:6px}.quote-page .remove{min-height:42px;border:1px solid #aab3aa;background:#fff;border-radius:5px;padding:8px 10px}.quote-page .secondary{min-height:40px;padding:8px 12px;border:1px solid var(--ink);border-radius:5px;background:#fff;font-weight:700}.quote-page .secondary:hover,.quote-page .remove:hover{background:#fff3be}.quote-page .calc{background:#fff3be;border-color:#e7cc71}.quote-page .calc h2{margin-bottom:5px}.calc-rows{display:grid;gap:8px;margin:14px 0}.calc-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #d6cba4;padding:4px 0;font-size:14px}.calc-row strong{text-align:right;white-space:nowrap}.calc-row.total{font-size:20px;font-weight:800;border-top:2px solid var(--ink);border-bottom:0;padding-top:12px}.quote-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}.quote-actions button:disabled{opacity:.5;cursor:not-allowed}.status{font-size:13px;color:#7a3d15;min-height:20px}.quote-print{display:none}.quote-print table{width:100%;border-collapse:collapse;margin-top:16px;font-size:13px}.quote-print th,.quote-print td{border-bottom:1px solid #ccc;padding:7px;text-align:left}.quote-print th:last-child,.quote-print td:last-child{text-align:right}.quote-print address{font-style:normal;line-height:1.6}.quote-page .muted{color:var(--muted)}
@media(max-width:600px){.form-grid,.quote-page .dist-row{grid-template-columns:1fr}.quote-page .dist-row .remove{width:max-content}.quote-panel{padding:16px}.quote-actions{display:grid}.quote-actions>*{justify-content:center}}
@media print{.quote-page .sheet{padding:0}.quote-page .hero,.quote-page .quote-form,.quote-page footer,.quote-page .breadcrumbs{display:none!important}.quote-print{display:block!important}.quote-print h1{font-size:28px;margin:14px 0}.quote-print .print-brand{border-bottom:2px solid #222;padding-bottom:10px;font-size:16px;font-weight:800}.quote-print .print-note{font-size:11px;margin-top:20px}.quote-print .print-sum{font-size:18px;font-weight:800;text-align:right;margin-top:18px}}
.quote-page .dist-row{grid-template-columns:minmax(130px,1fr) minmax(190px,1.3fr) minmax(110px,.7fr) auto}
.quote-page .device-area{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(120px,.8fr) auto;align-items:end;gap:10px;margin:10px 0;padding:12px;background:#f5f6ef;border:1px solid var(--line);border-radius:6px}
@media(max-width:700px){.quote-page .dist-row,.quote-page .device-area{grid-template-columns:1fr}.quote-page .dist-row .remove,.quote-page .device-area .remove{width:max-content}}

/* Angebotsentwurf im Stil des EFH Baukastens */
.quote-print .offer{background:#fff;color:#222;padding:36px 42px;font:12px/1.5 Arial,sans-serif;max-width:850px;margin:auto}.quote-print .offer p{color:#333;margin:9px 0}.quote-print .offer h1,.quote-print .offer h2{font-size:21px;letter-spacing:0;line-height:1.25;margin:22px 0 12px}.quote-print .offer-header{display:flex;justify-content:space-between;align-items:center;background:#ffd52e;padding:20px 24px;margin:-36px -42px 28px}.quote-print .offer-header img{width:125px;height:105px;object-fit:contain}.quote-print .offer-header>div{text-align:right}.quote-print .offer-address{display:flex;justify-content:space-between;gap:30px;margin:28px 0}.quote-print .sender{text-decoration:underline;margin-bottom:12px}.quote-print .offer-banner{background:#fff4c7;border-left:4px solid #ffd52e;padding:12px 16px;margin:20px 0}.quote-print .offer-table{border-collapse:collapse;width:100%;font-size:11px;margin:15px 0}.quote-print .offer-table th{background:#eee;text-align:left}.quote-print .offer-table td,.quote-print .offer-table th{border-bottom:1px solid #ddd;padding:9px 6px;vertical-align:top}.quote-print .offer-table td:last-child,.quote-print .offer-table th:last-child{text-align:right;white-space:nowrap}.quote-print .offer-totals{margin:24px 0 30px 45%;padding:10px;border-top:2px solid #222}.quote-print .offer-totals>div{display:flex;justify-content:space-between;gap:15px;padding:5px 0}.quote-print .offer-totals .grand{border-top:2px solid #222;font-size:15px;font-weight:700}.quote-print .offer-notes h2{border-bottom:3px solid #ffd52e;padding-bottom:6px}.quote-print .offer-footer{margin-top:28px;padding-top:10px;border-top:1px solid #aaa;font-size:10px;color:#555}
@media print{.quote-page .sheet{max-width:none}.quote-print{display:block!important}.quote-print .offer{max-width:none;padding:0}.quote-print .offer-header{margin:0 0 25px}.quote-print .offer-table tr,.quote-print .offer-notes,.quote-print .offer-totals{break-inside:avoid}.quote-print .offer h1{font-size:21px;margin:22px 0 12px}}
