.contact-public-page { background:#07090c; }
.contact-page { --contact-max:78rem; min-height:100vh; position:relative; overflow:hidden; color:#f2eee8; background:linear-gradient(180deg,#07090c 0,#0a0d11 50%,#07090c 100%); }
.contact-page::before { content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.34; background-image:radial-gradient(circle at 15% 20%,rgba(255,255,255,.04) 0 1px,transparent 1px),radial-gradient(circle at 80% 60%,rgba(255,255,255,.025) 0 1px,transparent 1px); background-size:14px 14px,19px 19px; mix-blend-mode:soft-light; }
.contact-progress { position:fixed; inset:0 auto auto 0; z-index:80; width:100%; height:2px; transform:scaleX(0); transform-origin:left center; will-change:transform; contain:strict; background:linear-gradient(90deg,var(--accent),#f1d3a7); box-shadow:0 0 18px color-mix(in srgb,var(--accent) 70%,transparent); }
.contact-topbar { position:fixed; inset:0 0 auto; z-index:70; height:5rem; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 clamp(1.2rem,4vw,4rem); border-bottom:1px solid transparent; transition:background .35s,border-color .35s; }
.contact-topbar.is-scrolled { border-color:rgba(255,255,255,.08); background:rgba(7,9,12,.78); backdrop-filter:blur(20px); }
.contact-back,.contact-wordmark { text-decoration:none; }
.contact-back { justify-self:start; display:flex; gap:.65rem; align-items:center; color:#d5cec5; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; }
.contact-back span:first-child { color:var(--accent); font-size:1rem; }
.contact-wordmark { justify-self:center; color:#e3c18f; font-family:Georgia,"Times New Roman",serif; letter-spacing:.32em; margin-left:.32em; font-size:.9rem; }
.contact-area-name { justify-self:end; color:#aaa49b; font-size:.67rem; letter-spacing:.22em; text-transform:uppercase; }
.contact-hero { min-height:100svh; position:relative; z-index:1; display:grid; align-items:center; isolation:isolate; padding:8rem clamp(1.3rem,7vw,8rem) 5rem; }
.contact-hero-image,.contact-hero-shade { position:absolute; inset:0; z-index:-3; }
.contact-hero-image { background-image:var(--contact-image),linear-gradient(135deg,#29251f,#0a0c10 65%); background-size:cover; background-position:center; filter:saturate(.72) contrast(1.05); transform:scale(1.02); }
.contact-hero-shade { z-index:-2; background:linear-gradient(90deg,rgba(5,7,10,.98) 0,rgba(5,7,10,.86) 37%,rgba(5,7,10,.25) 78%,rgba(5,7,10,.55) 100%),linear-gradient(180deg,rgba(5,7,10,.25),rgba(5,7,10,.08) 50%,#080a0d 100%); }
.contact-orbit { position:absolute; z-index:-1; right:clamp(-13rem,-6vw,-3rem); top:50%; width:min(48vw,46rem); aspect-ratio:1; transform:translateY(-50%); opacity:.4; }
.contact-orbit i { position:absolute; inset:0; border:1px solid color-mix(in srgb,var(--accent) 30%,transparent); border-radius:50%; }
.contact-orbit i:nth-child(2){inset:15%;border-style:dashed;animation:contact-spin 36s linear infinite}.contact-orbit i:nth-child(3){inset:34%;box-shadow:0 0 70px color-mix(in srgb,var(--accent) 18%,transparent)}
@keyframes contact-spin { to{transform:rotate(360deg)} }
.contact-hero-content { width:min(49rem,100%); display:grid; gap:1.2rem; }
.contact-eyebrow { color:var(--accent); font-size:.7rem; letter-spacing:.34em; text-transform:uppercase; }
.contact-hero h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(4rem,11vw,9rem); font-weight:400; line-height:.88; letter-spacing:-.045em; text-shadow:0 18px 60px rgba(0,0,0,.4); }
.contact-hero-lead { max-width:43rem; margin:0; color:#e0d9cf; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.35rem,2.7vw,2.15rem); line-height:1.35; }
.contact-hero-intro { max-width:43rem; margin:.3rem 0 0; color:#aaa49c; line-height:1.8; font-size:clamp(.95rem,1.3vw,1.08rem); }
.contact-hero-action { width:max-content; margin-top:1rem; display:inline-flex; align-items:center; gap:1rem; padding:1rem 1.2rem; border:1px solid color-mix(in srgb,var(--accent) 55%,rgba(255,255,255,.15)); text-decoration:none; color:#f0e3d1; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; background:rgba(10,12,15,.45); backdrop-filter:blur(12px); transition:background .25s,transform .25s; }
.contact-hero-action:hover { transform:translateY(-2px); background:color-mix(in srgb,var(--accent) 14%,rgba(10,12,15,.8)); }
.contact-availability { position:absolute; right:clamp(1.3rem,7vw,8rem); bottom:clamp(5.5rem,10vh,8rem); width:min(22rem,38vw); display:grid; gap:.7rem; padding:1.35rem 1.45rem; border:1px solid rgba(255,255,255,.11); border-left-color:var(--accent); background:rgba(8,10,13,.68); backdrop-filter:blur(18px); box-shadow:0 22px 65px rgba(0,0,0,.3); }
.contact-availability>span { display:flex; align-items:center; gap:.55rem; color:#bdb5aa; font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; }
.contact-availability>span i { width:.48rem; height:.48rem; border-radius:50%; background:var(--accent); box-shadow:0 0 14px var(--accent); }
.contact-availability strong { font-family:Georgia,"Times New Roman",serif; font-size:1.3rem; font-weight:400; line-height:1.25; }
.contact-availability p { margin:0; color:#aaa49c; line-height:1.65; font-size:.85rem; }
.contact-scroll-cue { position:absolute; left:50%; bottom:1.6rem; display:grid; justify-items:center; gap:.6rem; color:#a69c90; text-decoration:none; transform:translateX(-50%); }
.contact-scroll-cue span { font-size:.6rem; letter-spacing:.25em; text-transform:uppercase; }
.contact-scroll-cue i { width:1px; height:2.4rem; background:linear-gradient(var(--accent),transparent); }
.contact-content { position:relative; z-index:2; width:min(var(--contact-max),calc(100% - 2.6rem)); margin:0 auto; }
.contact-section { padding:clamp(5rem,10vw,9rem) 0; border-top:1px solid rgba(255,255,255,.08); }
.contact-section:first-child { border-top:0; }
.contact-section-heading { display:grid; grid-template-columns:3rem minmax(0,1fr); gap:1rem; align-items:start; margin-bottom:clamp(2rem,5vw,4rem); }
.contact-section-heading>span { padding-top:.65rem; color:var(--accent); font-size:.65rem; letter-spacing:.18em; }
.contact-section-heading h2 { max-width:52rem; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.25rem,5vw,4.7rem); font-weight:400; line-height:1.04; letter-spacing:-.025em; }
.contact-section-intro { max-width:46rem; margin:-2rem 0 clamp(2.4rem,5vw,4rem) 4rem; color:#aaa49c; line-height:1.8; }
.contact-overview-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr); gap:clamp(2rem,7vw,7rem); padding-left:4rem; }
.contact-prose { color:#bcb5ac; font-size:clamp(1rem,1.4vw,1.12rem); line-height:1.9; }
.contact-overview blockquote { align-self:start; margin:0; padding:1.5rem 0 1.5rem 1.5rem; border-left:1px solid var(--accent); color:#e4d9cc; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.35rem,2.3vw,2rem); line-height:1.45; }
.contact-topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-left:4rem; }
.contact-topic-card { min-height:18rem; display:grid; align-content:start; gap:1rem; padding:1.6rem; border:1px solid rgba(255,255,255,.09); background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); transition:border-color .3s,transform .3s,background .3s; }
.contact-topic-card:hover { transform:translateY(-4px); border-color:color-mix(in srgb,var(--accent) 48%,rgba(255,255,255,.1)); background:color-mix(in srgb,var(--accent) 7%,rgba(255,255,255,.018)); }
.contact-topic-card>span { color:var(--accent); font-size:.62rem; letter-spacing:.2em; }
.contact-topic-card h3 { margin:.5rem 0 0; font-family:Georgia,"Times New Roman",serif; font-size:1.45rem; font-weight:400; }
.contact-topic-card p { margin:0; color:#a9a39b; line-height:1.7; font-size:.9rem; }
.contact-channel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-left:4rem; }
.contact-channel-card { position:relative; min-height:10rem; display:grid; align-content:center; gap:.55rem; padding:1.5rem 4rem 1.5rem 1.5rem; border:1px solid rgba(255,255,255,.09); text-decoration:none; background:rgba(255,255,255,.018); transition:border-color .25s,background .25s; }
.contact-channel-card:not(.is-static):hover { border-color:color-mix(in srgb,var(--accent) 50%,rgba(255,255,255,.1)); background:color-mix(in srgb,var(--accent) 7%,rgba(255,255,255,.02)); }
.contact-channel-card small { color:#89857f; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; }
.contact-channel-card strong { overflow-wrap:anywhere; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.15rem,2vw,1.65rem); font-weight:400; }
.contact-channel-card i { position:absolute; right:1.4rem; top:50%; color:var(--accent); font-style:normal; transform:translateY(-50%); }
.contact-form-layout { display:grid; grid-template-columns:minmax(16rem,.7fr) minmax(0,1.3fr); gap:clamp(2rem,7vw,7rem); margin-left:4rem; }
.contact-form-intro>p { margin:0; color:#b5aea5; line-height:1.85; }
.contact-form-security { display:flex; gap:1rem; align-items:flex-start; margin-top:2rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.08); }
.contact-form-security>span { width:1.8rem; height:1.8rem; display:grid; place-items:center; flex:none; border:1px solid color-mix(in srgb,var(--accent) 60%,transparent); border-radius:50%; color:var(--accent); }
.contact-form-security>div { display:grid; gap:.35rem; }
.contact-form-security strong { font-size:.86rem; }
.contact-form-security small { color:#8f8a83; line-height:1.55; }
.contact-form-card { padding:clamp(1.25rem,3vw,2.2rem); border:1px solid rgba(255,255,255,.1); background:rgba(12,15,19,.78); box-shadow:0 26px 80px rgba(0,0,0,.24); }
.contact-form { display:grid; gap:1.2rem; }
.contact-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.contact-form label:not(.contact-consent):not(.contact-honeypot) { display:grid; gap:.55rem; color:#c7c0b7; font-size:.72rem; letter-spacing:.08em; }
.contact-form label>span[aria-hidden="true"] { color:var(--accent); }
.contact-form input,.contact-form textarea,.contact-form select { width:100%; border:1px solid rgba(255,255,255,.12); border-radius:0; outline:0; color:#f1ece5; background:#0a0d11; font:inherit; font-size:.92rem; transition:border-color .2s,box-shadow .2s; }
.contact-form input,.contact-form select { min-height:3.35rem; padding:0 .95rem; }
.contact-form textarea { min-height:13rem; resize:vertical; padding:.9rem .95rem; line-height:1.65; }
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus { border-color:color-mix(in srgb,var(--accent) 75%,white 8%); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
.contact-form input:disabled,.contact-form textarea:disabled,.contact-form select:disabled { opacity:.62; cursor:not-allowed; }
.contact-character-count { justify-self:end; margin-top:-.35rem; color:#77736d; font-size:.67rem; letter-spacing:.06em; }
.contact-consent { display:flex; align-items:flex-start; gap:.8rem; color:#a9a39b; font-size:.77rem; line-height:1.6; }
.contact-consent input { width:1.05rem; min-height:1.05rem; margin:.15rem 0 0; accent-color:var(--accent); flex:none; }
.contact-consent a { color:#dbc19f; }
.contact-submit { min-height:3.6rem; display:flex; align-items:center; justify-content:space-between; padding:0 1.2rem; border:1px solid color-mix(in srgb,var(--accent) 65%,transparent); color:#f4eadc; background:color-mix(in srgb,var(--accent) 15%,#0b0e12); font:inherit; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; cursor:pointer; transition:background .25s,transform .25s; }
.contact-submit:not(:disabled):hover { transform:translateY(-2px); background:color-mix(in srgb,var(--accent) 25%,#0b0e12); }
.contact-submit:disabled { opacity:.45; cursor:not-allowed; }
.contact-submit i { color:var(--accent); font-style:normal; font-size:1rem; }
.contact-form .contact-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-form-notice { display:grid; gap:.45rem; margin-bottom:1.2rem; padding:1rem 1.1rem; border:1px solid rgba(255,255,255,.12); }
.contact-form-notice strong { font-family:Georgia,"Times New Roman",serif; font-size:1.15rem; font-weight:400; }
.contact-form-notice p { margin:0; color:#aaa49c; line-height:1.6; font-size:.82rem; }
.contact-form-notice.is-success { border-color:rgba(117,190,147,.38); background:rgba(117,190,147,.07); }
.contact-form-notice.is-error { border-color:rgba(215,120,120,.38); background:rgba(215,120,120,.07); }
.contact-form-notice.is-preview { border-color:color-mix(in srgb,var(--accent) 42%,transparent); background:color-mix(in srgb,var(--accent) 7%,transparent); }
.contact-faq-list { display:grid; margin-left:4rem; border-top:1px solid rgba(255,255,255,.1); }
.contact-faq details { border-bottom:1px solid rgba(255,255,255,.1); }
.contact-faq summary { min-height:5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; list-style:none; cursor:pointer; color:#ddd6cd; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.05rem,1.6vw,1.35rem); }
.contact-faq summary::-webkit-details-marker { display:none; }
.contact-faq summary span { color:var(--accent); font-family:Inter,sans-serif; transition:transform .25s; }
.contact-faq details[open] summary span { transform:rotate(45deg); }
.contact-faq details p { max-width:50rem; margin:-.4rem 0 1.5rem; color:#aaa49c; line-height:1.75; }
.contact-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-left:4rem; }
.contact-related-card { min-height:17rem; position:relative; overflow:hidden; display:flex; align-items:flex-end; border:1px solid rgba(255,255,255,.09); text-decoration:none; isolation:isolate; }
.contact-related-media { position:absolute; inset:0; z-index:-2; background-image:var(--related-image),linear-gradient(145deg,#222,#0b0d10); background-size:cover; background-position:center; filter:saturate(.65); transition:transform .55s,filter .55s; }
.contact-related-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 20%,rgba(5,7,9,.95)); }
.contact-related-card>span:last-child { width:100%; display:grid; gap:.45rem; padding:1.3rem; }
.contact-related-card strong { font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; font-weight:400; }
.contact-related-card small { color:#aaa49c; line-height:1.45; }
.contact-related-card i { color:var(--related-accent); font-style:normal; }
.contact-related-card:hover .contact-related-media { transform:scale(1.05); filter:saturate(.9); }
.contact-footer { width:min(var(--contact-max),calc(100% - 2.6rem)); margin:0 auto; display:flex; justify-content:space-between; gap:1rem; padding:2rem 0 max(2rem,env(safe-area-inset-bottom)); border-top:1px solid rgba(255,255,255,.08); color:#77736d; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; }
.contact-footer a { color:#c8a575; text-decoration:none; font-family:Georgia,"Times New Roman",serif; letter-spacing:.24em; }
.reveal-ready .contact-page [data-reveal] { opacity:0; transform:translateY(1.6rem); transition:opacity .8s cubic-bezier(.22,.8,.2,1),transform .8s cubic-bezier(.22,.8,.2,1); }
.reveal-ready .contact-page [data-reveal].is-visible { opacity:1; transform:none; }
.preview-bar+.contact-page .contact-topbar { top:3.2rem; }
@media(max-width:980px){
    .contact-topic-grid,.contact-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .contact-form-layout{grid-template-columns:1fr;gap:2.5rem}
    .contact-availability{width:min(25rem,46vw)}
}
@media(max-width:760px){
    .contact-topbar{height:4.2rem;padding:0 1rem;grid-template-columns:1fr auto}.contact-area-name{display:none}.contact-wordmark{justify-self:end;font-size:.78rem}.contact-back span:last-child{display:none}
    .contact-hero{min-height:92svh;padding:7rem 1.25rem 5rem;align-items:end}.contact-hero-shade{background:linear-gradient(180deg,rgba(5,7,10,.45),rgba(5,7,10,.75) 48%,#080a0d 100%)}.contact-orbit{display:none}.contact-hero h1{font-size:clamp(3.8rem,20vw,6rem)}
    .contact-scroll-cue{display:none}
    .contact-content{width:min(100% - 2rem,var(--contact-max))}.contact-section{padding:4.5rem 0}.contact-section-heading{grid-template-columns:2.2rem 1fr;margin-bottom:2rem}.contact-section-intro,.contact-overview-grid,.contact-topic-grid,.contact-channel-grid,.contact-form-layout,.contact-faq-list,.contact-related-grid{margin-left:0}
    .contact-overview-grid{grid-template-columns:1fr;gap:2rem}.contact-topic-grid,.contact-channel-grid,.contact-related-grid{grid-template-columns:1fr}.contact-topic-card{min-height:0}.contact-form-grid{grid-template-columns:1fr}.contact-form-card{padding:1rem}.contact-footer{width:calc(100% - 2rem);flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
    .contact-orbit i:nth-child(2){animation:none}.reveal-ready .contact-page [data-reveal]{opacity:1;transform:none;transition:none}.contact-related-media,.contact-topbar,.contact-submit,.contact-topic-card{transition:none}
}

.contact-channel-links{display:contents}

/* v0.10.1: Ziel für den Rechtliches-Link der Startseite */
.contact-consent { scroll-margin-top: 7rem; }

.contact-privacy-summary { margin:1rem 0 .25rem; padding:1rem 1.05rem; border:1px solid rgba(255,255,255,.09); border-radius:.7rem; background:rgba(255,255,255,.025); }
.contact-privacy-summary strong { display:block; margin-bottom:.4rem; color:#e7ded3; font-size:.88rem; }
.contact-privacy-summary p { margin:0; color:#9fa7b0; font-size:.78rem; line-height:1.6; }
