:root{--yellow:#ffa900;--ink:#19242d;--muted:#45515b;--soft:#f5f7f8;--line:#e2e7ea}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,sans-serif;color:var(--ink);line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.16;letter-spacing:-.045em}h1{font-size:clamp(3rem,5.5vw,5.8rem);font-weight:800}h2{font-size:clamp(2.2rem,4vw,4rem);font-weight:800}h3{font-size:1.35rem}h1 em,h2 em{color:var(--yellow);font-style:normal}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{max-width:1210px;margin:auto;padding:0 28px}.site-header{background:white;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.header-inner{min-height:86px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:9px;font:800 23px Manrope;letter-spacing:-.055em;line-height:1}.brand .accent{color:var(--yellow)}.brand small{display:block;font:600 8px Inter;letter-spacing:.2em;margin-top:6px}.sun{font-size:38px;color:var(--yellow)}nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:600}.nav-cta{background:var(--yellow);padding:13px 17px;border-radius:5px}.menu-toggle{display:none;border:0;background:transparent;font-size:26px}.hero{background:#fff}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:640px;align-items:center;gap:50px;padding-top:65px;padding-bottom:65px}.eyebrow,.kicker{font-size:11px;font-weight:800;letter-spacing:.15em}.eyebrow{display:flex;align-items:center;gap:12px}.line{width:30px;height:3px;background:var(--yellow)}.hero-copy p{font-size:18px;color:var(--muted);max-width:550px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:16px 22px;border-radius:5px;font-weight:700;font-size:14px;border:1px solid var(--ink)}.primary{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.primary:hover,.nav-cta:hover{background:#e99a00}.secondary:hover{background:var(--soft)}.trust{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;font-weight:600}.hero-photo{position:relative;background:#dfeaf1;border-radius:10px;min-height:480px;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-sticker{position:absolute;bottom:22px;left:22px;background:white;padding:16px 22px;border-left:5px solid var(--yellow);display:grid;line-height:1.5;box-shadow:0 10px 30px #19242d22}.hero-sticker span{font-size:12px}.intro-band{background:var(--ink);color:white;padding:55px 0}.intro-band .container{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:center}.intro-band span{color:var(--yellow);font-size:11px;font-weight:800;letter-spacing:.16em}.intro-band p{font:600 clamp(1.3rem,2.5vw,2rem) Manrope;margin:0;line-height:1.45}.section{padding:110px 0;scroll-margin-top:86px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-heading p{max-width:380px;color:var(--muted)}.dot{color:var(--yellow)}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service{background:var(--soft);padding:30px 24px;min-height:330px;display:flex;flex-direction:column;border-top:4px solid transparent;transition:.2s}.service:hover{border-top-color:var(--yellow);transform:translateY(-4px)}.service-number{font-size:10px;letter-spacing:.13em;font-weight:800;color:var(--muted)}.service-icon{font-size:50px;color:var(--yellow);margin:18px 0}.service p{font-size:14px;color:var(--muted)}.service a{margin-top:auto;font-size:12px;font-weight:800}.about{background:var(--soft)}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.about-visual{min-height:540px;background:var(--ink);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.outline-word{position:absolute;top:30px;left:20px;font:800 clamp(40px,5vw,76px) Manrope;letter-spacing:-.05em;color:#ffffff12}.about-icon{font-size:240px;color:var(--yellow);font-weight:200}.about-label{position:absolute;bottom:30px;left:30px;color:white;font:800 19px Manrope;line-height:1.4}.about p{color:var(--muted)}.about .lead{font-size:19px;color:var(--ink);font-weight:600}.quote{border-left:4px solid var(--yellow);padding-left:20px;margin:28px 0;font-weight:700}.text-link{font-weight:800;border-bottom:2px solid var(--yellow);padding-bottom:5px}.references>div>p{max-width:650px;color:var(--muted)}.reference-placeholder{background:var(--soft);border:2px dashed var(--line);min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:25px}.reference-placeholder>span{font-size:40px;color:var(--yellow)}.reference-placeholder small{color:var(--muted)}.partners{background:var(--soft)}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.partner-grid p{color:var(--muted)}.partner-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px}.partner-cards a{background:white;padding:30px 20px;min-height:160px;display:flex;flex-direction:column;justify-content:space-between}.partner-cards strong{font:800 35px Manrope}.partner-cards span{font-size:12px;color:var(--muted)}.request{background:#fff9eb}.request-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.request-grid>div>p{color:var(--muted)}.steps{margin:35px 0}.steps div{border-top:1px solid #d8d0bf;padding:16px 0;display:flex;gap:25px;font-weight:600}.steps b{color:#be7c00}.small-note{font-size:12px}.request-form{background:white;padding:35px;box-shadow:0 15px 45px #19242d0c;border-radius:9px}.request-form label{display:block;font-size:12px;font-weight:700;margin:15px 0 7px}.request-form input:not([type=checkbox]),.request-form select,.request-form textarea{display:block;width:100%;border:1px solid #cbd2d7;border-radius:4px;padding:12px 13px;background:white;color:var(--ink);font-size:14px}.request-form input:focus,.request-form select:focus,.request-form textarea:focus{outline:2px solid var(--yellow);outline-offset:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.request-form small{display:block;font-size:11px;color:var(--muted)}.consent{display:flex!important;gap:10px;align-items:start;font-weight:400!important}.consent input{margin-top:5px}.consent a{text-decoration:underline}.form-submit{width:100%;margin-top:16px}.form-message{font-size:12px;color:#965000}.contact{background:var(--ink);color:white;padding:90px 0}.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:70px}.contact .kicker{color:var(--yellow)}.contact p{color:#c9d0d5}.contact-phone{display:block;font:800 clamp(1.8rem,3.5vw,3rem) Manrope;color:var(--yellow);margin-top:25px}.contact-email{text-decoration:underline;text-underline-offset:5px}.address{border-left:1px solid #53616b;padding-left:35px;display:flex;flex-direction:column;justify-content:center}.address span{font-size:11px;letter-spacing:.13em;color:var(--yellow)}.address strong{font:800 25px Manrope;margin:14px 0}footer{background:#111a20;color:#c7d0d6;padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-inner strong{font:800 22px Manrope;color:white}.footer-inner strong span{color:var(--yellow)}.footer-inner small{display:block;font-size:9px;letter-spacing:.14em}.footer-inner p{font-size:12px;margin:0}.footer-inner nav{gap:15px;font-size:11px}.mobile-cta{display:none}.legal{min-height:65vh;padding:90px 0}.legal p{max-width:760px}.legal .warning{background:#fff4db;padding:20px;border-left:4px solid var(--yellow)}@media(max-width:980px){.header-inner nav{gap:12px;font-size:11px}.hero-grid{gap:25px}.services{grid-template-columns:repeat(2,1fr)}.about-grid{gap:40px}.request-grid{gap:35px}}@media(max-width:720px){body{padding-bottom:65px}.container{padding:0 20px}.header-inner{min-height:70px}.menu-toggle{display:block}.header-inner nav{display:none;position:absolute;top:70px;left:0;right:0;background:white;flex-direction:column;align-items:stretch;padding:20px;box-shadow:0 20px 25px #0002}.header-inner nav.open{display:flex}.hero-grid,.about-grid,.partner-grid,.request-grid,.contact-grid,.intro-band .container{grid-template-columns:1fr}.hero-grid{padding-top:55px;padding-bottom:45px}.hero-photo{min-height:330px}.section{padding:70px 0}.section-heading{display:block}.services{grid-template-columns:1fr}.service{min-height:250px}.about-visual{min-height:310px}.about-icon{font-size:160px}.partner-cards{gap:10px}.partner-cards strong{font-size:27px}.request-form{padding:20px}.form-row{grid-template-columns:1fr;gap:0}.footer-inner{flex-direction:column;align-items:start}.footer-inner nav{flex-wrap:wrap}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:12;background:white;padding:8px;gap:8px;box-shadow:0 -5px 20px #0002}.mobile-cta a{flex:1;text-align:center;background:var(--yellow);padding:10px;font-size:13px;font-weight:800;border-radius:4px}.mobile-cta a+ a{background:var(--ink);color:white}.address{padding-left:20px}.intro-band .container{gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service{transition:none}}

/* Original-Firmenlogo in Kopf- und Fußbereich */
.brand-logo{display:block;width:205px;height:auto;max-height:76px;object-fit:contain}
.footer-logo-wrap{background:white;border-radius:5px;padding:4px 10px}
.footer-logo{display:block;width:170px;height:auto;object-fit:contain}
@media(max-width:720px){.brand-logo{width:158px;max-height:61px}.footer-logo{width:155px}}

/* Referenzgalerie */
.reference-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:32px 0 34px}.reference-card{margin:0;background:#fff;border:1px solid #e2e7ea;border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(25,36,45,.07)}.reference-card img{width:100%;height:auto;display:block;aspect-ratio:3/4;object-fit:cover}.reference-card figcaption{padding:18px;display:flex;flex-direction:column;gap:5px}.reference-card figcaption strong{color:#19242d;font-size:1rem}.reference-card figcaption span{color:#65717a;font-size:.84rem}@media(max-width:850px){.reference-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.reference-gallery{grid-template-columns:1fr}.reference-card img{aspect-ratio:auto}}

.reference-subtitle{font-size:clamp(1.55rem,2.5vw,2.2rem);margin:46px 0 10px}.reference-subtitle:first-of-type{margin-top:28px}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-card img{aspect-ratio:3/4;object-fit:cover}.gallery-card a{display:block;overflow:hidden}.gallery-card img{transition:transform .25s}.gallery-card a:hover img{transform:scale(1.035)}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-card figcaption{padding:11px}.gallery-card figcaption strong{font-size:.82rem}.gallery-card figcaption span{font-size:.72rem}.gallery-card img{aspect-ratio:3/4}}

/* Portrait im Bereich Über mich */
.about-portrait{background:#19242D;}
.about-portrait>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 35%;display:block;}
.about-portrait .about-label{z-index:1;text-shadow:0 2px 12px rgba(0,0,0,.8);}
.about-portrait:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.38));pointer-events:none;}

.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-submit:disabled{opacity:.6;cursor:wait}
.form-message{min-height:1.5em}

/* Photo upload review */
.photo-list{display:grid;gap:10px;margin:12px 0 18px}.photo-item{display:flex;align-items:center;gap:12px;padding:9px;border:1px solid #d6dce0;border-radius:9px;background:#fff}.photo-item img{width:60px;height:60px;object-fit:cover;border-radius:6px;flex-shrink:0}.photo-item span{flex:1;overflow-wrap:anywhere;font-size:13px}.photo-item button{border:1px solid #d0d5d8;background:#fff;color:#26333c;border-radius:6px;padding:8px 10px;cursor:pointer}.photo-item button:hover{border-color:#d56a25;color:#a84d14}
