/*
Theme Name: Rob der Baumeister
Description: Individuelles, responsives Theme für Bau, Sanierung und Innenausbau. Mit lokal eingebundenen Bildern, Unternehmensdaten und WordPress-Einstellungen.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
Author: Rob der Baumeister
Text Domain: rob-der-baumeister
*/
:root{--ink:#242824;--dark:#222622;--paper:#f6f5f1;--bronze:#b4966e;--line:#d9dbd4;--muted:#666b63;--white:#fff;--pad:clamp(24px,6.3vw,104px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a,input,textarea,select{outline-offset:5px}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--bronze)}::selection{background:#bd9d72;color:#1b211c}.skip{position:absolute;left:20px;top:-70px;background:#fff;padding:12px;z-index:99}.skip:focus{top:8px}.header{height:100px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:15px;font-size:16px;font-weight:700;letter-spacing:1.2px;line-height:1.4;white-space:nowrap}.brand small{display:block;font-size:9px;letter-spacing:2.3px;font-weight:400;margin-top:4px}.brand-mark{font-size:39px;font-weight:500;line-height:1;letter-spacing:-6px;position:relative;display:block;width:39px;border-left:2px solid var(--bronze);padding-left:6px}.brand-mark>span{font-size:20px;position:absolute;top:-4px;right:-2px;color:var(--bronze)}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a{transition:color .2s}nav a:hover{color:#91754e}.nav-contact{border:1px solid #b9bcb2;padding:10px 20px;margin-left:10px}.nav-contact span{padding-left:16px}.menu-toggle{display:none}.hero{position:relative;min-height:720px;height:min(800px,calc(100svh - 100px));background:#303631;color:#f7f6f1;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background:url('assets/architecture.jpg') 68% 46%/cover}.hero-shade{background:linear-gradient(90deg,rgba(19,25,22,.92) 0%,rgba(19,25,22,.79) 35%,rgba(20,25,22,.25) 72%,rgba(20,25,22,.12)),linear-gradient(0deg,rgba(12,19,15,.45),transparent 35%)}.hero-content{position:relative;padding:73px var(--pad) 95px;max-width:980px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:2.4px;margin:0 0 26px;line-height:1.6}.hero .eyebrow{color:#dfceb6;display:flex;align-items:center;gap:12px}.eyebrow>span{width:24px;height:1px;background:var(--bronze)}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:clamp(56px,6vw,89px);font-weight:400;letter-spacing:-4px;line-height:1.03;margin:0 0 28px}em{font-style:normal;color:var(--bronze)}.hero-copy{max-width:485px;font-size:17px;line-height:1.8;color:#d5d8d1;margin-bottom:31px}.actions{display:flex;gap:32px;align-items:center}.button{display:inline-flex;gap:34px;align-items:center;justify-content:space-between;padding:15px 24px;min-height:54px;border:1px solid transparent;font-size:14px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.bronze{background:#bfa078;color:#1e241e}.bronze:hover{background:#d0b18a}.text-link{font-size:14px;display:inline-flex;align-items:center;gap:20px}.text-link:hover{text-decoration:underline;text-underline-offset:6px}.hero-bottom{position:absolute;bottom:24px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1.8px;color:#dedfd9}.image-note{font-size:10px;letter-spacing:.4px;color:#d0d3ca}.trust{display:grid;grid-template-columns:1fr 1fr 1fr;padding:38px var(--pad);border-bottom:1px solid var(--line);gap:35px}.trust>div{display:flex;align-items:center;gap:22px;border-right:1px solid var(--line)}.trust>div:last-child{border:0}.trust strong{font-size:58px;font-weight:400;letter-spacing:-3px;line-height:1.2}.trust strong span{font-size:38px;color:#94784f}.trust strong.trust-word{display:none}.trust p{font-size:16px;margin:0}.trust small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.trust>div:nth-child(2):before,.trust>div:nth-child(3):before{content:'↗';color:#977b55;border:1px solid #c9bdab;display:flex;align-items:center;justify-content:center;width:45px;height:45px;flex-shrink:0;font-size:25px}.trust>div:nth-child(3):before{content:'—'}.section{padding:100px var(--pad)}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:52px}.section-intro>p{max-width:430px;color:var(--muted);margin:0 0 4px}.section .eyebrow{color:#8e724d}h2{font-size:clamp(34px,3.3vw,50px);letter-spacing:-1.9px;font-weight:400;line-height:1.15;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.service-card{padding:38px 32px 28px;position:relative;border-right:1px solid var(--line);display:flex;flex-direction:column;transition:background .25s}.service-card:last-child{border:0}.service-card:hover{background:#efeee8}.card-number{position:absolute;right:29px;top:30px;color:#868a7f;font-size:12px;letter-spacing:1px}.service-card svg{height:48px;width:48px;stroke:#9a805b;fill:none;stroke-width:1.3;margin-bottom:27px}.service-card h3{font-size:25px;line-height:1.3;font-weight:400;letter-spacing:-.6px;margin:0 0 16px}.service-card p{font-size:15px;color:var(--muted);margin:0 0 25px}.service-card ul{list-style:none;padding:0;margin:0 0 32px;font-size:13px;line-height:2.2}.service-card li:before{content:'—';color:#a48a65;margin-right:9px}.service-card a{border-top:1px solid var(--line);padding-top:20px;margin-top:auto;font-size:13px;display:flex;justify-content:space-between}.service-card a span{color:#987b51}.scope-note{color:#70756b;font-size:12px;max-width:1000px;margin:21px 0 0}.experience{background:var(--dark);color:#f4f3ed}.experience .eyebrow{color:#c1a47d}.experience .section-intro>p{color:#b9c0b5;max-width:470px}.experience h2{font-size:clamp(48px,4.5vw,68px)}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:70px}.experience-grid article{border-top:1px solid #58604f;padding-top:23px}.experience-grid article>span{font-size:11px;letter-spacing:1.3px;color:#baa583}.experience-grid h3{font-size:21px;font-weight:400;line-height:1.3;margin:21px 0 14px;letter-spacing:-.5px}.experience-grid p{font-size:14px;color:#bbc0b5;line-height:1.8;margin:0}.experience-foot{margin-top:61px;padding-top:25px;border-top:1px solid #47503f;display:flex;justify-content:space-between;gap:25px;font-size:13px;color:#c3c7ba}.experience-foot .text-link{color:#c9ae85}.about{display:grid;grid-template-columns:.95fr 1fr;gap:clamp(40px,8vw,130px);align-items:center}.about figure{margin:0}.about img{width:100%;height:600px;object-fit:cover;filter:saturate(.5);display:block}.about figcaption{font-size:11px;color:#777c70;margin-top:12px;display:flex;justify-content:space-between;letter-spacing:.4px}.about h2{margin-bottom:26px}.about p:not(.eyebrow){color:var(--muted);font-size:15px}.about p.lead{font-size:20px;color:var(--ink);line-height:1.5}.about-location{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:28px}.about-location>span{font-size:25px;color:#a1845c}.about-location p{margin:0;font-size:13px!important}.about-location strong{font-weight:400;color:var(--ink)}.projects{background:#edeee7}.projects .section-intro{align-items:center}.projects .section-intro>p{max-width:330px}.projects h2{font-size:40px}.project-rows article{display:grid;grid-template-columns:55px 1fr 1fr;gap:25px;border-top:1px solid #cbd0c3;padding:28px 0;align-items:center}.project-rows article:last-child{border-bottom:1px solid #cbd0c3}.project-rows article>span{font-size:12px;color:#90764f}.project-rows h3{font-size:22px;font-weight:400;letter-spacing:-.5px;margin:0}.project-rows p{font-size:14px;color:var(--muted);margin:0;max-width:440px}.reasons{padding-top:85px;padding-bottom:85px}.reasons-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 26px}.reason-grid p{margin:0;font-size:14px;padding-left:22px;position:relative}.reason-grid p:before{content:'✓';position:absolute;left:0;color:#947d58}.contact{background:#292e28;color:#f5f4ee;display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,8vw,130px)}.contact .eyebrow{color:#c0a17a}.contact h2{font-size:clamp(42px,4.5vw,66px);letter-spacing:-2px}.contact-intro>p:not(.eyebrow){font-size:15px;color:#bec5b7;max-width:370px;margin-top:28px}.contact-region{margin-top:40px}.contact-region>span{font-size:11px;letter-spacing:1.7px;color:#b69a73}.contact-region p{font-size:15px;line-height:1.7}.contact-intro p.setup-note{border-left:1px solid #9e8969;padding-left:17px;font-size:12px;color:#bdc3b6;margin-top:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 25px}.form-grid label{font-size:12px;display:flex;flex-direction:column;gap:8px;letter-spacing:.2px}.full{grid-column:1/-1}input,select,textarea{width:100%;min-width:0;border:1px solid #565e4f;border-radius:0;background:transparent;color:#f6f5ed;padding:12px 13px;line-height:1.5;font-size:14px}input::placeholder,textarea::placeholder{color:#969f8d}input:focus,select:focus,textarea:focus{outline:1px solid var(--bronze);border-color:var(--bronze)}textarea{resize:vertical}select{appearance:auto}select option{background:#292e28;color:#fff}.form-privacy{font-size:12px;color:#abb4a2;margin:23px 0}.form-privacy a{text-decoration:underline;text-underline-offset:3px}.required-note{font-size:11px;color:#a4ae9b;display:inline-block;margin-left:18px}#form-result{border:1px solid #8d9b80;padding:22px;margin-top:25px}#form-result h3{font-weight:400;font-size:22px;margin:0}#form-result p{font-size:14px;color:#c0cbb5}.outline{border-color:#b3a084;color:#ece9dc;background:transparent}footer{background:#1e231e;color:#eceee6;padding:50px var(--pad) 24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:40px}.footer-top p{font-size:16px;line-height:1.5;color:#bcc4b4;letter-spacing:.1px;margin:0}.back-top{font-size:12px;color:#c8b797}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #414a39;padding-top:22px;font-size:11px;color:#9fa994}.footer-bottom>div{display:flex;gap:26px}.legal{max-width:900px;min-height:70vh;margin:auto}.legal h1{font-size:50px;letter-spacing:-2px}.legal h2{font-size:25px;margin-top:35px}.legal p{color:var(--muted)}.legal .notice{background:#e9e4d8;padding:22px;border-left:2px solid #a78c64}.legal a{text-decoration:underline}.legal dl dt{font-weight:600;margin-top:16px}.legal dl dd{margin:0;color:var(--muted)}
@media(min-width:1700px){.hero-content{padding-top:100px}.hero{height:820px}}@media(max-width:1100px){nav{gap:20px}.brand{font-size:13px}.brand small{font-size:8px;letter-spacing:1.7px}.trust{gap:20px}.trust>div{gap:15px}.trust small{font-size:11px}.trust p{font-size:14px}.service-card{padding:30px 23px}.service-card ul{font-size:12px}.section-intro{gap:40px}.section-intro>p{max-width:370px}.about img{height:550px}.experience-grid{gap:22px}.experience-grid h3{font-size:19px}.project-rows{gap:20px}.projects h2{font-size:34px}.reasons-layout{gap:35px}}@media(max-width:800px){.header{height:82px}.menu-toggle{display:flex;align-items:center;gap:13px;border:0;background:none;font-size:14px;padding:10px 0}.menu-toggle span{font-size:20px}nav{display:none;position:absolute;top:82px;left:0;right:0;padding:25px var(--pad);background:var(--paper);border-top:1px solid var(--line)}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:0}nav a{padding:13px 0}.nav-contact{margin:10px 0 0;padding:13px!important;text-align:center}.hero{min-height:680px;height:auto}.hero-content{padding-top:60px;padding-bottom:120px}.hero-photo{background-position:65% center}.hero-shade{background:linear-gradient(90deg,rgba(18,25,20,.9),rgba(18,25,20,.55)),linear-gradient(0deg,rgba(18,25,20,.4),transparent)}h1{font-size:70px}.hero-copy{max-width:460px}.hero-bottom{font-size:9px;letter-spacing:1px}.hero-bottom .image-note{display:none}.trust{padding-top:25px;padding-bottom:25px;gap:20px}.trust>div{display:block;padding-right:15px}.trust strong{font-size:40px;letter-spacing:-2px}.trust strong span{font-size:25px}.trust>div:nth-child(2):before,.trust>div:nth-child(3):before{margin-bottom:7px;width:38px;height:38px}.trust small{line-height:1.5}.section{padding-top:70px;padding-bottom:70px}.section-intro{display:block}.section-intro>p{max-width:560px;margin-top:25px}.service-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid var(--line);padding:30px}.service-card h3 br{display:none}.service-card svg{margin-bottom:20px}.service-card p{max-width:550px;font-size:16px}.service-card ul{font-size:14px}.service-card h3{font-size:27px}.experience-grid{grid-template-columns:1fr 1fr;gap:40px 30px;margin-top:40px}.experience-grid h3{font-size:23px}.experience-foot{align-items:flex-start}.experience-foot>span{max-width:230px}.about{gap:35px}.about img{height:520px}.about h2{font-size:34px}.projects h2{font-size:36px}.project-rows article{grid-template-columns:30px 1fr;gap:10px 20px}.project-rows p{grid-column:2;max-width:100%}.reasons-layout{display:block}.reason-grid{margin-top:35px}.contact{gap:40px;grid-template-columns:1fr}.contact-intro>p:not(.eyebrow){max-width:600px}.contact-region{margin-top:25px}.contact-intro p.setup-note{margin-top:25px}.footer-top p{display:none}.footer-bottom{flex-wrap:wrap}}@media(max-width:520px){.brand{font-size:12px;letter-spacing:.8px;gap:10px}.brand small{font-size:7px;letter-spacing:1.4px}.brand-mark{font-size:34px;width:34px}.menu-toggle{font-size:12px}.hero{min-height:680px}.hero-content{padding-top:55px;padding-bottom:100px}h1{font-size:56px;letter-spacing:-2.9px}.hero .eyebrow{font-size:10px;letter-spacing:1.6px;gap:9px}.hero-copy{font-size:16px}.actions{gap:23px;align-items:flex-start;flex-direction:column}.button{padding:14px 20px;font-size:14px}.hero-bottom{font-size:8px;letter-spacing:.9px}.trust{grid-template-columns:1fr;gap:0;padding-top:7px;padding-bottom:7px}.trust>div{display:flex;gap:24px;border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.trust>div:nth-child(2):before,.trust>div:nth-child(3):before{margin:0;width:53px;height:43px}.trust strong{min-width:53px;font-size:41px}.trust p{font-size:15px}.trust small{font-size:12px}.section{padding-top:60px;padding-bottom:60px}.eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:20px}h2{font-size:38px;letter-spacing:-1.4px}.section-intro{margin-bottom:35px}.section-intro>p{font-size:15px}.service-card{padding:30px 25px}.service-card h3{font-size:25px}.service-card ul{font-size:13px}.experience h2{font-size:50px}.experience-grid{grid-template-columns:1fr;gap:30px}.experience-grid h3{margin-top:15px}.experience-foot{display:block}.experience-foot .text-link{margin-top:15px}.about{grid-template-columns:1fr}.about img{height:400px}.about h2{font-size:38px}.about>div{margin-top:10px}.projects h2{font-size:32px}.project-rows article{padding:24px 0}.project-rows h3{font-size:20px}.reasons h2{font-size:34px}.reason-grid{grid-template-columns:1fr;gap:19px}.contact h2{font-size:49px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.required-note{display:block;margin-left:0}.footer-top{align-items:flex-start;flex-direction:column;gap:25px}.footer-bottom{flex-direction:column;gap:12px}.legal h1{font-size:38px}.legal h2{font-size:25px}.legal{padding-left:24px;padding-right:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Readable content and restrained motion. */
.hero-photo{transform:scaleX(-1)}.brand small{font-size:10px;letter-spacing:1.4px}.hero-bottom,.hero-bottom .image-note{font-size:12px;letter-spacing:.5px}.eyebrow,.card-number,.experience-grid article>span,.scope-note,.about figcaption,.contact-region>span,.required-note,.footer-bottom,.contact-intro p.setup-note{font-size:12px}.service-card p,.experience-grid p,.about p:not(.eyebrow),.project-rows p,.contact-intro>p:not(.eyebrow){font-size:16px}.service-card ul,.service-card a,.form-grid label,.form-privacy,.reason-grid p{font-size:14px}.hero-copy{font-size:17px}.about p.lead{font-size:20px}.hero-photo{animation:reveal-photo 1.4s ease-out both}.hero-content{animation:reveal-copy .7s ease-out both}@keyframes reveal-photo{from{opacity:.4}to{opacity:1}}@keyframes reveal-copy{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@media(max-width:520px){.hero-bottom{font-size:10px}.brand small{font-size:8px}.hero .eyebrow{font-size:11px}.hero-content{padding-bottom:100px}.hero-copy{font-size:16px}}

.legal img{max-width:100%;height:auto}.legal .wp-block-image{margin:2rem 0}.legal h2{line-height:1.3}.legal ul{padding-left:1.5rem}

.rdb-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.contact-details{margin:28px 0}.contact-details p{margin:7px 0;font-size:16px;color:#d2d8ca}.contact-details a{text-decoration:underline;text-underline-offset:4px}button[disabled]{opacity:.7;cursor:wait}button[hidden]{display:none}

.damage-details{border-top:1px solid var(--line);padding:14px 0 20px;margin-top:-8px}.damage-details summary{cursor:pointer;font-size:14px;line-height:1.6}.damage-details summary:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}.damage-details p{font-size:14px;line-height:1.75;margin:14px 0}.damage-details a{margin-bottom:8px}

/* ---------- Logo ----------
   Größe hier anpassen: --logo-size (Desktop), --logo-size-tablet (bis 800px), --logo-size-mobile (bis 520px).
   Die Kopfzeile ist 100px (Desktop) bzw. 82px (mobil) hoch – das Logo sollte etwas kleiner bleiben. */
:root{--logo-size:78px;--logo-size-tablet:62px;--logo-size-mobile:54px}
.brand-logo{display:block;width:var(--logo-size);height:var(--logo-size);object-fit:contain;flex-shrink:0}
/* Oben: weißer Logo-Hintergrund (z.B. bei JPG-Upload im Customizer) nimmt automatisch die Creme-Farbe der Kopfzeile an. */
.header .brand-logo,nav.open~.brand-logo{mix-blend-mode:multiply}
.brand .brand-text{display:block;white-space:nowrap}
.brand .brand-text small{margin-top:0}
footer .brand-logo{width:calc(var(--logo-size) * .85);height:calc(var(--logo-size) * .85)}
@media(max-width:800px){.brand-logo{width:var(--logo-size-tablet);height:var(--logo-size-tablet)}}
@media(max-width:520px){.brand-logo{width:var(--logo-size-mobile);height:var(--logo-size-mobile)}.header .brand-text{display:none}}
