html{scroll-behavior:auto;}
html,body{overflow-x:hidden;height:auto;min-height:100%;}

/* ===== base ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --black: #0a0a0a;
  --white: #ffffff;
  --mid: #6b6b6b;
  --line: rgba(10,10,10,0.12);
  --accent: #000000;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Inter', system-ui, sans-serif;
}

html { scroll-behavior: auto; }

body {
  background: var(--white);
  color: var(--black);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ── NAV ── */
nav
nav.fx-nav.scrolled { box-shadow: 0 2px 20px rgba(0,0,0,0.06); }
.nav-logo {
  font-family: var(--serif); font-size: 1.1rem; font-weight: 400;
  letter-spacing: 0.08em; text-transform: uppercase;
  text-decoration: none; color: var(--black);
}

.nav-cta {
  font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase;
  text-decoration: none; color: var(--white); background: var(--black);
  padding: 0.6rem 1.4rem; transition: background 0.2s;
}
.nav-cta:hover { background: #333; }

/* ── PAGE HERO ── */
.page-hero {
  padding-top: 72px;
  border-bottom: 1px solid var(--line);
}
.page-hero-inner {
  padding: 5rem 3rem 4rem;
  max-width: 860px;
}
.page-eyebrow {
  font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--mid); margin-bottom: 1.5rem;
}
.page-title {
  font-family: var(--serif);
  font-size: clamp(3rem, 6vw, 5rem);
  font-weight: 300; line-height: 1.05; margin-bottom: 2rem;
}
.page-title em { font-style: italic; color: #000; }
.page-subtitle {
  font-size: 0.95rem; color: var(--mid); line-height: 1.85;
  max-width: 560px;
}

/* ── SHARED ── */
.section-eyebrow {
  font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--mid); margin-bottom: 1.5rem;
}
.section-title {
  font-family: var(--serif);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 300; line-height: 1.1; margin-bottom: 2rem;
}
.section-title em { font-style: italic; color: #000; }
.divider { width: 40px; height: 1px; background: #000; margin-bottom: 3rem; }

.btn-primary {
  display: inline-block; font-size: 0.72rem; font-weight: 400;
  letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none;
  color: var(--white); background: var(--black);
  padding: 1rem 2.5rem; border: 1px solid var(--black);
  transition: background 0.25s, border-color 0.25s;
}
.btn-primary:hover { background: #333; border-color: #333; }
.btn-ghost {
  display: inline-block; font-size: 0.72rem; font-weight: 400;
  letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none;
  color: var(--black); background: transparent;
  padding: 1rem 2.5rem; border: 1px solid var(--black);
  transition: background 0.25s, color 0.25s;
}
.btn-ghost:hover { background: var(--black); color: var(--white); }

/* ── CTA BAND ── */
.cta-band {
  background: var(--black); color: var(--white);
  text-align: center; padding: 6rem 3rem;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.cta-band .section-eyebrow { color: rgba(255,255,255,0.4); }
.cta-title {
  font-family: var(--serif);
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 300; line-height: 1.1; margin-bottom: 2rem;
}
.cta-title em { font-style: italic; color: #ccc; }
.cta-sub {
  font-size: 0.88rem; color: rgba(255,255,255,0.5);
  max-width: 480px; margin: 0 auto 3rem; line-height: 1.8;
}
.cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.btn-white {
  display: inline-block; font-size: 0.72rem; font-weight: 400;
  letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none;
  color: var(--black); background: var(--white);
  padding: 1rem 2.5rem; border: 1px solid var(--white);
  transition: background 0.25s, color 0.25s, border-color 0.25s;
}
.btn-white:hover { background: #333; color: #fff; border-color: #333; }
.btn-outline-white {
  display: inline-block; font-size: 0.72rem; font-weight: 400;
  letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none;
  color: var(--white); background: transparent;
  padding: 1rem 2.5rem; border: 1px solid rgba(255,255,255,0.3);
  transition: border-color 0.25s;
}
.btn-outline-white:hover { border-color: var(--white); }

/* ── FOOTER ── */
footer {
  background: var(--black); color: rgba(255,255,255,0.5);
  border-top: 1px solid rgba(255,255,255,0.08);
}
.footer-top {
  display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 3rem; padding: 4rem 3rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.footer-brand-name {
  font-family: var(--serif); font-size: 1.2rem; font-weight: 300;
  color: var(--white); letter-spacing: 0.06em; text-transform: uppercase;
  margin-bottom: 1rem;
}
.footer-tagline {
  font-size: 0.8rem; color: rgba(255,255,255,0.4); line-height: 1.7; margin-bottom: 1.5rem;
}
.footer-social a {
  font-size: 0.65rem; letter-spacing: 0.14em; text-transform: uppercase;
  text-decoration: none; color: rgba(255,255,255,0.5); transition: color 0.2s;
}
.footer-social a:hover { color: #fff; }
.footer-col-title {
  font-size: 0.65rem; letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(255,255,255,0.3); margin-bottom: 1.5rem;
}
.footer-links { list-style: none; display: flex; flex-direction: column; gap: 0.75rem; }
.footer-links a {
  font-size: 0.82rem; text-decoration: none;
  color: rgba(255,255,255,0.5); transition: color 0.2s;
}
.footer-links a:hover { color: var(--white); }
.footer-bottom {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.5rem 3rem;
}
.footer-copy { font-size: 0.72rem; color: rgba(255,255,255,0.25); }
.footer-legal { display: flex; gap: 2rem; }
.footer-legal a {
  font-size: 0.72rem; text-decoration: none;
  color: rgba(255,255,255,0.25); transition: color 0.2s;
}
.footer-legal a:hover { color: rgba(255,255,255,0.6); }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  nav { padding: 1rem 1.5rem; }
  
  
  .page-hero-inner { padding: 3rem 1.5rem; }
  .cta-band { padding: 4rem 1.5rem; }
  footer .footer-top { grid-template-columns: 1fr; padding: 3rem 1.5rem; gap: 2rem; }
  .footer-bottom { flex-direction: column; gap: 1rem; padding: 1.5rem; text-align: center; }
  .footer-legal { flex-wrap: wrap; justify-content: center; gap: 1rem; }
}

/* ===== style-index ===== */
/* ═══ HERO ═══ */
.fx-hero { position:relative; height:100vh; min-height:640px; overflow:hidden; background:#0a0a0a; }
.fx-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.68;  }
.fx-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.3) 55%, rgba(0,0,0,0.45) 100%); }


@keyframes heroLogo { from { opacity:0; transform:scale(1.08); } to { opacity:0.96; transform:none; } }
.fx-hero-content { position:absolute; left:3rem; right:3rem; bottom:3rem; z-index:3; }
.hero-main { max-width:720px; }
.fx-hero h1 { font-family:var(--serif); font-size:clamp(2.4rem,5.5vw,4.6rem); font-weight:300; color:#fff; line-height:1.02; margin-bottom:1.25rem; }
.fx-hero h1 em { font-style:italic; }
.hero-sub { font-size:clamp(0.92rem,1.3vw,1.05rem); color:rgba(255,255,255,0.88); line-height:1.65; max-width:520px; margin-bottom:1.75rem; }
.hero-actions { display:flex; gap:1.25rem; align-items:center; flex-wrap:wrap; }
.fx-hero-cta { display:inline-block; font-size:0.74rem; letter-spacing:0.16em; text-transform:uppercase; color:#000; background:#fff; padding:1.1rem 2.4rem; text-decoration:none; transition:background .3s, transform .3s; }
.fx-hero-cta:hover { background:#ddd; transform:translateY(-2px); }
.fx-hero-alt { font-size:0.74rem; letter-spacing:0.16em; text-transform:uppercase; color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.5); padding-bottom:3px; }
.fx-hero-alt:hover { border-bottom-color:#fff; }
.hero-proof { display:flex; flex-wrap:wrap; gap:2rem; margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,0.22); }
.hero-proof span { font-size:0.74rem; letter-spacing:0.1em; color:rgba(255,255,255,0.82); }

/* ═══ PROBLEM → SOLUTION ═══ */
.fx-ps { padding:6rem 3rem; border-top:1px solid var(--line); }
.fx-ps .kicker { font-size:0.68rem; letter-spacing:0.24em; text-transform:uppercase; color:#555; margin-bottom:1.25rem; }
.fx-ps h2 { font-family:var(--serif); font-size:clamp(1.9rem,4vw,3rem); font-weight:300; line-height:1.15; }
.ps-map { margin-top:3rem; border-top:1px solid var(--line); }
.ps-row { display:grid; grid-template-columns:1fr 1fr; gap:2rem; padding:1.4rem 0; border-bottom:1px solid var(--line); align-items:baseline; transition:background .3s; }
.ps-row:hover { background:#fafafa; }
.ps-p { font-family:var(--serif); font-style:italic; font-size:1.08rem; color:#666; line-height:1.5; }
.ps-a { font-size:0.94rem; color:#000; line-height:1.55; position:relative; padding-left:1.75rem; }
.ps-a::before { content:'→'; position:absolute; left:0; }

/* ═══ PILLARS (kompakter) ═══ */
.fx-pillar { display:grid; grid-template-columns:1.2fr 1fr; min-height:56vh; border-top:1px solid var(--line); }
.fx-pillar.flip { grid-template-columns:1fr 1.2fr; }
.fx-pillar-img { position:relative; overflow:hidden; background:#0d0d0d; }
.fx-pillar-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.16,1,.3,1); }
.fx-pillar:hover .fx-pillar-img img { transform:scale(1.025); }
.fx-pillar-txt { display:flex; flex-direction:column; justify-content:center; padding:3.5rem 3.5rem; position:relative; }
.fx-pillar.flip .fx-pillar-txt { order:-1; }
.fx-pillar-tag { font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:#777; margin-bottom:1.25rem; }
.fx-pillar-txt h3 { font-family:var(--serif); font-size:clamp(1.7rem,2.8vw,2.4rem); font-weight:300; line-height:1.15; margin-bottom:1rem; }
.fx-pillar-txt p.desc { font-size:0.92rem; color:var(--mid); line-height:1.75; max-width:400px; margin-bottom:1.75rem; }
.fx-pillar-txt .plink { font-size:0.7rem; letter-spacing:0.18em; text-transform:uppercase; text-decoration:none; color:#000; display:inline-flex; gap:0.6rem; align-self:flex-start; border-bottom:1px solid #000; padding-bottom:3px; }
.fx-pillar-txt .plink::after { content:'→'; transition:transform .3s; }
.fx-pillar-txt .plink:hover::after { transform:translateX(5px); }

/* ═══ PICK & CHOOSE ═══ */
.fx-pick { padding:5rem 3rem; border-top:1px solid var(--line); background:#f4f4f4; text-align:center; }
.pick-lead { font-family:var(--serif); font-size:clamp(1.3rem,2.6vw,2rem); font-weight:300; line-height:1.35; max-width:720px; margin:0 auto 2.5rem; }
.pick-tags { display:flex; flex-wrap:wrap; gap:0.6rem; justify-content:center; max-width:900px; margin:0 auto; }
.pick-tags span { font-size:0.78rem; letter-spacing:0.04em; padding:0.6rem 1.1rem; border:1px solid rgba(0,0,0,0.2); border-radius:100px; color:#333; transition:background .3s, color .3s, border-color .3s; }
.pick-tags span:hover { background:#000; color:#fff; border-color:#000; }

/* ═══ PROCESS ═══ */
.fx-proc { padding:5.5rem 3rem; border-top:1px solid var(--line); }
.fx-proc .kicker { font-size:0.68rem; letter-spacing:0.24em; text-transform:uppercase; color:#555; margin-bottom:1.25rem; }
.fx-proc h2 { font-family:var(--serif); font-size:clamp(1.9rem,4vw,3rem); font-weight:300; line-height:1.15; }
.fx-proc-row { display:grid; grid-template-columns:repeat(4,1fr); margin-top:2.5rem; border-left:1px solid var(--line); }
.fx-proc-row > div { border-right:1px solid var(--line); padding:0 1.5rem; }
.fx-proc-row .pn { font-family:var(--serif); font-size:1.15rem; color:#666; margin-bottom:0.75rem; }
.fx-proc-row .pt { font-size:0.95rem; line-height:1.4; margin-bottom:0.5rem; }
.fx-proc-row .pd { font-size:0.84rem; color:var(--mid); line-height:1.6; }
.fx-proc-link { margin-top:2.5rem; display:inline-block; font-size:0.7rem; letter-spacing:0.18em; text-transform:uppercase; text-decoration:none; color:#000; border-bottom:1px solid #000; padding-bottom:3px; }

/* ═══ FAQ ═══ */
.fx-faq-section { padding:5.5rem 3rem; border-top:1px solid var(--line); }
.fx-faq-section .kicker { font-size:0.68rem; letter-spacing:0.24em; text-transform:uppercase; color:#555; margin-bottom:1.25rem; }
.fx-faq-section h2 { font-family:var(--serif); font-size:clamp(1.9rem,4vw,3rem); font-weight:300; line-height:1.15; margin-bottom:2.5rem; }
.faq-list { border-top:1px solid var(--line); max-width:880px; }
.faq-item { border-bottom:1px solid var(--line); cursor:pointer; }
.faq-q { display:flex; justify-content:space-between; align-items:center; padding:1.5rem 0; font-size:1rem; gap:2rem; }
.faq-q span { font-size:1.2rem; transition:transform .4s cubic-bezier(.16,1,.3,1); }
.faq-item.open .faq-q span { transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; font-size:0.9rem; color:var(--mid); line-height:1.8; transition:max-height .5s cubic-bezier(.16,1,.3,1), padding .4s; padding-bottom:0; max-width:700px; }
.faq-item.open .faq-a { max-height:300px; padding-bottom:1.5rem; }


@media (max-width:900px) {
  .fx-hero-content { left:1.5rem; right:1.5rem; bottom:2rem; }
  
  .hero-proof { gap:1rem 1.5rem; margin-top:1.75rem; padding-top:1.25rem; }
  .hero-proof span { font-size:0.7rem; }
  .fx-ps, .fx-proc, .fx-faq-section, .fx-pick { padding:4rem 1.5rem; }
  .ps-row { grid-template-columns:1fr; gap:0.5rem; }
  .fx-pillar, .fx-pillar.flip { grid-template-columns:1fr; min-height:0; }
  .fx-pillar-img { aspect-ratio:4/3; }
  .fx-pillar.flip .fx-pillar-txt { order:0; }
  .fx-pillar-txt { padding:2.5rem 1.5rem; }
  .fx-proc-row { grid-template-columns:1fr 1fr; border-left:none; border-top:1px solid var(--line); }
  .fx-proc-row > div { padding:1.25rem 1rem 1.25rem 0; }
  .fx-final { padding:5rem 1.5rem; }
}
@media (max-width:520px) { .fx-proc-row { grid-template-columns:1fr; } }

/* ===== style-about ===== */
.who-hero { position:relative; min-height:78vh; display:flex; align-items:flex-end; overflow:hidden; background:#0a0a0a; }
.who-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.85; }
.who-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.1) 55%); }
.who-hero-in { position:relative; z-index:2; padding:0 3rem 3.5rem; width:100%; }
.who-hero .idx { font-size:0.68rem; letter-spacing:0.26em; text-transform:uppercase; color:rgba(255,255,255,0.8); margin-bottom:1.25rem; }
.who-hero h1 { font-family:var(--serif); font-size:clamp(2.2rem,5.5vw,4.4rem); font-weight:300; color:#fff; line-height:1.05; }
.who-hero h1 em { font-style:italic; }
.who-intro { padding:4.5rem 3rem 3rem; max-width:820px; }
.who-intro p { font-family:var(--serif); font-size:clamp(1.2rem,2.4vw,1.8rem); font-weight:300; line-height:1.45; }
.who-roles { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.who-role { background:#fff; padding:3rem 2rem 3.5rem; }
.wr-name { font-family:var(--serif); font-size:2rem; font-weight:300; margin-bottom:0.4rem; }
.wr-title { font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:#777; margin-bottom:1.5rem; }
.wr-text { font-size:0.88rem; color:var(--mid); line-height:1.8; margin-bottom:1.75rem; }
.wr-list { list-style:none; border-top:1px solid var(--line); padding-top:1.25rem; }
.wr-list li { font-size:0.83rem; color:#333; line-height:1.55; padding:0.4rem 0 0.4rem 1.1rem; position:relative; }
.wr-list li::before { content:'+'; position:absolute; left:0; color:#999; }
@media (max-width:900px) {
  .who-hero-in { padding:0 1.5rem 2.5rem; }
  .who-intro { padding:3rem 1.5rem 2rem; }
  .who-roles { grid-template-columns:1fr; }
  .who-role { padding:2.5rem 1.5rem 3rem; }
}

/* ===== style-services ===== */
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); cursor:pointer; }
.faq-q { display:flex; justify-content:space-between; align-items:center; padding:1.75rem 0; font-size:1rem; font-weight:400; gap:2rem; }
.faq-q span { font-size:1.2rem; transition:transform .4s cubic-bezier(.16,1,.3,1); }
.faq-item.open .faq-q span { transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; font-size:0.87rem; color:var(--mid); line-height:1.85; transition:max-height .5s cubic-bezier(.16,1,.3,1), padding .4s; padding-bottom:0; max-width:680px; }
.faq-item.open .faq-a { max-height:320px; padding-bottom:1.75rem; }

/* ===== style-blueprint ===== */


/* ===== style-content ===== */


/* ===== style-production ===== */


/* ===== style-work ===== */


/* ===== style-contact ===== */
.fx-contact { display:grid; grid-template-columns:1.4fr 1fr; gap:0; border-top:1px solid var(--line); }
.fx-form-col { padding:5rem 4rem; border-right:1px solid var(--line); }
.fx-field { margin-bottom:2.25rem; }
.fx-field label { display:block; font-size:0.64rem; letter-spacing:0.2em; text-transform:uppercase; color:#999; margin-bottom:0.75rem; }
.fx-field input, .fx-field select, .fx-field textarea {
  width:100%; border:none; border-bottom:1px solid var(--line); padding:0.85rem 0;
  font-family:'Inter',sans-serif; font-size:0.95rem; font-weight:300; background:transparent; color:#000;
  transition:border-color .3s; border-radius:0; -webkit-appearance:none;
}
.fx-field input:focus, .fx-field select:focus, .fx-field textarea:focus { outline:none; border-bottom-color:#000; }
.fx-field textarea { resize:vertical; line-height:1.7; }
.btn-submit { font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; color:#fff; background:#000; border:none; padding:1.15rem 2.75rem; cursor:pointer; transition:background .3s; }
.btn-submit:hover { background:#333; }
.btn-submit:disabled { background:#888; cursor:default; }
.form-note { font-size:0.72rem; color:#999; margin-top:1.25rem; }
.success-msg { display:none; margin-top:2rem; padding:1.5rem; background:#f5f5f5; border-left:2px solid #000; font-size:0.87rem; line-height:1.7; }
.success-msg.show { display:block; }
.fx-info-col { padding:5rem 3rem; }
.fx-info-block { margin-bottom:3rem; }
.fx-info-block .fh { font-size:0.62rem; letter-spacing:0.2em; text-transform:uppercase; color:#bbb; margin-bottom:1rem; }
.fx-info-block p, .fx-info-block a { font-size:0.88rem; color:var(--mid); line-height:1.9; text-decoration:none; display:block; }
.fx-info-block a { color:#000; border-bottom:1px solid var(--line); display:inline-block; margin-bottom:0.5rem; transition:border-color .3s; }
.fx-info-block a:hover { border-bottom-color:#000; }
.fx-info-block ul { list-style:none; }
.fx-info-block li { font-size:0.85rem; color:var(--mid); line-height:1.9; padding-left:1.1rem; position:relative; }
.fx-info-block li::before { content:'—'; position:absolute; left:0; color:#ccc; }
@media (max-width:900px) {
  .fx-contact { grid-template-columns:1fr; }
  .fx-form-col { padding:3rem 1.5rem; border-right:none; border-bottom:1px solid var(--line); }
  .fx-info-col { padding:3rem 1.5rem; }
}

/* ===== base ===== */

    

/* ===== fx-sub-css ===== */
/* ═══ FX SUBPAGE SYSTEM ═══ */
.fx-phero { position:relative; min-height:70vh; display:flex; align-items:flex-end; overflow:hidden; background:#0a0a0a; }
.fx-phero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.6; }
.fx-phero::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.15) 60%); }
.fx-phero-in { position:relative; z-index:2; padding:0 3rem 4rem; width:100%; }
.fx-phero .idx { font-size:0.68rem; letter-spacing:0.26em; text-transform:uppercase; color:rgba(255,255,255,0.8); margin-bottom:1.5rem; }
.fx-phero h1 { font-family:var(--serif); font-size:clamp(2.6rem, 7vw, 6rem); font-weight:300; color:#fff; line-height:1.02; }
.fx-phero h1 em { font-style:italic; }
.fx-phero .plead { font-size:0.95rem; color:rgba(255,255,255,0.88); max-width:520px; line-height:1.85; margin-top:1.75rem; }
/* light variant (no image) */
.fx-phero-light { min-height:auto; background:#fff; padding:11rem 3rem 5rem; border-bottom:1px solid var(--line); display:block; }
.fx-phero.fx-phero-light::after { content:none !important; display:none !important; background:none !important; }
.fx-phero-light .idx { color:#999; }
.fx-phero-light h1 { color:#000; }
.fx-phero-light .plead { color:var(--mid); }
.fx-phero-light .fx-phero-in { position:relative; z-index:3; }
/* Editorial block used across subpages */
.fx-block { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.fx-block.flip .fx-block-txt { order:-1; }
.fx-block-img { position:relative; overflow:hidden; background:#0d0d0d; min-height:60vh; }
.fx-block-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.16,1,.3,1); }
.fx-block:hover .fx-block-img img { transform:scale(1.04); }
.fx-block-txt { padding:5rem 4rem; display:flex; flex-direction:column; justify-content:center; }
.fx-block-txt h2 { font-family:var(--serif); font-size:clamp(1.7rem,3vw,2.5rem); font-weight:300; line-height:1.18; margin-bottom:1.5rem; }
.fx-block-txt p { font-size:0.9rem; color:var(--mid); line-height:1.85; max-width:440px; }
/* List rows */
.fx-rows { border-top:1px solid var(--line); }
.fx-row { display:grid; grid-template-columns:80px 1fr 1.3fr; gap:2rem; padding:2.75rem 3rem; border-bottom:1px solid var(--line); align-items:baseline; transition:background .35s; }
.fx-row:hover { background:#fafafa; }
.fx-row .rn { font-size:0.68rem; letter-spacing:0.2em; color:#777; }
.fx-row h3 { font-family:var(--serif); font-size:1.5rem; font-weight:400; line-height:1.25; }
.fx-row p { font-size:0.87rem; color:var(--mid); line-height:1.8; }
@media (max-width:900px) {
  .fx-phero-in { padding:0 1.5rem 3rem; }
  .fx-phero-light { padding:8rem 1.5rem 3.5rem; }
  .fx-block, .fx-block.flip { grid-template-columns:1fr; }
  .fx-block.flip .fx-block-txt { order:0; }
  .fx-block-img { min-height:0; aspect-ratio:4/3; }
  .fx-block-txt { padding:3rem 1.5rem; }
  .fx-row { grid-template-columns:1fr; gap:0.75rem; padding:2rem 1.5rem; }
}

/* ===== fx-logo-css ===== */
/* ═══ LOGO (einmal eingebettet) ═══ */
.logo-white { filter:invert(1); }
.logo-mark {
  display:block;
  background-image:url("data:image/png;base64,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");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  aspect-ratio:1/1;
}
.fx-nav .nav-logo { display:flex; align-items:center; line-height:0; text-decoration:none; }
.fx-nav .nav-logo .logo-mark { height:46px; width:46px; transition:opacity .3s; }
.fx-nav .nav-logo:hover .logo-mark { opacity:0.6; }
.fx-menu-top .mlogo { display:flex; align-items:center; line-height:0; text-decoration:none; }
.fx-menu-top .mlogo .logo-mark { height:46px; width:46px; filter:invert(1); transition:opacity .3s; }
.fx-menu-top .mlogo:hover .logo-mark { opacity:0.7; }
.fx-footer .flogo { display:flex; justify-content:flex-start; margin-bottom:3.5rem; }
.fx-footer .flogo .logo-mark { height:128px; width:128px; filter:invert(1); }
@media (max-width:760px) {
  .fx-nav .nav-logo .logo-mark { height:38px; width:38px; }
  .fx-menu-top .mlogo .logo-mark { height:38px; width:38px; }
  .fx-footer .flogo .logo-mark { height:92px; width:92px; }
}

/* ===== fx-final-css ===== */
/* ═══ FINAL CTA (alle Seiten) ═══ */
.fx-final { padding:7rem 3rem; text-align:center; background:#0a0a0a; }
.fx-final h2 { font-family:var(--serif); font-size:clamp(2.2rem,5vw,3.8rem); font-weight:300; color:#fff; line-height:1.12; margin-bottom:1.75rem; }
.fx-final h2 em { font-style:italic; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,0.75); }
.final-text { font-size:0.98rem; color:#bbb; max-width:580px; margin:0 auto 2.5rem; line-height:1.8; }
.final-cta { display:inline-block; font-size:0.76rem; letter-spacing:0.16em; text-transform:uppercase; text-decoration:none; color:#000; background:#fff; padding:1.3rem 3rem; transition:background .3s, transform .3s; }
.final-cta:hover { background:#ccc; transform:translateY(-2px); }
.final-note { margin-top:1.5rem; font-size:0.8rem; color:#999; }
.final-alt { margin-top:0.75rem; font-size:0.85rem; color:#999; }
.final-alt a { color:#fff; text-decoration:none; border-bottom:1px solid #555; }
@media (max-width:900px) { .fx-final { padding:5rem 1.5rem; } }

/* ===== fx-scroll-fix ===== */
html{scroll-behavior:auto!important;}html,body{overflow-x:hidden;overflow-y:auto;height:auto;min-height:100%;}

/* ===== fx-global-css ===== */
/* ═══ SHARED COMPONENTS (all pages) ═══ */
/* Black statement */
.fx-black { background:#0a0a0a; padding:10rem 3rem; text-align:center; }
.fx-black .kicker { font-size:0.68rem; letter-spacing:0.26em; text-transform:uppercase; color:#8a8a8a; margin-bottom:2.5rem; }
.fx-black h2 { font-family:var(--serif); font-size:clamp(2.4rem, 6vw, 5rem); font-weight:300; color:#fff; line-height:1.12; }
.fx-black h2 em { font-style:italic; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,0.7); }
.fx-black p.sub { font-size:0.88rem; color:#777; max-width:460px; margin:2.5rem auto 3.5rem; line-height:1.85; }
.fx-black .btn-w { display:inline-block; font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; text-decoration:none; color:#000; background:#fff; padding:1.1rem 2.6rem; transition:background .3s; }
.fx-black .btn-w:hover { background:#ccc; }


/* Mega CTA */
.fx-cta { padding:10rem 3rem 8rem; text-align:center; border-top:1px solid var(--line); }
.fx-cta .kicker { font-size:0.64rem; letter-spacing:0.26em; text-transform:uppercase; color:#555; margin-bottom:2rem; }
.fx-cta a.big { font-family:var(--serif); font-size:clamp(3rem, 9vw, 7.5rem); font-weight:300; color:#000; text-decoration:none; line-height:1; display:inline-block; position:relative; }
.fx-cta a.big::after { content:''; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:#000; transform:scaleX(0); transform-origin:left; transition:transform .6s cubic-bezier(.16,1,.3,1); }
.fx-cta a.big:hover::after { transform:scaleX(1); }
.fx-cta p.small { margin-top:2.5rem; font-size:0.8rem; color:var(--mid); }
.fx-cta p.small a { color:#000; }


/* Footer big */
.fx-footer { background:#0a0a0a; padding:5rem 3rem 2.5rem; }

.fx-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:3.5rem; border-bottom:1px solid rgba(255,255,255,0.1); }
.fx-footer-grid p, .fx-footer-grid a { font-size:0.8rem; color:#b0b0b0; text-decoration:none; line-height:2.1; display:block; }
.fx-footer-grid a:hover { color:#fff; }
.fx-footer-grid .fh { font-size:0.66rem; letter-spacing:0.2em; text-transform:uppercase; color:#8a8a8a; margin-bottom:0.75rem; }
.fx-footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:2rem; flex-wrap:wrap; gap:1rem; }
.fx-footer-bottom p, .fx-footer-bottom a { font-size:0.66rem; color:#555; text-decoration:none; }
.fx-footer-bottom a:hover { color:#fff; }



/* Blank image slots (awaiting visuals) */
.img-slot { background:#101010; display:block; }

@media (max-width:900px) {
  .fx-black { padding:7rem 1.5rem; }
  .fx-cta { padding:7rem 1.5rem 5rem; }
  .fx-footer { padding:4rem 1.5rem 2rem; }
  .fx-footer-grid { grid-template-columns:1fr 1fr; }
}


/* ═══ FX NAV SYSTEM ═══ */
.fx-nav {
  position: fixed !important; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.4rem 3rem;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,0.08);
  transition: box-shadow .3s, padding .3s, background .3s;
}
.fx-nav.scrolled { box-shadow:0 2px 24px rgba(0,0,0,0.09); padding:0.9rem 3rem; background:#fff; }
/* spa-page darf keinen Bezugsrahmen bilden, sonst scrollt die Nav weg */


.fx-nav .nav-logo { text-decoration:none; color:#000; }
.fx-nav-right { display:flex; align-items:center; gap:2.25rem; }
.fx-nav .nav-cta { font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase; text-decoration:none; color:#fff; background:#000; padding:0.75rem 1.6rem; transition:background .3s; }
.fx-nav .nav-cta:hover { background:#333; }
.fx-menu-btn { display:flex; align-items:center; gap:0.7rem; background:none; border:none; cursor:pointer; font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:#000; padding:0.5rem 0; }
.fx-menu-btn .bars { display:flex; flex-direction:column; gap:5px; }
.fx-menu-btn .bars span { display:block; width:26px; height:1px; background:#000; transition:transform .4s cubic-bezier(.16,1,.3,1), opacity .3s; }
/* Overlay */
#fx-menu { position:fixed; inset:0; z-index:2000; background:#0a0a0a; display:grid; grid-template-rows:auto 1fr auto; opacity:0; pointer-events:none; transition:opacity .4s cubic-bezier(.16,1,.3,1); }
#fx-menu.open { opacity:1; pointer-events:auto; }
/* Top bar mirrors site nav */
.fx-menu-top { position:static; background:none; z-index:auto; display:flex; align-items:center; justify-content:space-between; padding:1.4rem 3rem; border-bottom:1px solid rgba(255,255,255,0.1); }
.fx-menu-top .mlogo { text-decoration:none; }
.fx-close { display:flex; align-items:center; gap:0.7rem; background:none; border:none; cursor:pointer; font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:#fff; padding:0.5rem 0; font-family:'Inter',sans-serif; }
.fx-close .x { display:block; width:26px; height:26px; position:relative; }
.fx-close .x::before, .fx-close .x::after { content:''; position:absolute; top:50%; left:0; width:26px; height:1px; background:#fff; transition:transform .4s cubic-bezier(.16,1,.3,1); }
.fx-close .x::before { transform:rotate(45deg); }
.fx-close .x::after { transform:rotate(-45deg); }
.fx-close:hover .x::before { transform:rotate(135deg); }
.fx-close:hover .x::after { transform:rotate(45deg); }
/* Nav list — numbers in a fixed column */
#fx-menu nav {
  position:static; display:block; align-self:center;
  padding:2rem 3rem; margin:0; background:none; border:none;
  box-shadow:none;  z-index:auto; width:100%;
}
#fx-menu nav a {
  display:grid; grid-template-columns:4.5rem 1fr auto; align-items:center; gap:1rem;
  padding:1.1rem 0; border-bottom:1px solid rgba(255,255,255,0.08);
  text-decoration:none; color:#fff;
  transform:translateY(18px); opacity:0;
  transition:transform .55s cubic-bezier(.16,1,.3,1), opacity .55s cubic-bezier(.16,1,.3,1), padding-left .35s, background .35s;
}
#fx-menu.open nav a { transform:none; opacity:1; }
#fx-menu nav a:nth-child(1){transition-delay:.06s} #fx-menu nav a:nth-child(2){transition-delay:.11s} #fx-menu nav a:nth-child(3){transition-delay:.16s} #fx-menu nav a:nth-child(4){transition-delay:.21s} #fx-menu nav a:nth-child(5){transition-delay:.26s}
#fx-menu nav a .idx { font-family:'Inter',sans-serif; font-size:0.66rem; letter-spacing:0.18em; color:#5a5a5a; font-variant-numeric:tabular-nums; transition:color .3s; }
#fx-menu nav a .lbl { font-family:var(--serif); font-size:clamp(2.1rem, 5.5vw, 4rem); font-weight:300; line-height:1.05; }
#fx-menu nav a .meta { font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:#4a4a4a; text-align:right; transition:color .3s; }
#fx-menu nav a:hover { padding-left:1.25rem; background:rgba(255,255,255,0.03); }
#fx-menu nav a:hover .idx, #fx-menu nav a:hover .meta { color:#999; }
#fx-menu nav a.is-current .idx { color:#fff; }
#fx-menu nav a.is-current .meta { color:#fff; }
#fx-menu nav a.is-current .lbl::after { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:#fff; margin-left:0.9rem; vertical-align:middle; }
#fx-menu nav a:focus-visible { outline:none; padding-left:1.25rem; background:rgba(255,255,255,0.06); }
/* Bottom meta */
.fx-menu-meta { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.5rem; border-top:1px solid rgba(255,255,255,0.1); padding:1.75rem 3rem; }
.fx-menu-meta p, .fx-menu-meta a { font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:#666; text-decoration:none; transition:color .3s; }
.fx-menu-meta a:hover { color:#fff; }
.fx-menu-links { display:flex; gap:2rem; }
@media (max-width:760px) {
  .fx-nav { padding:1.1rem 1.5rem; }
  .fx-nav .nav-cta { display:none; }
  .fx-menu-top { padding:1.1rem 1.5rem; }
  #fx-menu nav { padding:1.5rem; }
  #fx-menu nav a { grid-template-columns:2.75rem 1fr; gap:0.75rem; padding:0.95rem 0; }
  #fx-menu nav a .meta { display:none; }
  .fx-menu-meta { padding:1.25rem 1.5rem; }
  .fx-menu-links { gap:1.25rem; }
}

/* ===== motion-css ===== */
/* ═══ MOTION SYSTEM ═══ */

/* Scroll Reveal */
.rv { opacity: 0; transform: translateY(24px); transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.rv.in { opacity: 1; transform: none; }
.rv-d1 { transition-delay: .08s; }
.rv-d2 { transition-delay: .16s; }
.rv-d3 { transition-delay: .24s; }
.rv-d4 { transition-delay: .32s; }
.rv-d5 { transition-delay: .40s; }
.rv-d6 { transition-delay: .48s; }

/* Hero entrance */
@keyframes heroUp { from { opacity: 0; transform: translateY(44px); } to { opacity: 1; transform: none; } }
@keyframes heroImg { from { opacity: 0; transform: scale(1.06); } to { opacity: 1; transform: scale(1); } }
.fx-hero > img { animation: heroImg 1.8s cubic-bezier(.16,1,.3,1) .1s both; }
.fx-hero .hero-eyebrow { animation: heroUp .9s cubic-bezier(.16,1,.3,1) .2s both; }
.fx-hero h1 { animation: heroUp 1.1s cubic-bezier(.16,1,.3,1) .35s both; }
.fx-hero .hero-sub { animation: heroUp 1s cubic-bezier(.16,1,.3,1) .5s both; }
.fx-hero .hero-actions { animation: heroUp 1s cubic-bezier(.16,1,.3,1) .62s both; }
.fx-hero .hero-reassure { animation: heroUp 1s cubic-bezier(.16,1,.3,1) .74s both; }
.fx-hero .hero-proof { animation: heroUp 1s cubic-bezier(.16,1,.3,1) .88s both; }
.fx-scroll-hint { animation-delay: 1.2s; }
.fx-phero > img { animation: heroImg 1.6s cubic-bezier(.16,1,.3,1) .1s both; }
.fx-phero h1 { animation: heroUp 1s cubic-bezier(.16,1,.3,1) .3s both; }
.fx-phero .idx { animation: heroUp .9s cubic-bezier(.16,1,.3,1) .18s both; }
.fx-phero .plead { animation: heroUp 1s cubic-bezier(.16,1,.3,1) .45s both; }

/* Image hover zoom — everywhere */
.fx-block-img, .fx-pillar-img, .fx-g { overflow: hidden; }

/* Service cards lift */


/* Pain grid cards */


/* Links underline sweep */
.fx-menu-btn:hover .bars span:first-child { transform: translateX(4px); }
.fx-menu-btn:hover .bars span:last-child { transform: translateX(-4px); }

/* Buttons — smooth grow */
.fx-hero-cta, .btn-w, .nav-cta, .btn-submit { transition: background .35s, transform .35s cubic-bezier(.16,1,.3,1); }
.fx-hero-cta:hover, .btn-w:hover, .nav-cta:hover { transform: translateY(-2px); }

/* Marquee slightly faster + smooth */


/* Page transition */

@keyframes pageIn { from { opacity: 0; } to { opacity: 1; } }

/* Value / conviction blocks hover */
.fx-row { transition: background .35s, transform .45s cubic-bezier(.16,1,.3,1); }
.fx-row:hover { transform: translateX(5px); }

/* Work editorial grid zoom (inline-styled imgs) */


/* FAQ smooth */
.faq-item { transition: background .3s; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .rv, .rv.in { opacity: 1 !important; transform: none !important; transition: none !important; }
  .fx-hero *, .fx-phero *, .fx-ticker-track { animation: none !important; }
  
}

/* ===== style-imprint ===== */
.legal-wrap { max-width: 760px; margin: 0 auto; padding: 9rem 2rem 6rem; }
.legal-wrap h1 { font-family: var(--serif); font-size: 2.8rem; font-weight: 300; margin-bottom: 2.5rem; }
.legal-content { font-size: 0.9rem; color: #222; line-height: 1.75; }
.legal-content h2 { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; margin: 2.75rem 0 1rem; }
.legal-content h3 { font-size: 1rem; font-weight: 500; margin: 1.75rem 0 0.5rem; }
.legal-content p { margin-bottom: 1rem; }
.legal-content a { color: #000; }
.legal-content ul { margin: 0 0 1rem 1.25rem; }
.legal-content li { margin-bottom: 0.4rem; }
.legal-addr { border-left: 2px solid #000; padding-left: 1.25rem; margin: 1.5rem 0; }
.legal-back { display:inline-block; margin-bottom:2rem; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; text-decoration:none; color:#000; border-bottom:1px solid #000; padding-bottom:2px; }
.legal-note { font-size: 0.72rem; color: #999; margin-top: 3rem; }

/* ===== style-process ===== */
.fx-steps { border-top:1px solid var(--line); }
.fx-step { display:grid; grid-template-columns:180px 1fr; gap:3rem; padding:4rem 3rem; border-bottom:1px solid var(--line); align-items:start; transition:background .4s; }
.fx-step:hover { background:#fafafa; }
.fx-step-num { font-family:var(--serif); font-size:clamp(3rem,6vw,5.5rem); font-weight:300; line-height:0.9; color:transparent; -webkit-text-stroke:1px #d5d5d5; transition:-webkit-text-stroke-color .4s; }
.fx-step:hover .fx-step-num { -webkit-text-stroke-color:#000; }
.fx-step-body h3 { font-family:var(--serif); font-size:clamp(1.5rem,2.8vw,2.2rem); font-weight:300; line-height:1.2; margin-bottom:1.25rem; }
.fx-step-body p { font-size:0.92rem; color:var(--mid); line-height:1.9; max-width:640px; }
.fx-mood { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); }
.fx-mood .img-slot { aspect-ratio:16/10; background:#101010; }
.fx-mood .img-slot:last-child { background:#181818; }
@media (max-width:900px) {
  .fx-step { grid-template-columns:1fr; gap:1rem; padding:2.75rem 1.5rem; }
  .fx-mood { grid-template-columns:1fr; }
}

/* ═══ WhatsApp-Button: weicht dem Footer aus ═══ */
#wa-btn { transition: transform .35s cubic-bezier(.16,1,.3,1), opacity .3s, box-shadow .3s, visibility .3s; }
#wa-btn.is-hidden {
  opacity: 0;
  visibility: hidden;
  transform: translateY(24px) scale(0.85);
  pointer-events: none;
}
/* Rechtslinks im Footer bleiben immer erreichbar */
.fx-footer-bottom { position: relative; z-index: 2; }
.fx-footer-bottom a { padding: 0.35rem 0; display: inline-block; }
@media (max-width: 760px) {
  .fx-footer-bottom { padding-bottom: 0.5rem; }
}


/* ═══ WhatsApp-Knopf: weicht dem Footer ═══ */
#wa-btn { transition: transform .35s cubic-bezier(.16,1,.3,1), opacity .3s, box-shadow .3s; }
#wa-btn.wa-hidden { opacity: 0; transform: scale(.8) translateY(12px); pointer-events: none; }
/* Footer-Links liegen immer oben */
.fx-footer, .footer-mini { position: relative; z-index: 1; }
.fx-footer a, .footer-mini a { position: relative; z-index: 2; }


/* ═══ Cookie-Hinweis verdeckt nichts ═══ */
body.has-cookie-banner { padding-bottom: var(--cookie-h, 120px); }
#cookie-banner { z-index: 9999; }
/* WhatsApp-Knopf weicht dem Hinweis aus */
#wa-btn.wa-above-cookie { transform: translateY(calc(-1 * var(--cookie-h, 120px))); }


/* ═══ LESBARKEIT: Kontrast und Mindestgrößen (WCAG AA) ═══ */
/* Helle Flächen */
.fx-phero-light .idx,
.who-hero .idx,
.form-note,
.legal-note,
.fx-pillar-tag,
.wr-title,
.fx-row .rn,
.fx-card .cnum,
.case-tag,
.gcap,
.kicker,
.hint            { color: #5a5a5a !important; }

/* Dunkle Flächen (Footer, Menü, schwarze Sektionen) */
.fx-footer-grid p,
.fx-footer-grid a,
.fx-footer-bottom p,
.fx-footer-bottom a,
.fx-menu-meta p,
.fx-menu-meta a  { color: #c4c4c4 !important; }
.fx-footer-grid .fh,
#fx-menu nav a .idx,
#fx-menu nav a .meta { color: #9a9a9a !important; }

/* Mindestgrößen — nichts unter 11px */
.fx-footer-grid .fh,
.fx-footer-bottom p,
.fx-footer-bottom a,
.legal-note,
.gcap            { font-size: 0.72rem !important; }
.fx-footer-grid p,
.fx-footer-grid a { font-size: 0.82rem !important; }

/* Nachtrag: verbliebene Kleinsttexte */
.fx-info-block .fh { color:#4a4a4a !important; font-size:0.74rem !important; }
/* Kopfbereich MIT Bild → heller Text */
.who-hero .idx,
.fx-phero:not(.fx-phero-light) .idx { color:rgba(255,255,255,0.88) !important; font-size:0.74rem !important; }
/* Kopfbereich OHNE Bild (weiß) → dunkler Text */
.fx-phero-light .idx { color:#4a4a4a !important; font-size:0.74rem !important; }


/* ═══ Logo im Hero: rechts unten, verdeckt keine Gesichter ═══ */
.hero-logo{
  position:absolute; right:3rem; bottom:8.5rem; z-index:2; pointer-events:none;
}
.hero-logo .logo-mark{
  width:200px; height:200px; filter:invert(1); opacity:.95;
  animation:heroLogo 1.4s cubic-bezier(.16,1,.3,1) .3s both;
}
@keyframes heroLogo{ from{opacity:0; transform:scale(1.06);} to{opacity:.95; transform:none;} }
@media (max-width:1200px){ .hero-logo .logo-mark{ width:150px; height:150px; } .hero-logo{ bottom:9rem; right:2rem; } }
/* Auf schmalen Bildschirmen weglassen — das Logo steht bereits oben in der Leiste */
@media (max-width:900px){ .hero-logo{ display:none; } }


/* ═══ Stapelordnung (was liegt über was) ═══
   Menü > Cookie-Hinweis > WhatsApp > Navigation > Inhalt */
#fx-menu        { z-index: 10001 !important; }
#cookie-banner  { z-index: 9999  !important; }
#wa-btn         { z-index: 9990  !important; }
.fx-nav         { z-index: 1000  !important; }
.fx-footer, .footer-mini { z-index: 1 !important; }


/* ═══ EBENEN-ORDNUNG (von unten nach oben) ═══
   Inhalt 1 · Footer 2 · Nav 1000 · WhatsApp 9000
   · Cookie-Hinweis 9500 · Menü-Overlay 100000        */
.fx-footer, .footer-mini { position: relative; z-index: 2; }
.fx-nav              { z-index: 1000 !important; }
#wa-btn              { z-index: 9000 !important; }
#cookie-banner       { z-index: 9500 !important; }
#fx-menu             { z-index: 100000 !important; }


/* ═══ SPRACHUMSCHALTER ═══ */
.lang-switch{ display:flex; align-items:center; gap:.45rem; font-size:.68rem;
  letter-spacing:.14em; text-transform:uppercase; }
.lang-switch a{ color:#888; text-decoration:none; padding:.2rem 0; transition:color .25s; }
.lang-switch a:hover{ color:#000; }
.lang-switch a.is-active{ color:#000; font-weight:500; }
.lang-switch span{ color:#ccc; }
/* im dunklen Overlay-Menü */
#fx-menu .lang-switch a{ color:#777; }
#fx-menu .lang-switch a:hover, #fx-menu .lang-switch a.is-active{ color:#fff; }
@media (max-width:760px){
  .lang-switch{ font-size:.66rem; gap:.35rem; margin-right:.25rem; }
}




/* ═══════════════════════════════════════
   STARTSEITE V2
   ═══════════════════════════════════════ */

/* Kleintext — deutlich größer und dunkel überall */
.kicker { font-size: 1rem !important; letter-spacing: .14em; text-transform: uppercase; color: #000 !important; font-weight: 600; margin-bottom: 1.75rem; }
.fx-black .kicker, .fx-final .kicker { color: #eee !important; }
.fx-pillar-tag { font-size: .92rem !important; letter-spacing: .12em; color: #000 !important; font-weight: 600; }
.fx-proc-row .pn { font-size: 1.6rem !important; color: #000 !important; }
.fx-proc-row .pt { font-size: 1.05rem !important; color: #000 !important; font-weight: 500; }
.fx-proc-row .pd { font-size: 1rem !important; color: #333 !important; }
.fx-row .rn { font-size: .92rem !important; color: #000 !important; font-weight: 600; }
.wr-title { font-size: .92rem !important; color: #000 !important; font-weight: 600; }
.wr-list li { font-size: 1rem !important; color: #111 !important; }
.hero-proof span { font-size: .95rem !important; color: rgba(255,255,255,.98) !important; font-weight: 500; }
.ps-a { font-size: 1.05rem !important; color: #000 !important; font-weight: 500; }
.pill-list li { font-size: 1.02rem !important; color: #000 !important; }

/* STÄRKEN (statt Produktliste) */
.fx-make { padding: 7rem 3rem; border-top: 1px solid var(--line); }
.fx-make h2 { font-family: var(--serif); font-size: clamp(2rem,4.5vw,3.4rem); font-weight: 300; line-height: 1.12; margin-bottom: 1.5rem; }
.make-lead { font-size: 1.05rem; color: #222; line-height: 1.85; max-width: 680px; margin-bottom: 3rem; font-weight: 400; }
.make-grid { display: flex; flex-wrap: wrap; gap: .7rem; max-width: 980px; margin-bottom: 2.5rem; }
.make-grid span { font-size: 1rem; padding: .85rem 1.5rem; border: 1.5px solid #000; color: #000; font-weight: 500; }
.make-note { font-size: 1.08rem; color: #000; line-height: 1.85; max-width: 720px; border-left: 4px solid #000; padding-left: 1.75rem; font-weight: 500; }

/* AUSWAHL + FORMULAR — klickbare Tags mit Direktversand */
.fx-pick { padding: 7rem 3rem; border-top: 1px solid var(--line); background: #f4f4f4; text-align: center; }
.pick-lead { font-family: var(--serif); font-size: clamp(1.4rem,2.8vw,2.1rem); font-weight: 300; line-height: 1.4; max-width: 780px; margin: 0 auto 3rem; }
.pick-form { max-width: 900px; margin: 0 auto; }
.pick-tags { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-bottom: 2.5rem; }
.pick-tags button { font-size: .92rem; font-weight: 500; letter-spacing: .02em; padding: .75rem 1.3rem; border: 1.5px solid #000; background: #fff; color: #000; border-radius: 100px; cursor: pointer; transition: background .2s, color .2s, transform .15s; font-family: inherit; }
.pick-tags button:hover { transform: translateY(-1px); }
.pick-tags button.is-on { background: #000; color: #fff; }
.pick-input-row { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; align-items: stretch; }
.pick-input-row input[type="email"] { flex: 1 1 220px; max-width: 280px; }
.pick-input-row input[type="text"] { flex: 2 1 320px; }
.pick-input-row input { font-family: inherit; font-size: .98rem; padding: 1rem 1.2rem; border: 1.5px solid #000; background: #fff; color: #000; }
.pick-input-row input::placeholder { color: #777; }
.pick-input-row input:focus { outline: 2px solid #000; outline-offset: -2px; }
.pick-send { flex: 0 0 auto; font-size: .92rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; color: #fff; background: #000; border: 1.5px solid #000; padding: 1rem 2rem; cursor: pointer; transition: background .25s; font-family: inherit; }
.pick-send:hover { background: #333; }
.pick-send:disabled { background: #888; border-color: #888; cursor: default; }
.pick-status { margin-top: 1.5rem; font-size: 1rem; font-weight: 500; min-height: 1.5em; }
.pick-status.is-ok { color: #0a6b2e; }
.pick-status.is-err { color: #a01818; }

/* TEAM-ANRISS */
.fx-team-teaser { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.tt-img { position: relative; overflow: hidden; background: #0d0d0d; min-height: 58vh; }
.tt-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tt-txt { padding: 5rem 4rem; display: flex; flex-direction: column; justify-content: center; }
.tt-txt h2 { font-family: var(--serif); font-size: clamp(1.8rem,3.4vw,2.8rem); font-weight: 300; line-height: 1.15; margin-bottom: 1.5rem; }
.tt-txt p { font-size: 1.05rem; color: #222; line-height: 1.85; max-width: 460px; }
.tt-txt .plink { margin-top: 2rem; font-size: .92rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; color: #000; border-bottom: 2px solid #000; padding-bottom: 3px; align-self: flex-start; }

/* "DU BRAUCHST HILFE BEI…" */
.fx-help { padding: 7rem 3rem 8rem; border-top: 1px solid var(--line); background: #f4f4f4; text-align: center; }
.fx-help h2 { font-family: var(--serif); font-size: clamp(2rem,5vw,3.6rem); font-weight: 300; line-height: 1.1; margin-bottom: 3rem; }
.help-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(0,0,0,.16); border: 1px solid rgba(0,0,0,.16); max-width: 1100px; margin: 0 auto 2.5rem; }
.help-card { background: #fff; padding: 2.25rem 1.75rem; text-align: left; text-decoration: none; color: #000; display: flex; align-items: center; min-height: 132px; transition: background .3s, color .3s; position: relative; }
.help-card span { font-family: var(--serif); font-size: 1.28rem; line-height: 1.35; padding-right: 1.5rem; font-weight: 400; }
.help-card::after { content: '→'; position: absolute; right: 1.5rem; bottom: 1.25rem; font-size: 1.1rem; opacity: .4; transition: transform .3s, opacity .3s; }
.help-card:hover { background: #000; color: #fff; }
.help-card:hover::after { opacity: 1; transform: translateX(5px); }
.help-note { font-size: 1.05rem; color: #222; max-width: 640px; margin: 0 auto 2.5rem; line-height: 1.85; font-weight: 400; }
.help-cta { display: inline-block; font-size: .92rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; text-decoration: none; color: #fff; background: #000; padding: 1.35rem 3.25rem; transition: background .3s, transform .3s; }
.help-cta:hover { background: #333; transform: translateY(-2px); }

@media (max-width: 900px) {
  .fx-make, .fx-pick, .fx-help { padding: 4.5rem 1.5rem; }
  .fx-help { padding-bottom: 5rem; }
  .make-grid span { font-size: .92rem; padding: .7rem 1.15rem; }
  .pick-input-row input[type="email"], .pick-input-row input[type="text"] { flex: 1 1 100%; max-width: none; }
  .pick-send { flex: 1 1 100%; }
  .fx-team-teaser { grid-template-columns: 1fr; }
  .tt-img { min-height: 0; aspect-ratio: 16/10; }
  .tt-txt { padding: 3rem 1.5rem; }
  .help-grid { grid-template-columns: 1fr; }
  .help-card { min-height: 0; padding: 1.5rem 1.25rem; }
  .help-card span { font-size: 1.05rem; }
}


/* ═══ Kontaktformular: anklickbare Leistungsauswahl ═══ */
.fx-field-tags .pick-tags {
  justify-content: flex-start;
  max-width: none;
  margin: 0;
  gap: .55rem;
}
.fx-field-tags .pick-tags button {
  font-size: .82rem;
  padding: .6rem 1.1rem;
  font-weight: 500;
}
.fx-field-tags label { margin-bottom: 1rem; }
.tags-hint { margin-top: 1rem; font-size: .8rem; color: #888; }
@media (max-width: 700px) {
  .fx-field-tags .pick-tags button { font-size: .8rem; padding: .55rem 1rem; }
}


/* ═══ Honeypot-Feld gegen Spam (für Menschen unsichtbar) ═══ */
.hp-field { position: absolute; left: -9999px; top: -9999px; }
