@font-face{font-family:Barlow;src:url('assets/barlow-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Barlow;src:url('assets/barlow-semibold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{--ink:#103f49;--muted:#53696c;--sand:#f1cf9f;--cream:#f7f5ef;--line:#d3dcd9;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--white);color:var(--ink);font:17px/1.65 Barlow,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #b27b39;outline-offset:5px}button,summary{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.1;letter-spacing:-.035em}h2{font-size:clamp(36px,3.6vw,56px)}h2 span{color:var(--muted)}p+p{margin-top:20px}.header{max-width:1600px;margin:auto;height:108px;padding:0 5.5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:35px}.brand{width:300px;flex-shrink:0}.brand img{width:100%;height:auto}.header nav{display:flex;align-items:center;gap:30px;font-size:15px}.header nav a:hover{color:#a66d2b}.nav-contact{border-bottom:1px solid var(--ink);padding:9px 0}.nav-contact span{margin-left:14px}.menu-toggle{display:none}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr 1fr;padding:65px 5.5% 0;gap:0 6%;position:relative}.hero-copy{padding:20px 0 42px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:600;display:flex;align-items:center;gap:12px}.tiny-line{width:28px;border-top:2px solid #c39250}h1{font-size:clamp(58px,6vw,94px);margin:26px 0;line-height:1.02;letter-spacing:-.045em}h1 span{position:relative;z-index:1}h1 span:after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:15px;background:var(--sand);z-index:-1}.lead{font-size:24px;line-height:1.4}.hero-intro{font-size:17px;max-width:470px;color:var(--muted);margin:20px 0 28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--ink);color:white;padding:15px 23px;font-weight:600;border:1px solid var(--ink);transition:background .2s,transform .2s}.button:hover{background:#205965;transform:translateY(-2px)}.button span{font-size:22px;line-height:1}.text-link{display:block;margin-top:19px;font-size:14px}.text-link span{margin-left:14px}.hero-visual{position:relative;min-height:580px;background:#e9ece7;margin-bottom:42px}.hero-visual>img{height:100%;width:100%;position:absolute;object-position:51% center}.portrait-label{position:absolute;left:-27px;bottom:38px;background:var(--cream);padding:20px 33px;box-shadow:0 12px 35px #153f4910}.portrait-label span{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.15em}.portrait-label strong{font-size:24px;font-weight:600}.visual-index{position:absolute;top:23px;right:19px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.18em;color:#25484c}.hero-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding:21px 0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.13em}.hero-bottom>span:last-child{letter-spacing:0;font-size:13px}.hero-bottom a{display:inline-flex;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;margin-left:22px}.section{padding:100px max(5.5%,calc((100vw - 1424px)/2));}.section-heading .eyebrow{margin-bottom:23px}.intro{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:30px 7%}.intro-body{padding-top:42px;color:var(--muted)}.large-copy{font-size:24px;line-height:1.45;color:var(--ink)}.question-strip{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:30px;margin-top:22px;font-size:22px}.question-strip span:before{content:'↗';color:#b1844b;margin-right:16px}.path{display:grid;grid-template-columns:1.2fr 1fr;gap:45px 10%}.section-summary{align-self:end;color:var(--muted);max-width:430px}.steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step{padding:34px 32px 36px 0}.step+.step{border-left:1px solid var(--line);padding-left:32px}.step-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.step-top>span{font-size:13px;color:var(--muted)}.step svg{width:43px;height:43px;stroke:var(--ink);stroke-width:1.5}.step h3{font-size:29px;min-height:68px}.step p{color:var(--muted);font-size:16px;margin-top:21px;max-width:350px}.step ul{list-style:none;padding:0;margin:24px 0 0;font-size:14px}.step li{margin-top:9px}.step li:before{content:'—';margin-right:10px;color:#b1844b}.extra-services{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1fr 1fr;gap:45px;font-size:16px}.extra-services>p{font-size:23px;line-height:1.4}.extra-services strong{font-weight:600}.extra-services h3{font-size:19px;line-height:1.3;letter-spacing:0}.extra-services div p{margin-top:13px;color:var(--muted)}.work-image{position:relative;height:470px;overflow:hidden;background:var(--ink)}.work-image img{width:62%;height:100%;object-position:center 47%}.work-image:after{position:absolute;inset:0;content:'';background:linear-gradient(90deg,transparent 28%,#103f4922 45%,#103f49 65%)}.work-image>div{position:absolute;top:50%;transform:translateY(-50%);right:8%;z-index:1;color:white}.work-image>div>p:last-child{font-size:46px;line-height:1.15;font-weight:600;letter-spacing:-.02em;margin-top:26px}.work-image>div>p span{color:var(--sand)}.checks{display:grid;grid-template-columns:1fr 1fr;gap:35px 10%;background:var(--cream)}.checks-intro{padding-top:42px;color:var(--muted)}.duration{display:inline-block;font-size:14px;margin-top:20px}.duration strong{margin-left:9px;border:1px solid #cdd6d0;padding:5px 12px;font-weight:400}.check-list{grid-column:1/-1;margin-top:15px}.check-list details{border-top:1px solid #cbd5d0}.check-list details:last-child{border-bottom:1px solid #cbd5d0}summary{list-style:none}summary::-webkit-details-marker{display:none}.check-list summary{display:flex;align-items:center;gap:25px;padding:23px 0}.check-number{font-size:13px;color:var(--muted);width:35px}.check-list h3{font-size:27px;flex:1;letter-spacing:-.02em}.check-time{font-size:13px;color:var(--muted)}.plus{font-size:25px;font-weight:400;margin-left:30px;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.check-body{padding:0 60px 26px;max-width:760px;color:var(--muted)}.check-body a{display:inline-block;margin-top:17px;font-size:14px;color:var(--ink);border-bottom:1px solid #aebbb3}.about{display:grid;grid-template-columns:.85fr 1fr;gap:10%;align-items:center}.about-photo{position:relative;margin-right:30px}.about-photo>img{width:100%;max-height:680px;object-position:center 27%}.experience{display:flex;align-items:center;gap:22px;position:absolute;bottom:35px;right:-32px;background:var(--sand);padding:23px 30px}.experience strong{font-size:55px;line-height:1;font-weight:600}.experience span{font-size:14px;line-height:1.5}.about-copy h2{margin:23px 0 28px;font-size:clamp(34px,3.2vw,48px)}.about-copy>p:not(.eyebrow):not(.large-copy){color:var(--muted);font-size:16px}.about-copy .large-copy{font-size:22px}.qualifications{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:28px;font-size:15px}.qualifications summary{padding:17px 0;display:flex;justify-content:space-between}.qualifications li{padding:5px 0;color:var(--muted)}.qualifications ul{padding-left:19px}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact h2{font-size:clamp(48px,5vw,72px);margin:28px 0}.contact h2 span{color:var(--sand)}.contact-copy>p:not(.eyebrow){color:#d0dcdb}.email-link{display:inline-block;border-bottom:1px solid #66838a;margin-top:30px;font-size:19px}form{padding-top:10px}label{display:block;font-size:13px;margin-bottom:22px}label>span{color:var(--sand)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}input,select,textarea{width:100%;display:block;background:transparent;color:white;border:none;border-bottom:1px solid #6c8b91;border-radius:0;padding:10px 0;font-size:16px;outline-offset:1px}input::placeholder,textarea::placeholder{color:#a5bbbf}textarea{resize:vertical;min-height:110px}select option{color:var(--ink);background:white}.form-note{font-size:12px;color:#b9cdce;margin:-3px 0 23px;line-height:1.5}.button-sand{background:var(--sand);color:var(--ink);border-color:var(--sand)}.button-sand:hover{background:#f8dfba}#form-status{font-size:14px;margin-top:16px}footer{padding:38px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand{font-weight:600;font-size:22px;line-height:1.2}.footer-brand span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.19em;margin-top:7px;font-weight:400}footer p{font-size:13px;color:var(--muted)}footer>div{display:flex;gap:24px;align-items:center;font-size:12px}footer button{border:0;background:none;padding:8px 0;color:inherit;font-size:12px}footer>div>a{font-size:22px;margin-left:16px}dialog{border:none;padding:48px;width:600px;max-width:90%;color:var(--ink);box-shadow:0 20px 90px #0003}dialog::backdrop{background:#103f49aa}dialog h2{font-size:35px;margin:20px 0}dialog p{margin-top:18px}dialog a{text-decoration:underline}.dialog-close{position:absolute;top:10px;right:18px;background:none;border:0;font-size:30px;color:var(--ink)}.skip{position:absolute;top:-100px;left:20px;z-index:9;background:white;padding:14px}.skip:focus{top:10px}
@media(min-width:1600px){.header{padding-left:88px;padding-right:88px}.hero{padding-left:88px;padding-right:88px}.hero-visual{min-height:650px}}
@media(max-width:1100px){.header{height:94px}.brand{width:250px}.header nav{gap:20px;font-size:13px}.hero{gap:0 4%;padding-top:45px}h1{font-size:68px}.hero-visual{min-height:560px}.hero .lead{font-size:21px}.section{padding-top:75px;padding-bottom:75px}.step{padding-right:20px}.step+.step{padding-left:20px}.step h3{font-size:25px}.extra-services{gap:25px}.work-image>div{right:5.5%}.work-image>div>p:last-child{font-size:40px}.about{gap:7%}.about-photo{margin-right:10px}.contact{gap:7%}}
@media(max-width:800px){html{scroll-padding-top:20px}.header{height:90px;position:relative}.brand{width:260px}.menu-toggle{display:flex;align-items:center;gap:20px;background:none;border:0;color:var(--ink);font-size:14px}.menu-toggle span{font-size:23px}.header nav{display:none;position:absolute;left:0;right:0;top:90px;background:white;padding:25px 6%;z-index:10;box-shadow:0 20px 20px #103f4910;align-items:stretch;font-size:17px}.header nav.open{display:flex;flex-direction:column;gap:18px}.hero{grid-template-columns:1fr 1fr;gap:0 4%;padding-top:35px}.hero-copy{padding-top:0}h1{font-size:57px}.hero .eyebrow{font-size:9px;letter-spacing:.1em;gap:7px}.tiny-line{width:18px}.hero .lead{font-size:19px}.hero-intro{font-size:15px}.hero .button{font-size:14px;padding:13px 16px;gap:20px}.hero-visual{min-height:510px}.portrait-label{padding:15px 20px;left:-15px;bottom:24px}.portrait-label strong{font-size:21px}.portrait-label span{font-size:8px}.hero-bottom>span:first-child{max-width:220px;font-size:9px}.section{gap:35px 6%}h2{font-size:35px}.intro-body,.checks-intro{padding-top:30px}.large-copy{font-size:21px}.intro-body{font-size:15px}.question-strip{font-size:18px;gap:20px}.question-strip span:before{margin-right:8px}.path{gap:30px 6%}.section-summary{font-size:15px}.step h3{font-size:23px;min-height:52px}.step{padding-right:14px}.step+.step{padding-left:14px}.step p{font-size:15px}.step ul{font-size:13px}.extra-services{grid-template-columns:1fr 1fr}.extra-services>p{grid-column:1/-1}.work-image{height:380px}.work-image>div>p:last-child{font-size:33px}.work-image .eyebrow{font-size:10px}.check-list h3{font-size:24px}.about{grid-template-columns:.85fr 1fr}.about-copy h2{font-size:31px}.about-copy .large-copy{font-size:19px}.experience{padding:15px;gap:12px;right:-20px}.experience strong{font-size:42px}.experience span{font-size:12px}.contact{grid-template-columns:1fr 1fr;gap:6%}.contact h2{font-size:51px}.email-link{font-size:15px}.form-row{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap}footer p{display:none}}
@media(max-width:580px){body{font-size:16px}.header{height:82px;padding:0 6%}.brand{width:225px}.menu-toggle{gap:9px;font-size:12px}.header nav{top:82px}.hero{padding:32px 6% 0;display:flex;flex-direction:column}.hero-copy{padding-bottom:32px}.hero .eyebrow{font-size:10px}h1{font-size:64px;margin:24px 0}.hero .lead{font-size:21px}.hero-intro{font-size:16px;max-width:370px}.hero .button{font-size:15px;padding:15px 21px}.text-link{display:inline-block;margin-left:15px;font-size:12px;margin-top:16px}.hero-visual{min-height:390px;margin:0 0 25px 15px}.hero-visual>img{object-position:center 36%}.portrait-label{bottom:24px;left:-15px;padding:15px 25px}.portrait-label strong{font-size:23px}.hero-bottom{font-size:9px;padding:18px 0;gap:25px}.hero-bottom>span:last-child{display:flex;align-items:center;font-size:12px;line-height:1.3}.hero-bottom a{flex-shrink:0;margin-left:12px}.section{padding:60px 6%;display:block}h2{font-size:36px}.section-heading .eyebrow{margin-bottom:20px}.intro-body{padding-top:30px;font-size:16px}.large-copy{font-size:23px}.question-strip{margin-top:32px;display:flex;flex-direction:column;gap:15px;font-size:20px}.section-summary{margin-top:25px;font-size:16px}.steps{display:block;margin-top:30px}.step,.step+.step{border-left:0;padding:26px 0}.step+.step{border-top:1px solid var(--line)}.step-top{margin-bottom:18px}.step h3{font-size:29px;min-height:0}.step h3 br{display:none}.step p{font-size:16px;max-width:none;margin-top:16px}.step ul{font-size:14px;margin-top:18px}.extra-services{display:block;margin-top:30px}.extra-services>div{margin-top:26px}.extra-services>p{font-size:25px}.work-image{height:530px}.work-image img{width:100%;height:100%;object-position:45% center}.work-image:after{background:linear-gradient(0deg,#103f49 2%,#103f49dd 28%,#103f4900 75%)}.work-image>div{left:6%;top:auto;bottom:35px;transform:none}.work-image>div>p:last-child{font-size:37px;margin-top:16px}.checks-intro{padding-top:25px}.check-list{margin-top:30px}.check-list summary{gap:12px;padding:23px 0}.check-number{width:20px;font-size:11px}.check-list h3{font-size:21px}.check-time{display:none}.plus{margin-left:0;font-size:23px}.check-body{padding:0 0 25px 32px;font-size:15px}.about-photo{margin:0 16px 45px 0}.about-photo>img{height:460px;object-position:center 25%}.experience{right:-16px;bottom:25px;padding:20px 25px}.experience strong{font-size:50px}.experience span{font-size:13px}.about-copy h2{font-size:36px}.about-copy .large-copy{font-size:22px}.contact h2{font-size:58px}.contact-copy{margin-bottom:40px}.email-link{font-size:19px}.form-row{grid-template-columns:1fr 1fr;gap:20px}footer{padding:30px 6%;gap:25px}.footer-brand{font-size:21px}footer>div{width:100%;justify-content:flex-start}footer>div>a{margin-left:auto}dialog{padding:32px 25px}.text-link span{margin-left:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.phone-link{display:block;margin-top:14px;font-size:17px}.inline-link{border:0;padding:0;background:none;color:inherit;text-decoration:underline;font-size:inherit}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{opacity:.65;cursor:wait;transform:none}dialog{max-height:85vh;overflow-y:auto}dialog h3{font-size:21px;letter-spacing:-.01em;margin-top:28px}dialog p{font-size:16px;line-height:1.65}

/* Sichtbare Navigation und dezente Leuchtturm-Animation. */
html{scroll-padding-top:128px}
.header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 5px 20px #103f4908}
.brand{position:relative;display:block}
.lighthouse{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.lighthouse-beams{transform-box:view-box;transform-origin:184px 68px;animation:lighthouse-glow 7s ease-in-out infinite}
@keyframes lighthouse-glow{0%,100%{transform:scaleX(1);opacity:1}50%{transform:scaleX(.33);opacity:.4}}
.hero-bottom a{display:none}
footer>div>a.back-top{font-size:12px;white-space:nowrap}
@media(max-width:1100px){html{scroll-padding-top:114px}}
@media(max-width:800px){html{scroll-padding-top:110px}.header{position:sticky}}
@media(max-width:580px){html{scroll-padding-top:102px}.header{position:sticky}}
@media(prefers-reduced-motion:reduce){.lighthouse-beams{animation:none}}

/* Flexible Breiten statt horizontalem Scrollen auf Mobilgeräten. */
.hero>*,.section>*,.steps>*,.extra-services>*,.form-row>*{min-width:0}
input,select,textarea{min-width:0;max-width:100%}
.email-link,.qualifications li,dialog p{overflow-wrap:anywhere}
.form-trap{left:0;top:0;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.check-list h3{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.check-number,.check-list .plus{flex-shrink:0}
@media(max-width:800px){
 .header{gap:16px}
 .brand{flex:0 1 260px;min-width:0}
 .menu-toggle{flex-shrink:0;min-height:44px;padding:8px 0 8px 12px}
 .header nav{max-height:calc(100dvh - 90px);overflow-y:auto}
 .header nav a{padding:10px 0;min-height:44px}
 .intro,.path,.checks,.about,.contact{grid-template-columns:minmax(0,1fr)}
 .intro-body,.checks-intro{padding-top:0}
 .section-summary{max-width:none}
 .steps{grid-template-columns:minmax(0,1fr)}
 .step,.step+.step{padding:28px 0;border-left:0}
 .step+.step{border-top:1px solid var(--line)}
 .step h3{min-height:0;overflow-wrap:anywhere;hyphens:auto}
 .step h3 br{display:none}
 .step p{max-width:none}
 .about-photo{max-width:440px;margin:0 20px 10px 0}
 .about-photo>img{max-height:520px}
 .contact-copy{margin-bottom:20px}
 .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .hero{display:flex;flex-direction:column}
 .hero-visual{min-height:440px;margin-left:15px}
 .hero-copy{padding-bottom:32px}
 .hero-intro{max-width:520px}
 .hero h1{font-size:clamp(48px,13.5vw,74px)}
 .hero-bottom{gap:20px}
 .question-strip{flex-wrap:wrap}
}
@media(max-width:580px){
 .header{height:76px;gap:10px}
 .brand{flex-basis:225px;max-width:calc(100% - 76px)}
 .menu-toggle{gap:7px;font-size:13px}
 .header nav{top:76px;max-height:calc(100dvh - 76px)}
 html{scroll-padding-top:96px}
 .hero h1{font-size:clamp(46px,13.4vw,64px)}
 .hero .eyebrow{font-size:clamp(8px,2.5vw,10px);letter-spacing:.12em}
 .hero .text-link{display:table;margin:16px 0 0;min-height:44px;padding:8px 0;font-size:14px}
 .hero-visual{min-height:360px}
 .hero-bottom{flex-direction:column;gap:10px}
 .hero-bottom>span:first-child{max-width:none}
 h2,.about-copy h2{font-size:clamp(30px,8.5vw,36px);overflow-wrap:anywhere;hyphens:auto}
 .step h3{font-size:clamp(25px,7vw,29px)}
 .contact h2{font-size:clamp(40px,11.5vw,58px)}
 .email-link{max-width:100%;font-size:clamp(16px,4.5vw,19px)}
 .form-row{grid-template-columns:minmax(0,1fr);gap:0}
 input,select,textarea{font-size:16px}
 .check-list summary{gap:10px;min-height:60px}
 .check-list h3{font-size:clamp(19px,5.2vw,21px);line-height:1.3}
 .check-number{width:18px}
 .qualifications summary{gap:12px;align-items:center}
 footer>div{gap:20px;flex-wrap:wrap}
 footer button,footer .back-top{min-height:44px;display:inline-flex;align-items:center}
 dialog{max-width:calc(100% - 24px);padding:36px 22px;max-height:85dvh}
 .dialog-close{min-width:44px;min-height:44px;right:4px;top:0}
}
