/* BRUEHPUNKT · Kaffeecatering · 01.10.2026 */
.ec-site {--ec-warm:#e7e3d9;--ec-muted:#d3dfd8}
.ec-main h1,.ec-main h2,.ec-main h3{text-wrap:balance}
.ec-main h1{font-size:clamp(2.6rem,4.8vw,4.8rem);line-height:1.08;letter-spacing:-.035em}
.ec-main h2{font-size:clamp(2.1rem,3.5vw,3.5rem);line-height:1.12}
.ec-main h3{font-size:clamp(1.4rem,2.1vw,2rem);line-height:1.19}
.ec-main p{max-width:70ch}
.ec-main .eyebrow{font-size:.74rem;letter-spacing:.16em;margin-bottom:20px}
.ec-main .btn{white-space:normal;text-align:left;gap:20px}
.ec-main .btn:focus-visible,.ec-main button:focus-visible{outline-color:#aa7044}
.ec-hero{background:var(--green);color:var(--paper)}
.ec-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:.8rem;color:var(--stone);padding:24px 0}
.ec-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.ec-hero-grid{display:grid;grid-template-columns:1fr 1.02fr;max-width:1680px;margin:auto}
.ec-hero-copy{padding:35px 48px 62px max(6vw,24px);align-self:center}
.ec-hero h1 em{font-style:normal;color:var(--stone)}
.ec-hero .ec-lead{font-size:1.18rem;line-height:1.6;margin:27px 0 16px;color:var(--paper)}
.ec-hero-copy>p:not(.eyebrow):not(.ec-lead){font-size:1rem;color:var(--ec-muted)}
.ec-hero-copy .buttons{gap:20px;align-items:flex-start;flex-direction:column}
.ec-inline-link{font-size:.93rem;text-decoration:underline;text-underline-offset:5px}
.ec-hero-copy .ec-hero-note{margin-top:20px;font-size:.8rem!important}
.ec-hero-photo{position:relative;margin:0;min-height:630px}
.ec-hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:100% 50%}
.ec-hero-photo figcaption{position:absolute;bottom:12px;right:12px;left:12px;width:max-content;max-width:calc(100% - 24px);margin-left:auto;background:#073c35d9;color:white;padding:5px 9px;font-size:.66rem;line-height:1.45}
.ec-occasions{border-bottom:1px solid #073c3530;background:var(--ec-warm)}
.ec-occasions .wrap{display:flex;align-items:center;gap:20px;justify-content:space-between;padding-top:21px;padding-bottom:21px;flex-wrap:wrap;font-size:.87rem}
.ec-occasions span{font-size:.79rem;max-width:230px}
.ec-occasions a{border-bottom:1px solid #073c3570;padding:5px 0}
.ec-section{padding:90px 0;scroll-margin-top:90px}
.ec-section-head{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:end;margin-bottom:45px}
.ec-section-head>p{font-size:1rem}
.ec-moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:46px}
.ec-moment-grid article{border-top:1px solid #073c3540;padding-top:25px;scroll-margin-top:120px}
.ec-number{display:block;font-size:.7rem;letter-spacing:.13em;margin-bottom:22px}
.ec-moment-grid h3{margin-bottom:22px;font-size:1.85rem}
.ec-moment-grid p{font-size:.97rem}
.ec-payoff{font-weight:500;border-left:2px solid var(--green);padding-left:18px;margin-top:23px!important}
.ec-note{font-size:.85rem;margin-top:28px;line-height:1.6;color:#455e56}
.ec-stone{background:var(--ec-warm)}
.ec-offers{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.ec-offer{background:var(--paper);min-width:0}
.ec-offer-photo{height:325px;position:relative;background:#dedcd3;overflow:hidden}
.ec-offer-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.ec-offer-photo.ec-product-photo img{object-fit:contain;padding:20px}
.ec-offer-photo>span{position:absolute;left:20px;top:20px;display:inline-block;font-size:.68rem;letter-spacing:.11em;background:var(--green);color:var(--paper);padding:8px 12px;max-width:calc(100% - 40px)}
.ec-offer-body{padding:36px;min-width:0}
.ec-offer-body>*{max-width:100%;min-width:0}
.ec-offer-body h3{font-size:2rem;margin-bottom:23px}
.ec-offer-intro{font-size:1rem}
.ec-included{list-style:none;padding:0;margin:25px 0 0;width:100%}
.ec-included li{padding:18px 0;margin:0;border-top:1px solid #073c3525}
.ec-included li strong{display:block;font-size:1rem;font-weight:500;margin-bottom:7px}
.ec-included li span{display:block;font-size:.93rem;line-height:1.58}
.ec-fit{font-size:.95rem;margin:12px 0 26px;padding:20px;background:#e7e3d980}
.ec-fit strong{font-weight:500}
.ec-offer-body>.btn{width:100%;margin-top:0}
.ec-caption{font-size:.73rem;margin-top:16px;color:#50635b;line-height:1.55}
.ec-scope{margin-top:32px;padding:26px 0 0;border-top:1px solid #073c3540;display:grid;grid-template-columns:.85fr 1.35fr;gap:35px;font-size:.9rem}
.ec-scope strong{font-weight:500;font-size:1.17rem;line-height:1.45}
.ec-green{background:var(--green);color:var(--paper)}
.ec-green .ec-note{color:var(--ec-muted)}
.ec-choice-grid{display:grid;grid-template-columns:1fr 1.03fr;gap:80px;align-items:center}
.ec-choice-grid>div>p:not(.eyebrow){margin-top:27px;color:var(--ec-muted)}
.ec-choice{border:1px solid #c8c6bc60;padding:30px}
.ec-choice fieldset{border:0;padding:0;margin:0;min-width:0}
.ec-choice legend{font-size:1.13rem;margin-bottom:23px}
.ec-choice label{display:flex;gap:13px;padding:18px 0;margin:0;cursor:pointer;border-top:1px solid #c8c6bc44;font-size:.87rem;line-height:1.5}
.ec-choice input{width:18px;height:18px;padding:0;flex:0 0 18px;margin:4px 0 0;accent-color:var(--stone)}
.ec-choice label strong{display:block;font-size:1.01rem;font-weight:500;margin-bottom:4px}
.ec-choice label:has(input:checked){color:#fff}
.ec-choice-result{padding:20px 0;border-top:1px solid #c8c6bc44;min-height:130px;font-size:.92rem}
.ec-choice-result strong{font-weight:500;display:block;margin-bottom:8px}
.ec-choice-result p{margin:0;color:var(--ec-muted)}
.ec-choice>.btn{width:100%}
.ec-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:50px}
.ec-steps article{border-top:1px solid #073c3540;padding-top:22px}
.ec-steps article>span{font-size:2.5rem;color:#6a7a6c;line-height:1.1;display:block;margin-bottom:22px}
.ec-steps h3{font-size:1.5rem;margin-bottom:18px}
.ec-steps p{font-size:.97rem}
.ec-tech{margin-top:65px;padding-top:42px;border-top:1px solid #073c3540;display:grid;grid-template-columns:1fr 1.2fr;gap:60px}
.ec-tech h3{font-size:1.8rem}
.ec-tech p{font-size:.97rem}
.ec-paper{background:#e9e7df}
.ec-faq-grid{display:grid;grid-template-columns:.85fr 1.25fr;gap:70px;align-items:start}
.ec-faq details{padding:21px 0}
.ec-faq details:first-child{padding-top:0}
.ec-faq summary{font-size:1.06rem;line-height:1.45}
.ec-faq details p{font-size:.94rem;line-height:1.65}
.ec-request-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.ec-request-copy>p:not(.eyebrow){margin-top:28px;font-size:1rem}
.ec-request-copy .ec-note{font-size:.85rem!important}
.ec-personal{margin-top:35px;padding-top:26px;border-top:1px solid #073c3540}
.ec-personal strong{font-weight:500}
.ec-personal p{font-size:.9rem;margin:9px 0 15px}
.ec-personal a{display:block;text-decoration:underline;text-underline-offset:4px;margin:10px 0;font-size:1.05rem;overflow-wrap:anywhere}
.ec-form{padding:35px;background:var(--ec-warm);min-width:0}
.ec-form h3{font-size:1.75rem}
.ec-form-intro{font-size:.83rem;margin:12px 0 26px}
.ec-form fieldset{border:0;padding:0;margin:0;min-width:0}
.ec-form fieldset:disabled{opacity:.65}
.ec-field-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.ec-form .field{min-width:0;margin-bottom:20px}
.ec-form label{font-size:.82rem;line-height:1.45;margin-bottom:9px}
.ec-form input,.ec-form select,.ec-form textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:47px;font-size:.93rem;background:#f8f7f3;border:1px solid #073c3550;border-radius:0;color:var(--green);padding:11px 12px}
.ec-form textarea{resize:vertical;line-height:1.55}
.ec-form input:disabled{opacity:.4}
.ec-form .ec-check{display:flex;align-items:flex-start;gap:10px;margin:-6px 0 24px;font-size:.85rem}
.ec-form .ec-check input{width:18px;height:18px;min-height:0;padding:0;flex:0 0 18px;margin:2px 0 0;accent-color:var(--green)}
.ec-form-note{font-size:.79rem;line-height:1.6;margin:0 0 21px}
.ec-form-note a{text-decoration:underline;text-underline-offset:3px}
.ec-form .ec-review{margin-top:30px;border-top:1px solid #073c3550;padding-top:25px}
.ec-review h4{font-size:1.2rem;margin:0 0 12px;font-weight:500;line-height:1.35}
.ec-review>p{font-size:.88rem;margin:0 0 17px}
.ec-review .buttons{margin:20px 0;gap:20px}
.ec-review .ec-copy{padding:8px 0;background:none;border:0;border-bottom:1px solid var(--green);color:var(--green);font-size:.9rem;cursor:pointer}
.ec-talk .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}
.ec-talk p:not(.eyebrow){margin-top:25px}
.ec-talk-action{text-align:left;max-width:430px;justify-self:end}
.ec-booking-note{font-size:.84rem;color:var(--ec-muted);line-height:1.6;margin-top:17px!important}
.ec-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
@media(min-width:1700px){.ec-hero-copy{padding-left:30px}}
@media(max-width:1100px){.ec-hero-copy{padding:30px 32px 45px 6vw}.ec-hero-photo{min-height:640px}.ec-offer-body{padding:27px}.ec-section-head{gap:40px}.ec-request-grid,.ec-faq-grid,.ec-choice-grid{gap:40px}.ec-form{padding:25px}.ec-field-row{grid-template-columns:1fr}.ec-moment-grid{gap:23px}.ec-talk .wrap{gap:40px}}
@media(max-width:800px){.ec-hero-grid{grid-template-columns:1fr}.ec-hero-copy{padding:20px 6vw 38px}.ec-hero h1{max-width:650px}.ec-hero-copy .buttons{flex-direction:row;align-items:center;gap:20px}.ec-hero-photo{min-height:0;aspect-ratio:1.75}.ec-hero-photo img{object-position:center 47%}.ec-occasions .wrap{justify-content:flex-start;gap:14px 23px}.ec-occasions span{flex-basis:100%;max-width:none}.ec-section{padding:65px 0}.ec-section-head,.ec-choice-grid,.ec-faq-grid,.ec-request-grid,.ec-talk .wrap{grid-template-columns:1fr;gap:30px}.ec-moment-grid{grid-template-columns:1fr;gap:30px}.ec-moment-grid h3 br{display:none}.ec-offer-body h3{font-size:1.6rem}.ec-offer-body{padding:23px}.ec-offer-photo{height:255px}.ec-offer-photo>span{left:12px;top:12px;max-width:calc(100% - 24px);font-size:.62rem}.ec-offers{gap:18px}.ec-scope{grid-template-columns:1fr;gap:14px}.ec-steps{gap:22px}.ec-steps h3{font-size:1.3rem}.ec-steps p{font-size:.9rem}.ec-tech{gap:30px}.ec-talk-action{justify-self:start;max-width:100%}.ec-field-row{grid-template-columns:1fr 1fr}.ec-choice-result{min-height:0}.ec-choice{padding:25px}}
@media(max-width:600px){.ec-main h1{font-size:2.6rem}.ec-main h2{font-size:2.1rem}.ec-main .wrap{width:88%}.ec-hero .ec-lead{font-size:1.07rem}.ec-hero-copy>p:not(.eyebrow):not(.ec-lead){font-size:.94rem}.ec-hero-photo{aspect-ratio:1.3}.ec-hero-photo img{object-position:61% 50%}.ec-hero .buttons{align-items:stretch;flex-direction:column;gap:18px}.ec-hero .buttons .btn{width:100%}.ec-hero-photo figcaption{font-size:.58rem;padding:4px 6px;right:8px;bottom:8px}.ec-breadcrumb{font-size:.72rem;gap:7px;padding:19px 0}.ec-main .eyebrow{font-size:.65rem;letter-spacing:.14em}.ec-occasions .wrap{font-size:.78rem;gap:10px 18px}.ec-section{padding:52px 0}.ec-section-head{margin-bottom:30px;gap:24px}.ec-offers,.ec-steps,.ec-tech{grid-template-columns:1fr}.ec-offers{gap:28px}.ec-offer-photo{height:265px}.ec-offer-body{padding:25px}.ec-offer-body h3{font-size:1.8rem}.ec-offer-intro{font-size:.96rem}.ec-included li span{font-size:.9rem}.ec-fit{padding:17px;font-size:.9rem}.ec-moment-grid{margin-top:28px}.ec-moment-grid h3{font-size:1.7rem}.ec-steps{margin-top:30px;gap:30px}.ec-steps h3{font-size:1.4rem}.ec-steps p{font-size:.97rem}.ec-steps article>span{font-size:2.1rem;margin-bottom:17px}.ec-tech{margin-top:40px;padding-top:30px;gap:20px}.ec-choice{padding:22px}.ec-choice label strong{font-size:.95rem}.ec-choice legend{font-size:1.05rem}.ec-faq summary{font-size:1rem}.ec-faq details p{margin-right:0}.ec-form{padding:24px 20px}.ec-field-row{grid-template-columns:1fr;gap:0}.ec-form .btn{width:100%}.ec-talk .btn{width:100%}.ec-scope{font-size:.86rem}.ec-request-copy>p:not(.eyebrow){font-size:.96rem}.ec-review .buttons{align-items:flex-start;flex-direction:column}.ec-request-grid{gap:28px}.ec-hero-note{max-width:32ch}}
@media(prefers-reduced-motion:reduce){.ec-main *{scroll-behavior:auto}}
@media print{.ec-site .header,.ec-site .fair-notice,.ec-site .footer,.ec-main .buttons,.ec-occasions,.ec-choice,.ec-request,.ec-talk{display:none!important}.ec-section{padding:25px 0}.ec-main,.ec-section{background:white!important;color:#073c35!important}.ec-offers{display:block}.ec-offer{break-inside:avoid;margin-bottom:25px}.ec-hero-photo{display:none}.ec-hero-grid{display:block}.ec-hero{background:white;color:#073c35}.ec-hero-copy{padding:25px 6%}.ec-hero-copy>p{color:#073c35!important}}
