
:root{--bg:#07122d;--panel:#0c1b3c;--purple:#8865ff;--blue:#6495ff;--text:#f7f8ff;--muted:#a8b4d0;--line:#253458}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}svg{display:block}
.container{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.skip-link{position:absolute;top:-80px;left:16px;background:white;color:#07122d;padding:10px;z-index:50}.skip-link:focus{top:10px}
.site-header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative;z-index:20}
.brand{font-weight:850;font-size:1.32rem;letter-spacing:-.055em;white-space:nowrap}.brand-line{display:block;width:37px;height:3px;background:var(--purple);border-radius:9px;margin-top:3px}
.nav{display:flex;align-items:center;gap:clamp(14px,2.5vw,38px)}.nav a{font-size:.83rem;font-weight:650;color:#c8d1e7;transition:color .2s}.nav a:hover,.nav a[aria-current="page"]{color:#ad97ff}.nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--purple);text-underline-offset:9px}
.header-actions{display:flex;align-items:center;gap:12px}.language-toggle{border:1px solid #4d5c7d;background:transparent;color:white;display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:25px;cursor:pointer;font-size:.85rem}.ui-arrow{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.05fr 1fr .92fr;align-items:center;gap:32px;min-height:670px;padding-top:42px;padding-bottom:92px}
.eyebrow{color:#a999ff;font-size:.73rem;font-weight:750;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--purple)}
h1,h2,h3,p{margin-top:0}.hero h1,.page-hero h1{font-size:clamp(3.6rem,5.5vw,6.8rem);letter-spacing:-.085em;line-height:.99;margin:30px 0}.hero h1 span,.page-hero h1 span,.intro-section h2 span,.profile-section h2 span,.contact-inner h2 span{color:#a68cff}
.hero-sub{font-weight:650;line-height:1.55;color:#d9e0f4;margin-bottom:25px}.hero-italic{font-style:italic;color:#98a7cb;font-size:.94rem}.text-link{display:inline-flex;align-items:center;gap:12px;color:#b9a7ff;font-weight:700;font-size:.91rem;margin-top:10px}.text-link:hover{color:white}
.hero-visual{height:545px;border-radius:200px 200px 130px 130px;position:relative;background:linear-gradient(145deg,#283c77,#8865ff 110%);border:1px solid #6854ad;overflow:hidden;box-shadow:0 20px 90px #0005}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center center}.vertical-caption{position:absolute;bottom:28px;right:12px;writing-mode:vertical-rl;font-size:.59rem;letter-spacing:.2em;color:white;text-shadow:0 1px 8px #000}
.services-panel{padding:25px 0}.panel-heading,.section-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#bba9ff;font-weight:800;font-size:.75rem;letter-spacing:.15em}.heading-line{height:1px;flex:1;background:#54458d}
.service{display:flex;align-items:flex-start;gap:15px;padding:24px 0;border-bottom:1px solid var(--line)}.service h2{font-size:1.03rem;margin:1px 0 5px}.service p{font-size:.85rem;color:var(--muted);line-height:1.6;margin:0}
.service-icon,.label-icon{flex:none;width:52px;height:52px;display:grid;place-items:center;border:1.5px solid var(--purple);border-radius:50%;color:var(--blue)}.service-icon svg,.label-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.intro-section{padding-block:105px;display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center;border-top:1px solid var(--line)}.intro-section h2,.profile-section h2{font-size:clamp(2.6rem,4.5vw,4.9rem);line-height:1.05;letter-spacing:-.07em}.intro-section p:not(.eyebrow),.profile-section>p:not(.eyebrow){color:var(--muted);max-width:520px}
.contact-section{background:#0d1a3b;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-inner{padding-block:95px;display:grid;grid-template-columns:1.1fr .9fr;gap:80px}.contact-inner h2{font-size:clamp(3.4rem,6vw,6.8rem);line-height:1;letter-spacing:-.08em;margin:12px 0}.contact-inner p{color:#cbd4e9}.social-links{display:flex;flex-wrap:wrap;gap:26px;margin:28px 0}.social-links a,.profile-links a{display:inline-flex;align-items:center;gap:10px;font-weight:700}.contact-button{display:inline-flex;align-items:center;gap:18px;padding:12px 22px;border-radius:50px;background:var(--purple);color:white;font-weight:750}
.footer{padding-block:28px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--muted);font-size:.79rem}.footer a{color:#d9d0ff}
.page-hero{padding-top:105px;padding-bottom:95px}.page-hero h1{font-size:clamp(4rem,9vw,9rem);margin:20px 0 30px}.page-hero>p:last-child{font-size:clamp(1rem,1.7vw,1.2rem);max-width:620px;color:var(--muted)}
.gallery-section{padding-bottom:110px}.section-topline{padding:22px 0;border-top:1px solid var(--line);margin-bottom:35px}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.gallery-card,.life-card{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}.gallery-image{height:390px;background:#132449}.gallery-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.gallery-caption{padding:23px;display:flex;gap:18px;align-items:flex-start}.gallery-caption .number{color:#a994ff;font-weight:800;font-size:.8rem}.gallery-caption h2,.life-label h2{font-size:1.25rem;margin:0 0 4px}.gallery-caption p,.life-label p{color:var(--muted);font-size:.9rem;margin:0}
.gallery-note{padding:50px 0 0;text-align:center}.gallery-note h2{font-size:1.3rem}.gallery-note p{color:var(--muted)}
.profile-section{border-top:1px solid var(--line);padding-block:100px 120px}.profile-section>p:not(.eyebrow){margin-bottom:35px}.profile-links{display:flex;gap:15px;flex-wrap:wrap}.profile-links a{border:1px solid #574998;border-radius:100px;padding:12px 18px;background:#121f42}.profile-links a:hover{background:#261e50}
.life-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.life-photo{height:360px;background:#152549}.life-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.life-label{padding:21px;display:flex;align-items:center;gap:14px}
@media(max-width:1050px){.hero{grid-template-columns:1fr 1fr;gap:30px}.services-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.panel-heading{grid-column:1/-1}.service{border:1px solid var(--line);padding:18px;border-radius:14px}.hero-visual{height:520px}.life-photo{height:300px}}
@media(max-width:760px){
 .container{width:min(100% - 36px,560px)}.site-header{min-height:75px}.brand{font-size:1.22rem}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:10px;border:1px solid #596389;border-radius:11px;background:transparent;cursor:pointer}.menu-toggle span{display:block;width:100%;height:2px;border-radius:2px;background:white;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
 .nav{display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;background:#101e42;border:1px solid #344269;box-shadow:0 18px 30px #0007;border-radius:14px;padding:15px;flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav a{padding:14px 12px;font-size:1rem}.nav a+a{border-top:1px solid var(--line)}.nav a[aria-current="page"]{text-decoration:none;background:#1c2651;border-radius:8px}
 .hero{grid-template-columns:1fr;padding-top:34px;padding-bottom:70px;gap:35px}.hero h1{font-size:clamp(3.9rem,15vw,6rem);margin:22px 0}.hero-visual{height:auto;min-height:0;aspect-ratio:3/4;border-radius:140px 140px 75px 75px;max-width:470px;width:100%;margin:auto}.hero-visual img{object-fit:contain;object-position:center;background:#132447}.services-panel{grid-column:auto;display:block;padding:0}.service{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:20px 0}.panel-heading{margin-bottom:6px}
 .intro-section,.contact-inner{grid-template-columns:1fr;gap:25px;padding-block:65px}.intro-section h2{font-size:clamp(2.5rem,10vw,4rem)}.contact-inner h2{font-size:clamp(3.6rem,13vw,5.5rem)}
 .page-hero{padding-top:60px;padding-bottom:60px}.page-hero h1{font-size:clamp(3.8rem,14vw,6rem)}.gallery-section{padding-bottom:75px}.gallery-grid,.life-grid{grid-template-columns:1fr;gap:24px}
 /* Auf dem Handy werden die Fotos vollständig gezeigt, statt sie abzuschneiden. */
 .gallery-image,.life-photo{height:auto;min-height:0;background:#101c3d}.gallery-image img,.life-photo img{width:100%;height:auto;max-height:78vh;object-fit:contain;object-position:center}
 .gallery-caption,.life-label{padding:18px}.profile-section{padding-block:70px}.profile-section h2{font-size:clamp(2.5rem,10vw,4rem)}.footer{flex-wrap:wrap;justify-content:space-between}.footer>span:nth-child(2){order:3;width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Erste Kundenreferenz – ohne zusätzlich benötigte Bilddatei */
.project-preview{min-height:390px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(24px,5vw,50px);background:linear-gradient(145deg,#f9f2ee,#eaded9);color:#4b4545;gap:18px}
.project-preview-tag{font-size:.68rem;font-weight:800;letter-spacing:.14em;color:#8d6c75}
.project-preview-title{font-size:clamp(1.9rem,3vw,3.1rem);line-height:1.16;letter-spacing:-.055em}
.project-preview-title strong{color:#8c6473}
.project-preview-sub{font-size:1rem;line-height:1.5;color:#796c6e}
.project-preview-action{font-size:.82rem;font-weight:750;margin-top:10px;border-bottom:1px solid #9e7e88;padding-bottom:4px}
.project-card .text-link{margin-top:10px}
@media(max-width:760px){.project-preview{min-height:310px}}

.zahngefuehl-preview{background:linear-gradient(145deg,#151d4d,#49348c);color:#fff}
.zahngefuehl-preview .project-preview-tag{color:#c5b3ff}
.zahngefuehl-preview .project-preview-title strong{color:#b7a5ff}
.zahngefuehl-preview .project-preview-sub{color:#d3d7f3}
