:root{--bg: #f6f3ee;--bg-2: #efeae1;--ink: #1a1a18;--ink-2: #3a3a36;--muted: #7a7670;--rule: #dcd6ca;--accent: #b8543a;--accent-ink: #7a3624;--serif: "Instrument Serif", "Times New Roman", serif;--sans: "Inter Tight", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--maxw: 1440px;--marginalie: 220px;--pad-x: clamp(24px, 5vw, 88px);--grid-cols:12;--grid-gutter:24px;--grid-margin:var(--pad-x);--col-margin:2;--col-headline:5;--col-content:4;--col-trail:1;--baseline:8px;--fs-50:9px;--fs-75:12px;--fs-100:16px;--fs-200:21.3px;--fs-300:28.4px;--fs-400:37.9px;--fs-500:50.5px;--fs-600:67.3px;--fs-700:89.8px;--fs-800:119.7px;--bg-dark:#1a1a18;--bg-dark-2:#202020;--bg-dark-hover:#2a2a26;--bg-dark-3:#2c2c28;--ink-on-dark-2:#cfc8bb;--muted-on-dark:#9c958a;--accent-hover:#a04631;--status-ok:#3aa66f;--error:#e08070;--error-bg:#2a1a18;--error-rule:#5a2a20;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--tr-label:0.08em;--tr-headline:-0.01em;--tr-display:-0.02em;--grid-gap:24px;--col-margin-w:220px;--col-section-gap:48px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-size:var(--fs-100);line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}section+section{border-top:1px solid var(--rule)}.cta-block{border-top:none}::selection{background:var(--accent);color:var(--bg)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad-x);padding-right:var(--pad-x)}.eyebrow{font-family:var(--mono);font-size:var(--fs-75);letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);line-height:1;margin-bottom:var(--s-5)}.rule{height:1px;background:var(--rule);border:0;width:100%}.accent{color:var(--accent)}.serif{font-family:var(--serif);font-weight:400;letter-spacing:-0.01em}section{padding:96px 0;position:relative}.sec-inner-head{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:56px}@media(min-width:780px){.sec-inner-head{grid-template-columns:5fr 4fr;column-gap:var(--grid-gutter);align-items:start}}.sec-inner-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.6vw,var(--fs-500));line-height:1;letter-spacing:-0.01em}.sec-inner-head .lede{color:var(--ink-2);max-width:54ch;font-size:var(--fs-200);line-height:1.55}.about-heading{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.6vw,var(--fs-500));line-height:1;letter-spacing:-0.01em;margin-bottom:48px}.reveal{opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.nav{position:sticky;top:0;z-index:50;background:color-mix(in oklab, var(--bg) 88%, transparent);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid rgba(0,0,0,0);transition:border-color .25s ease}.nav.is-stuck{border-bottom-color:var(--rule)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:13px;letter-spacing:.04em}.brand .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 18%, transparent)}.nav ul{display:flex;gap:28px;list-style:none}.nav li a{font-size:14px;color:var(--ink-2);position:relative;padding:6px 0;white-space:nowrap}.nav li a:hover{color:var(--ink)}.nav li a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--ink);transition:right .35s cubic-bezier(0.2, 0.7, 0.2, 1)}.nav li a:hover::after{right:0}.nav .cta{font-size:13px;padding:10px 16px;border:1px solid var(--ink);border-radius:999px;transition:background .2s,color .2s}.nav .cta:hover{background:var(--ink);color:var(--bg)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;padding:8px 4px;background:none;border:0;cursor:pointer}.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);border-radius:1px;transition:transform .3s cubic-bezier(0.2, 0.7, 0.2, 1),opacity .2s;transform-origin:center}@media(max-width: 780px){.nav-toggle{display:flex}}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}@media(max-width: 780px){.nav ul{display:none;position:absolute;top:71px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--rule);flex-direction:column;padding:8px var(--pad-x) 20px;gap:0}.nav.is-open ul{display:flex}.nav li a{padding:14px 0;font-size:16px;border-bottom:1px solid var(--rule)}.nav-cta{display:none}}.hero{padding:clamp(80px,12vw,160px) 0 clamp(60px,9vw,120px);position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr;row-gap:40px;align-items:start}@media(min-width:900px){.hero-grid{grid-template-columns:repeat(12,1fr);column-gap:var(--grid-gutter);row-gap:0}.hero-grid>.eyebrow{grid-column:1/span 2;align-self:start;padding-top:8px;margin-bottom:0}.hero-grid>h1{grid-column:3/span 5;grid-row:1/span 2}.hero-meta{grid-column:8/span 4}}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,calc(6vw + 1rem),var(--fs-700));line-height:.95;letter-spacing:-0.02em}.hero h1 em{font-style:italic;color:var(--accent)}.hero h1 .indent{display:inline-block;width:1.6ch}.hero-meta{display:flex;flex-direction:column;gap:24px;padding-bottom:8px;align-self:end}.hero-lede{font-size:clamp(var(--fs-100),1.4vw,var(--fs-200));line-height:1.55;color:var(--ink-2);max-width:42ch}.hero-status{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:var(--fs-75);color:var(--muted)}.hero-status .pulse{width:8px;height:8px;border-radius:50%;background:var(--status-ok);position:relative}.hero-status .pulse::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--status-ok);opacity:.4;animation:pulse 2.4s ease-out infinite}@keyframes pulse{0%{transform:scale(0.7);opacity:.5}100%{transform:scale(1.6);opacity:0}}.hero-foot{margin-top:clamp(48px,7vw,88px);display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;border-top:1px solid var(--rule);padding-top:32px}@media(max-width: 780px){.hero-foot{gap:16px}}.stat .k{font-family:var(--serif);font-size:var(--fs-500);line-height:1;font-style:italic}.stat .l{margin-top:8px;font-family:var(--mono);font-size:var(--fs-75);letter-spacing:0.08em;text-transform:uppercase;color:var(--muted)}.hero-loc{font-family:var(--mono);font-size:var(--fs-75);color:var(--muted);letter-spacing:0.08em}.services{display:grid;grid-template-columns:1fr;gap:0}.svc{display:grid;grid-template-columns:2fr 5fr 4fr;column-gap:var(--grid-gutter);padding:32px 0;border-bottom:1px solid var(--rule);align-items:start;transition:background 200ms ease,transform 200ms ease}.svc:hover{background:rgba(0,0,0,0.025);transform:translateX(4px)}.svc .num{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:6px}.svc h3{font-family:var(--serif);font-size:var(--fs-300);font-weight:400;line-height:1.1;letter-spacing:-0.005em}.svc p{color:var(--ink-2);font-size:var(--fs-100);line-height:1.55;max-width:65ch}@media(max-width:640px){.svc{grid-template-columns:2fr 9fr}.svc p{grid-column:2}}.process{display:grid;grid-template-columns:1fr;gap:0}.step{display:grid;grid-template-columns:2fr 9fr;column-gap:var(--grid-gutter);padding:40px 0;border-top:1px solid var(--rule)}.step:last-child{border-bottom:1px solid var(--rule)}.step .n{font-family:var(--serif);font-size:var(--fs-500);line-height:1;color:var(--accent)}.step h3{font-family:var(--serif);font-size:var(--fs-300);font-weight:400;margin-bottom:8px;letter-spacing:-0.005em}.step p{color:var(--ink-2);font-size:var(--fs-100);max-width:60ch}.step .when{font-family:var(--mono);font-size:var(--fs-75);letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-top:8px}.about{display:grid;grid-template-columns:1fr;gap:48px;align-items:start}@media(min-width:900px){.about{grid-template-columns:5fr 4fr;column-gap:var(--grid-gutter)}}.about-text p{font-size:var(--fs-200);line-height:1.65;color:var(--ink-2);margin-bottom:1em;max-width:54ch}.about-text p:first-of-type{font-family:var(--serif);font-size:clamp(26px,2.4vw,32px);color:var(--ink);line-height:1.3}.about-text p:first-of-type::first-letter{font-family:var(--serif);float:left;font-size:calc(var(--fs-100) * 1.5 * 3);line-height:.85;margin:0.05em 0.08em 0 -0.05em;color:var(--accent)}.stack{border:1px solid var(--rule);padding:32px;background:var(--bg-2)}.stack h4{font-family:var(--mono);font-size:var(--fs-75);letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.stack ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.stack li{font-family:var(--mono);font-size:12.5px;padding:6px 10px;background:var(--bg);border:1px solid var(--rule);border-radius:4px}.stack-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid var(--rule);padding-top:16px}.stack-row dt{font-family:var(--mono);font-size:var(--fs-75);letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.stack-row dd{font-family:var(--serif);font-size:var(--fs-200);line-height:1.1}.cta-block{background:var(--ink)}.cta-block::before{content:"";display:block;height:3px;background:linear-gradient(90deg, var(--accent) 0%, color-mix(in oklab, var(--accent) 40%, transparent) 100%)}.cta-block{color:var(--bg);padding:0;margin:0;border-radius:0;position:relative;overflow:hidden}.cta-block .wrap{padding-top:clamp(80px,10vw,140px);padding-bottom:clamp(80px,10vw,140px)}.cta-block h2{font-family:var(--serif);font-weight:400;font-size:clamp(var(--fs-500),8vw,var(--fs-800));line-height:.95;letter-spacing:-0.02em}.cta-block h2 em{font-style:italic;color:var(--accent)}.cta-block .lede{color:var(--ink-on-dark-2);font-size:var(--fs-200);line-height:1.55;max-width:42ch;margin-top:24px}.cta-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:end}@media(min-width:900px){.cta-grid{grid-template-columns:repeat(12,1fr);column-gap:var(--grid-gutter)}.cta-grid>div:first-child{grid-column:3/span 5}.cta-actions{grid-column:8/span 4}}.cta-actions{display:flex;flex-direction:column;gap:16px}.cta-actions a{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;border:1px solid var(--bg-dark-3);background:var(--bg-dark-2);transition:background .25s,border-color .25s,transform .25s}.cta-actions a:hover{background:var(--bg-dark-hover);border-color:var(--accent);transform:translateX(4px)}.cta-actions a .label{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.cta-actions a .label b{font-weight:500;font-size:16px;line-height:1.25}.cta-actions a .label span{font-family:var(--mono);font-size:12px;color:var(--muted-on-dark);line-height:1.3}.cta-actions a .arrow{font-family:var(--serif);font-size:28px;color:var(--accent)}.cta-foot{margin-top:64px;display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--bg-dark-3);font-family:var(--mono);font-size:12px;color:var(--muted-on-dark);flex-wrap:wrap;gap:16px}@media(min-width:900px){.cta-booking{margin-left:calc(var(--marginalie) + var(--grid-gutter))}.cta-foot{padding-left:calc(var(--marginalie) + var(--grid-gutter))}}.booking{margin-top:56px;background:var(--bg-dark-2);border:1px solid var(--bg-dark-3);padding:clamp(32px,4vw,56px)}.booking h3{font-family:var(--serif);font-weight:400;font-size:clamp(var(--fs-300),3vw,var(--fs-400));line-height:1.1;margin-bottom:10px;color:var(--bg)}.booking .sub{color:var(--muted-on-dark);font-size:var(--fs-100);margin-bottom:32px;max-width:48ch}.booking .row2{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width: 700px){.booking .row2{grid-template-columns:1fr 1fr}}.booking label{display:block;font-family:var(--mono);font-size:var(--fs-75);letter-spacing:0.08em;text-transform:uppercase;color:var(--muted-on-dark);margin-bottom:8px}.booking input,.booking select,.booking textarea{width:100%;background:var(--bg-dark);color:var(--bg);border:1px solid var(--bg-dark-3);padding:16px;font:inherit;font-size:var(--fs-100);border-radius:0;transition:border-color .2s}.booking input:focus,.booking select:focus,.booking textarea:focus{outline:none;border-color:var(--accent)}.booking textarea{min-height:120px;resize:vertical;font-family:var(--sans)}.booking .field{margin-bottom:16px}.booking .submit{display:inline-flex;align-items:center;gap:12px;background:var(--accent);color:var(--bg);border:0;padding:16px 28px;font-size:15px;font-weight:500;cursor:pointer;margin-top:8px;transition:background .2s,transform .2s}.booking .submit:hover{background:var(--accent-hover);transform:translateX(2px)}.booking .submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.booking .ok{display:none;padding:24px;background:var(--bg-dark);border:1px solid var(--bg-dark-3);color:var(--ink-on-dark-2);font-size:15px}.booking .error-msg{display:none;padding:16px 24px;background:var(--error-bg);border:1px solid var(--error-rule);color:var(--error);font-size:14px;margin-top:12px}.booking.sent form{display:none}.booking.sent .ok{display:block}.booking.error .error-msg{display:block}footer.bottom{padding:64px 0 40px;background:var(--bg);border-top:1px solid var(--rule);font-family:var(--mono);font-size:12px;color:var(--muted)}footer.bottom a{display:block;margin-bottom:10px;transition:color .2s}footer.bottom a:hover{color:var(--ink)}.footer-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:48px;padding-bottom:48px}@media(max-width: 780px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}@media(max-width: 480px){.footer-grid{grid-template-columns:1fr}}.footer-col .eyebrow{margin-bottom:16px;color:var(--ink)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--rule);flex-wrap:wrap;gap:12px}.footer-bottom a{display:inline;margin-bottom:0}/* === PHASE 1: GRID-SYSTEM — ABWEICHUNG: kein SCSS, CSS-Klassen als Mixin-Ersatz === */
.sec-layout{display:grid;grid-template-columns:var(--marginalie) 1fr;column-gap:var(--grid-gutter);align-items:start}.sec-label{position:sticky;top:96px;align-self:start;font-family:var(--mono);font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);background:var(--section-bg,var(--bg))}@media(max-width:780px){.sec-layout{display:block}.sec-label{position:static;display:block;margin-bottom:16px}}main{position:relative}/* === PHASE 2: TYPOGRAFIE — ABWEICHUNG: .lbl Klasse als CSS-Only, kein HTML-Attribut — alle Labels direkt per Selektor harmonisiert === */.lbl{font-family:var(--mono);font-size:var(--fs-75);letter-spacing:0.08em;text-transform:uppercase;color:var(--muted)}.sec-inner-head h2 em,.about-heading em{font-style:italic;color:var(--accent)}/* === PHASE 0: DATENBASIS === */#prozess{background:var(--bg-2)}#prozess .sec-label{background:var(--bg-2)}.brand-sub{color:var(--muted)}.dim{color:var(--muted)}.eyebrow--stack{margin-bottom:var(--s-5);color:var(--ink)}.eyebrow--dark{color:var(--muted-on-dark);margin-bottom:32px}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.label-opt{text-transform:none;letter-spacing:0;color:var(--muted-on-dark)}.submit-arrow{font-family:var(--serif);font-size:var(--fs-200);line-height:1}.ok strong{color:var(--bg);font-weight:500}.eyebrow--hero{margin-bottom:var(--s-6)}.lede{font-size:var(--fs-100);line-height:1.5;color:var(--ink-2);max-width:60ch}.lede--large{font-size:clamp(var(--fs-200),1.5vw,24px);line-height:1.4}
