:root{--ink:#182321;--muted:#626c65;--paper:#f5f5f0;--line:#d5dad2;--accent:#d9edb4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #73933e;outline-offset:6px}.header{height:104px;padding:0 5%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:16px;align-items:center;font-size:15px;font-weight:700;letter-spacing:1.6px}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:5px;margin-top:6px}.mark{font-size:30px;letter-spacing:-4px;border-right:1px solid var(--line);padding-right:22px}.mark span{font-size:24px;vertical-align:top;margin-left:6px}nav{display:flex;align-items:center;gap:36px;font-size:13px}.nav-contact{border:1px solid var(--ink);border-radius:30px;padding:13px 20px}.nav-contact span{margin-left:26px}.hero{height:min(780px,84vh);min-height:560px;position:relative;margin:0 22px;color:#fff;overflow:hidden;background:#314f49}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.hero-shade{background:linear-gradient(180deg,rgba(8,28,22,.22),rgba(8,28,22,.13) 30%,rgba(8,28,22,.76))}.hero-top{position:absolute;top:34px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.8px}.hero-content{position:absolute;bottom:82px;left:4%;right:4%}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:500}.hero h1{font-size:clamp(66px,8.7vw,142px);line-height:.97;letter-spacing:-7px;font-weight:400;margin:25px 0 35px}.hero-bottom{display:flex;justify-content:space-between;align-items:end}.hero-bottom p{font-size:16px;line-height:1.65;margin:0}.pill{display:inline-flex;gap:55px;align-items:center;padding:20px 25px;border-radius:40px;background:var(--accent);color:var(--ink);font-size:13px}.pill:hover{background:#e8f7ce}.image-label{position:absolute;bottom:24px;right:4%;font-size:8px;letter-spacing:1.6px;opacity:.7}.section{padding:110px 6%;}.intro{display:grid;grid-template-columns:1fr 2fr;gap:60px}.section-label{font-size:10px;letter-spacing:1.6px;display:flex;align-items:start;gap:25px;padding-top:13px}.dot{width:7px;height:7px;background:#6b8059;border-radius:50%;margin-top:1px}h2{font-size:clamp(38px,4.5vw,72px);font-weight:400;letter-spacing:-2.8px;line-height:1.05;margin:0 0 28px}.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:560px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:55px}.services article{border-top:1px solid var(--line);padding-top:20px}.number{font-size:11px;color:var(--muted)}h3{font-size:17px;font-weight:500;margin-top:28px}.services p{font-size:13px;color:var(--muted);line-height:1.7}.draft-note{font-size:10px;color:var(--muted);margin:24px 0 0}.work{background:#e9ede6}.work-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.work-heading p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted);max-width:290px}.gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:start}figure{margin:0}figure:not(.large){padding-top:90px}figure img{display:block;width:100%;height:380px;object-fit:cover}.large img{height:460px}figcaption{display:flex;justify-content:space-between;margin-top:20px;font-size:18px}figcaption small{display:block;font-size:9px;letter-spacing:1.6px;margin-top:10px;color:var(--muted)}.contact{background:#192b26;color:var(--paper)}.contact .eyebrow{color:var(--accent);margin-bottom:35px}.contact h2{font-size:clamp(50px,7vw,110px);letter-spacing:-4px}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #516057;padding-top:30px;margin-top:50px}.contact-bottom p{font-size:15px;line-height:1.8;color:#c0c9c3}.contact-placeholder{font-size:21px}.contact-placeholder small{display:block;font-size:11px;line-height:1.6;max-width:260px;color:#a9b7af;margin-top:9px}footer{padding:35px 6%;display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted)}.footer-brand{color:var(--ink);font-weight:700;letter-spacing:1px}details{padding:0 6% 30px;font-size:11px;color:var(--muted)}details p{max-width:750px;line-height:1.7}details a{text-decoration:underline}summary{cursor:pointer}a:hover{opacity:.85}@media(max-width:760px){.header{height:85px;padding:0 6%}.brand{font-size:12px;gap:10px}.brand small{font-size:8px}.mark{font-size:24px;padding-right:15px}nav{gap:14px}nav>a:not(.nav-contact){display:none}.nav-contact{padding:11px 14px}.nav-contact span{margin-left:10px}.hero{margin:0 10px;min-height:580px;height:78svh}.hero-top{font-size:8px;left:6%;right:6%}.hero-top span:last-child{display:none}.hero-content{left:6%;right:6%;bottom:65px}.hero h1{font-size:clamp(62px,12vw,90px);letter-spacing:-3.5px}.hero-bottom{align-items:start;flex-direction:column;gap:25px}.hero-bottom p{font-size:14px}.pill{padding:17px 22px}.section{padding:65px 7%}.intro{grid-template-columns:1fr;gap:35px}.services{grid-template-columns:1fr;gap:12px;margin-top:30px}.services article{display:grid;grid-template-columns:30px 1fr;gap:0 12px}.services h3{margin:0}.services p{grid-column:2}.services .number{padding-top:4px}.work-heading{display:block}.work-heading p:not(.eyebrow){max-width:none}.gallery{grid-template-columns:1fr;gap:35px}figure:not(.large){padding:0}figure img,.large img{height:330px}.contact-bottom{align-items:start;flex-direction:column}.contact h2{letter-spacing:-2px}footer{flex-wrap:wrap;line-height:1.7}.lead{font-size:16px}h2{letter-spacing:-1.6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Schlichte Navigation mit Einblendung bei Scrollpause. */
.header{position:fixed;z-index:1000;inset:0 0 auto;height:104px;padding:0 5%;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);transition:transform .28s ease;box-shadow:0 3px 16px rgba(24,35,33,.04)}
.header.is-hidden{transform:translateY(-110%);pointer-events:none}.header:focus-within{transform:translateY(0);pointer-events:auto}
.brand-logo{display:block;width:96px;height:96px;object-fit:contain}main{padding-top:104px}html{scroll-padding-top:130px}
@media(max-width:760px){.header{height:88px;padding:0 6%}.brand-logo{width:80px;height:80px}main{padding-top:88px}html{scroll-padding-top:110px}}
@media(prefers-reduced-motion:reduce){.header{transition:none}}

/* Durchgehende transparente Milchglasleiste. */
.header{left:0;right:0;top:0;width:100%;border-radius:0;background:rgba(245,245,240,.66);-webkit-backdrop-filter:blur(22px) saturate(135%);backdrop-filter:blur(22px) saturate(135%);border-bottom:1px solid rgba(255,255,255,.5);box-shadow:0 4px 20px rgba(24,35,33,.06)}
main{padding-top:0}.hero{margin:0;min-height:660px;height:100svh}.hero-top{top:136px}
@media(max-width:760px){main{padding-top:0}.hero{margin:0;min-height:680px}.hero-top{top:114px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.header{background:rgba(245,245,240,.95)}}

/* Scrollgesteuerter Film: 5,25 Sekunden über drei Bildschirmhöhen. */
.scroll-film{height:400svh;position:relative}.scroll-film .hero{position:sticky;top:0;height:100svh;min-height:0;margin:0}.film-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.15)}.film-progress span{display:block;width:0;height:100%;background:var(--accent)}.scroll-film .hero-content{transition:opacity .15s;opacity:var(--film-copy-opacity,1)}
@media(prefers-reduced-motion:reduce){.scroll-film{height:auto}.scroll-film .hero{position:relative;height:100svh}.film-progress{display:none}}

