@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400 500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-bold.ttf') format('truetype');font-weight:700 800;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('assets/instrument-italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('assets/instrument-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
body{font-family:Manrope,Arial,sans-serif;background:radial-gradient(ellipse at 85% 9%,#f3ebdd80,transparent 36%),var(--sand)}
html{scroll-padding-top:155px}
.header{position:sticky;top:16px;margin:16px auto 0;width:90%;max-width:1440px;height:118px;padding:10px 28px;background:var(--green);color:var(--sand);border:1px solid #e9ddc92b;border-radius:28px;box-shadow:0 14px 40px #06402b14;transition:box-shadow .35s,background .35s}
.header.scrolled{box-shadow:0 14px 42px #0003}
.brand{width:242px;flex-shrink:0}
.logo-window{width:242px;height:104px;display:block;position:relative;overflow:hidden;border-radius:6px}
.logo-window img{position:absolute;width:120%;max-width:none;height:auto;left:-10%;top:50%;transform:translateY(-49%)}
.header nav{font-size:14px;gap:26px}
.header nav>a:not(.nav-cta){padding:12px 0;opacity:.82;transition:opacity .2s}
.header nav>a:not(.nav-cta):hover,.header nav>a.active{opacity:1}
.header nav>a:not(.nav-cta):after{bottom:5px;background:var(--sand)}
.nav-cta{background:var(--sand);color:var(--green);border:1px solid var(--sand);font-weight:600;padding:16px 20px;gap:22px}
.nav-cta:hover{background:var(--paper);color:var(--green)}
.hero{padding-top:65px;padding-bottom:95px;min-height:790px;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center;overflow:clip}
h1{font-size:clamp(65px,7.3vw,114px);line-height:1.04;letter-spacing:-.065em;font-weight:600}
.serif{font-family:'Instrument Serif',Georgia,serif;letter-spacing:-.03em;line-height:1.02}
h1 .serif{font-size:1.16em}
.headline-star{font-size:.47em;margin-left:.25em}
.hero-description{font-size:17px;line-height:1.8;margin-top:27px}
.hero .eyebrow{font-weight:600;letter-spacing:1.1px;line-height:1.6}
.hero-actions{gap:25px;flex-wrap:wrap}
.button{font-weight:600;padding:10px 12px 10px 24px;gap:22px;min-height:59px;box-shadow:0 7px 20px #06402b0b}
.button>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e9ddc917;transition:transform .3s}
.light>span{background:#06402b0b}
.button:hover>span{transform:rotate(8deg)}
.hero .hero-note{font-size:13px;margin-top:20px}
.hero .hero-visual{padding:0;margin:0 0 30px;align-self:center}
.visual-index{font-size:12px;font-weight:400;letter-spacing:0;margin:0 0 17px;padding:0 7px;align-items:center}
.visual-index>span:last-child{font-size:12px;letter-spacing:1.6px}
.photo-main{height:auto;aspect-ratio:972/1024;border-radius:28px 28px 76px 28px;transform:rotate(1.5deg);box-shadow:0 26px 52px #06402b24}
.photo-main img{object-fit:contain;object-position:left top;filter:saturate(.88);height:100%;width:100%}
.photo-main:hover img{transform:none}
.photo-main:after{inset:68% 0 0;background:linear-gradient(transparent,#071d14c9)}
.photo-caption{left:23px;right:23px;bottom:26px;font-size:14px;line-height:1.6}
.caption-arrow{width:40px;height:40px}
.floating-tag{top:63px;right:-16px;padding:13px 19px;transform:rotate(5deg);box-shadow:0 10px 22px #0001;animation:tag-float 7s ease-in-out infinite;font-size:12px}
.hero .month-card{bottom:-43px;left:auto;right:18px;width:275px;padding:20px 23px;transform:rotate(-3deg);border:1px solid #e9ddc92b;border-radius:18px;box-shadow:0 18px 35px #06402b26}
.month-card strong{font-family:'Instrument Serif',Georgia,serif;font-size:78px;letter-spacing:-2px}
.month-card div span{font-size:22px;line-height:1.15;letter-spacing:-.8px}
.month-card .card-label{font-size:12px;letter-spacing:1px}
.month-card p{font-size:12px}
.photo-caption{padding-right:275px;right:0;width:100%;box-sizing:border-box}
.photo-caption>span:first-child{white-space:nowrap}
.photo-caption .caption-arrow{display:none}
.section h2{font-size:clamp(42px,4.4vw,70px);line-height:1.13;letter-spacing:-.052em;font-weight:500}
.section h2 .serif{font-size:1.16em}
.section p{line-height:1.8}
.section .eyebrow{font-size:12px;letter-spacing:1.2px;font-weight:600}
.section-heading{align-items:center}
.section-heading>p{max-width:350px;font-size:16px}
.intro-copy>p:first-child{font-weight:500;font-size:24px;line-height:1.5}
.service-card{border-radius:20px;padding:28px 25px;background:#ffffff27;min-height:455px}
.service-card:hover{box-shadow:0 20px 40px #06402b12}
.service-card.featured{background:var(--green)}
.service-card h3{font-size:28px;line-height:1.18;letter-spacing:-1.1px;font-weight:500}
.service-card p{font-size:15px;line-height:1.75}
.service-symbol{font-family:'Instrument Serif',Georgia,serif}
.service-meta{letter-spacing:.2px;line-height:1.6}
.package-bar{padding-top:38px;padding-bottom:30px}
.package-bar p{font-size:25px}
.flow span{font-size:13px;background:#ffffff21}
.marquee{padding:23px 0}
.marquee-track span{font-size:37px;letter-spacing:-1.8px;font-weight:400}
.steps li{padding:28px 0}
.steps h3{font-size:24px;letter-spacing:-.8px;line-height:1.35;font-weight:500}
.steps li>span{font-family:'Instrument Serif',Georgia,serif;font-size:24px;line-height:1.2}
.process-title{top:170px}
.about{grid-template-columns:1.02fr 1fr;gap:7%}
.about-photo{margin-right:0;padding-top:24px;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 20px 48px #06402b12}
.about-photo img{height:auto;aspect-ratio:1024/755;object-fit:contain;object-position:center top;border-radius:0;filter:saturate(.75)}
.about-caption{margin:0;padding:20px 24px;background:var(--green);color:var(--sand);flex-direction:column;gap:5px;letter-spacing:.6px}
.about-caption>span:first-child{font-weight:600;font-size:14px}
.about-caption>.about-caption-desktop:nth-child(2){opacity:.7;font-size:12px}
.about-stamp{display:none}
.about-copy p{font-size:16px}
.signature{font-family:'Instrument Serif',Georgia,serif;font-size:36px}
.signature>span{font-family:Manrope,Arial,sans-serif;font-size:12px}
.faq-list summary{font-weight:500;font-size:17px;line-height:1.5;padding:27px 0}
.faq-list details[open] summary{padding-bottom:15px}
.contact h2{font-size:clamp(44px,5vw,78px)}
.contact p{font-size:16px}
.email-link{font-weight:400;letter-spacing:-1.5px}
.footer-brand-row{display:flex;align-items:center;gap:40px;padding:0 0 38px;border-bottom:1px solid var(--line)}
.footer-logo{padding:8px 15px;border-radius:20px;background:var(--green)}
.footer-logo .logo-window{width:290px;height:120px}
.footer-brand-row>span{font-size:16px;line-height:1.8;margin-left:auto}
.footer-top{height:52px;width:52px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:24px;transition:background .3s,color .3s}
.footer-top:hover{background:var(--green);color:var(--sand)}
.footer-bottom{font-size:13px}
@media(min-width:1600px){.header{padding:10px 28px}.hero{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.header{padding:10px 20px}.brand{width:220px}.brand .logo-window{width:220px;height:94px}.header nav{gap:20px}.nav-cta{gap:15px;padding:14px 17px}.hero{gap:5%;min-height:740px}h1{font-size:clamp(60px,7.1vw,84px)}.hero .month-card{width:240px;right:3px}.photo-caption{font-size:13px;padding-right:230px}.hero-description{font-size:16px}.service-card{min-height:430px}.footer-logo .logo-window{width:230px;height:98px}.footer-brand-row{gap:24px}}
@media(max-width:900px) and (min-width:761px){.header{width:94%;height:108px;padding:8px 18px}.brand{width:190px}.brand .logo-window{width:190px;height:82px}.header nav{gap:16px;font-size:13px}.nav-cta{font-size:13px;gap:13px;padding:12px 16px}.hero{grid-template-columns:1.05fr 1fr;padding-top:54px}.hero h1{font-size:clamp(56px,7vw,68px)}.hero-description br{display:none}.hero-description{max-width:330px}.floating-tag{top:55px;right:-9px;font-size:11px;padding:12px 15px}.hero .month-card{width:230px}.section h2{font-size:43px}}
@media(max-width:760px){html{scroll-padding-top:125px}.header{width:calc(100% - 28px);height:100px;top:10px;margin-top:10px;padding:8px 18px;border-radius:23px}.brand{width:210px}.brand .logo-window{width:210px;height:90px}.menu{color:var(--sand);border-color:#e9ddc952;height:44px;width:44px}.menu span{background:var(--sand)}.header nav{top:calc(100% + 9px);left:0;right:0;border:1px solid #e9ddc92b;background:var(--green);color:var(--sand);border-radius:23px;padding:22px 24px;gap:12px;font-size:17px;box-shadow:0 18px 40px #0003}.header nav.open{animation:menu-in .25s ease-out}.header nav .nav-cta{margin-top:6px;font-size:15px;padding:16px 20px}.hero{display:flex;padding:44px 6% 94px;gap:35px;align-items:stretch;min-height:0}.hero h1{font-size:clamp(60px,12.7vw,90px);line-height:1.05}.hero h1 .serif{font-size:1.2em}.hero .eyebrow{font-size:11px;letter-spacing:.7px}.hero-description{font-size:16px;line-height:1.85}.hero-description br{display:none}.hero .hero-actions{gap:18px}.hero .button{font-size:13px;padding-left:20px;min-height:56px}.hero .hero-note{font-size:12px}.hero .hero-visual{width:100%;max-width:480px;margin:0 auto 35px}.photo-main{height:auto;aspect-ratio:972/1024;border-radius:23px 23px 58px 23px;transform:rotate(1deg)}.floating-tag{top:55px;right:-8px;padding:12px 15px;font-size:12px}.hero .month-card{right:9px;bottom:-48px;left:auto;width:245px;padding:18px 22px}.photo-caption{font-size:13px;left:20px;bottom:23px;padding:0;max-width:110px;line-height:1.6}.photo-caption>span:first-child{white-space:normal}.photo-caption{display:none}.scroll-note{bottom:23px;font-size:11px}.section h2{font-size:clamp(40px,9vw,60px);line-height:1.14}.service-card{min-height:435px;padding:24px 20px}.section-heading>p{max-width:none}.about-photo{margin:0;padding-top:22px;border-radius:23px}.about-photo img{height:auto;aspect-ratio:1024/755;border-radius:0}.about-caption{flex-direction:column;padding:20px 22px}.about{gap:38px}.about-copy .serif{white-space:normal}.process-title{position:static}.footer-brand-row{flex-wrap:wrap;gap:24px}.footer-logo .logo-window{width:240px;height:104px}.footer-brand-row>span{order:3;margin:0;width:100%;font-size:15px}.footer-top{margin-left:auto;width:44px;height:44px}.email-link{font-size:34px}.contact .button{font-size:13px;gap:12px;max-width:100%}.contact .button>span{flex-shrink:0}.contact h2{font-size:clamp(43px,10vw,68px)}}
@media(max-width:420px){.brand{width:185px}.brand .logo-window{width:185px;height:78px}.header{height:91px}.hero{padding-top:36px}.hero h1{font-size:clamp(55px,14.4vw,61px)}.hero-actions{gap:17px}.hero .month-card{width:237px}.service-card{min-height:auto;padding:28px}.service-card h3{font-size:30px}.footer-logo{padding:8px}.footer-logo .logo-window{width:210px;height:90px}.footer-brand-row{gap:15px}.section h2{font-size:40px}.email-link{font-size:30px}}
@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.header nav.open{animation:none}}

/* Gezielt ergänzte Profil- und Kontaktanpassungen */
.about-photo{padding-top:0}
.social-links{gap:14px}
.social-links a{width:52px;height:52px;padding:0;display:grid;place-items:center;border:1px solid #e9ddc94d;border-radius:50%;color:var(--sand);transition:background .25s,color .25s,transform .25s}
.social-links a:hover{background:var(--sand);color:var(--green);transform:translateY(-3px)}
.social-links svg{width:23px;height:23px;display:block}
@media(max-width:760px){.about-photo{padding-top:0}}

/* Responsive Feinschliff für schmale Karten und Touch-Bedienung */
.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-card{min-width:0}
.service-card p{overflow-wrap:break-word}
@media(min-width:1101px) and (max-width:1350px){.service-card h3{font-size:24px}.service-card{padding-left:20px;padding-right:20px}}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.text-link{min-height:44px}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}.header nav{max-height:calc(100dvh - 130px);overflow-y:auto}.button{line-height:1.5}.button>span{flex-shrink:0}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:28px}.service-card h3{font-size:30px}.service-card p{font-size:16px}.service-meta{margin-top:10px}}
@media(max-height:550px) and (max-width:760px){.header{position:relative;top:0}.header nav{max-height:calc(100dvh - 135px)}}

/* Ruhiges Laufband mit gleichmäßigen Wortabständen */
.marquee-track{gap:0}
.marquee-group{display:flex;align-items:center;flex-shrink:0;gap:clamp(56px,7vw,100px);padding-right:clamp(56px,7vw,100px)}

/* Der vollständige Produktionstermin bleibt in einer Zeile. */
.hero-appointment{display:block;white-space:nowrap;font-size:.74em;letter-spacing:-.06em}
.hero-appointment+br{display:none}
@media(max-width:760px){.hero-appointment{font-size:.78em}}
@media(max-width:360px){.hero-appointment{font-size:.69em}}

/* Präzise Kontaktsymbole und ausgerichtete Footer-Bedienung. */
.action-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle}
.action-icon svg{width:21px;height:21px;display:block}
.nav-cta>.action-icon{width:25px;height:25px}
.button:hover>.action-icon{transform:scale(1.08)}
.email-link>.action-icon{width:38px;height:38px;margin-left:8px;border:1px solid #e9ddc94d;border-radius:50%;vertical-align:middle;transition:background .25s,transform .25s}
.email-link:hover>.action-icon{background:#e9ddc917;transform:scale(1.06)}
.footer-bottom{align-items:center}
.footer-bottom>div{align-items:center;column-gap:25px;row-gap:4px}
.footer-bottom>div>a,.footer-bottom button[data-consent-open]{min-height:44px;display:inline-flex;align-items:center;line-height:1.5}
@media(max-width:760px){.footer-bottom{align-items:flex-start}.footer-bottom>div{column-gap:20px}.action-icon svg{width:20px;height:20px}}

.email-link{position:relative}
.email-link>.action-icon{position:absolute;right:0;top:0;margin-left:0}
@media(max-width:600px){.footer-bottom>div{display:grid;grid-template-columns:max-content max-content 1fr;gap:4px 12px;width:100%;font-size:11px}.footer-bottom button[data-consent-open]{white-space:nowrap}.footer-bottom>div>a:last-child{grid-column:1 / -1}}

/* Vollbreites Profil und rahmenloses Produktionssymbol auf Handys. */
@media(max-width:760px){.about{grid-template-columns:minmax(0,1fr);gap:34px;text-align:left}.about-photo,.about-copy{width:100%;min-width:0}.about-copy .eyebrow{justify-content:flex-start;text-align:left}.about-photo img{width:100%;height:auto}.service-symbol.frame-symbol{border:0;border-radius:0;width:auto;height:82px;font-size:67px;margin:24px 0 19px;display:block}}

/* Etwas größere Navigationspunkte auf Desktop-Bildschirmen. */
@media(min-width:761px){.header nav>a:not(.nav-cta){font-size:16px}}
@media(min-width:761px) and (max-width:900px){.header nav>a:not(.nav-cta){font-size:15px}}

/* Erfahrung und Projekte im gleichen fortlaufenden Markenband. */
.reference-marquee{padding:28px 0 32px}
.reference-marquee h2{font-size:12px;font-weight:600;letter-spacing:1.2px;line-height:1.5;margin:0 5% 24px}
.reference-item{display:flex;flex-direction:column;gap:9px;flex-shrink:0}
.reference-item strong{font-size:37px;line-height:1.2;letter-spacing:-1.8px;font-weight:400;white-space:nowrap}
.reference-marquee .reference-item span{font-size:12px;line-height:1.5;letter-spacing:.4px;color:#e9ddc9bd}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.reference-marquee h2{margin-left:max(5%,calc((100vw - 1440px)/2))}}
@media(max-width:760px){.reference-marquee{padding:25px 0 28px}.reference-marquee h2{margin-left:6%;margin-right:6%;margin-bottom:21px}.reference-item strong{font-size:32px;letter-spacing:-1.2px}.reference-marquee .reference-item span{font-size:11px}}

/* Testvariante: schwarz-weiße Filmstreifen mit laufender Perforation. */
.marquee{position:relative;background:#111;color:#fff;border-color:#111;padding:36px 0}
.marquee::before,.marquee::after{content:'';position:absolute;left:0;right:0;height:12px;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='12' viewBox='0 0 44 12'%3E%3Crect x='11' y='1' width='22' height='10' rx='2' fill='%23fff'/%3E%3C/svg%3E");background-size:44px 12px;background-repeat:repeat-x;animation:film-perforation 1.375s linear infinite;opacity:.9}
.marquee::before{top:8px}
.marquee::after{bottom:8px}
.marquee-track{position:relative;z-index:1}
.reference-marquee{padding:38px 0 40px}
.reference-marquee h2{color:#fff}
.reference-marquee .reference-item span{color:#c6c6c6}
@keyframes film-perforation{from{background-position:0 0}to{background-position:-44px 0}}
@media(max-width:760px){.marquee{padding:32px 0}.reference-marquee{padding:35px 0 36px}.marquee::before,.marquee::after{background-size:36px 10px;height:10px;animation-duration:1.125s}.marquee::before{top:7px}.marquee::after{bottom:7px}@keyframes film-perforation{from{background-position:0 0}to{background-position:-36px 0}}}

/* Tätigkeit und Projektart bleiben im Referenzband klar lesbar. */
.reference-marquee .reference-item .reference-kind{color:#eee;font-weight:600;letter-spacing:.25px;white-space:nowrap}

/* Preis und Steuerhinweis bleiben auch auf schmalen Displays lesbar. */
.package-bar strong{display:inline-block;white-space:nowrap}
.package-bar>div>.package-tax{display:block;margin-top:10px;font-size:13px;line-height:1.5;letter-spacing:0;color:var(--muted)}

/* Auf dem Handy folgt das Porträt dem vollständigen Vorstellungstext. */
.about-caption-mobile{display:none}
@media(max-width:760px){.about-copy{order:-1}.about-copy .signature{display:none}.about-caption-desktop{display:none}.about-caption>.about-caption-mobile{display:block;font-size:12px;line-height:1.6;font-weight:500;letter-spacing:.3px;opacity:1;text-align:center}.about-caption{align-items:center}}
