/* =========================================================
   DATALIZATION – Global Styles (clean, consolidated)
   -----------------------------------------------------
   • Dark theme with gold accents
   • One canonical definition per component
   • Removes duplicates and unused mobile-nav blocks
   • Header/Footer match Figma
   ========================================================= */

/* ========== CSS Variables ========== */
:root { --font-size: 16px; --background: #0a0a0a; --foreground: #f5f5f5; --card: #141414; --card-foreground: #f5f5f5; --primary: #f7931a; --primary-foreground: #0a0a0a; --secondary: #1a1a1a; --secondary-foreground: #f5f5f5; --muted: #a3a3a3; --muted-foreground: #a3a3a3; --accent: #f7931a; --accent-foreground: #0a0a0a; --border: rgba(247, 147, 26, 0.25); --input-background: #1a1a1a; --radius: 0.625rem; }

/* ========== Reset & Base ========== */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; background-color: var(--background); color: var(--foreground); line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; max-width: 100%; overflow-x: hidden; /* verhindert seitliches Scrollen */ padding-top: 72px; }

/* Global link reset (avoid default blue/underline) */
a { color: var(--foreground); text-decoration: none; }
a:hover { color: var(--primary); }

/* ========== Typography ========== */
h1 { font-size: 2.5rem; font-weight: 500; line-height: 1.2; }
h2 { font-size: 2rem; font-weight: 500; line-height: 1.3; }
h3 { font-size: 1.5rem; font-weight: 500; line-height: 1.4; }
h4 { font-size: 1.125rem; font-weight: 500; }
p { font-size: 1rem; font-weight: 400; }

/* ========== Utilities ========== */
.container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.mb-2 { margin-bottom: .5rem; } .mb-3 { margin-bottom: .75rem; }
.mb-4 { margin-bottom: 1rem; } .mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; } .mb-12 { margin-bottom: 3rem; }
.mb-16 { margin-bottom: 4rem; }
.p-6 { padding: 1.5rem; } .p-8 { padding: 2rem; }
.flex { display: flex; } .items-center{align-items:center;} .items-start{align-items:flex-start;}
.justify-between{justify-content:space-between;} .text-center{text-align:center;} .text-left{text-align:left;}
.max-w-2xl{max-width:42rem;} .max-w-3xl{max-width:48rem;} .max-w-4xl{max-width:56rem;} .max-w-6xl{max-width:72rem;} .max-w-7xl{max-width:80rem;}
.w-full{width:100%;} .min-h-screen{min-height:100vh;}
.tracking-wider{letter-spacing:.05em;} .text-muted{color:var(--muted-foreground);} .text-primary{color:var(--primary);} .text-sm{font-size:.875rem;}
.text-xl{font-size:1.25rem;} .text-2xl{font-size:1.5rem;} .bg-background{background-color:var(--background);} .text-foreground{color:var(--foreground);} 
.space-y-2>*+*{margin-top:.5rem;} .space-y-6>*+*{margin-top:1.5rem;} .flex-shrink-0{flex-shrink:0;} .relative{position:relative;} .hidden{display:none;}
.scroll-mt-20{scroll-margin-top:5rem;}

/* ========== Grid Helpers ========== */
.grid-2, .grid-3 { display:grid; grid-template-columns:1fr; gap:2rem; }
@media (min-width:768px){ .grid-2{ grid-template-columns:repeat(2,1fr); } .grid-3{ grid-template-columns:repeat(3,1fr); } }