/* Einstiegstext nach einer Sekunde Scrollpause wieder anzeigen. */
.scroll-film .hero-content{opacity:1;transition:opacity .18s ease}
.scroll-film.is-scrolling .hero-content{opacity:0;pointer-events:none}
.scroll-film .hero-content:focus-within{opacity:1;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.scroll-film .hero-content{transition:none}}

/* Kleine Filmüberschriften folgen dem Ein- und Ausblenden der Navigation. */
.scroll-film .hero-top{transition:top .28s ease}
body.header-hidden .scroll-film .hero-top{top:32px}
@media(max-width:760px){body.header-hidden .scroll-film .hero-top{top:24px}}
@media(prefers-reduced-motion:reduce){.scroll-film .hero-top{transition:none}}

/* Animierter Filmtext und schwarzer Aktionsbutton. */
.hero-bottom p{animation:film-caption-in .65s cubic-bezier(.2,.7,.2,1) both;animation-delay:.12s}
@keyframes film-caption-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.scroll-film.is-scrolling .hero-bottom p{animation:none;opacity:0;transform:translateY(16px)}
.hero-bottom .pill{background:#111;color:#fff;border:1px solid #111;box-shadow:0 4px 14px rgba(0,0,0,.15);transition:transform .25s ease,background .25s ease,box-shadow .25s ease;overflow:hidden}
.hero-bottom .pill span{display:inline-block;transition:transform .25s ease}
@media(hover:hover){.hero-bottom .pill:hover{opacity:1;background:#292929;transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,0,0,.3)}.hero-bottom .pill:hover span{transform:translate(4px,-4px)}}
.hero-bottom .pill:active{transform:translateY(-1px)}
.hero-bottom .pill:focus-visible{outline:2px solid white;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.hero-bottom p{animation:none}.scroll-film.is-scrolling .hero-bottom p{transform:none}.hero-bottom .pill,.hero-bottom .pill span{transition:none}.hero-bottom .pill:hover,.hero-bottom .pill:hover span{transform:none}}

/* Weiße Kapsel mit schwarzem, flüssigem Ausschnitt. */
.hero-bottom .liquid-carve{position:relative;isolation:isolate;min-height:64px;padding:20px 28px;gap:48px;background:#080808;color:#080808;border:0;border-radius:999px;box-shadow:0 5px 20px #0002;transform:none;transition:box-shadow .25s}
.carve-surface{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}
.hero-bottom .liquid-carve .carve-label,.hero-bottom .liquid-carve .carve-arrow{position:relative;z-index:1;color:#fff;mix-blend-mode:difference;transition:none;transform:none}
.hero-bottom .liquid-carve:hover{background:#080808;opacity:1;transform:none;box-shadow:0 8px 28px #0003}
.hero-bottom .liquid-carve:hover span{transform:none}.hero-bottom .liquid-carve:active{transform:scale(.98)}
@media(prefers-reduced-motion:reduce){.hero-bottom .liquid-carve:active{transform:none}}

/* Originaler subtraktiver Goo-Aufbau statt schwarzer Fläche auf der Pille. */
.hero-bottom .liquid-carve,.hero-bottom .liquid-carve:hover{background:transparent;box-shadow:none;overflow:visible}
.carve-surface{overflow:visible;z-index:0}
.hero-bottom .liquid-carve .carve-label,.hero-bottom .liquid-carve .carve-arrow{z-index:2}

/* Flache Dynamic-Island-Kapsel mit geraden Längsseiten. */
.hero-bottom .liquid-carve{height:48px;min-height:48px;min-width:240px;padding:0 24px;gap:48px;border-radius:24px;font-size:13px;justify-content:space-between;flex-shrink:0}
@media(max-width:760px){.hero-bottom .liquid-carve{height:46px;min-height:46px;min-width:228px;border-radius:23px}}

/* Gemeinsamer Aktionsbutton für Navigation und Film. */
.liquid-carve{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:space-between;height:48px;min-height:48px;padding:0 24px;gap:30px;border:0;border-radius:24px;background:transparent;color:#080808;overflow:visible;cursor:pointer;font-size:13px;text-decoration:none;flex-shrink:0}
.liquid-carve .carve-label,.liquid-carve .carve-arrow{position:relative;z-index:2;color:white;mix-blend-mode:difference;pointer-events:none}
.liquid-carve .carve-arrow{margin:0}.liquid-carve:hover{opacity:1}.liquid-carve:focus-visible{outline:2px solid #a18b55;outline-offset:5px}
.header .liquid-carve{min-width:150px;box-shadow:0 2px 10px #0000000b}
@media(max-width:760px){.header .liquid-carve{height:46px;min-height:46px;min-width:130px;padding:0 20px}}

/* Dunkler Pro-Look mit hellen Aktionsbuttons. */
:root{--paper:#080808;--ink:#f5f5f7;--muted:#a1a1a6;--line:#303033;--accent:#f5f5f7}
body{background:#080808;color:var(--ink)}
.header{background:rgba(12,12,14,.72);color:#f5f5f7;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 4px 20px #0002}
.work{background:#101012}.contact{background:#000;color:#f5f5f7}.contact .eyebrow{color:#a1a1a6}.contact-bottom{border-color:#303033}.contact-bottom p{color:#b5b5ba}.contact-placeholder small{color:#a1a1a6}.dot{background:#a1a1a6}
footer,details{background:#080808}.footer-brand{color:#f5f5f7}
/* Weißer Kontaktbutton mit fest schwarzer Beschriftung. */
.header .liquid-carve{background:#fff;box-shadow:none;color:#080808}
.header .liquid-carve .carve-label,.header .liquid-carve .carve-arrow{color:#080808;mix-blend-mode:normal}
.header .liquid-carve .carve-hole{fill:#d5d5d8}
/* Das schwarze Originalzeichen erhält eine helle Fläche für klare Lesbarkeit. */
.header .brand{background:#f5f5f7;border-radius:12px;padding:0 6px;margin:6px 0}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.header{background:rgba(12,12,14,.96)}}
.header .brand{background:transparent;border-radius:0;padding:0;margin:0}.header .brand-logo{filter:brightness(0) invert(1)}

/* Weight Hover — angepasst aus dem bereitgestellten Originkit-Code. */
@font-face{font-family:SkyInterVariable;src:url('https://rsms.me/inter/font-files/InterVariable.woff2?v=4.0') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
h1,h2,h3{font-family:SkyInterVariable,Arial,sans-serif}.weight-word{display:inline-block;white-space:nowrap}.weight-letter{display:inline-block;font-variation-settings:'wght' 400;transition:font-variation-settings .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--letter-delay)}
@media(hover:hover){.weight-hover:hover .weight-letter{font-variation-settings:'wght' 850}}
@media(prefers-reduced-motion:reduce){.weight-letter{transition:none}}
/* Headerbutton: Ausschnitt und Textkontrast wie beim Filmbutton. */
.header .liquid-carve{background:transparent;overflow:visible;border-radius:24px;isolation:isolate}
.header .liquid-carve .carve-hole{fill:#000}
.header .liquid-carve .carve-label,.header .liquid-carve .carve-arrow{color:#fff;mix-blend-mode:difference;z-index:2}
.header .liquid-carve .carve-surface{pointer-events:none}

/* Einstiegstext fliegt gestaffelt von links ins Bild. */
.scroll-film .hero{overflow:hidden}
.scroll-film .hero-content>.eyebrow,.scroll-film .hero-content>h1,.scroll-film .hero-bottom>p{animation:hero-fly-in .9s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity}
.scroll-film .hero-content>.eyebrow{animation-delay:0s}.scroll-film .hero-content>h1{animation-delay:.12s}.scroll-film .hero-bottom>p{animation-delay:.24s}
@keyframes hero-fly-in{from{opacity:0;transform:translateX(-110vw)}to{opacity:1;transform:translateX(0)}}
.scroll-film.is-scrolling .hero-content>.eyebrow,.scroll-film.is-scrolling .hero-content>h1,.scroll-film.is-scrolling .hero-bottom>p{animation:none;opacity:0;transform:translateX(-110vw)}
@media(prefers-reduced-motion:reduce){.scroll-film .hero-content>.eyebrow,.scroll-film .hero-content>h1,.scroll-film .hero-bottom>p{animation:none;transform:none;will-change:auto}.scroll-film.is-scrolling .hero-content>.eyebrow,.scroll-film.is-scrolling .hero-content>h1,.scroll-film.is-scrolling .hero-bottom>p{transform:none}}

/* Der Aktionsbutton folgt dem Text beim Einfliegen. */
.scroll-film .hero-bottom>.liquid-carve{animation:hero-fly-in .9s cubic-bezier(.16,1,.3,1) .36s both;will-change:transform,opacity}
.scroll-film.is-scrolling .hero-bottom>.liquid-carve{animation:none;opacity:0;transform:translateX(-110vw);pointer-events:none}
@media(prefers-reduced-motion:reduce){.scroll-film .hero-bottom>.liquid-carve{animation:none;transform:none;will-change:auto}.scroll-film.is-scrolling .hero-bottom>.liquid-carve{transform:none}}

@keyframes hero-button-from-right{from{opacity:0;transform:translateX(110vw)}to{opacity:1;transform:translateX(0)}}
.scroll-film .hero-bottom>.liquid-carve{animation-name:hero-button-from-right}
.scroll-film.is-scrolling .hero-bottom>.liquid-carve{animation:none;transform:translateX(110vw)}
@media(prefers-reduced-motion:reduce){.scroll-film .hero-bottom>.liquid-carve{animation:none}.scroll-film.is-scrolling .hero-bottom>.liquid-carve{transform:none}}

/* Header öffnet sich als Lichtband von der Mitte zu beiden Seiten. */
.header{animation:header-center-reveal .72s cubic-bezier(.16,1,.3,1) both}
.header.is-hidden{animation:none;clip-path:inset(0 50% 0 50%);transform:translateY(-110%)}
@keyframes header-center-reveal{0%{clip-path:inset(0 50% 0 50%);opacity:.4}100%{clip-path:inset(0 0 0 0);opacity:1}}
@media(prefers-reduced-motion:reduce){.header{animation:none}.header.is-hidden{clip-path:none}}

/* Langsame Aufdeckung an fester Position, ohne Einflug des Headers. */
.header{transform:none;transition:none;animation:header-center-reveal 1.8s cubic-bezier(.4,0,.2,1) both}
.header.is-hidden{transform:none;animation:none;clip-path:inset(0 50% 0 50%);pointer-events:none}
.header .brand,.header .brand-logo,.header nav{animation:none;transform:none;transition:none}
.header:focus-within{transform:none;clip-path:inset(0);pointer-events:auto}
@media(prefers-reduced-motion:reduce){.header{animation:none}.header.is-hidden{clip-path:inset(0 50% 0 50%)}}

/* Gleichbleibende Deckkraft, weiche wandernde Aufdeckungskanten. */
@property --header-reveal{syntax:'<length-percentage>';inherits:false;initial-value:0%}
.header{opacity:1;clip-path:none;--header-reveal:0%;-webkit-mask-image:linear-gradient(to right,transparent calc(50% - var(--header-reveal) - 26px),#000 calc(50% - var(--header-reveal)),#000 calc(50% + var(--header-reveal)),transparent calc(50% + var(--header-reveal) + 26px));mask-image:linear-gradient(to right,transparent calc(50% - var(--header-reveal) - 26px),#000 calc(50% - var(--header-reveal)),#000 calc(50% + var(--header-reveal)),transparent calc(50% + var(--header-reveal) + 26px));animation:header-soft-reveal 1.8s cubic-bezier(.4,0,.2,1) both}
@keyframes header-soft-reveal{from{--header-reveal:-26px}to{--header-reveal:calc(50% + 26px)}}
.header.is-hidden{animation:none;clip-path:inset(0 50% 0 50%);-webkit-mask-image:none;mask-image:none}
.header:focus-within{-webkit-mask-image:none;mask-image:none;clip-path:none}
@media(prefers-reduced-motion:reduce){.header{animation:none;-webkit-mask-image:none;mask-image:none}}

/* Einmaliger Markenauftakt. Das echte Headerlogo bleibt am Ziel sichtbar. */
.brand-intro{position:fixed;inset:0;z-index:2000;background:rgba(12,12,14,.72);-webkit-backdrop-filter:blur(22px) saturate(135%);backdrop-filter:blur(22px) saturate(135%);pointer-events:none}
.brand-intro img{position:absolute;left:50%;top:50%;width:min(360px,60vw);height:min(360px,60vw);object-fit:contain;transform:translate(-50%,-50%);filter:brightness(0) invert(1)}
body.intro-running{overflow:hidden}body.intro-running .header{animation:none;-webkit-mask-image:none;mask-image:none;opacity:0}body.intro-running .hero-content{visibility:hidden}
body.intro-running main,body.intro-running footer,body.intro-running>details{visibility:visible}

/* Die Seite bleibt während des Markenauftakts hinter dem Frostglas erkennbar. */
.brand-intro{background:rgba(12,12,14,.46);-webkit-backdrop-filter:blur(22px) saturate(135%);backdrop-filter:blur(22px) saturate(135%)}
body.intro-running .hero-content{visibility:visible}

/* Magnetic Carousel — angepasst aus dem bereitgestellten Originkit-Code. */
.magnetic-carousel{display:flex;align-items:center;justify-content:center;gap:18px;min-height:600px;padding:0 6%;overflow:hidden;background:#080808}
.magnetic-card{position:relative;flex:0 0 auto;width:var(--card-width,26%);height:var(--card-height,420px);overflow:hidden;border-radius:18px;background:#19191c;transition:width .5s cubic-bezier(.44,0,.56,1),height .5s cubic-bezier(.44,0,.56,1),filter .5s,opacity .5s}
.magnetic-card>img{width:100%;height:100%;object-fit:cover;display:block}.magnetic-trigger{position:absolute;inset:0;width:100%;border:0;padding:0;background:linear-gradient(transparent 45%,#0009);cursor:pointer;color:#fff;text-align:left;font-family:inherit}.magnetic-trigger:focus-visible{outline:3px solid white;outline-offset:-5px;border-radius:18px}
.magnetic-title{position:absolute;bottom:26px;left:24px;right:24px;font-size:20px;line-height:1.3;transition:opacity .25s}.magnetic-title small{display:block;font-size:10px;letter-spacing:2px;margin-bottom:8px;color:#ddd}.magnetic-title>span{float:right}
.magnetic-detail{position:absolute;z-index:2;bottom:24px;left:24px;max-width:390px;width:calc(100% - 48px);padding:26px;border:1px solid #ffffff26;background:#141418a6;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:18px;opacity:0;transform:translateY(12px);visibility:hidden;pointer-events:none;transition:opacity .3s,transform .4s,visibility .3s}
.magnetic-detail h3{font-size:25px;margin:0 0 12px;font-weight:500;letter-spacing:-.7px}.magnetic-detail p{font-size:14px;line-height:1.7;margin:0;color:#eee}.magnetic-detail>small{display:block;margin-top:12px;color:#bbb;font-size:10px}
.magnetic-card[data-position=center] .magnetic-detail{left:50%;transform:translate(-50%,12px)}.magnetic-card[data-position=right] .magnetic-detail{left:auto;right:24px}
.magnetic-card.is-open .magnetic-detail{opacity:1;transform:translateY(0);visibility:visible;transition-delay:.15s}.magnetic-card.is-open[data-position=center] .magnetic-detail{transform:translate(-50%,0)}.magnetic-card.is-open .magnetic-title{opacity:0}.magnetic-carousel.has-open .magnetic-card:not(.is-open){filter:blur(3px);opacity:.45}
.magnetic-controls{display:flex;align-items:center;justify-content:space-between;padding:0 6% 65px;gap:20px;color:#a1a1a6;font-size:12px}.magnetic-close{border:1px solid #555;border-radius:999px;background:#fff;color:#000;padding:12px 22px;cursor:pointer;font:inherit}.magnetic-close[hidden]{display:none}.magnetic-close:focus-visible{outline:2px solid white;outline-offset:4px}
@media(max-width:760px){.magnetic-carousel{gap:8px;padding:0 5%;min-height:540px}.magnetic-card{border-radius:12px}.magnetic-title{left:12px;right:10px;bottom:18px;font-size:14px;overflow-wrap:anywhere}.magnetic-title>span{display:none}.magnetic-detail{left:12px;bottom:12px;width:calc(100% - 24px);padding:18px;border-radius:12px;max-height:80%;overflow:auto}.magnetic-detail h3{font-size:21px}.magnetic-detail p{font-size:12px}.magnetic-card[data-position=right] .magnetic-detail{right:12px}.magnetic-controls{padding-bottom:40px}.magnetic-controls p{max-width:150px}}
@media(prefers-reduced-motion:reduce){.magnetic-card,.magnetic-detail,.magnetic-title{transition:none!important}}

.magnetic-carousel{min-height:880px}.magnetic-card{height:var(--card-height,640px)}@media(max-width:760px){.magnetic-carousel{min-height:650px}}

/* Einheitliche großzügige Rundungen und schlanke Hochformatkarten. */
:root{--radius-control:999px;--radius-image:28px;--radius-phone:42px}
.services-anchor{scroll-margin-top:130px}.magnetic-carousel{gap:24px;min-height:900px;padding:60px 6% 20px;scroll-margin-top:130px}
.magnetic-card{border-radius:var(--radius-phone);border:0;box-shadow:none}
.magnetic-trigger:focus-visible{border-radius:var(--radius-phone)}
.magnetic-title{left:26px;right:26px;bottom:32px}
/* Unscharfe Bildecke ohne abgegrenzte Textbox. */
.magnetic-detail{isolation:isolate;background:transparent;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;bottom:0;left:0;width:100%;max-width:400px;padding:38px 28px 32px}
.magnetic-detail::before{content:'';position:absolute;z-index:-1;inset:-100px -35px -10px;background:linear-gradient(transparent,#0009 65%,#000b);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);-webkit-mask-image:linear-gradient(transparent,#000 48%);mask-image:linear-gradient(transparent,#000 48%);pointer-events:none}
.magnetic-card[data-position=right] .magnetic-detail{right:0;left:auto}.magnetic-detail h3,.magnetic-detail p{text-shadow:0 1px 8px #0006}
.gallery img{border-radius:var(--radius-image)}.nav-contact,.pill,.magnetic-close{border-radius:var(--radius-control)}
@media(max-width:760px){.magnetic-carousel{gap:8px;padding:35px 4% 10px;min-height:690px}.magnetic-card{border-radius:26px}.magnetic-title{left:12px;right:12px;bottom:24px;font-size:13px}.magnetic-detail{left:0;bottom:0;width:100%;padding:22px 16px;max-height:85%}.magnetic-card[data-position=right] .magnetic-detail{right:0}.gallery img{border-radius:22px}}

/* iPad-Hochformat: 3:4, mit sichtbarer Vergrößerung beim Hover. */
.magnetic-carousel{min-height:900px}.magnetic-card{border-radius:34px;transition:width .18s ease-out,height .18s ease-out,filter .4s,opacity .4s}.magnetic-carousel.has-open .magnetic-card{transition:width .5s cubic-bezier(.44,0,.56,1),height .5s cubic-bezier(.44,0,.56,1),filter .4s,opacity .4s}
@media(max-width:760px){.magnetic-carousel{min-height:520px}.magnetic-card{border-radius:22px}}

/* Weicher Frostverlauf rund um den Text, in sämtliche Richtungen. */
.magnetic-detail::before{inset:-65px -55px;background:rgba(0,0,0,.65);-webkit-mask-image:radial-gradient(ellipse closest-side at center,#000 35%,rgba(0,0,0,.85) 55%,transparent 100%);mask-image:radial-gradient(ellipse closest-side at center,#000 35%,rgba(0,0,0,.85) 55%,transparent 100%)}

/* Großzügige Karten, geöffnete Karte an die Bildschirmhöhe angepasst. */
.magnetic-carousel{min-height:92svh;padding-top:45px;padding-bottom:45px}.magnetic-card{max-height:82svh}.magnetic-carousel.has-open{min-height:92svh}
@media(max-width:760px){.magnetic-carousel,.magnetic-carousel.has-open{min-height:72svh}.magnetic-detail p{font-size:13px}}

/* Größerer Text, kompakter Verlauf und klare Hervorhebung der Auswahl. */
.magnetic-detail{padding:24px 26px;max-width:430px}.magnetic-detail h3{font-size:32px;line-height:1.12;margin-bottom:14px}.magnetic-detail p{font-size:18px;line-height:1.55}.magnetic-detail::before{inset:-22px -24px;background:rgba(0,0,0,.62);-webkit-mask-image:radial-gradient(ellipse closest-side at center,#000 40%,rgba(0,0,0,.8) 65%,transparent 100%);mask-image:radial-gradient(ellipse closest-side at center,#000 40%,rgba(0,0,0,.8) 65%,transparent 100%)}
.magnetic-card.is-open{z-index:20;box-shadow:0 22px 70px #000b;transform:translateY(-8px) scale(1.025)}.magnetic-carousel.has-open .magnetic-card:not(.is-open){filter:blur(6px);opacity:.25;transform:scale(.94)}.magnetic-card{transition:width .25s ease-out,height .25s ease-out,filter .4s,opacity .4s,transform .4s,box-shadow .4s}.magnetic-carousel.has-open .magnetic-card{transition:width .5s cubic-bezier(.44,0,.56,1),height .5s cubic-bezier(.44,0,.56,1),filter .4s,opacity .4s,transform .4s,box-shadow .4s}
@media(max-width:760px){.magnetic-detail{padding:22px 18px}.magnetic-detail h3{font-size:26px}.magnetic-detail p{font-size:16px}.magnetic-card.is-open{transform:translateY(-4px)}}

/* Die Bühne richtet sich nach den Karten statt nach einer festen Bildschirmhöhe. */
.magnetic-carousel,.magnetic-carousel.has-open{min-height:0;height:auto;padding-top:32px;padding-bottom:32px;align-items:center}
.magnetic-controls{padding-bottom:32px}.magnetic-controls p{margin:0}
@media(max-width:760px){.magnetic-carousel,.magnetic-carousel.has-open{min-height:0;padding-top:24px;padding-bottom:24px}.magnetic-controls{padding-bottom:24px}}

/* Gut lesbare Beschreibungen auf der geöffneten Karte. */
.magnetic-detail{max-width:520px;padding:28px 30px}.magnetic-detail h3{font-size:36px;line-height:1.15}.magnetic-detail p{font-size:22px;line-height:1.55}.magnetic-detail>small{font-size:12px}.magnetic-title{font-size:24px}
@media(max-width:760px){.magnetic-detail{padding:24px 20px;max-height:88%}.magnetic-detail h3{font-size:28px}.magnetic-detail p{font-size:18px;line-height:1.5}.magnetic-title{font-size:15px}}

/* Vergrößerung um die Kartenmitte, ohne Verändern der schwarzen Bühne. */
.magnetic-carousel,.magnetic-carousel.has-open{overflow:visible;position:relative;padding-top:0;padding-bottom:0}
.magnetic-card{transform-origin:center center;max-height:none}
.magnetic-card.is-open{transform:translateY(-24px) scale(var(--open-scale,1.15));z-index:20}
.magnetic-carousel.has-open .magnetic-card:not(.is-open){transform:scale(.94)}
@media(max-width:760px){.magnetic-carousel,.magnetic-carousel.has-open{padding-top:0;padding-bottom:0}.magnetic-card.is-open{transform:translateY(-12px) scale(var(--open-scale,1.15))}}
@media(prefers-reduced-motion:reduce){.magnetic-card.is-open{transform:scale(var(--open-scale,1.15))}}

/* Gemeinsame weiße Kapsel mit dem gleichen flüssigen Akzent. */
.magnetic-close.liquid-carve{background:transparent;border:0;border-radius:999px;font-family:inherit;font-size:13px;min-width:210px;padding:0 24px;gap:24px;color:#080808;box-shadow:none;overflow:visible}
.magnetic-close.liquid-carve[hidden]{display:none}
.magnetic-close.liquid-carve .carve-label,.magnetic-close.liquid-carve .carve-arrow{color:white;mix-blend-mode:difference;pointer-events:none}

/* Partnerverweis in der geöffneten Indoor-Karte. */
.hotel-partner{margin-top:18px}
.magnetic-detail .hotel-partner p{font-size:14px;line-height:1.4;margin-bottom:10px;color:#eee}
.hotel-partner-button.liquid-carve{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:12px 20px;background:transparent;border:0;border-radius:999px;text-decoration:none;font-size:13px;font-weight:500;max-width:100%}
.magnetic-card.is-open .hotel-partner-button{pointer-events:auto}
.hotel-partner-button:focus-visible{outline:2px solid white;outline-offset:4px}

/* Der Frost-Header entfaltet sich für den Hinweis über den Bildschirm. */
.external-notice[hidden]{display:none}
.external-notice{position:fixed;inset:0;z-index:2100;display:grid;place-items:center;padding:36px;background:rgba(12,12,14,.5);-webkit-backdrop-filter:blur(24px) saturate(135%);backdrop-filter:blur(24px) saturate(135%);color:#fff;cursor:pointer;animation:notice-expand 1.1s cubic-bezier(.22,1,.36,1) both;outline:none}
.external-notice-content{display:flex;align-items:center;gap:40px;max-width:1000px;animation:notice-content 1.2s cubic-bezier(.22,1,.36,1) both}
.external-notice-content img{width:clamp(150px,20vw,260px);height:auto;filter:brightness(0) invert(1)}
.external-notice-divider{align-self:stretch;width:1px;min-height:180px;background:linear-gradient(transparent,#ffffff8c 20%,#ffffff8c 80%,transparent)}
.external-notice h2{font-size:clamp(24px,3vw,44px);line-height:1.2;font-weight:500;letter-spacing:-.035em;margin:12px 0 22px}
.external-notice #external-notice-hint{font-size:14px;color:#ffffffae;line-height:1.5}
.external-notice.is-closing{animation:notice-dismiss .35s ease both;pointer-events:none}
@keyframes notice-expand{from{clip-path:inset(0 0 calc(100% - 90px) 0)}to{clip-path:inset(0)}}
@keyframes notice-content{from{opacity:0;transform:translateY(-90px) scale(.85)}to{opacity:1;transform:none}}
@keyframes notice-dismiss{to{opacity:0;transform:translateY(-18px)}}
@media(max-width:600px){.external-notice-content{gap:20px;flex-direction:column;text-align:center}.external-notice-divider{width:1px;min-height:50px;height:50px;align-self:center}.external-notice-content img{width:160px}.external-notice h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.external-notice,.external-notice-content,.external-notice.is-closing{animation:none}}

body.notice-returning .header{animation:none!important;clip-path:inset(0)!important;transform:none!important;opacity:1;pointer-events:auto}
.external-notice{overflow:hidden}

/* Bild und Studiogeschichte als ruhiger zweiteiliger Abschnitt. */
.studio-story{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(36px,6vw,110px);align-items:center;background:#080808}
.studio-story-image{position:relative;margin:0;min-width:0;align-self:stretch;min-height:680px;overflow:hidden;border-radius:28px}
.studio-story-image img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% center}
.studio-story-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:70px 30px 30px;background:linear-gradient(transparent,#0009);font-size:14px;line-height:1.5;color:#fff}
.studio-story-copy{padding:24px 0}
.studio-story-copy h2{font-size:clamp(36px,4.3vw,72px);line-height:1.06;letter-spacing:-.045em;margin:20px 0 34px;font-weight:500}
.studio-story-copy>p:not(.eyebrow){font-size:clamp(17px,1.35vw,21px);line-height:1.7;color:#b9b9bf;margin:0 0 22px;max-width:590px}
.studio-story-copy>p.studio-story-signature{margin-top:34px;color:white;font-size:18px;line-height:1.6}
.studio-story-signature span{color:#85858d;font-size:14px}
@media(max-width:900px){.studio-story{grid-template-columns:1fr;gap:30px}.studio-story-image{min-height:0;aspect-ratio:4/3}.studio-story-copy{padding:0}.studio-story-copy>p:not(.eyebrow){max-width:100%}}
@media(max-width:600px){.studio-story-image{border-radius:22px;aspect-ratio:1/1}.studio-story-image figcaption{padding:50px 20px 22px}.studio-story-copy h2{font-size:40px}}

.contact-popup{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:24px;background:transparent;color:white;overflow:auto}
.contact-popup[open]{display:grid;place-items:center}
.contact-popup::backdrop{background:#0005;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.contact-popup-panel{position:relative;width:min(580px,100%);padding:42px;border-radius:34px;background:rgba(12,12,14,.84);backdrop-filter:blur(28px) saturate(130%);-webkit-backdrop-filter:blur(28px) saturate(130%);box-shadow:0 28px 100px #0005;transform-origin:top left}
.contact-popup-content h2{font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-1.7px;margin:18px 0}
.contact-popup-intro{color:#b9b9bf;font-size:15px;line-height:1.6;margin-bottom:24px}
.contact-popup-close{position:absolute;right:18px;top:16px;width:36px;height:36px;border:0;border-radius:50%;background:#ffffff15;color:white;font-size:24px;cursor:pointer;z-index:2}
.contact-popup-form{display:grid;gap:16px}.contact-popup-form label{display:grid;gap:8px;font-size:13px;color:#ddd}
.contact-popup-form input,.contact-popup-form textarea{width:100%;font:inherit;font-size:15px;line-height:1.5;color:white;background:#ffffff09;border:1px solid #ffffff26;border-radius:14px;padding:12px 14px;resize:vertical}
.contact-popup-form :focus-visible{outline:2px solid #fff;outline-offset:3px}
.contact-draft-button{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:12px 22px;border:0;border-radius:999px;background:white;color:#080808;font:inherit;font-size:14px;cursor:pointer;transition:background .2s,transform .2s}
.contact-draft-button:hover{background:#ddd;transform:translateY(-2px)}
.contact-form-status{font-size:12px;color:#aaa;line-height:1.5;margin:0}
body.contact-popup-open{overflow:hidden}

@media(max-width:600px){.contact-popup{padding:14px}.contact-popup-panel{padding:34px 24px 26px;border-radius:28px}}

.contact-liquid-flight{position:fixed;z-index:3;overflow:hidden;pointer-events:none;isolation:isolate;background:rgba(8,8,8,1);backdrop-filter:blur(28px) saturate(130%);-webkit-backdrop-filter:blur(28px) saturate(130%);box-shadow:0 18px 60px #0004}
.contact-liquid-flight>.liquid-carve{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 22px;width:100%;height:100%;border:0;border-radius:inherit;font-size:13px;visibility:visible!important}

/* Éclats de lumière et bord optique de la surface liquide. */
.contact-liquid-flight{background:rgba(18,20,24,.42);-webkit-backdrop-filter:blur(16px) saturate(180%) brightness(1.15);backdrop-filter:blur(16px) saturate(180%) brightness(1.15);box-shadow:inset 0 2px 1px #ffffffb3,inset 2px 0 3px #ffffff45,inset -2px -3px 3px #0008,0 20px 65px #0005;border:1px solid #ffffff42;transform-origin:center}
.contact-liquid-flight::before{content:'';position:absolute;inset:-35%;z-index:2;pointer-events:none;background:linear-gradient(125deg,transparent 25%,#ffffff0a 35%,#ffffff5c 43%,transparent 51%,#ffffff20 67%,transparent 76%);mix-blend-mode:screen;animation:contact-glass-shimmer 3.1s cubic-bezier(.2,.7,.3,1) both}
.contact-liquid-flight::after{content:'';position:absolute;inset:1px;z-index:3;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 3px #fffd,inset 0 -1px 3px #ffffff38;background:radial-gradient(ellipse at 20% 0%,#ffffff30,transparent 48%)}
.contact-popup-panel{background:rgba(18,20,24,.42);-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);border:1px solid #ffffff35;box-shadow:inset 0 1px 1px #ffffff80,inset 0 -1px 2px #ffffff20,0 28px 100px #0005}
@keyframes contact-glass-shimmer{0%{transform:translate(-25%,-10%) rotate(-15deg);opacity:.15}25%{transform:translate(10%,5%) rotate(12deg);opacity:1}55%{transform:translate(-8%,0) rotate(-6deg);opacity:.75}100%{transform:translate(15%,10%) rotate(0);opacity:.3}}
@media(prefers-reduced-motion:reduce){.contact-liquid-flight::before{animation:none}}

.contact-liquid-reveal{position:absolute;top:0;left:0;box-sizing:border-box;color:white;z-index:4;pointer-events:none}
.contact-liquid-reveal .contact-popup-close{pointer-events:none}
.contact-liquid-flight{border-color:#ffffff35;-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%)}

/* Die Haut bleibt weich: kein metallischer Rand und keine harten Glanzstreifen. */
.contact-liquid-flight{border:0;box-shadow:0 12px 40px #0002,inset 0 1px 2px #ffffff35;-webkit-backdrop-filter:blur(18px) saturate(155%);backdrop-filter:blur(18px) saturate(155%)}
.contact-liquid-flight::after{box-shadow:inset 0 1px 3px #ffffff55,inset 0 -1px 4px #ffffff10;background:radial-gradient(ellipse at 22% 5%,#ffffff15,transparent 55%)}
.contact-liquid-flight::before{background:radial-gradient(ellipse at 25% 25%,#ffffff25,transparent 55%);mix-blend-mode:screen}
.contact-liquid-flight>.liquid-carve{inset:auto;top:0;left:0;box-shadow:none;background:transparent}

/* Glasfläche wie in der Referenz: ruhige Kante, ein kurzer weicher Rebound. */
.contact-popup::backdrop{background:#0002;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.contact-liquid-flight::before{animation:none;background:linear-gradient(135deg,#ffffff16,transparent 42%,#ffffff08);opacity:.65}
.contact-liquid-flight::after{box-shadow:inset 0 1px 2px #ffffff60,inset 0 -1px 2px #ffffff18;background:none}
.contact-liquid-flight{box-shadow:inset 0 1px 1px #ffffff60,0 18px 65px #0003}

.mail-swipe{position:relative;height:60px;border-radius:999px;background:#ffffff0d;box-shadow:inset 0 1px 2px #ffffff25;overflow:hidden;margin-top:3px}
.mail-swipe-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;padding-left:36px;color:#ddd;font-size:13px;pointer-events:none;transition:opacity .2s}
.mail-swipe-plane{position:absolute;top:5px;left:5px;width:50px;height:50px;border:0;border-radius:50%;display:grid;place-items:center;background:white;color:#101014;cursor:grab;touch-action:pan-y;box-shadow:0 3px 14px #0003;will-change:transform}
.mail-swipe-plane svg{width:25px;height:25px;overflow:visible}
.mail-swipe-plane:active{cursor:grabbing}
.mail-swipe.is-dragging .mail-swipe-label{opacity:.2}
.mail-flight-overlay{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:30px;border:0;background:rgba(12,12,14,.46);color:white;-webkit-backdrop-filter:blur(22px) saturate(135%);backdrop-filter:blur(22px) saturate(135%);overflow:hidden}
.mail-flight-overlay[open]{display:grid;place-items:center;animation:notice-expand 1.1s cubic-bezier(.22,1,.36,1) both}
.mail-flight-overlay::backdrop{background:transparent}
.mail-flight-brand{display:flex;align-items:center;justify-content:center;gap:38px}
.mail-flight-brand img{width:clamp(140px,21vw,260px);height:auto;filter:brightness(0) invert(1)}
.mail-arriving-plane{width:clamp(70px,10vw,120px);height:clamp(70px,10vw,120px);color:white}
.mail-arriving-plane svg{display:block;width:100%;height:100%;overflow:visible}
.mail-brand-divider{width:1px;height:130px;background:linear-gradient(transparent,#ffffff9c 25%,#ffffff9c 75%,transparent)}
.mail-flight-dismiss{position:absolute;bottom:7%;left:50%;transform:translateX(-50%);background:transparent;border:0;color:#ffffffa0;font:inherit;font-size:13px;cursor:pointer;padding:15px}
@media(max-width:600px){.mail-flight-brand{gap:22px}.mail-brand-divider{height:90px}.mail-swipe-label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.mail-flight-overlay[open]{animation:none}}

/* Der echte Flieger bleibt während des gesamten Abflugs sichtbar. */
.mail-flight-overlay{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;isolation:isolate}
.mail-flight-overlay[open]{animation:none}
.mail-flight-overlay::before{content:'';position:absolute;inset:0;z-index:-1;background:rgba(12,12,14,.46);-webkit-backdrop-filter:blur(22px) saturate(135%);backdrop-filter:blur(22px) saturate(135%);animation:notice-expand 2.1s cubic-bezier(.22,1,.36,1) both}
.mail-flight-brand{position:relative}
@media(prefers-reduced-motion:reduce){.mail-flight-overlay::before{animation:none}}

.contact-mail-alternative{margin-top:3px;padding-top:16px;border-top:1px solid #ffffff20}
.contact-mail-alternative>p{font-size:13px;color:#bbb;margin:0 0 12px;line-height:1.5}
.contact-send-button:disabled{opacity:.5;cursor:wait;transform:none}

.contact-send-button.liquid-carve{width:100%;background:transparent;box-shadow:none;overflow:visible;justify-content:space-between;gap:16px;padding:0 22px;font-family:inherit;font-size:13px;border-radius:999px;transform:none}
.contact-send-button.liquid-carve:hover{background:transparent;transform:none}
.contact-send-button.liquid-carve .carve-label,.contact-send-button.liquid-carve .carve-arrow{color:white;mix-blend-mode:difference;pointer-events:none}

.contact-popup.is-returning::backdrop{animation:contact-backdrop-return 1.3s ease both}
@keyframes contact-backdrop-return{to{background:transparent;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.contact-popup.is-returning::backdrop{animation:none}}

.contact-return-label .carve-surface{display:none}
.contact-return-label .carve-label,.contact-return-label .carve-arrow{color:white;mix-blend-mode:difference}

/* Übergabe an den Header ohne erneute Aufdeckanimation. */
.header.header-handoff:not(.is-hidden){animation:none!important;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important;transform:none!important;opacity:1;--header-reveal:calc(50% + 26px)}
.contact-return-label .carve-label,.contact-return-label .carve-arrow{color:#080808;mix-blend-mode:normal}

/* Nach dem ersten Scrollen bestimmt die Scrollstrecke die Headerposition. */
body:not(.intro-running):not(.notice-returning) .header[data-scroll-motion]{animation:none!important;transition:none!important;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important;opacity:1;transform:translateY(calc(var(--header-scroll-hide,0) * -100%))!important;will-change:transform}
body:not(.intro-running):not(.notice-returning) .header[data-scroll-motion].is-hidden{pointer-events:none}

.mail-swipe::before{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--swipe-fill,60px);max-width:100%;border-radius:999px;background:white;pointer-events:none;transition:width .4s cubic-bezier(.2,.9,.3,1.3)}
.mail-swipe.is-dragging::before{transition:none}
.mail-swipe-label{z-index:1;color:white;mix-blend-mode:difference}
.mail-swipe.is-dragging .mail-swipe-label{opacity:1}
.mail-swipe-plane{z-index:2}

/* Handy: erreichbare Bedienelemente, sichere Ränder und lesbare Karten. */
@media(max-width:760px){
 html{scroll-padding-top:96px}
 .header{height:calc(80px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(14px,env(safe-area-inset-right,0px)) 0 max(14px,env(safe-area-inset-left,0px))}
 .brand-logo{width:64px;height:64px}
 .header nav{gap:12px;font-size:11px}
 .header nav>a:not(.liquid-carve){display:flex;align-items:center;min-height:44px}
 .header .liquid-carve{min-width:100px;height:44px;min-height:44px;padding:0 15px;gap:14px;font-size:12px}
 .hero{height:100svh;min-height:560px}
 .hero-top{top:calc(104px + env(safe-area-inset-top,0px));left:6%;right:6%;gap:12px;line-height:1.6;font-size:8px;letter-spacing:1px}
 .hero-top>span{max-width:56%}.hero-top>span+span{text-align:right}
 .hero-content{left:6%;right:6%;bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .hero h1{font-size:clamp(48px,13vw,78px);letter-spacing:-.055em;line-height:1;margin:18px 0 24px}
 .hero-bottom{align-items:flex-start;gap:24px;flex-direction:column}
 .hero-bottom p{font-size:14px;line-height:1.6}
 .hero-bottom .liquid-carve{min-width:215px;min-height:48px}
 .image-label{left:6%;right:6%;text-align:left;bottom:calc(28px + env(safe-area-inset-bottom,0px));line-height:1.6;font-size:8px}
 .section{padding:68px 6%}
 .studio-story-image{padding-top:0!important}
 .studio-story-copy h2{font-size:clamp(34px,9.5vw,48px)}
 .studio-story-copy>p:not(.eyebrow){font-size:17px;line-height:1.65}
 .magnetic-carousel,.magnetic-carousel.has-open{justify-content:flex-start;gap:16px;padding:26px 9%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:9%;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none}
 .magnetic-carousel::-webkit-scrollbar{display:none}
 .magnetic-card{scroll-snap-align:center;border-radius:26px;transform-origin:center}
 .magnetic-card.is-open{transform:translateY(-6px) scale(1.035)}
 .magnetic-detail{max-height:90%;overflow-y:auto;overscroll-behavior:contain;padding:22px 18px;scrollbar-width:thin}
 .magnetic-card.is-open .magnetic-detail{pointer-events:auto}
 .magnetic-detail h3{font-size:25px;line-height:1.12;margin-bottom:12px}
 .magnetic-detail p{font-size:16px;line-height:1.5}
 .magnetic-detail>small{font-size:10px}
 .magnetic-title{font-size:22px;left:22px;right:22px}
 .hotel-partner-button.liquid-carve{font-size:12px;padding:0 14px;gap:12px;min-height:46px}
 .magnetic-controls{align-items:flex-start;flex-wrap:wrap;gap:14px;padding:0 6% 30px;font-size:12px}
 .contact-popup{padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));height:100dvh;overscroll-behavior:contain}
 .contact-popup-panel{padding:32px 22px 24px;border-radius:28px;width:min(480px,100%);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 .contact-popup-content>.eyebrow{max-width:calc(100% - 36px);font-size:9px;line-height:1.6;letter-spacing:1.1px}
 .contact-popup-content h2{font-size:34px;letter-spacing:-1.4px;margin:16px 0}
 .contact-popup-intro{font-size:14px;line-height:1.5;margin-bottom:20px}
 .contact-popup-close{width:44px;height:44px;right:10px;top:10px;font-size:25px}
 .contact-popup-form{gap:14px}
 .contact-popup-form input,.contact-popup-form textarea{font-size:16px;min-height:48px;padding:11px 12px}
 .contact-popup-form textarea{min-height:100px}
 .contact-send-button.liquid-carve{height:auto;min-height:52px;gap:10px;padding:12px 18px;font-size:12px;line-height:1.4;text-align:left}
 .contact-send-button .carve-label{max-width:calc(100% - 26px)}
 .contact-form-status{font-size:11px;line-height:1.55;overflow-wrap:anywhere}
 .mail-swipe{height:62px;isolation:isolate}
 .mail-swipe-plane{width:52px;height:52px;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
 .mail-swipe-label{padding-left:40px;font-size:12px}
 .mail-flight-overlay{height:100dvh;padding:22px}
 .mail-flight-brand{gap:22px;max-width:100%}
 .mail-flight-brand img{width:clamp(130px,40vw,190px)}
 .mail-arriving-plane{width:68px;height:68px;flex-shrink:0}
 .mail-brand-divider{height:100px;flex-shrink:0}
 .mail-flight-dismiss{bottom:max(24px,env(safe-area-inset-bottom,0px));min-height:48px;white-space:nowrap}
 .external-notice{padding:24px;min-height:100dvh}
 footer{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:360px){.header nav{gap:8px;font-size:10px}.header .liquid-carve{min-width:90px;padding:0 12px}.brand-logo{width:56px;height:56px}.contact-popup-panel{padding:32px 18px 22px}.contact-popup-content h2{font-size:30px}}
@media(max-height:520px) and (max-width:960px){.hero{min-height:480px}.contact-popup-panel{max-height:calc(100dvh - 24px);overflow-y:auto}.contact-popup{padding:12px}}
@media(max-width:760px){.header nav>.contact-popup-trigger{display:inline-flex}.mail-swipe::before{width:var(--swipe-fill,62px)}}

/* Frost liegt auf dem Bild, außerhalb des scrollbaren Textfelds. */
@media(max-width:760px){
 .magnetic-detail::before{display:none}
 .magnetic-card::after{content:'';position:absolute;z-index:1;left:0;right:0;bottom:0;height:min(100%,var(--detail-frost-height,85%));pointer-events:none;background:rgba(0,0,0,.48);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);-webkit-mask-image:radial-gradient(ellipse farthest-side at 50% 63%,#000 32%,#000d 58%,#0007 78%,transparent 100%);mask-image:radial-gradient(ellipse farthest-side at 50% 63%,#000 32%,#000d 58%,#0007 78%,transparent 100%);opacity:0;transition:opacity .35s}
 .magnetic-card.is-open::after{opacity:1}
 .magnetic-card[data-position] .magnetic-detail{left:0;right:0;bottom:0;width:100%;max-width:none;padding:20px 18px;max-height:86%;transform:translateY(12px);background:transparent}
 .magnetic-card.is-open[data-position] .magnetic-detail{transform:translateY(0)}
 .magnetic-detail h3{font-size:21px;line-height:1.15;letter-spacing:-.5px;margin:0 0 10px}
 .magnetic-detail p{font-size:14px;line-height:1.5}
 .magnetic-detail>small{font-size:9px;margin-top:10px;line-height:1.4}
 .magnetic-detail .hotel-partner{margin-top:14px}
 .magnetic-detail .hotel-partner p{font-size:11px;line-height:1.4;margin-bottom:8px}
 .hotel-partner-button.liquid-carve{font-size:11px;padding:0 12px;gap:10px;min-height:44px}
}

/* Partnerbutton und Bildnachweis vollständig innerhalb der geöffneten Karte. */
@media(max-width:760px){
 .magnetic-card.is-open[data-position] .magnetic-detail{max-height:none;overflow:visible;padding:20px 18px 24px}
 .magnetic-detail .hotel-partner-button.liquid-carve{height:44px;min-height:44px;flex-shrink:0}
 .magnetic-detail>small{overflow-wrap:anywhere}
}

/* Weiche Bildunschärfe statt browserabhängiger Backdrop-Kanten. */
.magnetic-frost{display:none}
@media(max-width:760px){
 .magnetic-card::after{display:none}
 .magnetic-frost{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .35s;-webkit-mask-image:radial-gradient(ellipse 72% calc(var(--detail-frost-height,300px) * .74) at 50% calc(100% - var(--detail-frost-height,300px) * .43),#000 35%,#000e 52%,#0008 76%,transparent 100%);mask-image:radial-gradient(ellipse 72% calc(var(--detail-frost-height,300px) * .74) at 50% calc(100% - var(--detail-frost-height,300px) * .43),#000 35%,#000e 52%,#0008 76%,transparent 100%)}
 .magnetic-frost-image{display:block;width:100%;height:100%;object-fit:cover;filter:blur(16px);transform:scale(1.025)}
 .magnetic-frost::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.48)}
 .magnetic-card.is-open .magnetic-frost{opacity:1}
 .magnetic-detail h3{font-size:19px;line-height:1.18;letter-spacing:-.4px;margin-bottom:9px}
 .magnetic-detail p{font-size:13px;line-height:1.48}
 .magnetic-detail .hotel-partner p{font-size:10px;line-height:1.4}
 .magnetic-detail>small{font-size:9px;line-height:1.4}
}

.legal-section{background:#080808;border-top:1px solid #ffffff14}
.legal-section h2{font-size:clamp(30px,4vw,54px)}
.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.legal-grid h3{font-size:20px;margin:0 0 12px}
.legal-grid p{font-size:15px;line-height:1.6;color:#a1a1a6;max-width:440px}
@media(max-width:760px){.header nav{gap:9px}.header nav>.legal-nav-link{display:flex;font-size:10px;min-height:44px}.header nav>.contact-popup-trigger{min-width:88px;padding:0 12px;gap:10px}.legal-grid{grid-template-columns:1fr;gap:24px}.header nav>a[href="#einblicke"]{display:none}}
@media(max-width:360px){.header nav{gap:7px;font-size:9px}.header nav>.legal-nav-link{font-size:9px}.header nav>.contact-popup-trigger{min-width:82px;padding:0 10px;font-size:11px}}

/* Eigenständige Unterseite Rechtliches. */
.legal-page{background:#080808;color:#f5f5f7}
.legal-main{max-width:1160px;margin:auto;padding:180px 6% 90px}
.legal-back{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#a1a1a6;margin-bottom:44px}
.legal-page h1{font-family:SkyInterVariable,Arial,sans-serif;font-size:clamp(52px,8vw,104px);font-weight:450;letter-spacing:-.055em;line-height:1.05;margin:20px 0}
.legal-introduction{font-size:18px;line-height:1.6;color:#a1a1a6}
.legal-section-links{display:flex;gap:28px;flex-wrap:wrap;margin:32px 0 60px}
.legal-section-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.legal-document{padding:42px 0;border-top:1px solid #ffffff20;scroll-margin-top:110px}
.legal-document h2{font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:-1.2px;margin:18px 0 28px}
.legal-document>p:not(.eyebrow){font-size:16px;line-height:1.75;max-width:740px;overflow-wrap:anywhere}
.legal-document a{text-decoration:underline;text-underline-offset:4px}
.legal-pending{color:#a1a1a6;margin-top:26px}
.header .legal-nav-link[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
@media(max-width:760px){.legal-main{padding:120px 6% 56px}.legal-back{margin-bottom:26px}.legal-page h1{font-size:54px}.legal-introduction{font-size:16px}.legal-section-links{margin:24px 0 36px}.legal-document{padding:30px 0;scroll-margin-top:94px}.legal-document>p:not(.eyebrow){font-size:14px}}
@media(max-width:760px){.legal-page .header nav>.liquid-carve{display:inline-flex;min-width:88px}}

/* Durchgehender Übergang von der Headerfläche zur neuen Unterseite. */
.page-transition{display:none;position:fixed;inset:0;z-index:3000;overflow:hidden;background:rgba(12,12,14,.46);-webkit-backdrop-filter:blur(22px) saturate(135%);backdrop-filter:blur(22px) saturate(135%);pointer-events:all}
.page-transition.is-active,.page-transition-pending .page-transition{display:block}
.page-transition img{position:absolute;left:50%;top:50%;width:min(300px,56vw);height:min(300px,56vw);object-fit:contain;transform:translate(-50%,-50%);filter:brightness(0) invert(1)}
body.page-transition-running{overflow:hidden}
.page-transition-running .header,.page-transition-pending .header{visibility:hidden}

.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:60px 6% 32px;background:#080808;border-top:1px solid #ffffff1a;color:#a1a1a6;font-size:13px;line-height:1.7}
.site-footer .footer-brand{display:inline-block;font-size:17px;letter-spacing:2px;color:#f5f5f7}
.site-footer p{margin:12px 0 0;line-height:1.8}
.footer-operator{justify-self:end}
.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff14;padding-top:24px;margin-top:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;font-size:11px}
.footer-bottom nav{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;line-height:1.5}
.footer-bottom nav>a{display:inline-flex;align-items:center;min-height:44px}
.legal-document h3{font-size:20px;line-height:1.4;margin:32px 0 12px;letter-spacing:-.3px;font-weight:500}
.legal-placeholder{color:#c8c8ce}.legal-date{color:#a1a1a6;font-size:13px!important}
@media(max-width:760px){.site-footer{grid-template-columns:1fr;gap:24px;padding:42px 6% calc(24px + env(safe-area-inset-bottom,0px));font-size:12px}.footer-operator{justify-self:start}.footer-bottom{grid-column:1;flex-direction:column;gap:12px}.footer-bottom nav{gap:8px 18px}.footer-bottom nav>a{display:inline-flex}.legal-document h3{font-size:18px;margin-top:26px}}
