/* SE — ruhiges Editorial-Design für echtes Handwerk. Ohne externe Fonts/Tracking. */
:root{--ink:#202629;--coal:#272b2d;--paper:#f5f2ed;--cream:#fcfaf6;--clay:#b96340;--clay-dark:#965034;--line:#d5d2cd;--muted:#6f706f;--gutter:clamp(24px,5.2vw,84px);--max:1512px;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:106px}
body{margin:0;font:16px/1.55 var(--sans);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--clay);outline-offset:4px}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:700}
h2{font-size:clamp(44px,5vw,82px);letter-spacing:-.065em;line-height:1.03}
h3{font-size:27px;letter-spacing:-.035em}
[hidden]{display:none!important}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(80px,10vw,155px)}
.skip-link{position:fixed;z-index:100;top:-100px;left:20px;background:var(--cream);padding:13px 18px}
.skip-link:focus{top:14px}
.preview-strip{background:var(--ink);color:#dddad4;font-size:10px;letter-spacing:.11em;font-weight:700;text-transform:uppercase}
.preview-strip .wrap{min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.preview-strip .wrap>span{display:flex;align-items:center;gap:10px}
.preview-dot{display:inline-block;width:6px;height:6px;background:var(--clay);border-radius:50%}
.site-header{background:var(--cream);border-bottom:1px solid #e5e1da;position:sticky;top:0;z-index:40}
.header-inner{max-width:var(--max);min-height:100px;margin:auto;padding:13px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:38px}
.brand{display:flex;align-items:center;min-width:0;gap:16px}
.brand-mark{flex:0 0 45px;width:45px;height:47px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;font-weight:800;font-size:16px;letter-spacing:-.08em;position:relative}
.brand-mark:after{content:'';position:absolute;height:2px;background:var(--clay);width:24px;transform:rotate(-45deg)}
.brand-text{display:flex;min-width:0;flex-direction:column;line-height:1.3}
.brand-text strong{font-size:23px;letter-spacing:-.045em;overflow-wrap:anywhere}
.brand-text small{font-size:9px;letter-spacing:.16em;color:#727571;font-weight:700;margin-top:6px}
.site-header nav{display:flex;align-items:center;gap:33px;font-size:13px;font-weight:700}
.site-header nav>a:not(.nav-contact){transition:color .2s}
.site-header nav>a:hover{color:var(--clay-dark)}
.nav-contact{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--ink);color:#fff;padding:16px 22px;min-width:176px;transition:background .2s}
.nav-contact:hover{background:var(--clay-dark);color:#fff!important}
.nav-contact span{font-size:19px;font-weight:400}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);min-height:clamp(610px,56vw,795px);background:var(--ink);color:#fff}
.hero-copy{padding:38px clamp(26px,5.5vw,95px) 25px max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));display:flex;flex-direction:column;min-width:0}
.hero-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#d1c8be}
.eyebrow,.section-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.eyebrow-light{color:#e5dcd3;display:flex;align-items:center;gap:11px}
.tiny-square{display:inline-block;width:7px;height:7px;background:var(--clay)}
.hero-index{font-size:11px;letter-spacing:.09em;white-space:nowrap}
.hero-body{margin:auto 0;max-width:670px;padding:80px 0 65px}
h1{font-weight:800;font-size:clamp(67px,6.8vw,116px);letter-spacing:-.074em;line-height:1.03}
h1 .period{color:var(--clay)}
.hero-line-last{font-size:.69em;letter-spacing:-.056em;display:inline-block;margin-top:.19em}
.hero-bottom{padding-left:4px;margin-top:45px}
.hero-subtitle{font-size:clamp(19px,2vw,27px);letter-spacing:-.04em;max-width:425px;font-weight:600;line-height:1.32}
.hero-description{font-size:15px;color:#babbb7;max-width:405px;margin-top:18px;line-height:1.7}
.hero-footnote{color:#b0b0ac;font-size:10px;letter-spacing:.02em}
.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:16px 22px;background:var(--clay);color:#fff;font-size:14px;font-weight:700;transition:background .2s,transform .2s}
.button:hover{background:var(--clay-dark);transform:translateY(-2px)}
.button span{font-size:22px;line-height:.8;font-weight:400}
.button-cream{background:#f7f0e7;color:var(--ink);margin-top:29px}
.button-cream:hover{background:#e5d4c6}
.button-outline{background:transparent;border-color:var(--line);color:var(--ink)}
.button-outline:hover{background:var(--paper)}
.project-visual{position:relative;min-height:100%;overflow:hidden;background:#c6c1b8}
.project-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;filter:saturate(.75)}
.project-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,transparent 53%,rgba(0,0,0,.46))}
.photo-label{position:absolute;z-index:1;bottom:31px;left:33px;background:#fff;color:var(--ink);font-size:10px;letter-spacing:.07em;text-transform:uppercase;padding:13px 16px;display:flex;gap:9px;align-items:center;font-weight:700}
.photo-label-line{width:10px;height:2px;background:var(--clay)}
.image-index{position:absolute;top:45px;right:38px;writing-mode:vertical-rl;letter-spacing:.18em;font-size:10px;font-weight:700;color:white;text-shadow:0 1px 8px #333;z-index:1}
.project-visual.has-photo:after{display:none}
.discipline-strip{background:#e8e3db;border-bottom:1px solid #d5cec6}
.discipline-inner{min-height:98px;display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center}
.discipline-inner>span:not(:first-child){border-left:1px solid #c8c1b7;padding-left:clamp(20px,4vw,64px)}
.discipline-inner>span{font-size:15px;font-weight:700;display:flex;align-items:center;gap:20px}
.discipline-inner b{font-size:10px;letter-spacing:.08em;color:var(--clay-dark)}
.discipline-inner .discipline-icon{font-size:29px;font-weight:400;border-left:0!important;padding:0 0 0 10px}
.section-intro{display:grid;grid-template-columns:.3fr .7fr;gap:30px;margin-bottom:62px}
.section-kicker{display:flex;align-items:center;gap:12px;color:var(--clay-dark);margin-top:10px}
.kicker-line{display:inline-block;width:23px;height:1px;background:currentColor;flex:none}
.section-intro-content{display:flex;align-items:end;gap:55px;justify-content:space-between}
.heading-serif{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.08em}
.section-description{max-width:255px;font-size:15px;color:var(--muted);margin:0 0 6px;line-height:1.7}
.service-list{border-top:1px solid var(--ink)}
.service{border-bottom:1px solid var(--line)}
.service summary{display:grid;grid-template-columns:90px minmax(170px,1fr) minmax(220px,.95fr) 26px;align-items:center;gap:20px;padding:35px 8px 37px 0;list-style:none;cursor:pointer}
.service summary::-webkit-details-marker{display:none}
.service-number{font:500 12px var(--sans);color:var(--clay-dark);align-self:center}
.service-title{font-size:clamp(30px,3.7vw,56px);font-weight:700;letter-spacing:-.065em;line-height:1.08}
.service-description{font-size:15px;color:#777a78;max-width:360px;line-height:1.65}
.service-toggle{width:25px;height:25px;position:relative}
.service-toggle:before,.service-toggle:after{content:'';display:block;position:absolute;width:19px;height:1.5px;background:var(--ink);left:3px;top:12px;transition:transform .2s}
.service-toggle:after{transform:rotate(90deg)}
.service[open] .service-toggle:after{transform:rotate(0)}
.service summary:hover .service-title{color:var(--clay-dark)}
.service-content{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-left:calc(90px + 20px);padding:0 12px 34px 0}
.service-content ul{list-style:none;display:flex;flex-wrap:wrap;column-gap:33px;row-gap:12px;margin:0;padding:0;color:#555b5b;font-size:14px}
.service-content li:before{content:'—';padding-right:11px;color:var(--clay)}
.service-content .button{font-size:12px;min-height:45px;padding:11px 18px;gap:17px;white-space:nowrap}
.subtle-note{margin-top:24px;color:#868580;font-size:11px}
.feature-band{background:#ede8df;padding:clamp(65px,8vw,115px) 0}
.feature-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(40px,8vw,120px);align-items:center}
.feature-quotation p{font-size:clamp(35px,4vw,65px);line-height:1.13;font-weight:700;letter-spacing:-.06em;margin:31px 0 22px}
.feature-quotation p em{font-family:var(--serif);font-weight:400;font-style:italic;white-space:normal;color:var(--clay-dark)}
.feature-quotation>span{font-size:14px;line-height:1.7;color:#656462}
.feature-image{position:relative;height:clamp(280px,34vw,480px);overflow:hidden;background:#c8c3bc}
.feature-image img{width:100%;height:100%;object-fit:cover;object-position:center 57%}
.feature-image>span{position:absolute;left:0;bottom:0;padding:13px 18px;background:var(--ink);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em}
.about{background:var(--cream)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,8vw,125px);align-items:center}
.about-picture{position:relative;padding-right:34px;padding-bottom:35px}
.about-picture:after{content:'';display:block;background:var(--clay);position:absolute;right:0;bottom:0;width:48%;height:60%;z-index:0}
.team-visual{height:clamp(400px,43vw,650px);position:relative;background:#d0ccc6;z-index:1;overflow:hidden;display:block}
.team-visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.75)}
.team-visual figcaption{position:absolute;left:18px;bottom:18px;background:white;color:var(--ink);padding:12px 14px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.image-side-label{position:absolute;writing-mode:vertical-rl;right:8px;top:0;font-size:10px;letter-spacing:.12em;font-weight:700;color:#4b4e4e}
.about-copy h2{font-size:clamp(42px,4.45vw,74px);margin-top:32px}
.about-lead{font-size:clamp(18px,1.7vw,25px);letter-spacing:-.03em;max-width:520px;line-height:1.45;margin-top:32px}
.about-detail{border-top:1px solid var(--line);margin-top:46px;padding-top:23px}
.about-label{font-size:10px;letter-spacing:.16em;color:var(--clay-dark);font-weight:700;margin-bottom:12px}
.about-detail h3{margin-bottom:12px}
.about-detail p{font-size:15px;line-height:1.8;color:#696b69;max-width:520px}
.text-link{display:inline-flex;gap:23px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:8px;font-weight:700;font-size:13px;margin-top:32px}
.text-link span{font-size:20px;color:var(--clay)}
.partners{background:#e9e4dc;padding-block:clamp(70px,8vw,120px)}
.partner-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:65px}
.partner-grid h2{margin-top:27px}
.partner-content{padding-top:62px}
.partner-explanation{max-width:490px;color:#616461;font-size:16px;line-height:1.7}
.partner-list{margin-top:31px;border-top:1px solid #bdb8ae}
.partner-empty{min-height:108px;display:flex;align-items:center;gap:18px;font-size:14px;color:#77746e}
.empty-marker{width:41px;height:41px;border:1px solid #bdb8ae;display:flex;align-items:center;justify-content:center;font-size:25px;color:var(--clay-dark)}
.partner{display:inline-flex;align-items:center;justify-content:center;border-bottom:1px solid #bdb8ae;padding:20px 24px 20px 0;min-height:95px;margin-right:28px;max-width:250px;font-weight:700;font-size:18px}
.partner img{max-width:170px;max-height:65px;object-fit:contain}
/* Kontakt: großzügige Typografie und offene Linien statt Formular-Kachel. */
.contact{background:#f0ece5;color:var(--ink);padding-block:clamp(85px,9vw,145px)}
.contact-intro{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:clamp(35px,7vw,110px);border-bottom:1px solid #a9a49c;padding-bottom:clamp(42px,5vw,76px)}
.contact-intro .section-kicker{color:var(--clay-dark)}
.contact-intro h2{font-size:clamp(49px,6.5vw,102px);letter-spacing:-.075em;line-height:1.03;margin-top:29px}
.contact-intro h2 .heading-serif{color:#8d634f;white-space:normal}
.contact-intro>p{font-size:clamp(16px,1.5vw,20px);line-height:1.65;max-width:430px;color:#65645f;padding-bottom:8px}
.contact-body{display:grid;grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);gap:clamp(38px,7vw,112px);margin-top:clamp(57px,6.5vw,94px);margin-bottom:clamp(80px,9vw,134px)}
.contact-side{display:flex;flex-direction:column;align-items:flex-start;padding-top:4px}
.contact-side-number,.contact-form-top{font-size:11px;font-weight:800;letter-spacing:.16em}
.contact-side-number{color:var(--clay-dark)}
.contact-side-lead{font-size:clamp(28px,3.1vw,48px);letter-spacing:-.055em;font-weight:700;line-height:1.16;margin-top:27px;max-width:365px}
.contact-side-status{display:flex;align-items:flex-start;gap:14px;border-top:1px solid #bbb5ab;margin-top:45px;padding-top:24px;max-width:335px}
.contact-side-status p{color:#696862;line-height:1.7;font-size:14px}
.status-mark{width:8px;height:8px;flex:none;background:#aa7256;margin-top:8px}
.contact-form{min-width:0;background:transparent;color:var(--ink);border:0;padding:0}
.contact-form-top{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #99938b;color:#777068;padding:0 0 17px;margin-bottom:28px}
.contact-form-top span:first-child{color:var(--ink)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,48px)}
.form-field{display:flex;flex-direction:column;gap:5px;margin-bottom:31px;min-width:0}
.contact-form .form-field label{font-size:12px;font-weight:700;letter-spacing:.02em;color:#454440}
.contact-form .form-field label>span[aria-hidden]{color:#a96d52}
.form-field-number{display:inline-block;color:#a36e54;font-size:11px;font-weight:600;margin-right:12px;letter-spacing:.08em}
.contact-form input,.contact-form select,.contact-form textarea{
 width:100%;min-width:0;color:var(--ink);background:transparent;border:none;border-bottom:1px solid #aea89f;border-radius:0;
 padding:13px 0 17px;font-size:clamp(16px,1.35vw,18px);line-height:1.5;transition:border-color .18s;
}
.contact-form input,.contact-form select{height:57px}
.contact-form textarea{resize:vertical;min-height:118px;padding-top:18px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8e8982;opacity:1}
.contact-form select{color:var(--ink);cursor:pointer;appearance:auto}
.contact-form select:has(option:checked[value=""]){color:#8e8982}
.contact-form input:hover,.contact-form select:hover,.contact-form textarea:hover{border-bottom-color:var(--ink)}
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{background:transparent;outline:0;border-bottom:2px solid var(--clay-dark);padding-bottom:16px}
.contact-form .form-message{margin-bottom:10px}
.form-footer{margin-top:15px}
.contact-submit{display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;border:0;border-top:1px solid #9a948a;border-bottom:1px solid #9a948a;border-radius:0;padding:18px 0;background:transparent;color:var(--ink);font-size:clamp(22px,2.6vw,36px);font-weight:700;letter-spacing:-.05em;text-align:left;transition:color .18s}
.contact-submit-arrow{display:grid;place-items:center;flex:none;width:53px;height:53px;border:1px solid #3b4140;border-radius:50%;font-size:24px;font-weight:400;color:var(--ink);transition:background-color .18s,color .18s,transform .18s}
.contact-submit:hover,.contact-submit:focus-visible{color:var(--clay-dark)}
.contact-submit:hover .contact-submit-arrow,.contact-submit:focus-visible .contact-submit-arrow{background:var(--ink);color:#f9f6f1;transform:translate(2px,-2px)}
.contact-submit:focus-visible{outline:2px solid var(--clay-dark);outline-offset:3px}
.form-note{font-size:12px;color:#777169;line-height:1.75;margin-top:19px;max-width:590px}
.contact-directory{padding-top:29px;border-top:1px solid #a9a49c}
.contact-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:36px}
.contact-directory-heading>span{font-size:11px;font-weight:800;letter-spacing:.14em}
.contact-directory-heading p{color:#77716b;font-size:12px}
.contact-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(15px,3vw,45px);margin:0}
.contact-details>div{border-top:1px solid #c7bfb5;padding-top:17px;display:flex;flex-direction:column;gap:12px;min-width:0}
.contact-details dt{font-size:11px;font-weight:700;color:#896f61}
.contact-details dd{margin:0;font-size:15px;color:#343735;overflow-wrap:anywhere;line-height:1.65}
.contact-details dd a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.contact-location-break{display:inline}
.site-footer{background:#161a1d;color:#f9f6f1;padding:40px 0 26px}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:43px}
.footer-brand{font-size:28px;font-weight:800;letter-spacing:-.04em}
.footer-main>span{font-size:10px;letter-spacing:.15em;color:#b9b7b2}
.footer-top{font-size:13px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:20px;border-top:1px solid #444445;color:#a19e98;font-size:11px}
.footer-bottom nav{display:flex;gap:25px}
.footer-bottom a:hover,.footer-top:hover{text-decoration:underline;text-underline-offset:6px}
dialog{width:min(690px,calc(100% - 28px));max-height:min(90vh,900px);border:none;padding:0;color:var(--ink);background:#f7f3ed;box-shadow:0 32px 90px #111a1f50}
dialog::backdrop{background:#11191cc9}
.dialog-inner{position:relative;padding:clamp(28px,5vw,58px);border-top:5px solid var(--ink)}
.dialog-close{position:absolute;right:19px;top:14px;width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:32px;font-weight:300}
.dialog-close:hover{color:var(--clay-dark)}
.dialog-eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--clay-dark)}
.dialog-inner h2{font-size:clamp(34px,5vw,56px);letter-spacing:-.065em;line-height:1.06;margin-top:24px;max-width:490px}
.dialog-inner h2 em{font-family:var(--serif);font-weight:400;color:#8d634f}
.dialog-inner>p{color:#5d605b;font-size:14px;line-height:1.7;max-width:540px;margin-top:22px}
.dialog-inner pre{font:14px/1.65 var(--sans);background:transparent;border-top:1px solid #b8aea3;border-bottom:1px solid #b8aea3;padding:24px 0;margin:30px 0 24px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:270px;overflow:auto}
.dialog-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.dialog-download,.dialog-send{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font-size:15px;font-weight:700;padding:11px 0}
.dialog-download span:last-child{font-size:23px;font-weight:400;color:var(--clay-dark)}
.dialog-download:hover,.dialog-send:hover{color:var(--clay-dark)}
.noscript-note{padding:20px;background:var(--clay);color:white}
.legal-main{padding-block:75px 100px;max-width:1070px;min-height:70vh}
.legal-main h1{font-size:clamp(46px,6vw,76px);line-height:1.1}
.legal-main .legal-note{background:var(--paper);border-left:3px solid var(--clay);padding:24px;margin-block:30px}
.legal-main h2{font-size:27px;letter-spacing:-.025em;margin-block:34px 12px}
.legal-main p{color:#5c5e5c;margin-top:10px}
.legal-main .button{margin-top:35px}
.legal-main .button-small{margin-top:0}
.header-inner>.button-small{min-height:46px;padding:12px 17px;font-size:12px}
@media(min-width:1513px){.hero-copy{padding-left:calc((100vw - var(--max))/2 + var(--gutter))}}
@media(max-width:1100px){.site-header nav{gap:18px}.header-inner{gap:15px}.brand-text strong{font-size:20px}.hero-copy{padding-right:25px}.hero h1{font-size:clamp(58px,6.8vw,90px)}.hero{min-height:640px}.section-intro-content{gap:25px}.service summary{grid-template-columns:55px minmax(145px,1fr) minmax(195px,.9fr) 23px}.service-content{margin-left:75px}.about-grid{gap:45px}.partner-grid{gap:45px}}
@media(max-width:850px){html{scroll-padding-top:84px}.header-inner{min-height:78px;padding-block:11px}.brand-mark{height:40px;width:40px;flex-basis:40px}.brand-text strong{font-size:21px}.menu-toggle{display:flex;gap:10px;align-items:center;border:0;background:none;padding:9px 0;font-size:13px;font-weight:700;color:var(--ink)}.menu-toggle span{font-size:22px}.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);padding:18px var(--gutter) 27px;border-bottom:1px solid var(--line);box-shadow:0 14px 26px #13191b15}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav>a{padding:13px 0}.site-header nav .nav-contact{margin-top:13px;padding:15px 18px;justify-content:space-between}.hero{grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding-top:29px}.hero h1{font-size:clamp(48px,7vw,71px)}.hero-body{padding:45px 0}.hero-description{font-size:13px}.hero-footnote{font-size:10px}.section-intro{grid-template-columns:1fr;gap:18px}.section-intro-content{align-items:end}.service summary{grid-template-columns:35px 1fr 24px;gap:13px;padding-block:25px}.service-description{grid-column:2;grid-row:2;max-width:none}.service-toggle{grid-column:3;grid-row:1}.service-title{font-size:36px}.service-content{margin-left:49px}.feature-layout{gap:30px}.feature-quotation p{font-size:39px}.about-grid{gap:32px}.about h2{font-size:45px}.about-lead{font-size:17px}.about-picture{padding-right:19px;padding-bottom:20px}.about-picture:after{width:50%}.team-visual{height:430px}.contact-grid{grid-template-columns:1fr 1.2fr;gap:35px}.contact-head h2{font-size:58px}.form-row{grid-template-columns:1fr;gap:0}.partner-grid{gap:35px}}
@media(max-width:600px){:root{--gutter:22px}.preview-strip{font-size:9px;letter-spacing:.06em}.preview-strip .wrap>span:last-child{display:none}.header-inner{min-height:75px}.brand{gap:10px}.brand-text strong{font-size:19px}.brand-text small{font-size:8px;letter-spacing:.07em}.brand-mark{height:38px;width:38px;flex-basis:38px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:28px var(--gutter) 22px}.hero-body{padding:45px 0 34px}.hero h1{font-size:clamp(62px,12.9vw,84px);line-height:1.035}.hero-line-last{font-size:.72em;margin-top:.1em}.hero-bottom{margin-top:31px}.hero-subtitle{font-size:21px}.hero-description{margin-top:15px;max-width:320px;font-size:13px}.hero .button{margin-top:24px}.hero-footnote{font-size:10px;line-height:1.55}.project-visual{height:370px;min-height:0;width:100%;flex:none}.project-visual>img{position:absolute;height:100%}.photo-label{font-size:9px;left:20px;bottom:21px;padding:11px 12px}.image-index{top:20px;right:20px}.discipline-inner{min-height:72px;grid-template-columns:repeat(3,1fr);gap:10px}.discipline-inner>span{font-size:12px;gap:6px;flex-direction:column;align-items:flex-start}.discipline-inner>span:not(:first-child){padding-left:12px}.discipline-inner .discipline-icon{display:none}.section{padding-block:70px}.section-intro{margin-bottom:34px}.section-intro-content{display:block}.section-intro-content h2{font-size:51px}.section-description{max-width:370px;font-size:14px;margin-top:20px}.service summary{grid-template-columns:28px 1fr 22px;gap:10px;padding:25px 0}.service-number{font-size:11px}.service-title{font-size:33px}.service-description{font-size:13px}.service-content{margin-left:38px;display:block;padding:0 0 28px}.service-content ul{display:block;font-size:13px}.service-content li+li{margin-top:10px}.service-content .button{margin-top:22px}.subtle-note{line-height:1.5}.feature-band{padding:65px 0}.feature-layout{grid-template-columns:1fr;gap:28px}.feature-quotation p{font-size:clamp(37px,10vw,48px);margin:24px 0 18px}.feature-quotation>span{font-size:13px}.feature-image{height:310px}.about-grid{display:flex;flex-direction:column-reverse;gap:37px;align-items:stretch}.about h2{font-size:clamp(44px,11vw,56px);margin-top:27px}.about-lead{font-size:18px;margin-top:22px}.about-detail{margin-top:27px}.team-visual{height:400px}.partner-grid{grid-template-columns:1fr;gap:22px}.partner-grid h2{font-size:50px}.partner-content{padding-top:0}.partner-explanation{font-size:14px}.partner-empty{font-size:13px}.contact-head{display:block;margin-bottom:29px}.contact-head h2{font-size:clamp(45px,11vw,62px);margin-top:24px}.contact-head>p{max-width:340px;margin-top:24px;font-size:14px}.contact-grid{display:flex;flex-direction:column;gap:31px}.contact-copy{padding-top:6px;width:100%}.contact-details{margin-top:23px}.contact-details>div{padding:14px 0;grid-template-columns:95px 1fr;gap:10px}.contact-details dd{font-size:13px}.contact-details dt{font-size:10px}.contact-disclaimer{margin-top:17px}.contact-form{width:100%;padding:23px 0 0}.contact-form-heading{margin-bottom:28px}.form-note{font-size:11px}.footer-main{align-items:flex-start;padding-bottom:30px}.footer-main>span{display:none}.footer-brand{font-size:24px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:13px}.footer-bottom nav{gap:20px}.dialog-inner{padding:29px 19px}.dialog-inner h2{font-size:30px}.dialog-actions .button{width:100%}.legal-main h1{font-size:47px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.button:hover{transform:none}}

.service-empty{font-size:14px;line-height:1.7;color:#777a78;max-width:390px}
@media(max-width:600px){.service-empty{font-size:13px;margin-bottom:2px}}


/* Dezenter Hero-CTA statt großflächigem Fremdkörper.
   Fokussierbar, genügend große Touch-Fläche, farblich in den Hero integriert. */
.hero-cta{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  min-height:56px;
  width:max-content;
  max-width:100%;
  margin-top:25px;
  padding:0 0 10px;
  border-bottom:1px solid rgba(247,240,231,.48);
  color:#f7f0e7;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
  transition:border-color .2s ease,color .2s ease;
}
.hero-cta-arrow{
  width:40px;
  height:40px;
  border:1px solid #c78f73;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#e9a681;
  font-size:21px;
  font-weight:400;
  transition:background-color .2s,color .2s,transform .2s;
}
.hero-cta:hover,.hero-cta:focus-visible{border-bottom-color:#e9a681;color:#fff}
.hero-cta:hover .hero-cta-arrow,
.hero-cta:focus-visible .hero-cta-arrow{
  background:#c78f73;
  color:#1c2225;
  transform:translate(2px,-2px);
}

/* Alle Rubriken sind geschlossen; das Plus ist als einheitliche Bedienhilfe erkennbar. */
.service-toggle{
  width:34px;
  height:34px;
  margin:0;
  border:1px solid #c7c2bb;
  border-radius:50%;
  justify-self:end;
  transition:border-color .2s,background-color .2s;
}
.service-toggle::before,.service-toggle::after{
  width:14px;
  height:1.5px;
  top:15px;
  left:9px;
}
.service summary:hover .service-toggle,
.service summary:focus-visible .service-toggle{border-color:var(--clay-dark);background:#eee8e0}
.service[open] .service-toggle{
  border-color:var(--clay-dark);
  background:#f0e6df;
}
.service[open] .service-toggle::before,
.service[open] .service-toggle::after{background:var(--clay-dark)}
.service summary:focus-visible{
  outline-offset:-3px;
}
@media(max-width:850px){
  .service summary{grid-template-columns:35px 1fr 34px}
  .service-toggle{grid-column:3}
}
@media(max-width:600px){
  .hero-cta{margin-top:23px;font-size:15px;min-height:56px;gap:28px}
  .hero-cta-arrow{width:38px;height:38px}
  .service summary{grid-template-columns:28px minmax(0,1fr) 34px;gap:10px}
  .service-title{overflow-wrap:break-word}
  .service-toggle{grid-column:3}
}
@media(max-width:360px){
  .hero h1{font-size:clamp(53px,12.1vw,65px)}
  .brand-text small{font-size:7px}
  .brand-text strong{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
  .hero-cta,.hero-cta-arrow,.service-toggle{transition:none}
  .hero-cta:hover .hero-cta-arrow{transform:none}
}

@media(max-width:600px){.form-footer{margin-top:0}.contact-submit{min-height:71px;font-size:20px}.contact-submit-arrow{flex-basis:44px;width:44px;height:44px}.contact-form-heading h3{font-size:36px}.contact-form .form-field{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.contact-submit,.contact-submit-arrow{transition:none}.contact-submit:hover .contact-submit-arrow{transform:none}}

/* Endgültiges Kontaktlayout auf Tablet und Smartphones. */
@media(max-width:850px){
  .contact-intro{grid-template-columns:1fr 1fr;gap:28px}
  .contact-intro h2{font-size:clamp(47px,6.3vw,64px)}
  .contact-intro>p{font-size:15px}
  .contact-body{grid-template-columns:minmax(0,.36fr) minmax(0,.64fr);gap:27px}
  .contact-side-lead{font-size:clamp(27px,3.5vw,34px)}
  .contact-side-status{margin-top:28px}
  .form-row{gap:19px}
  .contact-directory .contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .contact-details>div{display:flex;flex-direction:column;gap:10px;border-top:1px solid #c7bfb5;padding-top:17px}
  .contact-details dt{font-size:11px}
  .contact-details dd{font-size:15px}
  .contact-form{padding:0;border:0;background:transparent;color:var(--ink);width:100%}
}
@media(max-width:600px){
  .contact{padding-block:76px}
  .contact-intro{display:block;padding-bottom:34px}
  .contact-intro h2{font-size:clamp(45px,10.6vw,59px);margin-top:24px}
  .contact-intro>p{max-width:360px;margin-top:24px;padding:0;font-size:15px}
  .contact-body{display:block;margin-top:44px;margin-bottom:72px}
  .contact-side{padding:0;margin-bottom:37px}
  .contact-side-lead{font-size:30px;margin-top:15px}
  .contact-side-status{margin-top:20px;padding-top:15px;max-width:none}
  .contact-side-status p{font-size:12px}
  .contact-form{padding:0;margin:0}
  .contact-form-top{margin-bottom:23px}
  .contact-form .form-row{display:block}
  .contact-form .form-field{margin-bottom:26px}
  .contact-form .form-message{margin-bottom:6px}
  .contact-form input,.contact-form select,.contact-form textarea{font-size:16px}
  .contact-submit{font-size:27px;min-height:78px}
  .contact-submit-arrow{width:48px;height:48px}
  .form-note{font-size:11px}
  .contact-directory-heading{display:block;padding-bottom:24px}
  .contact-directory-heading p{margin-top:10px;line-height:1.5}
  .contact-directory .contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}
  .contact-details>div{margin:0}
  .contact-details dd{font-size:13px}
  .contact-location-break{display:none}
  .dialog-inner{padding:30px 24px 32px}
  .dialog-inner h2{font-size:38px}
  .dialog-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .dialog-download,.dialog-send{width:100%}
}
@media(max-width:360px){.contact-intro h2{font-size:42px}.contact-submit{font-size:23px}}
@media(prefers-reduced-motion:reduce){.contact-submit,.contact-submit-arrow{transition:none}.contact-submit:hover .contact-submit-arrow{transform:none}}

/* Sewald SHK: Originalfarben Navy, SHK-Blau und Rot.
   Die Neugestaltung bleibt ruhig; Rot ist Akzent, nicht Vollflächenfarbe. */
:root{
  --ink:#071f45;
  --coal:#0b2850;
  --paper:#edf3f8;
  --cream:#fbfcfe;
  --clay:#bd2430;
  --clay-dark:#a1192c;
  --line:#d6e0e9;
  --muted:#637485;
}
.preview-strip{background:#071f45;color:#e0e8f2}
.preview-dot,.tiny-square,.status-mark{background:#d41e32}
.brand-image{display:flex;flex:0 0 49px;width:49px;height:52px;align-items:center;justify-content:center;overflow:hidden;border-radius:2px;background:#fff}
.brand-image img{display:block;width:100%;height:100%;object-fit:contain}
.brand-text strong{color:#071f45;letter-spacing:-.05em}
.brand-text small{color:#266ca8}
.nav-contact,.button:not(.button-cream){background:#071f45;color:#fff}
.nav-contact:hover,.button:not(.button-cream):hover{background:#17467c}
.hero{background:#071f45}
.hero-copy{background:linear-gradient(140deg,#092751,#071c3b)}
.hero .period,.hero-cta-arrow,.section-kicker,.service-number,.about-label,.form-field-number{color:#cf2c41}
.hero .period{color:#ed5163}
.hero-subtitle{color:#fff}
.hero-description{color:#d3e0ed}
.hero-cta{border-bottom-color:#93a9c4;color:#fff}
.hero-cta-arrow{color:#fff;border-color:#cd6673}
.hero-cta:hover .hero-cta-arrow{background:#b92136;color:#fff}
.hero-cta:hover{border-bottom-color:#f07383}
.discipline-strip{background:#edf3f9;border-bottom-color:#d2e0ed}
.discipline-inner b{color:#ba1e31}
.section-kicker,.contact-intro .section-kicker,.contact-side-number,.dialog-eyebrow{color:#ac2637}
.heading-serif{color:#184d81}
.feature-band{background:#ecf3f8}
.feature-quotation p em{color:#155b99}
.about-picture:after{background:#bd2738}
.about-detail h3{color:#071f45}
.team-visual{background:#e5edf3}
.team-visual img{object-position:center 31%;filter:none}
.team-visual figcaption{background:#fff;color:#071f45;font-weight:800;box-shadow:0 6px 18px #061d3040}
.about .heading-serif{color:#1a5c9a}
.partners{background:#ecf3f8}
.contact{background:#f4f7fa}
.contact-intro h2 .heading-serif{color:#155a92}
.contact-intro>p,.contact-side-status p{color:#586d7d}
.contact-form select{color:#071f45}
.contact-submit-arrow{border-color:#183d68;color:#071f45}
.contact-submit:hover,.contact-submit:focus-visible{color:#ae2436}
.contact-submit:hover .contact-submit-arrow{background:#071f45;color:#fff}
.contact-details dd a{color:#075398}
.contact-directory-heading p{color:#607184}
.site-footer{background:#071a36}
.footer-brand{display:inline-flex;align-items:center;gap:13px;color:#fff}
.footer-brand img{display:block;width:61px;height:63px;object-fit:contain;border-radius:3px;background:#fff}
.footer-brand span{font-size:23px;letter-spacing:-.045em}
.footer-bottom{border-color:#3d5471}
.dialog-inner{border-top-color:#071f45}
.dialog-inner h2 em{color:#19578d}
.dialog-download,.dialog-send{border-color:#071f45}
.dialog-download span:last-child{color:#b92033}
.site-header nav>a:not(.nav-contact):hover{color:#bb2638}
@media(max-width:850px){
  .brand-image{width:42px;height:45px;flex-basis:42px}
}
@media(max-width:600px){
  .brand-image{height:43px;width:40px;flex-basis:40px}
  .brand-text strong{font-size:20px}
  .brand-text small{font-size:7.6px;letter-spacing:.08em}
  .hero h1{font-size:clamp(57px,12.4vw,79px)}
  .footer-brand img{width:50px;height:52px}
  .footer-brand span{font-size:21px}
}


/* Firmenidentität statt fiktiver Referenz- oder Beispielbilder. */
.brand-visual{
  background:linear-gradient(145deg,#0f3b70 0%,#092951 54%,#05172f 100%);
  color:#fff;position:relative;overflow:hidden;isolation:isolate;min-height:100%;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:clamp(24px,3.2vw,49px);
}
.brand-visual::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.20;pointer-events:none;
 background-image:linear-gradient(90deg,rgba(208,226,244,.18) 1px,transparent 1px),linear-gradient(rgba(208,226,244,.18) 1px,transparent 1px);
 background-size:60px 60px;mask-image:linear-gradient(135deg,transparent 5%,#000 85%);
}
.brand-visual::after{content:"";position:absolute;z-index:-1;right:-90px;bottom:-175px;width:470px;height:470px;
 border:1px solid rgba(171,209,249,.18);border-radius:50%;box-shadow:0 0 0 80px rgba(159,199,237,.035),0 0 0 160px rgba(159,199,237,.025);pointer-events:none}
.brand-visual-meta,.brand-visual-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:10px;
 letter-spacing:.16em;font-weight:800;color:#c5d7eb}
.brand-visual-stage{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:25px;flex:1;padding:38px 0}
.brand-visual-logo{display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 35px 80px #04142a60;
 width:min(79%,340px);aspect-ratio:1/1;padding:clamp(20px,3vw,43px);border:1px solid #c3d4e7}
.brand-visual-logo img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain}
.brand-visual-stage p{font-size:11px;font-weight:800;letter-spacing:.14em;color:#e4eef9;text-align:center}
.brand-visual-stage p span{color:#ef5a6a;padding:0 5px}
.brand-visual-footer{border-top:1px solid #ffffff46;padding-top:21px}
.identity-band{background:#eaf1f8;border-block:1px solid #d4e0ed;padding:clamp(58px,7vw,110px) 0}
.identity-layout{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:clamp(36px,7vw,110px);padding-bottom:clamp(58px,7vw,110px)}
.identity-kicker,.identity-small{display:block;color:#a82c3d;font-size:11px;letter-spacing:.15em;font-weight:800}
.identity-head h2{font-size:clamp(44px,5.4vw,86px);letter-spacing:-.068em;margin-top:29px;line-height:1.06}
.identity-head em{font-family:var(--serif);font-weight:400;color:#1b5e97}
.identity-aside{border-top:1px solid #a8baca;padding-top:24px;min-width:0}
.identity-aside p{font-weight:700;font-size:clamp(18px,2vw,27px);letter-spacing:-.03em;line-height:1.38;margin-top:20px}
.identity-aside a{display:inline-flex;align-items:center;gap:30px;font-size:13px;font-weight:700;border-bottom:1px solid #123b6c;margin-top:24px;padding-bottom:9px}
.identity-aside a span{font-size:19px;color:#c02840}
@media(max-width:850px){.brand-visual{padding:24px}.brand-visual-logo{width:min(90%,280px)}.brand-visual-stage p{font-size:9px;letter-spacing:.09em}.brand-visual-footer,.brand-visual-meta{font-size:9px;letter-spacing:.08em}.identity-layout{gap:32px}}
@media(max-width:600px){
  .brand-visual{min-height:390px;padding:23px var(--gutter)}
  .brand-visual-stage{padding:27px 0;gap:20px}
  .brand-visual-logo{width:205px;padding:22px}
  .brand-visual-stage p{font-size:9px;letter-spacing:.10em}
  .brand-visual-footer,.brand-visual-meta{font-size:9px;gap:10px}
  .identity-band{padding:68px 0 0}
  .identity-layout{display:block;padding-bottom:65px}
  .identity-head h2{font-size:clamp(43px,10vw,57px);margin-top:24px}
  .identity-aside{margin-top:31px}
  .identity-aside p{font-size:21px}
}

/* Leistungen: handwerklich-klare Liste statt Kachel-/Badge-Wolke */
.service-content{align-items:flex-end;gap:28px}
.service-content ul{
  flex:1 1 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  column-gap:clamp(18px,3.6vw,50px);
  row-gap:0;
  color:#354a5d;
  font-size:14px;
  line-height:1.52;
}
.service-content li{
  position:relative;
  min-width:0;
  padding:12px 0 12px 17px;
  border-bottom:1px solid #dbe4ed;
}
.service-content li:before{
  content:'';
  width:5px;height:5px;
  position:absolute;left:0;top:21px;
  background:#ba233b;padding:0;border-radius:50%;
}
.service-inquiry{
  display:inline-flex;align-items:center;justify-content:space-between;gap:25px;
  flex:0 0 auto;padding:10px 2px 11px 0;border-bottom:1px solid #8ca5bb;
  color:#082b52;font-size:14px;line-height:1.4;font-weight:700;
  white-space:nowrap;transition:color .18s,border-color .18s;
}
.service-inquiry span{font-size:21px;font-weight:400;color:#b62239}
.service-inquiry:hover,.service-inquiry:focus-visible{color:#b62239;border-color:#b62239}
@media(max-width:1100px){
  .service-content{display:block}
  .service-inquiry{margin-top:24px}
}
@media(max-width:600px){
  .service-content ul{grid-template-columns:1fr;row-gap:0;font-size:14px}
  .service-content li{padding:10px 0 10px 16px}
  .service-content li:before{top:19px}
  .service-inquiry{margin-top:23px;min-height:44px}
}

/* Feinschliff der Leistungsübersicht und des Anfrageformulars: ohne Zählnummern */
.service summary{grid-template-columns:minmax(180px,1fr) minmax(210px,.95fr) 34px;gap:clamp(17px,3vw,34px)}
.service-content{margin-left:0}
.service-toggle{grid-column:3;grid-row:1}
.contact-address [data-field]{display:block}
.contact-form-top{justify-content:flex-start}
.contact-side-lead{margin-top:0}
.partner-empty{border:0;background:none;margin:0;min-height:74px;padding:22px 0;color:#6a7786}
@media(max-width:850px){
 .service summary{grid-template-columns:minmax(0,1fr) 34px;gap:12px}
 .service-title{grid-column:1;grid-row:1}
 .service-description{grid-column:1;grid-row:2}
 .service-toggle{grid-column:2;grid-row:1}
 .service-content{margin-left:0}
}
@media(max-width:600px){
 .service summary{grid-template-columns:minmax(0,1fr) 34px}
 .service-description{grid-column:1;grid-row:2}
 .service-toggle{grid-column:2;grid-row:1}
 .service-content{margin-left:0}
}


/* Sewald SHK – individuelle Redaktionsfassung: reduziert, lesbar, mit klaren Kontaktwegen. */
.hero-copy{background:#092143}
.hero-body{padding:clamp(66px,7vw,98px) 0}
.hero-subtitle{font-size:clamp(19px,2vw,27px);max-width:475px;line-height:1.35}
.hero-description{font-size:15px;line-height:1.7;max-width:440px;color:#d3deeb;margin-top:17px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px;margin-top:31px}
.hero-actions .hero-cta{margin-top:0}
.hero-phone{font-size:13px;display:inline-flex;align-items:center;gap:10px;color:#d9e7f5;font-weight:600;border-bottom:1px solid #829dbb;padding:10px 0;transition:color .2s,border-color .2s}
.hero-phone span{color:#f06a75;font-size:17px}
.hero-phone:hover,.hero-phone:focus-visible{color:#fff;border-color:#fff}
.brand-visual{background:#fff;color:#0b2850;border-left:1px solid #dce5ed}
.brand-visual::before,.brand-visual::after{display:none}
.brand-visual-meta,.brand-visual-footer{color:#4b657d}
.brand-visual-footer{border-top:1px solid #d8e0e9}
.brand-visual-footer span:last-child{text-align:right}
.brand-visual-stage{padding:30px 0}
.brand-visual-logo{width:min(77%,335px);aspect-ratio:auto;background:transparent;border:0;box-shadow:none;padding:0}
.brand-visual-logo img{width:100%;height:auto;display:block;object-fit:contain}
.services .section-intro{display:block;margin-bottom:46px}
.services .section-intro-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,345px);align-items:end;gap:clamp(32px,8vw,150px);margin-top:26px}
.services .section-intro h2{max-width:750px}
.services .section-description{max-width:345px;line-height:1.75;margin:0 0 6px}
.services .service summary{padding-top:29px;padding-bottom:29px}
.service-title{font-size:clamp(31px,3.3vw,50px)}
.service-description{color:#526578;font-size:14px}
.subtle-note{font-size:14px;line-height:1.6;color:#566c7f;margin-top:27px}
.subtle-note a{font-weight:700;color:#0d4274;border-bottom:1px solid #8ca4bb;padding-bottom:2px}
.subtle-note a:hover{color:#ac2437;border-color:#ac2437}
.about{background:#fff}
.about-picture{padding:0!important}
.about-picture::after{display:none!important}
.about .about-grid{gap:clamp(44px,7vw,110px)}
.team-visual{height:clamp(480px,48vw,640px);background:#e8ecf0}
.team-visual img{object-fit:cover;object-position:center 30%}
.about h2{font-size:clamp(43px,4.5vw,76px)}
.about-lead{font-size:clamp(17px,1.8vw,23px);line-height:1.55;color:#21364b;max-width:520px}
.about-detail{margin-top:34px;padding-top:25px}
.about-detail p{color:#536677;font-size:15px}
.about-detail h3{font-size:28px}
.about .text-link{margin-top:31px}
.partners{padding-block:clamp(60px,7vw,100px);background:#eff4f8}
.partner-grid{gap:clamp(35px,6vw,90px)}
.partner-grid h2{margin-top:20px;font-size:clamp(44px,4.5vw,72px)}
.partner-content{padding-top:54px}
.partner-explanation{color:#455d73;font-size:16px}
.partner-list{margin-top:19px}
.partner-empty{min-height:44px;padding:15px 0;font-size:13px;color:#74869a}
.contact-intro h2{font-size:clamp(47px,6vw,89px)}
.contact-intro>p{font-size:clamp(16px,1.4vw,19px)}
.contact-side-lead{font-size:clamp(30px,3.3vw,45px);margin-top:0;line-height:1.17}
.contact-direct-phone{display:inline-flex;align-items:center;gap:16px;font-size:clamp(19px,2vw,27px);font-weight:700;letter-spacing:-.025em;white-space:nowrap;color:#0a467f;margin-top:31px;border-bottom:1px solid #7693af;padding:0 0 10px}
.contact-direct-phone span{font-size:22px;color:#be263b}
.contact-direct-phone:hover{color:#be263b;border-color:#be263b}
.contact-side-caption{font-size:13px;color:#6b7d8c;margin-top:14px}
.contact-form-top{letter-spacing:.12em}
.contact-body{margin-top:clamp(50px,6vw,85px);margin-bottom:clamp(75px,8vw,120px)}
.contact-directory-heading p{font-size:13px}
.footer-brand img{width:48px;height:52px;background:#fff;padding:3px;object-fit:contain}
@media(max-width:1000px){
  .services .section-intro-content{grid-template-columns:minmax(0,1fr) minmax(210px,.6fr);gap:27px}
  .contact-direct-phone{font-size:20px}
}
@media(max-width:850px){
  .brand-visual{padding:26px}
  .brand-visual-logo{width:min(84%,290px)}
  .services .section-intro-content{display:block;margin-top:20px}
  .services .section-description{max-width:570px;margin-top:23px}
  .about .about-grid{gap:38px}
  .team-visual{height:490px}
  .partner-content{padding-top:0}
}
@media(max-width:600px){
  .hero-body{padding:41px 0 38px}
  .hero-subtitle{font-size:21px;line-height:1.35}
  .hero-description{font-size:14px;line-height:1.6}
  .hero-actions{gap:17px;margin-top:25px}
  .hero-phone{font-size:13px}
  .brand-visual{min-height:320px;padding:22px var(--gutter)}
  .brand-visual-stage{padding:18px 0}
  .brand-visual-logo{width:min(67%,235px)}
  .brand-visual-meta,.brand-visual-footer{font-size:9px;line-height:1.5;letter-spacing:.05em}
  .services .section-intro{margin-bottom:37px}
  .services .section-intro-content{margin-top:21px}
  .services .section-intro h2{font-size:clamp(43px,10vw,59px)}
  .services .section-description{margin-top:22px;font-size:15px}
  .service-title{font-size:32px}
  .service-description{font-size:13px}
  .about .about-grid{gap:32px}
  .about h2{font-size:clamp(41px,10.3vw,58px)}
  .about-lead{font-size:17px;margin-top:23px}
  .team-visual{height:clamp(390px,116vw,490px)}
  .partner-grid h2{font-size:46px}
  .partners{padding-block:63px}
  .contact-intro h2{font-size:clamp(46px,11vw,65px)}
  .contact-side{margin-bottom:34px}
  .contact-side-lead{font-size:30px}
  .contact-direct-phone{margin-top:21px;font-size:23px}
  .contact-side-caption{font-size:12px}
  .footer-brand img{width:43px;height:47px}
}

/* Einheitliche, plattformunabhängige Pfeile: SVG statt iOS-/Android-Emoji.
   Alle Aktionen nutzen denselben Strich, ohne eigene Kreise oder Kacheln. */
.ui-arrow{
  width:20px;height:20px;display:block;flex:none;
  fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;
  overflow:visible;
}
.nav-contact>span,.hero-cta-arrow,.hero-phone>span,
.service-inquiry>span,.subtle-note a>span,.text-link>span,
.contact-direct-phone>span,.contact-submit-arrow,
.dialog-download>span:last-child{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;flex:0 0 24px;
  border:0;border-radius:0;background:transparent;
  padding:0;margin:0;box-shadow:none;
  color:inherit;font-size:inherit;transform:none;
}
.nav-contact>span>.ui-arrow,.hero-cta-arrow>.ui-arrow,
.hero-phone>span>.ui-arrow,.service-inquiry>span>.ui-arrow,
.subtle-note a>span>.ui-arrow,.text-link>span>.ui-arrow,
.contact-direct-phone>span>.ui-arrow,.contact-submit-arrow>.ui-arrow,
.dialog-download>span:last-child>.ui-arrow{width:20px;height:20px}
.hero-cta-arrow,.hero-cta-arrow:where(:hover),
.contact-submit-arrow{border:0!important;background:transparent!important}
.hero-cta:hover .hero-cta-arrow,.hero-cta:focus-visible .hero-cta-arrow,
.contact-submit:hover .contact-submit-arrow,
.contact-submit:focus-visible .contact-submit-arrow{
  background:transparent!important;color:inherit!important;
  transform:none!important;box-shadow:none!important;
}
.hero-cta-arrow{color:#fff}
.hero-phone>span{color:#d9e7f5}
.nav-contact>span{color:#fff}
.contact-submit-arrow{color:#071f45}
.contact-submit:hover .contact-submit-arrow{color:#ac2637!important}
.contact-direct-phone>span,.text-link>span,.service-inquiry>span,
.subtle-note a>span{color:#ab2438}
.dialog-actions .ui-arrow{width:19px;height:19px}
.dialog-send{display:inline-flex;align-items:center;gap:13px}
.dialog-send>.ui-arrow,.footer-top>.ui-arrow{width:18px;height:18px}
.footer-top{display:inline-flex;align-items:center;gap:9px}
.hero-actions .hero-cta,.hero-actions .hero-phone{
  justify-content:space-between;gap:16px;
}
@media(max-width:600px){
  .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}
  .hero-actions .hero-cta,.hero-actions .hero-phone{
    width:100%;min-height:53px;display:flex;align-items:center;
    justify-content:space-between;gap:15px;margin:0;padding:10px 0;
    border-bottom:1px solid #879cba;font-size:16px;
  }
  .hero-actions .hero-phone{font-size:15px}
  .contact-submit-arrow{width:24px;height:24px;flex-basis:24px}
  .contact-submit{gap:14px}
  .contact-submit .ui-arrow{width:20px;height:20px}
  .contact-direct-phone>span{width:24px;flex-basis:24px}
}

/* Einheitliches Themenfeld auf iOS/WebKit und Android/Chromium. */
.contact-form select{
  -webkit-appearance:none;
  appearance:none;
  border-radius:0;
  padding-right:36px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 9 7 7 7-7' fill='none' stroke='%23071f45' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:18px 18px;
  background-position:right 2px center;
}
.contact-form select:focus-visible{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 9 7 7 7-7' fill='none' stroke='%23a1192c' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}


/* Google: ruhiges helles Editorial-Modul statt auffälliger dunkler Vollflächenkarte.
   Navy, dezentes SHK-Blau und einzelne rote Akzentlinie gehören zum CI. */
.reviews{background:#fff;border-top:1px solid #dce5ee;padding-block:clamp(72px,7.5vw,112px)}
.review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.96fr);align-items:center;gap:clamp(36px,6.5vw,105px)}
.review-intro h2{font-size:clamp(47px,5.1vw,78px);line-height:1.07;letter-spacing:-.065em;margin-top:26px}
.review-lead{margin-top:26px;color:#213b55;font-size:clamp(18px,1.75vw,22px);line-height:1.5;max-width:520px}
.review-explainer{margin-top:16px;color:#556d80;font-size:15px;line-height:1.75;max-width:485px}
.google-review-panel{min-width:0;background:#eff4f8;color:#071f45;padding:clamp(29px,3.9vw,51px);border-top:3px solid #b72a3e;display:flex;flex-direction:column}
.google-review-meta{display:flex;align-items:center;justify-content:flex-start;gap:12px;border-bottom:1px solid #c7d6e3;padding-bottom:23px}
.google-review-meta span:first-child{font-size:11px;font-weight:800;letter-spacing:.13em;color:#a5263d}
.google-review-body{padding:clamp(32px,3.2vw,48px) 0 clamp(31px,3.2vw,46px)}
.google-review-panel h3{font-size:clamp(34px,3.25vw,49px);line-height:1.12;letter-spacing:-.058em;color:#071f45;margin:0}
.google-review-copy{margin-top:20px;color:#496277;font-size:15px;line-height:1.7;max-width:430px}
.google-review-action{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:65px;padding:13px 0;border-top:1px solid #aebfcf;border-bottom:1px solid #aebfcf;font-weight:700;font-size:clamp(20px,2.2vw,26px);color:#0a4275;transition:color .18s,border-color .18s}
.google-review-action:hover,.google-review-action:focus-visible{color:#a9233a;border-color:#a9233a}
.google-review-action:focus-visible{outline:2px solid #a9233a;outline-offset:4px}
.google-review-action-icon{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px}
.google-review-hint{font-size:12px;line-height:1.65;color:#5e7488;margin-top:17px;max-width:455px}
@media(max-width:850px){
  .review-layout{grid-template-columns:1fr;gap:32px}
  .review-intro h2{font-size:clamp(46px,7.8vw,67px)}
  .review-lead,.review-explainer{max-width:610px}
  .google-review-panel{padding:clamp(28px,5vw,43px)}
}
@media(max-width:600px){
  .reviews{padding-block:63px}
  .review-layout{gap:27px}
  .review-intro h2{font-size:clamp(43px,10.7vw,58px);margin-top:21px}
  .review-lead{font-size:18px;margin-top:20px}
  .review-explainer{font-size:14px}
  .google-review-panel{padding:25px 22px 27px}
  .google-review-meta{padding-bottom:17px}
  .google-review-meta span:first-child{font-size:10px;letter-spacing:.1em}
  .google-review-body{padding:28px 0 29px}
  .google-review-panel h3{font-size:clamp(34px,8vw,43px)}
  .google-review-copy{font-size:14px;margin-top:15px}
  .google-review-action{font-size:20px;min-height:62px}
  .google-review-hint{font-size:11px}
}
@media(max-width:350px){.google-review-panel{padding-inline:18px}.google-review-action{font-size:18px}}
@media(prefers-reduced-motion:reduce){.google-review-action{transition:none}}

/* Finale Kontaktübersicht: drei echte Kontaktwege statt eines Vier-Spaltenrasters
   mit leerer vierter Spalte. Mobile Daten als kompakte, saubere Zeilen. */
.contact-directory{border-top:1px solid #aabac9;padding-top:25px}
.contact-directory-heading{display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:0 0 25px}
.contact-directory-heading h3{margin:0;font-size:12px;line-height:1.35;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#0a2b51}
.contact-directory .contact-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3.2vw,48px);align-items:start;margin:0}
.contact-directory .contact-details>div{display:flex;flex-direction:column;gap:10px;min-width:0;margin:0;padding:19px 0 0;border-top:1px solid #b9c8d5}
.contact-directory .contact-details dt{font-size:12px;line-height:1.5;font-weight:700;color:#657a8d}
.contact-directory .contact-details dd{margin:0;font-size:clamp(15px,1.5vw,18px);line-height:1.55;color:#112c49;overflow-wrap:anywhere}
.contact-directory .contact-details dd a{color:#075398;text-decoration-thickness:1px;text-underline-offset:5px}
.contact-directory .contact-details dd a:focus-visible{outline:2px solid #a31e39;outline-offset:4px}
.contact-directory .contact-address [data-field]{display:block}
@media(max-width:850px){
  .contact-directory .contact-details{grid-template-columns:1fr;gap:0}
  .contact-directory .contact-details>div{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:start;gap:18px;padding:18px 0;border-top:1px solid #c1cdd9}
  .contact-directory .contact-details>div:last-child{border-bottom:1px solid #c1cdd9}
  .contact-directory .contact-details dt{font-size:12px}
  .contact-directory .contact-details dd{font-size:16px}
}
@media(max-width:600px){
  .contact{padding-bottom:56px}
  .contact-body{margin-bottom:47px}
  .contact-directory{padding-top:23px}
  .contact-directory-heading{padding-bottom:17px}
  .contact-directory-heading h3{font-size:11px;letter-spacing:.14em}
  .contact-directory .contact-details{grid-template-columns:minmax(0,1fr);gap:0}
  .contact-directory .contact-details>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding:18px 0;min-height:64px}
  .contact-directory .contact-details dt{font-size:12px}
  .contact-directory .contact-details dd{font-size:clamp(14px,3.8vw,16px);line-height:1.6}
}
@media(max-width:350px){
  .contact-directory .contact-details>div{grid-template-columns:74px minmax(0,1fr);gap:10px}
  .contact-directory .contact-details dd{font-size:14px}
}
/* Weitere mobile Konsistenz: kompakter Herstellerbereich ohne Platzhalter-Kachel. */
.partner-empty{min-height:0;padding:15px 0;color:#586e81;line-height:1.7}
@media(max-width:600px){
  .partners{padding-block:59px}
  .partner-list{margin-top:18px}
  .partner-empty{font-size:13px;padding-block:13px}
  .contact-intro>p{line-height:1.65}
}

/* Ergänzende dezente Google-Unternehmensprofil-Verlinkung, gleiches SVG-Icon. */
.google-business-link{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;align-self:flex-start;max-width:100%;margin-top:18px;padding:10px 0;border-bottom:1px solid #9dafc1;color:#235d8d;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none;transition:color .2s,border-color .2s}
.google-business-link>span:last-child{display:grid;place-items:center;flex:0 0 20px}
.google-business-link .ui-arrow{width:18px;height:18px}
.google-business-link:hover,.google-business-link:focus-visible{color:#a9233a;border-color:#a9233a}
.google-business-link:focus-visible{outline:2px solid #a9233a;outline-offset:4px}
@media(max-width:600px){.google-business-link{font-size:13px;margin-top:15px}}
@media(prefers-reduced-motion:reduce){.google-business-link{transition:none}}

/* Bestätigtes Einsatzgebiet: längere Ortsangaben mobil sauber umbrechen. */
@media(max-width:600px){
  .hero-topline{flex-wrap:wrap;gap:9px 15px}
  .hero-topline .eyebrow{font-size:10px;letter-spacing:.055em;line-height:1.5}
  .hero-index{font-size:10px;letter-spacing:.055em}
  .brand-visual-meta span:last-child{text-align:right}
  .about-copy h2{font-size:clamp(40px,10vw,54px);line-height:1.1}
  .about-copy .heading-serif{white-space:normal}
}
@media(max-width:350px){
  .hero-index{font-size:9px}
  .about-copy h2{font-size:39px}
}