/* ========== Header / Navbar (Figma) ========== */
.site-header{ position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; border-bottom:1px solid rgba(255,255,255,0.04); background:#0c0c0e; backdrop-filter: blur(10px); transition: background .25s ease, backdrop-filter .25s ease, padding .25s ease; }
.site-header.scrolled{ background:#0b0b0d; backdrop-filter: blur(16px); }

.container.nav{ position: relative; /* wichtig für das absolute Menü darunter */ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:72px; flex-wrap:nowrap; }
.nav__brand{ display:flex; align-items:center; gap:10px; color:var(--foreground); text-decoration:none; }
.nav__logo{ height:60px; width:auto; display:block; object-fit:contain; }
.nav__word{ letter-spacing:.14em; font-weight:600; }
.nav__links{ display:flex; align-items:center; justify-content:flex-end; flex:0 0 auto; gap:24px; white-space:nowrap; margin-left:auto; }
.nav__links a{ color:#f3f3f3; padding:.35rem .55rem; border-radius:.5rem; font-weight:600; }
.nav__links a:hover{ color:var(--primary); }
.nav__dropdown{position:relative;}
.nav__dropdown-toggle{display:inline-flex;align-items:center;gap:6px;transition:color .2s ease;}
.nav__chevron{width:14px;height:14px;transition:transform .2s ease,color .2s ease;}
.nav__dropdown.open .nav__chevron{transform:rotate(180deg);}
.nav__dropdown:hover .nav__dropdown-toggle,
.nav__dropdown.open .nav__dropdown-toggle{color:var(--primary);}
.nav__dropdown:hover .nav__chevron,
.nav__dropdown.open .nav__chevron{color:var(--primary);}
.nav__dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:260px;background:rgba(12,12,12,0.98);border:1px solid rgba(247,147,26,0.22);border-radius:1rem;padding:.9rem;flex-direction:column;gap:.45rem;box-shadow:0 18px 40px rgba(0,0,0,.45);z-index:20;}
.nav__dropdown:hover .nav__dropdown-menu,
.nav__dropdown.open .nav__dropdown-menu{display:flex;}
.nav__dropdown-menu a{padding:.45rem .5rem;color:#f5f5f5;font-weight:600;border-radius:.6rem;transition:color .2s ease,background .2s ease;}
.nav__dropdown-menu a:hover{color:var(--primary);background:rgba(247,147,26,0.08);}
.nav__tools{ display:flex; align-items:center; gap:12px; white-space:nowrap; overflow:visible; }
.nav__cta{
  display:inline-flex;align-items:center;justify-content:center;
  padding:11px 18px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(247,147,26,.9),rgba(247,147,26,.78));
  color:#0b0b0b;
  font-weight:700;
  font-size:.97rem;
  border:1px solid rgba(0,0,0,0.12);
  box-shadow:0 10px 24px rgba(0,0,0,0.2);
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
}
.nav__cta:hover{
  background:linear-gradient(135deg,rgba(247,147,26,.82),rgba(247,147,26,.72));
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(0,0,0,0.28);
}

.case-hero{position:relative;padding:5.5rem 1.5rem 4rem;background:linear-gradient(to bottom,rgba(250,102,15,0.9) 0%,rgba(16,16,16,0.98) 55%,rgba(10,10,10,1) 100%);text-align:center;}
.case-hero .container{max-width:48rem;}
.case-hero-title{font-size:2.8rem;font-weight:600;letter-spacing:0.03em;margin-bottom:0.75rem;}
.case-hero p{text-shadow:0 1px 2px rgba(0,0,0,0.55);}
@media(max-width:768px){.case-hero{padding:4.25rem 1.25rem 3.25rem;}.case-hero-title{font-size:2.1rem;}}

.flash-messages{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;}
.flash{background:#16a34a;color:#fff;padding:0.75rem 1.1rem;border-radius:8px;box-shadow:0 12px 30px rgba(15,23,42,0.25);font-size:0.9rem;line-height:1.3;max-width:360px;}
.flash-error,.flash-danger{background:#dc2626;}
.flash-warning{background:#ea580c;}
.flash-info{background:#0ea5e9;}

/* Burger-Toggle – standardmäßig aus, auf Mobile sichtbar */
.nav__toggle{ display: none; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--border); border-radius: .5rem; background: transparent; color: var(--foreground); cursor: pointer; }
.nav__toggle svg, .nav__toggle i{ display:block; width:22px; height:22px; }
.lowercase { text-transform: lowercase; }
.lang-switch{position:relative;display:inline-flex;align-items:center;z-index:20;}
.lang-switch form{position:relative;}
.lang-toggle{
  display:inline-flex;align-items:center;gap:4px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  padding:6px 7px;
  color:var(--foreground);
  font-weight:600;
  font-size:.9rem;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.02),0 8px 18px rgba(0,0,0,0.35);
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.lang-toggle:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.14);}
.lang-icon{width:16px;height:16px;color:var(--foreground);}
.lang-label{min-width:0px;text-align:left;}
.nav__globe:hover { opacity: 1; }

/* === Service Detail Pages (Figma-inspiriert) === */
.service-hero{position:relative;padding:5.5rem 1.5rem;background:linear-gradient(140deg,rgba(9,9,11,0.95),rgba(9,9,11,0.9)),radial-gradient(circle at 20% 20%,rgba(247,147,26,0.12),transparent 45%),radial-gradient(circle at 80% 0%,rgba(247,147,26,0.16),transparent 40%);overflow:hidden;}
.service-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(247,147,26,0.08),transparent 55%);pointer-events:none;}
.service-hero .container{position:relative;max-width:1100px;}
.service-hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;align-items:center;}
@media(max-width:960px){.service-hero-grid{grid-template-columns:1fr;}}
.service-hero h1{font-size:2.8rem;line-height:1.15;margin-bottom:1rem;}
.service-hero p{color:var(--muted-foreground);font-size:1.1rem;line-height:1.7;margin-bottom:2rem;}
.service-hero--wide{padding:4.5rem 1.5rem;}
.hero-align{align-items:center;}
.hero-copy h1{font-size:3rem;}
.hero-copy p{max-width:40rem;}
.kpi-hero-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);border-radius:1.25rem;padding:1.25rem 1.5rem;box-shadow:0 18px 40px rgba(0,0,0,0.35);backdrop-filter:blur(8px);}
.kpi-card-header{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;}
.kpi-icon{width:42px;height:42px;border-radius:12px;background:rgba(247,147,26,0.14);display:flex;align-items:center;justify-content:center;font-size:1.1rem;}
.kpi-label{color:var(--muted-foreground);font-size:.9rem;}
.kpi-title{font-weight:700;font-size:1.1rem;}
.kpi-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.2rem;}
.mini-kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem;}
.mini-kpi-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);border-radius:.9rem;padding:.7rem .8rem;}
.mini-label{color:var(--muted-foreground);font-size:.8rem;margin-bottom:.2rem;}
.mini-value{font-weight:700;}
.mini-delta{font-size:.8rem;}
.mini-delta.positive{color:#22c55e;}
.kpi-caption{display:block;color:var(--muted-foreground);font-size:.9rem;}
.kpi-value{font-size:1.5rem;font-weight:700;}
.text-accent{color:#f7931a;}
.kpi-delta{font-size:.9rem;}
.kpi-delta.positive{color:#22c55e;}
.kpi-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;align-items:end;height:120px;padding:.5rem;border-radius:.75rem;border:1px solid rgba(255,255,255,0.06);background:rgba(255,255,255,0.02);}
.kpi-chart.bars{grid-template-columns:repeat(8,1fr);}
.kpi-chart span{display:block;width:100%;border-radius:.35rem;background:linear-gradient(180deg,#f7931a,#f7931a);}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;}
.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 18px;border-radius:999px;background:linear-gradient(135deg,rgba(247,147,26,.9),rgba(247,147,26,.78));color:#0b0b0b;font-weight:700;border:1px solid rgba(0,0,0,0.08);transition:transform .2s ease,box-shadow .2s ease;}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(247,147,26,0.35);}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:14px 18px;border-radius:999px;border:1px solid rgba(255,255,255,0.12);color:var(--foreground);background:rgba(255,255,255,0.04);transition:background .2s ease,border-color .2s ease;}
.btn-secondary:hover{border-color:rgba(247,147,26,0.5);background:rgba(247,147,26,0.08);}

.quick-check-banner{padding:4.75rem 0;background:linear-gradient(180deg,#0f0f11,#0b0b0d);position:relative;overflow:hidden;}
.quick-check-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 24% 18%,rgba(247,147,26,0.12),transparent 36%),radial-gradient(circle at 78% 14%,rgba(247,147,26,0.08),transparent 34%);}
.quick-check-inner{max-width:840px;margin:0 auto;position:relative;z-index:1;padding:0 1rem;}
.qc-icon-glow{width:72px;height:72px;border-radius:50%;background:rgba(247,147,26,0.16);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;box-shadow:0 14px 36px rgba(247,147,26,0.28);border:1px solid rgba(247,147,26,0.35);}
.qc-icon-glow svg{width:34px;height:34px;color:#f7931a;}
.quick-check-simple{max-width:640px;margin:0 auto;text-align:center;}
.qc-title{font-size:2.2rem;margin:0 0 .35rem;font-weight:700;}
.qc-subline{color:var(--muted-foreground);margin:0 0 1.5rem;font-size:1.05rem;}
.qc-list{display:grid;gap:.75rem;max-width:540px;margin:0 auto 2rem;text-align:left;}
.qc-bullet{display:flex;align-items:center;gap:.75rem;padding:0.65rem 0.75rem;border-radius:.85rem;border:1px solid rgba(247,147,26,0.22);background:rgba(247,147,26,0.04);box-shadow:0 10px 26px rgba(0,0,0,0.35);}
.qc-bullet::before{content:"✓";width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(247,147,26,0.18);color:#f7931a;font-weight:700;font-size:.9rem;box-shadow:0 6px 16px rgba(247,147,26,0.18);}
.qc-cta-wrap{display:flex;justify-content:center;}
.qc-cta{display:inline-flex;align-items:center;gap:.55rem;padding:1rem 1.7rem;border-radius:999px;background:linear-gradient(180deg,#f9a028,#f4830f);color:#0b0b0b;font-weight:700;border:1px solid rgba(247,147,26,0.7);box-shadow:0 18px 42px rgba(247,147,26,0.36);transition:transform .15s ease, box-shadow .2s ease;}
.qc-cta:hover{transform:translateY(-1px);box-shadow:0 22px 48px rgba(247,147,26,0.45);}
.qc-cta svg{width:18px;height:18px;color:#0b0b0b;stroke:currentColor;}
.quick-check-simple{max-width:640px;margin:0 auto;text-align:center;}
.outcomes-section{padding-top:4.5rem;padding-bottom:4.5rem;}
.outcomes-wrap{max-width:880px;margin:0 auto;}
.outcomes-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem;}
.outcomes-item{display:flex;gap:.75rem;align-items:flex-start;padding:.65rem .6rem;border-radius:.9rem;transition:color .2s ease;background:transparent;}
.outcomes-item:hover{color:#fff;}
.outcome-icon{width:28px;height:28px;border-radius:50%;background:rgba(247,147,26,0.18);border:1px solid rgba(247,147,26,0.4);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;box-shadow:0 6px 16px rgba(247,147,26,0.2);}
.outcome-icon svg{width:16px;height:16px;color:#f7931a;stroke:currentColor;}
.outcomes-two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;align-items:start;}
.outcomes-visual{display:grid;gap:1rem;}
.ba-card{border:1px solid rgba(255,255,255,0.08);border-radius:1rem;padding:1rem;background:rgba(255,255,255,0.02);}
.ba-card.ba-after{border-color:rgba(247,147,26,0.35);background:rgba(247,147,26,0.08);}
.ba-title{font-weight:700;margin-bottom:.6rem;}
.ba-lines{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;}
.ba-lines span{display:block;height:8px;border-radius:6px;background:rgba(255,255,255,0.08);}
.ba-card.ba-after .ba-lines span{background:rgba(247,147,26,0.5);}
.ba-caption{color:var(--muted-foreground);font-size:.9rem;}

.process-section{padding-top:4.5rem;}
.process-timeline{position:relative;max-width:980px;margin:0 auto;}
.process-timeline::before{content:"";position:absolute;left:56px;top:20px;bottom:20px;width:2px;background:linear-gradient(180deg,rgba(247,147,26,0.45),rgba(247,147,26,0.05));}
.process-item{position:relative;display:flex;gap:1rem;align-items:flex-start;padding:0 0 1.25rem;}
.process-item:last-child{padding-bottom:0;}
.process-icon{position:relative;flex:0 0 92px;display:flex;justify-content:center;}
.icon-box{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#f7931a,#f7931a);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(247,147,26,0.25);}
.icon-box svg{width:32px;height:32px;color:#0b0b0b;stroke:currentColor;}
.process-number{position:absolute;top:-6px;right:10px;width:32px;height:32px;border-radius:999px;background:#0f0f0f;border:2px solid #f7931a;color:#f7931a;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(247,147,26,0.25);}
.process-card{flex:1;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);border-radius:1rem;padding:1.25rem;backdrop-filter:blur(6px);transition:border-color .2s ease,background .2s ease;}
.process-card:hover{border-color:rgba(247,147,26,0.35);background:rgba(255,255,255,0.04);}
.process-card h3{margin-bottom:.35rem;font-size:1.3rem;}
.process-card p{color:var(--muted-foreground);margin:0;}
@media(max-width:768px){
  .process-timeline::before{left:44px;}
  .process-item{flex-direction:column;padding-left:0;}
  .process-icon{flex:0 0 auto;}
  .process-card{width:100%;}
}

.service-section{padding:4rem 0;}
.service-heading{text-align:center;max-width:740px;margin:0 auto 2.5rem;}
.service-heading h2{font-size:2rem;margin-bottom:.5rem;}
.service-heading p{color:var(--muted-foreground);}
.qc-pill-section{background:linear-gradient(180deg,#0f0f11,#0c0c0e);}
.qc-pill-list{display:flex;flex-direction:column;gap:1rem;max-width:900px;margin:0 auto;}
.qc-pill{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem;border-radius:.95rem;border:1px solid rgba(255,255,255,0.07);background:rgba(19,19,21,0.8);color:var(--foreground);font-weight:500;transition:border-color .2s ease,background .2s ease;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.01);}
.qc-pill input{appearance:none;width:18px;height:18px;border:2px solid rgba(255,255,255,0.25);border-radius:50%;position:relative;background:transparent;cursor:pointer;transition:border-color .2s ease;}
.qc-pill input:checked{border-color:#f7931a;}
.qc-pill input:checked::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#f7931a;}
.qc-pill:hover{border-color:rgba(247,147,26,0.35);background:rgba(255,255,255,0.03);}
.qc-pill.selected{border-color:rgba(247,147,26,0.6);background:rgba(247,147,26,0.1);box-shadow:0 8px 20px rgba(247,147,26,0.18);}
.quick-check-result.card-surface{max-width:600px;margin:1.5rem auto 0;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,0.08);border-radius:.85rem;background:rgba(255,255,255,0.03);}
.qc-run-pill,.qc-start-pill{min-width:170px;justify-content:center;}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;}
.glass-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:1rem;padding:1.25rem;backdrop-filter:blur(6px);box-shadow:0 12px 30px rgba(0,0,0,0.25);}
.glass-card h3{margin:0 0 .5rem;font-size:1.1rem;}
.glass-card p{margin:0;color:var(--muted-foreground);}
.chip-list{display:flex;flex-direction:column;gap:.6rem;}
.chip{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-radius:.75rem;background:rgba(255,255,255,0.05);color:var(--muted-foreground);border:1px solid rgba(255,255,255,0.06);}
.chip .badge-primary{margin-right:6px;}

/* ========== Match / Service Finder ========== */
.match-page{background:radial-gradient(circle at 18% 12%,rgba(247,147,26,0.08),transparent 26%),radial-gradient(circle at 80% 8%,rgba(247,147,26,0.04),transparent 32%),#0a0a0b;}
.match-hero{position:relative;padding:4.75rem 0 3.25rem;overflow:hidden;}
.match-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,147,26,0.14) 0%,rgba(247,147,26,0.06) 28%,rgba(10,10,11,0.15) 56%,rgba(10,10,11,0.6) 100%);pointer-events:none;}
.match-hero .container{position:relative;z-index:1;}
.match-hero-title{font-size:2.8rem;font-weight:700;margin-bottom:.75rem;}
.match-subline{color:var(--muted-foreground);font-size:1.05rem;max-width:640px;margin:0 auto;}
.match-section{position:relative;padding:4.5rem 0 5.25rem;}
.match-section::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,0) 0%,rgba(10,10,11,0.55) 35%,rgba(10,10,11,0.9) 100%);pointer-events:none;}
.match-section .container{position:relative;z-index:1;}
.match-shell{background:radial-gradient(circle at 20% 20%,rgba(247,147,26,0.08),transparent 44%),#0f0f11;border:1px solid rgba(247,147,26,0.22);border-radius:1.75rem;max-width:880px;margin:0 auto;box-shadow:0 28px 70px rgba(0,0,0,0.48);padding:2.25rem;}
.match-progress{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:600;font-size:.95rem;letter-spacing:.01em;color:rgba(255,255,255,0.85);}
.match-progress-bar{position:relative;width:100%;height:8px;border-radius:999px;background:rgba(255,255,255,0.06);overflow:hidden;margin-top:.4rem;border:1px solid rgba(255,255,255,0.04);}
.match-progress-fill{position:absolute;left:0;top:0;height:100%;width:0%;background:linear-gradient(90deg,#f7931a,#f8a63f);transition:width .25s ease;}
.match-helper{margin:.85rem 0 1.25rem;color:var(--muted-foreground);font-size:.95rem;}
.match-questions{display:grid;gap:1.05rem;max-width:960px;margin:0 auto;}
.match-card{padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;}
.match-card-title{margin:0 0 .5rem;font-size:1.6rem;line-height:1.25;}
.match-card .match-subtext{color:var(--muted-foreground);margin:0 0 1.2rem;}
.match-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:.25rem;}
.match-option{position:relative;display:block;padding:1.15rem 1.25rem;border-radius:1.1rem;border:1px solid rgba(255,255,255,0.1);background:rgba(17,17,19,0.9);cursor:pointer;color:#f5f5f5;box-shadow:0 16px 40px rgba(0,0,0,0.35);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;}
.match-option:hover{border-color:rgba(247,147,26,0.35);background:rgba(22,22,25,0.95);}
.match-option.selected{border-color:#f7931a;background:linear-gradient(180deg,rgba(247,147,26,0.16),rgba(247,147,26,0.04));box-shadow:0 18px 48px rgba(247,147,26,0.24);}
.match-option input{display:none;}
.opt-check{position:absolute;top:14px;right:14px;width:22px;height:22px;border:2px solid rgba(255,255,255,0.35);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;}
.match-option.selected .opt-check{border-color:#f7931a;background:#f7931a;box-shadow:0 0 0 5px rgba(247,147,26,0.18);}
.match-option.selected .opt-check::after{content:"✓";font-size:.8rem;font-weight:700;color:#0b0b0b;line-height:1;}
.match-option .opt-label{display:block;max-width:95%;font-weight:700;line-height:1.5;color:#f5f5f5;}
.match-option .opt-help{color:var(--muted-foreground);font-size:.93rem;line-height:1.5;}
.match-actions{display:flex;gap:.75rem;justify-content:space-between;align-items:center;margin-top:1.5rem;}
.btn-block{width:100%;justify-content:center;}
.match-primary{border-radius:12px;padding:0.95rem 1.25rem;font-weight:700;background:linear-gradient(135deg,#f7931a,#f8a63f);color:#0a0a0a;border:1px solid rgba(247,147,26,0.6);box-shadow:0 16px 34px rgba(247,147,26,0.32);}
#match-next::after{content:"›";margin-left:.55rem;font-weight:800;transform:translateY(-1px);}
#match-next:disabled{opacity:.65;filter:saturate(.75);box-shadow:none;}
.match-ghost{border-radius:12px;padding:0.95rem 1.25rem;font-weight:600;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.14);color:#f5f5f5;transition:all .2s ease;}
.match-ghost:hover{border-color:rgba(247,147,26,0.45);color:#fff;}
.match-result.card-surface{margin-top:1.75rem;}
.match-result-card{border:1px solid rgba(247,147,26,0.28);background:radial-gradient(circle at 12% 12%,rgba(247,147,26,0.08),transparent 42%),rgba(14,14,16,0.96);border-radius:1.75rem;padding:2.25rem;text-align:center;box-shadow:0 26px 62px rgba(0,0,0,0.5);}
.match-result-icon{width:68px;height:68px;border-radius:50%;margin:0 auto 1.2rem;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 40%,rgba(247,147,26,0.18),rgba(247,147,26,0.12));border:1px solid rgba(247,147,26,0.35);box-shadow:0 18px 38px rgba(247,147,26,0.28);}
.match-result-icon svg{width:26px;height:26px;color:#f7931a;}
.match-result-kicker{color:var(--muted-foreground);margin:0 0 .35rem;}
.match-result-title{margin:0 0 .6rem;line-height:1.4;font-size:2rem;font-weight:700;}
.match-result-subline{margin:0 0 1.4rem;color:var(--muted-foreground);}
.match-reco-list{display:grid;gap:1.1rem;margin:1.25rem 0;}
.match-reco-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.2rem;border:1px solid rgba(255,255,255,0.08);border-radius:1.1rem;background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));box-shadow:0 16px 36px rgba(0,0,0,0.35);transition:border-color .2s ease,transform .2s ease;}
.match-reco-item:hover{border-color:rgba(247,147,26,0.45);transform:translateY(-1px);}
.match-reco-meta{display:flex;align-items:center;gap:.9rem;}
.match-reco-icon{width:46px;height:46px;border-radius:14px;background:rgba(247,147,26,0.14);display:flex;align-items:center;justify-content:center;font-size:1.35rem;box-shadow:0 12px 26px rgba(247,147,26,0.25);}
.match-reco-title{margin:0;font-weight:700;}
.match-reco-sub{margin:0;color:var(--muted-foreground);}
.match-reco-arrow{color:rgba(255,255,255,0.7);font-weight:700;}
.match-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.25rem;}
.match-cta-row .match-primary,
.match-cta-row .match-ghost{min-width:200px;text-align:center;justify-content:center;}
@media(max-width:960px){
  .match-hero{padding:3.75rem 0 3rem;}
  .match-shell{padding:1.65rem;}
}
.badge-primary{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:rgba(247,147,26,0.14);color:#f7931a;font-weight:700;font-size:.9rem;}

.example-section .example-card{min-height:220px;}
.example-grid--wide{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;max-width:1100px;margin:0 auto;}
.example-card--wide{background:rgba(20,20,22,0.9);border:1px solid rgba(255,255,255,0.08);border-radius:1rem;padding:1.25rem;box-shadow:0 12px 28px rgba(0,0,0,0.3);min-height:220px;}
.example-card--wide .example-icon{width:44px;height:44px;border-radius:12px;background:rgba(247,147,26,0.12);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#f7931a;margin-bottom:.75rem;}
.example-card--wide .example-tag{display:inline-block;padding:.3rem .8rem;border-radius:999px;background:rgba(247,147,26,0.12);color:#f7931a;font-weight:700;margin-bottom:.65rem;}
.example-card--wide p{margin:0;color:#f5f5f5;line-height:1.5;}
.deliverables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;max-width:980px;margin:0 auto;}
.deliverable-card{display:flex;gap:.75rem;align-items:flex-start;padding:1rem;border-radius:1rem;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);transition:border-color .2s ease,transform .2s ease;}
.deliverable-card:hover{border-color:rgba(247,147,26,0.35);transform:translateY(-2px);}
.deliverable-card h3{margin:0 0 .2rem;font-size:1.05rem;}
.deliverable-card p{margin:0;color:var(--muted-foreground);}
.deliverable-icon{width:44px;height:44px;border-radius:12px;background:rgba(247,147,26,0.14);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 18px rgba(247,147,26,0.2);}
.deliverable-icon svg{width:22px;height:22px;color:#f7931a;stroke:currentColor;}

.process-vertical{position:relative;padding-left:2.5rem;}
.process-line{position:absolute;left:14px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,rgba(247,147,26,0.8),rgba(247,147,26,0.1));}
.process-steps{display:flex;flex-direction:column;gap:1rem;}
.process-step{position:relative;display:flex;align-items:flex-start;gap:1rem;}
.step-badge{flex:0 0 32px;height:32px;border-radius:999px;background:rgba(247,147,26,0.14);color:#f7931a;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(247,147,26,0.25);}
.step-card{width:100%;}

.example-grid .example-card{position:relative;display:flex;flex-direction:column;gap:.35rem;overflow:hidden;}
.example-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(247,147,26,0.05),rgba(0,0,0,0));opacity:0;transition:opacity .3s ease;}
.example-card:hover::before{opacity:1;}
.example-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:1rem;padding:1.25rem;box-shadow:0 12px 30px rgba(0,0,0,0.25);}
.example-card .example-icon{width:48px;height:48px;border-radius:14px;background:rgba(247,147,26,0.14);display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.example-card .example-tag{display:inline-block;padding:.25rem .7rem;border-radius:999px;background:rgba(247,147,26,0.14);color:#f7931a;font-weight:700;font-size:.9rem;margin-top:.35rem;}

.faq-grid{display:grid;grid-template-columns:1fr;gap:1rem;max-width:960px;margin:0 auto;}
.faq-card{border:1px solid rgba(255,255,255,0.06);border-radius:1rem;padding:1rem 1.25rem;background:rgba(255,255,255,0.02);}
.faq-card summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-weight:600;}
.faq-card summary::-webkit-details-marker{display:none;}
.faq-card p{margin-top:.5rem;}
.faq-card[open]{border-color:rgba(247,147,26,0.35);}

.cta-panel{background:radial-gradient(circle at 20% 0%,rgba(247,147,26,0.16),transparent 52%),rgba(9,9,11,0.92);border:1px solid rgba(255,255,255,0.08);border-radius:1.25rem;padding:2.75rem 2rem;text-align:center;box-shadow:0 18px 42px rgba(0,0,0,0.4);}
.cta-panel h2{font-size:2rem;margin-bottom:.75rem;}
.cta-panel p{color:var(--muted-foreground);margin:0 auto 1.5rem;max-width:720px;}

.service-card--link{position:relative;overflow:hidden;}
.service-card__link{display:block;color:inherit;text-decoration:none;position:relative;height:100%;}
.service-card__arrow{position:absolute;right:16px;bottom:16px;color:#f7931a;font-weight:700;font-size:1.5rem;}
.service-card-grid{gap:1.5rem;}

.cases-page{background:#0b0b0b;}
.cases-hero{padding:4.5rem 0 3rem;background:radial-gradient(circle at 20% 0%,rgba(247,147,26,0.12),transparent 38%),#0b0b0b;text-align:center;}
.cases-hero h1{font-size:3rem;margin-bottom:.6rem;}
.cases-subtext{color:var(--foreground);font-size:1.05rem;margin:0 0 .35rem;}
.cases-subtext-muted{color:var(--muted-foreground);margin:0;}
.cases-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;max-width:960px;margin:2rem auto 0;}
.cases-stat-card{background:rgba(18,18,20,0.9);border:1px solid rgba(247,147,26,0.15);border-radius:12px;padding:1rem;box-shadow:0 10px 26px rgba(0,0,0,0.3);}
.cases-stat-icon{width:40px;height:40px;border-radius:10px;background:rgba(247,147,26,0.14);display:flex;align-items:center;justify-content:center;margin:0 auto .35rem;font-size:1.1rem;}
.cases-stat-number{font-weight:800;font-size:1.4rem;color:#f7931a;text-align:center;}
.cases-stat-label{color:var(--muted-foreground);font-size:.95rem;text-align:center;}
.cases-list-section{padding:2.5rem 0 4rem;}
.cases-list-grid{display:grid;gap:1.5rem;max-width:1180px;margin:0 auto;}
.case-feature-card{display:grid;grid-template-columns:1.05fr 1.2fr;gap:1rem;background:rgba(14,14,16,0.96);border:1px solid rgba(255,255,255,0.08);border-radius:20px;overflow:hidden;box-shadow:0 18px 48px rgba(0,0,0,0.38);}
@media(max-width:960px){.case-feature-card{grid-template-columns:1fr;}}
.case-feature-media{position:relative;min-height:220px;}
.case-feature-img{width:100%;height:100%;object-fit:cover;display:block;max-height:480px;}
.case-feature-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:rgba(247,147,26,0.1);color:#f7931a;font-weight:700;font-size:1.5rem;}
.case-feature-badge{position:absolute;top:12px;left:12px;background:#f7931a;color:#0b0b0b;padding:.35rem .75rem;border-radius:14px;font-weight:700;font-size:.9rem;box-shadow:0 10px 24px rgba(247,147,26,0.35);}
.case-feature-content{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;}
.case-feature-content h3{margin:0;font-size:1.5rem;}
.case-feature-meta{margin:0;color:var(--muted-foreground);}
.case-feature-summary{margin:0 0 .3rem;color:var(--foreground);}
.case-feature-section{margin-top:.4rem;}
.case-feature-label{font-weight:700;color:#f7931a;margin:0 0 .25rem;}
.case-feature-section p{margin:0;color:var(--foreground);}
.case-feature-results{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;}
.case-feature-results li{display:flex;gap:.5rem;align-items:flex-start;color:var(--foreground);}
.case-result-icon{color:#f7931a;flex-shrink:0;}
.case-feature-tags{display:flex;flex-wrap:wrap;gap:.5rem;}
.case-tech-tag{padding:.3rem .7rem;border-radius:999px;background:rgba(247,147,26,0.14);color:#f7931a;font-weight:700;font-size:.85rem;}
.case-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.65);}
.case-modal[hidden]{display:none;}
.case-modal__backdrop{position:absolute;inset:0;}
.case-modal__dialog{position:relative;z-index:1;width:90%;max-width:960px;max-height:90vh;background:#0f0f11;border:1px solid rgba(255,255,255,0.08);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,0.55);overflow:auto;}
.case-modal__media{position:relative;}
.case-modal__media img{width:100%;height:auto;max-height:420px;object-fit:cover;display:block;}
.case-modal__body{padding:1.6rem;display:flex;flex-direction:column;gap:1rem;}
.case-modal__body h3{margin:0;font-size:1.8rem;}
.case-modal__close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:50%;background:rgba(0,0,0,0.55);color:#fff;font-size:1.2rem;cursor:pointer;}
.modal-open{overflow:hidden;}

.sticky-cta{position:fixed;right:22px;bottom:22px;z-index:40;display:none;}
.sticky-cta.visible{display:block;}
.sticky-cta-btn{display:inline-flex;align-items:center;gap:.6rem;padding:0.95rem 1.25rem;border-radius:999px;background:linear-gradient(135deg,rgba(247,147,26,.9),rgba(247,147,26,.78));color:#0b0b0b;font-weight:700;box-shadow:0 14px 30px rgba(247,147,26,0.24);border:1px solid rgba(0,0,0,0.12);}
.sticky-cta-btn:hover{transform:translateY(-1px);box-shadow:0 18px 36px rgba(247,147,26,0.32);}
.sticky-cta-btn svg{width:20px;height:20px;color:#0b0b0b;stroke:currentColor;}

.service-visual-placeholder{width:100%;height:260px;border-radius:1rem;border:1px dashed rgba(255,255,255,0.08);background:rgba(255,255,255,0.02);}
.service-visual{width:100%;display:block;border-radius:1rem;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03);box-shadow:0 12px 30px rgba(0,0,0,0.25);}
.service-visual img{display:block;width:100%;height:400px;border-radius:1rem;object-fit:cover;}
.nav__globe:hover { opacity: 1; }

/* Accessibility helpers */
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.skip-link:focus{ left:1rem; top:1rem; clip:auto; width:auto; height:auto; padding:.5rem .75rem; background:#000; color:#fff; border-radius:.5rem; z-index:9999; }

/* ========== Hero ========== */
.hero-section{ position:relative; min-height:calc(100vh - 72px); padding-top:100px; padding-bottom:120px; display:flex; align-items:center; }
.hero-badge{ display:inline-block; margin-bottom:1.5rem; padding:.5rem 1.5rem; border:1px solid rgba(212,175,55,.3); border-radius:9999px; }
.hero-title{ font-size: 3rem; font-weight: 600; margin-bottom: 1.5rem; text-align: center; max-width: 26ch; margin-left: auto; margin-right: auto; white-space: normal; background: linear-gradient(to right, var(--foreground), var(--primary), var(--foreground)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
@media (min-width:768px){ .hero-title{ font-size: 3.5rem; max-width: 30ch; } }
.hero-subtitle{ font-size:1.25rem; color:var(--primary); margin-bottom:1rem; }
@media (min-width:768px){ .hero-subtitle{ font-size:1.5rem; } }
.hero-description{ color:var(--muted-foreground); max-width:42rem; margin:0 auto 3rem; }
.hero-cta{ display:inline-flex; align-items:center; gap:.5rem; padding:1rem 2rem; background:var(--primary); color:var(--primary-foreground); border-radius:9999px; border:none; cursor:pointer; font-weight:500; transition:all .2s; }
.hero-cta:hover{ background-color:rgba(212,175,55,.9); }
.hero-orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.hero-orb{position:absolute;border-radius:9999px;filter:blur(80px);}
.hero-orb-1{top:20%;left:18%;width:22rem;height:22rem;background:rgba(247,147,26,0.2);}
.hero-orb-2{bottom:16%;right:18%;width:22rem;height:22rem;background:rgba(247,147,26,0.12);}
.scroll-indicator{ position: absolute; left: 50%; bottom: 100px; transform: translateX(-50%); z-index: 3; pointer-events: none; }
.scroll-indicator-border{ width:1.5rem; height:2.5rem; border:2px solid rgba(212,175,55,.5); border-radius:9999px; display:flex; align-items:flex-start; justify-content:center; padding:.5rem; }
.scroll-indicator-dot{ width:.25rem; height:.5rem; border-radius:9999px; background:var(--primary); display:block; animation:scroll-bounce 2s infinite; will-change:transform; }
@keyframes scroll-bounce{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(6px);} }

/* ========== Sections ========== */
.section{ padding:6rem 0; }
.section-alt{ padding:6rem 0; background-color: rgba(26,26,26,.5); }
.section-title{ font-size:2.5rem; margin-bottom:1rem; }
@media (min-width:768px){ .section-title{ font-size:3rem; } }
.vision-text{ font-size:1.5rem; color:var(--primary); max-width:48rem; margin:0 auto; }

/* ========== Value / Service Cards ========== */
.value-card,.service-card{ background:var(--card); border:1px solid var(--border); border-radius:1rem; padding:2rem; transition:all .3s; }
.value-card:hover,.service-card:hover{ border-color:rgba(212,175,55,.5); }
.value-icon{ width:4rem; height:4rem; background:rgba(212,175,55,.1); border-radius:1rem; display:flex; align-items:center; justify-content:center; margin-bottom:1.5rem; transition:background-color .3s; }
.value-card:hover .value-icon{ background:rgba(212,175,55,.2); }
.service-icon{ width:3.5rem; height:3.5rem; background:rgba(212,175,55,.1); border-radius:.75rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background-color .3s; }
.service-card:hover .service-icon{ background:rgba(212,175,55,.2); }
.feature-tags{ display:flex; flex-wrap:wrap; gap:.5rem; }
.feature-tag{ padding:.25rem .75rem; background:var(--secondary); border:1px solid var(--border); border-radius:9999px; font-size:.875rem; }

/* ========== Case Study Cards ========== */
.case-card { background: rgba(20, 20, 20, 0.75); border: 1px solid var(--border); border-radius: 1.25rem; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; backdrop-filter: blur(12px); position: relative; }
.case-card:hover { border-color: rgba(247, 147, 26, 0.6); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.55); transform: translateY(-6px); }
.case-image { position: relative; height: 14rem; overflow: hidden; }
.case-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.case-card:hover .case-img { transform: scale(1.05); }
.case-badge { position: absolute; top: 1rem; left: 1rem; }
.case-rows { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 1.5rem; }
.case-row { display: flex; align-items: flex-start; gap: 1rem; padding: 0.75rem 0.9rem; border-radius: 0.75rem; background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.06); }
.case-row-icon-wrap { width: 24px; height: 24px; border-radius: 999px; background-color: rgba(247, 147, 26, 0.10); border: 1px solid rgba(247, 147, 26, 0.25); flex-shrink: 0; background-repeat: no-repeat; background-position: center; background-size: 14px 14px; }
.case-row--client .case-row-icon-wrap { background-image: url("../icons/case-client.fbecf669b816.svg"); }
.case-row--problem .case-row-icon-wrap { background-image: url("../icons/case-problem.3f0c5606ab93.svg"); }
.case-row--result .case-row-icon-wrap { background-image: url("../icons/case-result.07647a857235.svg"); }
.case-row-label { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.7; margin-bottom: 0.15rem; }
.case-row-text{margin:0;}
.case-row--problem .case-row-text{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.badge-primary { padding: 0.25rem 0.9rem; background: rgba(247, 147, 26, 0.14); border: 1px solid rgba(247, 147, 26, 0.5); color: var(--primary); border-radius: 999px; font-size: 0.8rem; backdrop-filter: blur(8px); }
.view-more-btn { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--primary); background: none; border: none; cursor: pointer; padding: 0; font-weight: 500; transition: gap 0.2s ease, opacity 0.2s ease; }
.view-more-btn:hover{gap:0.6rem;opacity:0.8;}
.case-list{display:flex;flex-direction:column;gap:4rem;}
.case-hero,.page-hero{padding:3.5rem 0 3rem;background:linear-gradient(to bottom,rgba(247,147,26,.3),rgba(10,10,10,1));margin-bottom:2.5rem;}
.case-hero-title,.page-hero-title{font-size:2.5rem;font-weight:500;margin-bottom:.75rem;}
.case-hero-subtitle,.page-hero-subtitle{color:var(--muted-foreground);font-size:1.05rem;}
@media(max-width:960px){.case-hero,.page-hero{padding:3.2rem 0 2.4rem;margin-bottom:2rem;}.case-hero-title,.page-hero-title{font-size:2.1rem;}}
.case-cta-wrap{margin-top:5rem;background:linear-gradient(to top,rgba(247,147,26,.35),rgba(10,10,10,1));padding:4rem 0 5rem;}
.case-cta-inner{text-align:center;max-width:720px;margin:0 auto;}
.case-cta-title{font-size:2rem;font-weight:500;margin-bottom:1rem;}
.case-cta-text{color:var(--muted-foreground);margin-bottom:2rem;font-size:1.05rem;}
.case-cta-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.25rem;border-radius:999px;border:none;cursor:pointer;font-weight:500;background-image:linear-gradient(to right,rgba(247,147,26,.9),rgba(247,147,26,.78));color:var(--primary-foreground);box-shadow:0 14px 35px rgba(0,0,0,.5);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;}
.case-cta-btn:hover{transform:translateY(-2px);box-shadow:0 20px 45px rgba(0,0,0,.6);opacity:.95;}
.case-cta-btn .icon-sm{width:18px;height:18px;}
@media(max-width:960px){.case-cta-wrap{margin-top:3rem;padding:3.5rem 0 4rem;}.case-cta-title{font-size:1.75rem;}}
.case-row-outer{display:grid;grid-template-columns:minmax(0,1fr) 520px;align-items:center;gap:4rem;}
.case-row-outer.layout-left .case-card-col{order:1;max-width:640px;width:100%;}
.case-row-outer.layout-left .case-icon-col{order:2;}
.case-row-outer.layout-right .case-card-col{order:2;max-width:640px;width:100%;}
.case-row-outer.layout-right .case-icon-col{order:1;}
.case-icon-col{display:flex;justify-content:center;align-items:center;}
.case-icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;perspective:900px;transform-style:preserve-3d;transition:transform .5s ease-out,filter .4s ease-out;will-change:transform,filter;}
.case-icon-wrapper:hover{filter:drop-shadow(0 0 26px rgba(247,147,26,.45));}
.case-icon-illustration{width:100%;max-width:480px;height:auto;opacity:.96;transform-origin:center center;animation:caseIconOrganicFloat 7.5s cubic-bezier(.37,.01,.28,1) infinite alternate,caseIconOrganicRotate 9s ease-in-out infinite alternate,caseIconOrganicScale 6.2s ease-in-out infinite alternate,caseIconGlowPulse 5.4s ease-in-out infinite alternate;}
@media(max-width:960px){.case-row-outer{grid-template-columns:1fr;}.case-row-outer.layout-right .case-card-col,.case-row-outer.layout-right .case-icon-col{order:unset;}}
@media(max-width:960px){.case-icon-illustration{width:100%; max-width:300px;}}
@media(max-width:600px){.case-icon-illustration{width:100%; max-width:220px;}}

/* ========== About ========== */
.about-intro{background:radial-gradient(circle at top,rgba(247,147,26,.18),transparent 60%),rgba(10,10,10,.96);border-radius:1.25rem;padding:3rem 2.5rem;margin:0 auto 3rem;max-width:60rem;text-align:center;box-shadow:0 18px 45px rgba(0,0,0,.65);}
.about-intro-text{font-size:1.25rem;line-height:1.6;color:var(--muted-foreground);margin-bottom:0;}
.about-principle{text-align:center;}
.principle-icon{ width:4rem; height:4rem; background:rgba(212,175,55,.1); border-radius:1rem; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; }
.about-commitment{ background:var(--card); border:1px solid var(--border); border-radius:1rem; padding:2rem; text-align:center; }

/* ========== Contact ========== */
.contact-form-container{ background:var(--card); border:1px solid var(--border); border-radius:1rem; padding:2rem; }
@media (min-width:768px){ .contact-form-container{ padding:3rem; } }
.input-icon{ position:absolute; left:.75rem; top:.875rem; width:1.25rem; height:1.25rem; color:var(--muted-foreground); }
.form-input,.form-textarea,.contact-select{ width:100%; padding:1rem 1rem; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.12); border-radius:.75rem; color:var(--foreground); font-size:1rem; font-family:inherit; transition:border-color .2s, box-shadow .2s; margin-top:.35rem; }
.form-textarea{ resize:none; }
.form-input:focus,.form-textarea:focus,.contact-select:focus{ outline:none; border-color:#f7931a; box-shadow:0 0 0 2px rgba(247,147,26,0.25); }
.contact-info{ margin-top:2rem; padding-top:2rem; border-top:1px solid var(--border); text-align:center; }
.contact-email{ color:var(--primary); text-decoration:none; display:inline-flex; align-items:center; gap:.5rem; transition:text-decoration .2s; }
.contact-email:hover{ text-decoration:underline; }
.page-hero--compact {padding-bottom: 1rem !important;margin-bottom: 0.5rem !important;}
.form-intro h2{margin:0 0 .35rem;font-size:1.75rem;}
.form-intro p{margin:0 0 1.25rem;color:var(--muted-foreground);}

.contact-hero{position:relative;padding:5rem 0 3rem;overflow:hidden;background:#0a0a0b;}
.contact-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,147,26,0.18) 0%,rgba(247,147,26,0.12) 22%,rgba(247,147,26,0.08) 38%,rgba(10,10,11,0) 70%,rgba(10,10,11,0) 100%);pointer-events:none;}
.contact-hero-overlay{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 18%,rgba(247,147,26,0.14),transparent 48%),radial-gradient(circle at 82% 12%,rgba(247,147,26,0.12),transparent 52%);}
.contact-hero-inner{text-align:center;max-width:760px;margin:0 auto;position:relative;z-index:1;}
.contact-hero-badge{display:inline-block;padding:.5rem 1.25rem;border:1px solid rgba(247,147,26,0.35);border-radius:999px;background:rgba(247,147,26,0.08);color:#f7931a;font-weight:700;letter-spacing:.08em;margin-bottom:1rem;}
.contact-hero-title{font-size:3rem;margin-bottom:.75rem;}
.contact-hero-subtitle{color:var(--muted-foreground);font-size:1.1rem;max-width:640px;margin:0 auto;}
.contact-section{padding:4rem 0 5rem;background:#0a0a0b;}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.25rem;max-width:1100px;margin:0 auto;}
@media(max-width:960px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);border-radius:1.25rem;padding:2.25rem;box-shadow:0 18px 36px rgba(0,0,0,0.35);}
.contact-right{display:flex;flex-direction:column;gap:0.9rem;align-items:stretch;}
.contact-info-card,
.contact-why-card{width:100%;}
.contact-info-card{background:linear-gradient(180deg,rgba(247,147,26,0.08),rgba(247,147,26,0.03));border:1px solid rgba(255,255,255,0.06);border-radius:1.25rem;padding:2rem;box-shadow:0 18px 36px rgba(0,0,0,0.35);}
.contact-info-card h3{margin:0 0 .35rem;font-size:1.35rem;}
.contact-list{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1rem;}
.contact-list li{display:flex;gap:.75rem;align-items:flex-start;}
.contact-icon{width:40px;height:40px;border-radius:12px;background:rgba(247,147,26,0.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-icon svg{width:22px;height:22px;color:#f7931a;stroke:currentColor;}
.contact-label{font-weight:700;}
.contact-link{color:var(--foreground);opacity:.9;}
.contact-why-card{margin-top:0;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);border-radius:1.25rem;padding:2rem;box-shadow:0 14px 32px rgba(0,0,0,0.32);}
.contact-why-card h3{margin:0 0 .75rem;font-size:1.25rem;color:#f7931a;}
.contact-why-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;color:var(--foreground);}
.contact-why-icon{display:inline-block;width:18px;text-align:center;color:#f7931a;margin-right:.5rem;}

/* ========== Footer (Figma-like, with icons) ========== */
.footer{ background:radial-gradient(circle at 20% 0%,rgba(247,147,26,0.06),transparent 36%),#0b0b0b; border-top:1px solid var(--border); padding:64px 0 32px; }
.footer__container{ max-width:1200px; margin:0 auto; padding:0 1rem; }
.footer__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:32px; align-items:start; }
.footer__brand{ display:inline-flex; align-items:center; gap:12px; margin-bottom:12px; text-decoration:none; }
.footer__logo-pill{ width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,rgba(247,147,26,0.9),rgba(247,147,26,0.78)); display:flex; align-items:center; justify-content:center; font-weight:700; color:#0b0b0b; letter-spacing:.08em; }
.footer__logo-img{ width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,0.04); padding:6px; border:1px solid rgba(255,255,255,0.06); }
.footer__brand-word{ text-transform:lowercase; letter-spacing:.08em; font-weight:700; color:var(--foreground); }
.footer__title{ margin:0 0 12px; font-weight:600; color:var(--foreground); }
.footer__list{ list-style:none; padding:0; margin:0; display:grid; gap:.5rem; }
.footer__link{ color:var(--foreground); text-decoration:none; opacity:.85; transition:color .2s, opacity .2s; }
.footer__link:hover{ color:var(--primary); opacity:1; }
.footer__link--icon{ display:inline-flex; align-items:center; gap:8px; }
.icon-sm{ width:18px; height:18px; flex:0 0 18px; color:currentColor; }
.footer__bottom{ margin-top:32px; padding-top:20px; border-top:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:.95rem; }
.footer__bottom-links{display:flex;gap:16px;align-items:center;}
@media (max-width:1024px){ .footer__grid{ grid-template-columns:1fr; gap:24px; text-align:center; } .footer__brand{ justify-content:center; } .footer__bottom{ flex-direction:column; gap:12px; } }
@media (min-width:1180px){
  .footer__grid{grid-template-columns:1.5fr 1.25fr .9fr .85fr 1fr; gap:40px;}
}

/* ========== Buttons (shared) ========== */
.btn-primary{ background:var(--primary); color:var(--primary-foreground); border:none; padding:1rem 2rem; border-radius:9999px; cursor:pointer; font-weight:500; transition:all .2s; display:inline-flex; align-items:center; justify-content:center; }
.btn-primary:hover{ background-color:rgba(212,175,55,.9); }
.btn-primary:focus,
.btn-primary:focus-visible{ outline:none; box-shadow:none; }
.btn-ghost{ background:none; border:none; color:var(--foreground); cursor:pointer; padding:.5rem .75rem; border-radius:.375rem; transition:background-color .2s; display:inline-flex; align-items:center; }
.btn-ghost:hover{ background-color:var(--secondary); }
.btn-sm{ padding:.375rem .625rem; font-size:.875rem; }
.icon{ width:1rem; height:1rem; } .icon-lg{ width:1.75rem; height:1.75rem; }

/* ========== Booking Page ========== */
.booking-page{padding-top:3rem;padding-bottom:3rem;}
.booking-header{max-width:760px;margin:0 auto 2rem;}
.booking-title{font-size:3rem;margin-bottom:.25rem;}
.booking-subtitle{color:#f7931a;font-weight:700;margin:0 0 .6rem;}
.booking-description{color:var(--muted-foreground);font-size:1.05rem;margin:0;}
.booking-grid{display:grid;grid-template-columns:1fr;gap:0.8rem;max-width:1280px;margin:0 auto;}
@media(min-width:1024px){.booking-grid{grid-template-columns:1.2fr 1.8fr;gap:1rem;align-items:start;}}
.booking-left{display:grid;gap:1.2rem;max-width:400px;}
.booking-card{background:rgba(18,18,20,0.92);border:1px solid rgba(255,255,255,0.08);border-radius:18px;padding:1.5rem;box-shadow:0 18px 40px rgba(0,0,0,0.35);}
.booking-card h3{margin:0 0 1rem;font-size:1.15rem;}
.booking-list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem;color:var(--foreground);}
.booking-list li{display:flex;gap:.7rem;align-items:center;font-size:1rem;}
.booking-icon{width:24px;height:24px;border-radius:50%;background:rgba(247,147,26,0.12);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#f7931a;}
.booking-icon svg{width:14px;height:14px;}
.booking-steps{list-style:none;margin:0;padding:0;display:grid;gap:.95rem;}
.booking-steps li{display:flex;gap:.7rem;align-items:flex-start;}
.step-icon{width:30px;height:30px;border-radius:10px;background:rgba(247,147,26,0.14);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#f7931a;}
.step-icon svg{width:16px;height:16px;}
.step-title{font-weight:700;font-size:1rem;}
.step-text{color:var(--muted-foreground);font-size:.95rem;}
.booking-form-card{background:rgba(16,16,18,0.96);border:1px solid rgba(255,255,255,0.08);border-radius:18px;padding:2rem;box-shadow:0 18px 42px rgba(0,0,0,0.4);}
.booking-form-card h3{margin:0 0 1rem;font-size:1.3rem;}
.booking-form > *+*{margin-top:1rem;}
.form-input,.contact-select,.form-textarea{background:rgba(24,24,28,0.65);border:1px solid rgba(255,255,255,0.08);}
.form-input:focus,.contact-select:focus,.form-textarea:focus{border-color:#f7931a;}
.form-label{color:var(--foreground);font-weight:600;}
.req{color:#f7931a;}

/* ========== Toasts ========== */
.toast-container{position:fixed;top:96px;right:24px;z-index:1100;display:flex;flex-direction:column;gap:.5rem;}
.toast{ background:var(--card); border:1px solid var(--border); border-radius:.5rem; padding:1rem 1.5rem; box-shadow:0 10px 15px -3px rgba(0,0,0,.3); animation:slideIn .3s ease-out; }
.toast.success{ border-color:var(--primary); } .toast.error{ border-color:#d4183d; }
@keyframes slideIn{ from{ transform:translateX(100%); opacity:0; } to{ transform:translateX(0); opacity:1; } }

/* ========== Animations / On-Scroll ========== */
.animate-fade-in{animation:fadeIn .8s ease-out;}
.animate-fade-in-delay{animation:fadeIn .8s ease-out .5s both;}
.animate-fade-in-delay-2{animation:fadeIn .8s ease-out .7s both;}
.animate-fade-in-late{animation:fadeIn 1s ease-out 1.5s both;}
.animate-slide-up{animation:slideUp .8s ease-out .3s both;}
.animate-slide-up-delay{animation:slideUp .8s ease-out .9s both;}
.animate-scale-in{animation:scaleIn 1s ease-out .2s both;}
.animate-pulse{animation:pulse 3s ease-in-out infinite;}
.delay-1000{animation-delay:1s;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes slideUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes scaleIn{from{opacity:0;transform:scale(.9);}to{opacity:1;transform:scale(1);}}
@keyframes pulse{0%{transform:scale(1);opacity:1;}50%{transform:scale(1.04);opacity:.75;}100%{transform:scale(1);opacity:1;}}
@keyframes caseIconOrganicFloat{0%{transform:translateY(4px)translateX(-2px);}25%{transform:translateY(-14px)translateX(3px);}55%{transform:translateY(-6px)translateX(-6px);}80%{transform:translateY(10px)translateX(4px);}100%{transform:translateY(-8px)translateX(-2px);}}
@keyframes caseIconOrganicRotate{0%{transform:rotate(-1deg);}50%{transform:rotate(1.8deg);}100%{transform:rotate(-0.6deg);}}
@keyframes caseIconOrganicScale{0%{transform:scale(1);}50%{transform:scale(1.035);}100%{transform:scale(1.01);}}
@keyframes caseIconGlowPulse{0%{filter:drop-shadow(0 0 4px rgba(247,147,26,.10));}40%{filter:drop-shadow(0 0 22px rgba(247,147,26,.32));}100%{filter:drop-shadow(0 0 8px rgba(247,147,26,.18));}}

/* Scroll-triggered animations with stagger */
.fade-in-on-scroll{ opacity:0; transform:translateY(30px); transition: opacity .6s ease-out, transform .6s ease-out; transition-delay: calc(var(--i,0) * 120ms); }
.fade-in-on-scroll.visible{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){ .fade-in-on-scroll{ transition:none; transform:none; } }

/* ========== Responsive Type tweaks ========== */
@media (max-width:767px){ .hero-title{ font-size:2.5rem; } .section-title{ font-size:2rem; } h3{ font-size:1.25rem; } }

/* Logo handling – safe defaults (always show any provided variant).
   We only swap if you add theme classes on <body>. */
.nav__logo,
.nav__logo--light,
.nav__logo--dark {display: inline-block;height: 44px;width: auto;}

/* Optional manual theme swap (use only if both assets exist) */
body.theme-dark  .nav__logo--light { display: none; }
body.theme-dark  .nav__logo--dark  { display: inline-block; }
body.theme-light .nav__logo--light { display: inline-block; }
body.theme-light .nav__logo--dark  { display: none; }

/* Weißes Globe-Icon wie in Figma */
.nav__globe{
  color:#ffffff;             /* rein weiß */
  opacity:.9;
  margin-right: 6px;
  flex: 0 0 auto;
}
.nav__globe:hover{ opacity:1; }

/* Sprach-Pill perfekt mittig (Chrome/Firefox) */
.lang-switch select{
  min-width: 80px;           /* genug Platz für DE/EN */
  text-align: center;
  text-align-last: center;   /* Chrome */
  -moz-text-align-last: center; /* Firefox */
  font-weight: 500;
}

/* === Service Cards: exaktes Icon/Titel-Alignment === */

/* Gesamte Karte bleibt flexibel, Inhalt in Säule */
.service-card{
  display: flex;
  flex-direction: column;
  gap: 1rem;                  /* konsistenter Abstand */
}

/* Kopfzeile: Icon + Titel auf einer Linie, perfekt zentriert */
.service-head{
  display: flex;
  align-items: center;        /* vertikale Zentrierung */
  gap: 14px;                  /* Abstand Icon ↔ Titel */
  margin-bottom: .25rem;      /* minimaler „Atemraum“ */
}

/* Icon-Box mit fixen Maßen – verhindert Springen */
.service-icon{
  flex: 0 0 56px;             /* exakt gleich groß */
  width: 56px;
  height: 56px;
  border-radius: .75rem;
  background-color: rgba(212,175,55,.10);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* SVGs nicht inline-baseline-rendern lassen (kein Subpixel-Versatz) */
.service-icon svg,
.service-icon img{display: block;width: 24px;height: 24px;}

/* Titel ohne Zusatzabstände/baseline-Drift */
.service-title{
  margin: 0;
  padding: 0;
  line-height: 1.15;          /* kompaktes, ruhiges Schriftbild */
  letter-spacing: 0;          /* kein Drift durch Tracking */
  transform: translateY(.5px);/* subtiles optisches „Baseline“-Tuning */
}

/* Beschreibungstext konsistent unter dem Kopf */
.service-text{margin: 0;color: var(--muted-foreground);}

/* Chips starten immer auf gleicher Höhe, sauber umbrechend */
.feature-tags{
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: flex-start;     /* keine vertikale Mittelung der Zeilen */
  margin-top: .25rem;          /* leichte Entkopplung vom Text */
}

/* Optional: gleiches Konzept für Value-Cards */
.value-card .value-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:.25rem;
}

.value-card .value-icon{
  flex:0 0 56px;
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  background-color: rgba(212,175,55,.10);
  border-radius:.75rem;
}

.value-card .value-icon svg{display:block;width:24px;height:24px;}

.value-card h3{margin:0;line-height:1.15;transform:translateY(.5px);}

.kpi-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0.75rem; margin-top: 1rem;}
.kpi-badge {border: 1px solid var(--border); border-radius: var(--radius); padding: 0.75rem; text-align: center; font-weight: 600; background: var(--card); color: var(--foreground);}

/* === Mobile Tweaks (übersteuert bestehende Styles) === */
/* === Mobile Layout Tweaks === */
:root { --sp: 16px; }

/* Very small screens: iPhone SE etc. */
@media (max-width: 420px) { .site-header { position: fixed; top: 0; left: 0; right: 0; padding: 0 var(--sp); } .container.nav { padding-left: 0; padding-right: 0; } .nav__logo { height: 28px; } .hero-section { padding: 112px var(--sp) 80px; min-height: auto; } .hero-title { font-size: 28px; line-height: 1.2; letter-spacing: 0; margin: 16px 0 8px; max-width: 24ch; white-space: normal; } .hero-subtitle, .hero-description { font-size: 15px; line-height: 1.6; max-width: 34ch; margin-bottom: 20px; } .hero-cta, .btn-primary { margin-bottom: 40px; } .scroll-indicator { bottom: 24px; } .btn, .button, .cta { padding: 12px 18px; font-size: 15px; border-radius: 24px; } .section { padding: 4rem 0; } .section .container { padding-left: var(--sp); padding-right: var(--sp); } .value-card, .service-card { padding: 1.5rem; } }

/* Normal kleine Tablets/Phones */
@media (min-width: 421px) and (max-width: 768px) { .hero-title { font-size: 36px; white-space: normal; } .hero-subtitle, .hero-description { font-size: 16px; } }

/* === Mobile Navigation Overlay (Burger) === */

/* Verhindert horizontales Scrollen überall */
html,
body {max-width: 100%;overflow-x: hidden;}

/* Basis-Transition für das Nav-Overlay */
.nav__links {transition: transform 0.25s ease-out, opacity 0.25s ease-out;}
@media (max-width: 768px) {
  .nav__links { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 1rem 1.25rem 1.5rem; background: rgba(0, 0, 0, 0.98); flex-direction: column; align-items: flex-start; gap: 1rem; border-bottom: 1px solid var(--border); opacity: 0; transform: translateY(-8px); }
  .nav__links.nav__links--open { display: flex; opacity: 1; transform: translateY(0); }
  .nav__links a { width: 100%; padding: 0.35rem 0; font-size: 1rem; }
  .nav__dropdown-menu { position: static; display: flex; background: transparent; border: none; border-radius: 0; padding: 0 0 0 0.5rem; box-shadow: none; }
  .nav__dropdown-menu a { padding: 0.25rem 0; color: var(--muted-foreground); }
  .nav__toggle { display: inline-flex; }
  body.no-scroll { overflow: hidden; }
}

/* ========== About (Page Hero, Intro, Values, Founder, Steps, Promise) ========== */
.about-intro{background:radial-gradient(circle at top,rgba(247,147,26,.18),transparent 60%),rgba(10,10,10,.96);border-radius:1.25rem;padding:3rem 2.5rem;margin:0 auto 3rem;max-width:60rem;text-align:center;box-shadow:0 18px 45px rgba(0,0,0,.65);}
.about-intro-text{font-size:1.25rem;line-height:1.6;color:var(--muted-foreground);margin-bottom:0;}
.about-principle{text-align:center;}
.principle-icon{width:4rem;height:4rem;background:rgba(212,175,55,.1);border-radius:1rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;}
.about-commitment{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:2rem;text-align:center;}

.about-hero{position:relative;padding:5rem 0 4rem;overflow:hidden;background:#0a0a0b;}
.about-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,147,26,0.18) 0%,rgba(247,147,26,0.12) 24%,rgba(247,147,26,0.05) 46%,rgba(10,10,11,0) 78%,rgba(10,10,11,0) 100%);pointer-events:none;}
.about-hero-overlay{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 20%,rgba(247,147,26,0.14),transparent 52%),radial-gradient(circle at 78% 18%,rgba(247,147,26,0.12),transparent 55%);}
.about-hero-inner{text-align:center;max-width:860px;margin:0 auto;position:relative;z-index:1;}
.about-badge{display:inline-block;padding:.45rem 1.1rem;border:1px solid rgba(247,147,26,0.35);border-radius:999px;background:rgba(247,147,26,0.08);color:#f7931a;font-weight:700;letter-spacing:.08em;margin-bottom:1rem;}
.about-hero-title{font-size:3rem;margin-bottom:.75rem;}
.about-hero-subtitle{color:var(--muted-foreground);font-size:1.1rem;max-width:640px;margin:0 auto;}
.about-section{padding:3.5rem 0;}
.about-section-title{font-size:1.9rem;}
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;align-items:stretch;}
.about-page .value-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);border-radius:1.1rem;box-shadow:0 18px 36px rgba(0,0,0,0.38);min-height:320px;display:flex;flex-direction:column;gap:1.1rem;}
.about-page .value-card:hover{border-color:rgba(247,147,26,.35);}
.about-page .promise-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);border-radius:1.25rem;padding:2.5rem;box-shadow:0 14px 32px rgba(0,0,0,0.32);}

.page-hero{padding:4rem 0 2rem;}
.page-hero .container{text-align:center;}
.page-hero-title{font-size:2.25rem;font-weight:500;margin-bottom:1rem;}
.page-hero-subtitle{font-size:1.05rem;color:var(--muted-foreground);max-width:40rem;margin:0 auto;}

/* Values + Steps */
.about-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;align-items:start;}
.values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;}
.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;}
@media (max-width:1024px){.values-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:768px){.values-grid,.steps-grid{grid-template-columns:1fr;}}

.value-head{display:flex;align-items:center;gap:1.25rem;margin-bottom:.75rem;}
.value-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:.75rem;background:rgba(247,147,26,.08);}
.value-head h3{margin:0;display:flex;align-items:center;line-height:1.15;transform:translateY(.5px);}
.about-values-grid .value-card p{margin:0;color:var(--muted-foreground);}

/* Prozess-Karten: Titel exakt mittig zur Zahl/Icon ausrichten */
.section-alt .value-head{align-items:center;}
.section-alt .value-head h3{transform:none;display:flex;align-items:center;}
.section-alt .value-icon{align-self:center;}

/* Vision-Karten: Titel bündig mittig zum Icon */
.vision-values .value-head{align-items:center;margin-bottom:.5rem;}
.vision-values .value-head h3{
  margin:0;
  line-height:1.2;
  transform:none;
  display:flex;
  align-items:center;
}
.vision-values .value-icon{
  align-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Founder-Block */
.about-founder{display:flex;justify-content:center;padding:6rem 1rem;}
.founder-card{max-width:950px;width:100%;margin-inline:auto;background:rgba(255,255,255,0.03);border-radius:1rem;border:1px solid var(--border);padding:2.75rem 3.25rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.45);}
.about-founder-title,.founder-card h2{text-align:center;font-size:1.75rem;margin-bottom:1rem;}
.about-founder-kicker,.founder-card .founder-subtitle{text-align:center;font-size:.95rem;color:var(--muted-foreground);margin-bottom:2rem;}
.about-founder-text,.founder-card p{text-align:center;font-size:1.05rem;line-height:1.7;margin-bottom:1.3rem;}

/* Work Steps */
.work-steps-grid{margin-top:2.5rem;gap:2rem;}
.work-step-card{background:#0d0d0d;border:1px solid rgba(247,147,26,.25);border-radius:1rem;padding:1.75rem 1.5rem;}
.work-step-number{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:999px;border:1px solid var(--border);font-size:1rem;margin-bottom:.75rem;}
.work-step-card h3{margin-bottom:.5rem;font-size:1.15rem;}
.work-step-card p{color:var(--muted-foreground);font-size:.95rem;margin:0;}

/* Promise Card */
.promise-card{background:radial-gradient(circle at top,rgba(247,147,26,.18),transparent 52%),#050505;border-radius:1.25rem;border:1px solid var(--border);padding:2.75rem 2.25rem;text-align:center;box-shadow:0 22px 55px rgba(0,0,0,.7);}
.promise-card h2{font-size:1.75rem;margin-bottom:1rem;}
.promise-card p{color:var(--muted-foreground);max-width:32rem;margin:0 auto;font-size:.98rem;}

/* ========== Kontakt auf Home ========== */

/* Quick-Check */
.quick-check-card{background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:1rem;padding:1.75rem;}
.quick-check-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;}
.qc-option{display:flex;gap:.5rem;align-items:flex-start;color:var(--muted-foreground);font-size:.98rem;}
.qc-option input{margin-top:.25rem;}
.quick-check-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem;}
.quick-check-result{border-top:1px solid var(--border);padding-top:1rem;margin-top:1rem;}

/* Sticky CTA */
.contact-cta-section{
  padding:6rem 1rem;
  border-radius:1rem;
  margin-top:4rem;
  margin-bottom:4rem;
  background:
    radial-gradient(
      circle at top,
      rgba(247,147,26,0.25) 0%,
      rgba(247,147,26,0.10) 30%,
      rgba(0,0,0,0.0) 60%
    ),
    linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(36,16,2,0.35) 40%,
      rgba(20,10,2,0.55) 55%,
      rgba(10,10,10,1) 100%
    );
}.cta-title{font-size:2.5rem;margin-bottom:1rem;font-weight:600;}
.cta-subtitle{font-size:1.15rem;color:var(--muted-foreground);margin-bottom:2rem;}
.cta-button{margin-bottom:1.5rem;padding:.9rem 1.75rem;font-size:1rem;}
.cta-note{font-size:.95rem;color:var(--muted-foreground);}

/* ========== Impressum & Privacy ========== */
.legal-page{padding-bottom:4rem;}
.legal-section{padding:2.5rem 0;}
.legal-card{max-width:1100px;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:3rem 4rem;box-shadow:0 25px 55px rgba(0,0,0,.55);}
.legal-heading{font-size:1.5rem;font-weight:500;margin-bottom:.75rem;}
.legal-subheading{font-size:1.1rem;font-weight:500;margin-top:1.5rem;margin-bottom:.4rem;}
.legal-text{font-size:.98rem;line-height:1.6;color:var(--muted-foreground);margin-bottom:1rem;}
.legal-text strong{color:var(--foreground);font-weight:500;}
.legal-meta{font-size:.9rem;color:var(--muted-foreground);margin-bottom:1.25rem;}
.legal-list{margin:.25rem 0 1rem 1.2rem;padding:0;list-style:disc;font-size:.98rem;line-height:1.6;color:var(--muted-foreground);}
.legal-list li{margin-bottom:.25rem;}
@media(max-width:640px){.legal-card{padding:1.5rem 1.25rem;}}
.legal-page .container{max-width:1200px !important;width:100%;}
.legal-card{max-width:1200px !important;}

.form-messages{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:0.75rem;}
.form-message{padding:0.9rem 1.25rem;border-radius:8px;font-size:1rem;line-height:1.35;border:1px solid transparent;}
.form-message-success,.form-message-info{background:rgba(16,185,129,0.18);border-color:rgba(16,185,129,0.45);color:#10b981;} /* modernes Grün */
.form-message-warning{background:rgba(234,179,8,0.18);border-color:rgba(234,179,8,0.45);color:#eab308;}
.form-message-error,.form-message-danger{background:rgba(220,38,38,0.18);border-color:rgba(220,38,38,0.45);color:#dc2626;}

.section--compact{padding-top:2rem !important;padding-bottom:2rem !important;}
.qc-icon-pulse{width:72px;height:72px;border-radius:50%;background:rgba(247,147,26,0.16);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;box-shadow:0 14px 36px rgba(247,147,26,0.28);border:1px solid rgba(247,147,26,0.35);}
.qc-icon-pulse svg{width:34px;height:34px;color:#f7931a;}

/* ========== Custom Admin ========== */
.admin-body{background:#111;color:var(--foreground);}
.admin-app{min-height:100vh;display:grid;grid-template-columns:240px 1fr;background:#0d0d0d;}
.admin-sidebar{background:#0a0a0a;border-right:1px solid #1c1c1c;display:flex;flex-direction:column;padding:1.5rem 1rem;gap:1.25rem;}
.admin-brand{display:flex;align-items:center;gap:.6rem;padding:0 .5rem;}
.brand-name{font-weight:700;}
.brand-sub{color:var(--muted-foreground);font-size:.85rem;}
.admin-nav{display:flex;flex-direction:column;gap:.4rem;}
.nav-item{padding:.65rem .75rem;border-radius:.65rem;color:var(--muted-foreground);text-decoration:none;display:flex;align-items:center;gap:.65rem;border:1px solid transparent;}
.nav-item:hover{background:rgba(255,255,255,0.04);color:var(--foreground);border-color:rgba(255,255,255,0.05);}
.nav-item.active{background:rgba(247,147,26,0.12);color:#f7931a;border-color:rgba(247,147,26,0.3);}
.admin-footer-nav{margin-top:auto;padding-top:1rem;border-top:1px solid #1c1c1c;}
.admin-main{padding:2rem 2.5rem 3rem;display:flex;flex-direction:column;gap:1.25rem;}
.admin-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;}
.admin-title{font-size:1.8rem;margin:0;}
.admin-subtitle{color:var(--muted-foreground);margin:0;}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;}
.admin-stat{background:linear-gradient(135deg,rgba(255,255,255,0.02),rgba(255,255,255,0.05));border:1px solid var(--border);border-radius:1rem;padding:1rem 1.25rem;}
.admin-stat .label{color:var(--muted-foreground);font-size:.9rem;margin:0 0 .2rem;}
.admin-stat .value{font-size:1.5rem;font-weight:700;margin:0;}
.admin-stat .meta{margin:0;color:var(--muted-foreground);font-size:.9rem;}
.admin-section{background:#0f0f0f;border:1px solid var(--border);border-radius:1rem;padding:1.25rem;box-shadow:0 22px 60px rgba(0,0,0,.35);}
.admin-section-head{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.85rem;}
.admin-section-head.row{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.admin-section h2{margin:0;font-size:1.1rem;}
.admin-section .hint{margin:0;color:var(--muted-foreground);font-size:.95rem;}
.admin-search{display:flex;gap:.5rem;align-items:center;}
.admin-search input{background:#0c0c0c;border:1px solid var(--border);border-radius:.65rem;padding:.65rem .75rem;color:var(--foreground);min-width:240px;}
.filter-btn,.btn-secondary.small{padding:.65rem .9rem;border-radius:.65rem;border:1px solid var(--border);background:rgba(255,255,255,0.04);color:var(--foreground);}
.admin-table{width:100%;display:flex;flex-direction:column;gap:.35rem;}
.admin-row{display:grid;grid-template-columns:2fr 1.3fr 1.1fr 1fr 1fr;align-items:center;border:1px solid var(--border);border-radius:.75rem;padding:.75rem .9rem;background:rgba(255,255,255,0.02);}
.admin-row-head{background:rgba(255,255,255,0.04);font-weight:600;}
.admin-row .actions{display:flex;justify-content:flex-end;}
.btn-small{padding:.45rem .75rem;border-radius:.5rem;border:1px solid var(--border);background:rgba(255,255,255,0.04);color:var(--foreground);font-weight:600;font-size:.9rem;}
.btn-small:hover{background:rgba(247,147,26,0.12);border-color:rgba(247,147,26,0.4);}
.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:999px;font-size:.85rem;font-weight:600;border:1px solid transparent;}
.pill-success{background:rgba(16,185,129,0.15);color:#10b981;border-color:rgba(16,185,129,0.4);}
.pill-muted{background:rgba(255,255,255,0.05);color:var(--muted-foreground);border-color:var(--border);}
.muted{color:var(--muted-foreground);font-size:.9rem;}
.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.admin-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;align-items:start;}
.admin-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 22px 60px rgba(0,0,0,.35);}
.admin-card.narrow{max-width:480px;margin:0 auto;}
.admin-form{display:flex;flex-direction:column;gap:.75rem;}
.admin-label{font-weight:600;}
.admin-input{background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:.65rem;padding:.75rem 1rem;color:var(--foreground);}
.admin-input:focus{outline:2px solid rgba(247,147,26,0.35);border-color:rgba(247,147,26,0.6);}
.admin-login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0c0c0c;padding:2rem;}
.admin-login-card{width:100%;max-width:420px;background:#0f0f0f;border:1px solid var(--border);border-radius:1rem;padding:1.75rem;box-shadow:0 18px 50px rgba(0,0,0,.45);}
.admin-login-logo{display:flex;align-items:center;gap:.6rem;font-weight:700;margin-bottom:.5rem;}
.admin-btn-wide{width:100%;justify-content:center;}
.admin-flash{max-width:900px;margin:0 auto;padding:1rem;}
.admin-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1rem 0;}
.summary-card{background:#101010;border:1px solid var(--border);border-radius:.85rem;padding:.85rem 1rem;}
.summary-value{font-size:1.3rem;font-weight:700;margin-bottom:.15rem;}
.summary-label{color:var(--muted-foreground);}
.two-col{display:grid;grid-template-columns:1.1fr 1fr;gap:1rem;}
.list-stack{display:flex;flex-direction:column;gap:.75rem;}
.list-card{background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:1rem;padding:.9rem;}
.list-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;}
.list-title{font-weight:700;margin:0;}
.list-sub{color:var(--muted-foreground);font-size:.95rem;}
.list-text{margin:.5rem 0 0;color:var(--muted-foreground);}
.details-placeholder{background:#0c0c0c;border:1px dashed var(--border);border-radius:1rem;display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;}
.case-card-admin{background:#0f0f0f;border:1px solid var(--border);border-radius:1rem;overflow:hidden;display:flex;flex-direction:column;}
.case-card-admin img{width:100%;height:170px;object-fit:cover;}
.case-card-img-placeholder{height:170px;display:flex;align-items:center;justify-content:center;background:#111;}
.case-card-body{padding:1rem;display:flex;flex-direction:column;gap:.45rem;}
.case-card-body h3{margin:.15rem 0;font-size:1.05rem;}
.case-card-body p{margin:0;}
.case-card-status{display:flex;gap:.5rem;flex-wrap:wrap;}
.tags{display:flex;flex-wrap:wrap;gap:.35rem;}
.tag{background:rgba(255,255,255,0.06);border:1px solid var(--border);border-radius:999px;padding:.25rem .6rem;font-size:.85rem;}
.case-card-actions{display:flex;gap:.5rem;margin-top:.5rem;}
.lang-toggle{display:flex;gap:.5rem;}
@media(max-width:1100px){.two-col{grid-template-columns:1fr;}}
@media(max-width:780px){
  .admin-app{grid-template-columns:1fr;}
  .admin-sidebar{flex-direction:row;align-items:center;justify-content:space-between;}
  .admin-nav{flex-direction:row;flex-wrap:wrap;}
  .admin-main{padding:1.25rem;}
  .admin-row{grid-template-columns:1.5fr 1fr 1fr;}
  .admin-row > :nth-child(n+4){display:none;}
  .admin-row-head{grid-template-columns:1.5fr 1fr 1fr;}
  .admin-topbar{flex-direction:column;align-items:flex-start;}
}
