/* Minimal ERAB refinement: local typography, restrained surfaces, deliberate rhythm. */
@font-face{font-family:Figtree;src:url('./figtree-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Figtree;src:url('./figtree-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Figtree;src:url('./figtree-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Figtree;src:url('./figtree-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--background:#fafaf8;--foreground:#252c32;--primary:#2250a3;--border:#dfe3e7;--muted-foreground:#59646f}
body{font-family:Figtree,Arial,sans-serif;background:var(--background);color:var(--foreground)}
button,input,textarea,select{font-family:inherit}
.wrap{width:min(1240px,calc(100% - 96px))}
p{color:#59646f;line-height:1.75;text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
.header{height:94px;gap:24px;border-bottom:1px solid #e0e3e5}
.brand img{width:146px}
.header nav{font-size:14px;gap:28px;font-weight:500}
.header nav a{position:relative;padding-block:12px}
.header nav a::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.header nav a:hover::after,.header nav a:focus-visible::after{transform:scaleX(1)}
.headercta{font-size:13px;font-weight:600;background:transparent;color:var(--primary);border:1px solid #bdcbe0;border-radius:3px;padding:13px 16px}
.headercta:hover{background:#edf2f9}
.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:64px;padding-block:65px 74px;min-height:660px}
.hero h1{font-size:clamp(38px,3.6vw,52px);line-height:1.13;letter-spacing:-1.9px;font-weight:500;margin-bottom:28px;text-wrap:pretty}
.hero h1 em{color:var(--primary)}
.hero-copy>p{font-size:17px;line-height:1.75;max-width:520px}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.2px;line-height:1.65;color:#46628b}
.hero .eyebrow{font-size:10px;letter-spacing:1.1px;margin-bottom:25px}
.hero .actions{margin-top:29px;gap:20px;align-items:center}
.button,.form-submit{padding:17px 21px;font-size:14px;font-weight:600;border-radius:3px;box-shadow:none}
.button svg,.textlink svg,.headercta svg{flex-shrink:0;transition:transform .18s ease}
.button:hover svg,.textlink:hover svg,.headercta:hover svg{transform:translate(2px,-2px)}
.textlink{font-size:14px;font-weight:500;line-height:1.5}
.heronote{border-top:1px solid #e0e3e5;padding-top:20px;margin-top:25px;font-size:13px;color:#67727c;max-width:430px}
.heronote a{display:block;font-size:25px;font-weight:500;letter-spacing:.3px;color:var(--primary);margin-top:5px}
.hero-visual{padding:12px 0}
.grant-heading{align-items:center;gap:22px;margin-bottom:28px}
.grant-label>b{font-size:27px;font-weight:500;line-height:1.25;letter-spacing:-.65px;margin-block:12px}
.grant-label>span{font-size:10px;letter-spacing:1.1px}
.grant-label a{font-size:12px;line-height:1.6;color:#596c87}
.mid-hero-logo{max-width:155px;height:auto}
.screen{transform:none;border-radius:8px;border-color:#d8e0e9;box-shadow:0 18px 48px -24px #1e365437}
.screenbar{padding:16px 20px;background:#f8fafd;border-color:#e2e8ef}
.screencontent{padding:25px 23px}
.screenheading h3{font-size:24px;font-weight:500;letter-spacing:-.5px}
.screenheading small{font-size:9px}
.metrics>div{background:#f0f4f9;padding:16px 12px;border-radius:3px}
.metrics b{font-size:29px;font-weight:500;font-variant-numeric:tabular-nums;color:#24446f}
.metrics span{font-size:9px}
.orderrow{font-size:10px;padding-block:15px}.orderrow small{font-size:8px}
.approval{transform:none;width:270px;margin:-9px -10px 0 auto;padding:17px;border-radius:5px;box-shadow:0 10px 24px -14px #233a5540}
.approval b{font-size:12px}.approval span:not(.approvalicon){font-size:9px}
.statusband{background:#f1f4f6;border-block:1px solid #e0e5e9}
.statusinner{padding-block:22px;gap:30px;grid-template-columns:1fr 1.7fr auto}
.statusinner b{font-size:14px;font-weight:600}.statusinner small{font-size:11px}
.statusinner p,.statusinner a{font-size:13px;line-height:1.65}
.statusinner a{color:var(--primary);font-weight:500}
.section,.projects,.process.section,.faq-layout{padding-block:70px}
h2,.qualification h2,.projectintro h2,.funding h2,.faq-intro h2,.contact-grid h2{font-size:clamp(30px,3vw,40px);line-height:1.2;font-weight:500;letter-spacing:-1.1px}
.qualification{gap:64px;align-items:start}
.qualification-copy{padding-top:7px}
.qualification-copy h3{font-size:22px;font-weight:500;letter-spacing:-.3px}
.qualification p{font-size:16px;max-width:540px}
.fundfacts{margin:26px 0 0;padding-block:28px;border-block:1px solid #dce2e7}
.fundfacts b{font-size:35px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-1px;color:#254b82}
.fundfacts span{font-size:13px;line-height:1.5;display:block;max-width:170px}
.funding{background:#edf2f7;padding-block:64px}
.fundinggrid{grid-template-columns:1fr 1fr;gap:82px;align-items:center}
.fundinggrid>div:first-child{max-width:490px}
.funding p{font-size:16px}
.calculation{padding:32px 35px;border-radius:4px;border:1px solid #d8e0e8;box-shadow:none}
.calculation h3{font-size:27px;font-weight:500;line-height:1.3;letter-spacing:-.6px}
.calcrow{padding-block:16px;font-size:14px}.calcrow b{font-weight:500}
.calcresult{padding-block:22px;gap:16px}.calcresult b{font-size:45px;font-weight:500;font-variant-numeric:tabular-nums}
.calculation>small{font-size:12px}.calculation p{font-size:13px}
.projectintro{max-width:720px;margin-bottom:32px}
.projectintro p{font-size:16px;max-width:650px}
.project{padding-block:44px;gap:72px;grid-template-columns:.9fr 1.1fr}
.project.reverse{grid-template-columns:1.1fr .9fr}
.project h3{font-size:30px;line-height:1.24;font-weight:500;letter-spacing:-.75px}
.project .eyebrow{font-size:11px;margin-bottom:17px}
.project-copy>p{font-size:16px;max-width:475px}
.consult{padding-top:17px;margin-top:23px;border-color:#dce2e7}
.consult>span{font-size:10px;letter-spacing:1px}.consult p{font-size:14px;line-height:1.7;max-width:480px}
.project-figure,.project-figure.crm,.project-figure.documents,.project-figure.inventory,.project-figure.connections{padding:24px;background:#eef2f5;border:0;border-radius:5px}
.mockwindow{border:1px solid #d8e1e9;border-radius:6px;box-shadow:0 8px 24px -18px #1b39545c}
.mockbar{background:#f8fafd;padding:14px 17px;font-size:10px}
.mockwindow h4{font-size:21px;line-height:1.3;font-weight:500}
.crm-history p{font-size:11px}.crm-history b{font-size:12px}
.paper{box-shadow:none;border:1px solid #dce3eb}
.detailnote{border-radius:4px;box-shadow:0 6px 18px -14px #233a5540}
.more-projects>h3{font-size:25px;font-weight:500}
.more-projects>div{padding-block:19px;gap:42px}
.more-projects h4{font-size:17px;font-weight:500}.more-projects p{font-size:15px}
.project-close{margin-top:34px;gap:40px}.project-close p{font-size:14px}
.process{background:#f2f4f5;border-block:1px solid #e1e5e8}
.introgrid{gap:70px}.introgrid>p{font-size:16px;max-width:480px}
.timeline{counter-reset:step;margin-block:42px 28px;gap:24px}
.timeline-item{counter-increment:step}
.timeline-item::before{content:'0' counter(step);display:block;font-size:13px;font-weight:500;color:#2250a3;margin:0 0 17px;font-variant-numeric:tabular-nums}
.timeline-dot{display:none}
.timeline-item h3{font-size:18px;font-weight:500;letter-spacing:-.2px}
.timeline-item p{font-size:14px;line-height:1.75}
.payout p{font-size:14px;line-height:1.75}.payout>span{font-size:10px}
.faq-layout{gap:80px}
.faq-group [data-slot=accordion-trigger]{font-size:16px;font-weight:500;line-height:1.5;padding-block:20px}
.faq-group [data-slot=accordion-content]{font-size:15px;line-height:1.75;color:#59646f}
.faq-group [data-slot=accordion-item]{border-color:#dce2e7}
.faq-more{border-radius:3px;font-size:14px}
.erab-proof{border-top:1px solid #dfe3e7;padding-block:68px;gap:38px 70px}
.erab-proof h2{max-width:520px}.erab-proof h3{font-size:26px;line-height:1.4;letter-spacing:-.55px;font-weight:500}
.erab-proof p{font-size:16px;line-height:1.8}
.erab-proof>div:nth-child(2){padding-left:38px}
.erab-proof .reference-logos{padding-top:28px;border-top:1px solid #dfe3e7;gap:22px}
.reference-logos img{height:35px}.reference-logos span{font-size:12px;color:#647286}
.contact-section{padding-block:66px;background:#edf2f7}
.contact-grid{gap:76px;align-items:start}
.contact-grid>div:first-child{padding-top:15px}
.contact-grid>div>p{max-width:480px;font-size:16px}
.direct-contact{gap:28px;margin-block:35px 24px}
.direct-contact>a{font-size:clamp(18px,1.8vw,25px);font-weight:500;letter-spacing:-.3px}
.direct-contact small{font-size:11px;letter-spacing:.7px}
.contact-form{padding:34px;border:1px solid #d8e1eb;border-radius:5px;box-shadow:none}
.contact-form h3{font-size:26px;font-weight:500;letter-spacing:-.5px}
.contact-form label{font-size:14px;font-weight:500;margin-bottom:20px}
.contact-form [data-slot=input],.contact-form [data-slot=textarea]{background:#fff;border-color:#c9d4df;border-radius:3px;font-size:16px;padding:12px}
.contact-form [data-slot=input]:focus,.contact-form [data-slot=textarea]:focus{outline:2px solid #2250a3;outline-offset:2px}
.contact-form .form-privacy{font-size:13px}.form-submit{min-height:50px}
.site-footer{background:#17283b;padding-block:48px 24px}
.footer-columns{gap:36px}.footer-columns h3{font-size:14px;font-weight:600}
.footer-columns a,.footer-columns p,.footer-columns address{font-size:13px;line-height:1.7}
.footer-legal{font-size:12px;padding-top:24px}.footer-note{font-size:12px}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header nav{gap:16px;font-size:13px}.headercta{font-size:12px}.hero{gap:32px;padding-block:48px;min-height:0}.hero h1{font-size:39px;letter-spacing:-1.3px}.hero-copy>p{font-size:16px}.grant-label>b{font-size:24px}.mid-hero-logo{max-width:130px}.project,.fundinggrid,.contact-grid,.faq-layout{gap:38px}.project.reverse{grid-template-columns:1.1fr .9fr}.fundfacts>div{padding-left:18px}.fundfacts b{font-size:29px}.hero .actions{gap:12px}.button{font-size:13px}.timeline{gap:18px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:80px;gap:15px}.brand img{width:125px}.headercta{padding:11px 12px;font-size:11px}.hero{grid-template-columns:1fr;padding-block:38px 44px;gap:25px}.hero h1{font-size:39px;line-height:1.13;letter-spacing:-1.35px}.hero .eyebrow{font-size:10px;letter-spacing:.7px;margin-bottom:21px}.hero-copy>p{font-size:16px}.hero .actions{gap:8px}.heronote{margin-top:19px;padding-top:18px}.heronote a{font-size:25px}.statusinner{grid-template-columns:1fr;gap:12px;padding-block:20px}.statusinner p,.statusinner a{font-size:13px}.section,.projects,.process.section,.faq-layout{padding-block:43px}.qualification{gap:22px}.qualification-copy{padding-top:0}.fundfacts{margin-top:7px;padding-block:22px;gap:22px}.fundfacts b{font-size:29px}.fundfacts span{font-size:12px}.fundfacts>div{padding-left:0}.funding{padding-block:42px}.fundinggrid{grid-template-columns:1fr;gap:24px}.calculation{padding:25px}.calculation h3{font-size:25px}.calcresult b{font-size:40px}.project,.project.reverse{grid-template-columns:1fr;gap:24px;padding-block:29px}.project.reverse .project-copy{order:0}.project h3{font-size:28px}.project-figure{padding:15px}.mockwindow h4{font-size:19px}.projectintro{margin-bottom:24px}.more-projects>div{grid-template-columns:1fr;gap:8px}.project-close{gap:20px;margin-top:25px}.introgrid{gap:20px}.timeline{margin-block:27px 23px;gap:26px}.timeline-item::before{margin-bottom:9px}.timeline-item p{font-size:15px}.faq-layout{gap:26px}.faq-group [data-slot=accordion-trigger]{font-size:16px;padding-block:18px}.erab-proof{gap:28px;padding-block:43px}.erab-proof>div:nth-child(2){padding-left:0}.erab-proof h3{font-size:25px}.erab-proof .reference-logos{gap:24px 18px;padding-top:24px}.contact-section{padding-block:43px}.contact-grid{gap:25px}.contact-grid>div:first-child{padding-top:0}.contact-form{padding:23px}.direct-contact{margin-block:25px 16px;gap:22px}.direct-contact>a{font-size:20px}.footer-columns{gap:28px}.footer-columns a{font-size:13px}.footer-legal{gap:20px}.site-footer{padding-top:36px}}
@media(max-width:380px){.hero h1{font-size:35px}.headercta{max-width:148px}.button{padding:16px 18px}.form-row{grid-template-columns:1fr}.direct-contact>a{font-size:17px}.calculation{padding:20px}.calcresult b{font-size:35px}}
@media(prefers-reduced-motion:reduce){.button svg,.textlink svg,.headercta svg,.header nav a::after{transition:none}}
/* Hero contact numbers: one row where space permits. */
.heronote{max-width:100%;display:flex;flex-wrap:wrap;column-gap:24px;row-gap:6px;align-items:baseline;font-size:0}
.heronote::before{content:'Unverbindlich anfragen oder direkt anrufen:';flex-basis:100%;font-size:13px;line-height:1.6}
.heronote a{display:inline-block;margin-top:0;font-size:25px;white-space:nowrap}
@media(max-width:760px){.heronote{column-gap:20px}.heronote a{font-size:22px}}
@media(max-width:380px){.heronote{column-gap:15px}.heronote a{font-size:19px}}
.heronote{font-size:13px}
.heronote::before{content:none}
.hero-contact-label{flex-basis:100%;line-height:1.6}
/* Labelled hero contact options. */
.heronote{column-gap:0;row-gap:12px;align-items:center}
.heronote .hero-phone{display:flex;flex-direction:column;gap:5px;font-size:21px;line-height:1.25;padding-right:25px}
.heronote .hero-phone+.hero-phone{padding-left:25px;padding-right:0;border-left:1px solid #cfd7e0}
.hero-phone small{font-size:12px;font-weight:400;letter-spacing:.2px;color:#687582}
@media(max-width:380px){.heronote .hero-phone{font-size:18px;padding-right:18px}.heronote .hero-phone+.hero-phone{padding-left:18px}}
@media(max-width:330px){.heronote .hero-phone{flex-basis:100%;padding:0}.heronote .hero-phone+.hero-phone{padding:0;border-left:0}}
