

/* =============================================
   TOKENS
============================================= */
:root {
  --navy:        #0C1A27;
  --navy-mid:    #132235;
  --navy-light:  #1A2E42;
  --steel:       #1E3248;
  --petrol:      #0D6E87;
  --petrol-b:    #1FB8D8;
  --petrol-glow: rgba(13,110,135,.14);
  --white:       #FFFFFF;
  --off:         #F7F9FA;
  --g100:        #ECEEF1;
  --g200:        #D3D8DE;
  --g400:        #474d52;
  --g600:        #52606D;
  --text:        #0C1A27;
  --textsub:     #8c9fb2;
  --textmute:    #8B97A5;
  --border:      rgba(12,26,39,.07);
  --bdark:       rgba(255,255,255,.07);
  --sh-sm:       0 2px 8px  rgba(12,26,39,.06);
  --sh-md:       0 8px 32px rgba(12,26,39,.10);
  --sh-lg:       0 24px 64px rgba(12,26,39,.14);
  --f-display:   'Barlow Semi Condensed', sans-serif;
  --f-body:      'DM Sans', sans-serif;
  --r:           4px;
  --rl:          8px;
  --mw:          1120px;
  --ease:        cubic-bezier(.4,0,.2,1);
  --t:           .22s var(--ease);
}

/* =============================================
   RESET
============================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f-body);color:var(--text);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit;border:none;background:none}

/* =============================================
   LAYOUT
============================================= */
.container{max-width:var(--mw);margin:0 auto;padding:0 24px}
.section{padding:96px 0}
.dark{background:var(--navy);color:var(--white)}
.mid{background:var(--navy-mid);color:var(--white)}
.gray{background:var(--off)}

.label{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-display);font-size:11px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--petrol);
  margin-bottom:20px;
}
.label::before{content:'';width:24px;height:2px;background:var(--petrol)}
.label-lt{color:var(--petrol-b)}.label-lt::before{background:var(--petrol-b)}

h2.sh{
  font-family:var(--f-display);font-size:clamp(1.875rem,3.5vw,2.875rem);
  font-weight:700;line-height:1.12;letter-spacing:-.022em;max-width:640px
}
.sh-w{color:var(--white)}
p.sub{font-size:1.0625rem;color:var(--g600);max-width:560px;margin-top:16px;line-height:1.72}
.sub-w{color:rgba(255,255,255,.75)}

/* =============================================
   BUTTONS
============================================= */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-display);font-size:.875rem;font-weight:600;
  letter-spacing:.02em;padding:14px 28px;border-radius:var(--r);
  transition:all var(--t);white-space:nowrap
}
.btn svg{width:16px;height:16px;flex-shrink:0}
.btn-p{background:var(--petrol);color:#fff;box-shadow:0 4px 16px rgba(13,110,135,.3)}
.btn-p:hover{background:var(--petrol-b);transform:translateY(-1px);box-shadow:0 8px 24px rgba(13,110,135,.4)}
.btn-g{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.22)}
.btn-g:hover{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.04)}
.btn-o{background:transparent;color:var(--petrol);border:1.5px solid var(--petrol)}
.btn-o:hover{background:var(--petrol);color:#fff}
.btn-w{background:#fff;color:var(--petrol);box-shadow:0 4px 16px rgba(0,0,0,.12)}
.btn-w:hover{background:var(--off);transform:translateY(-1px)}
.btn-sm{padding:10px 20px;font-size:.8125rem}

/* =============================================
   NAVIGATION
============================================= */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(12,26,39,.97);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--bdark);transition:all var(--t)
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:64px;gap:32px
}
.nav-logo{
  font-family:var(--f-display);font-size:1rem;font-weight:800;
  color:#fff;letter-spacing:-.01em;white-space:nowrap;flex-shrink:0; line-height: 0.8
}
.nav-logo span{color:var(--petrol-b)}

/* Desktop nav links */
.nav-menu{display:flex;align-items:center;gap:4px;list-style:none;flex:1;justify-content:center}
.nav-menu > li{position:relative}
.nav-menu > li > a{
  font-size:.8125rem;font-weight:500;color:rgba(255,255,255,.68);
  padding:8px 14px;border-radius:var(--r);transition:all var(--t);
  display:flex;align-items:center;gap:5px
}
.nav-menu > li > a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav-menu > li > a svg{width:12px;height:12px;transition:transform var(--t)}
.nav-menu > li:hover > a svg{transform:rotate(180deg)}

/* Dropdown */
.dropdown{
  position:absolute;top:100%;left:0;
  padding-top:8px; /* bridge gap – maus bleibt im li */
  background:transparent;
  border:none;
  min-width:240px;
  opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .18s var(--ease), transform .18s var(--ease), visibility 0s .18s;
  pointer-events:none;z-index:200
}
.dropdown-inner{
  background:var(--navy-light);border:1px solid var(--bdark);
  border-radius:var(--rl);padding:8px;
  box-shadow:var(--sh-lg);
}
.nav-menu > li:hover .dropdown{
  opacity:1;visibility:visible;transform:none;pointer-events:auto;
  transition:opacity .18s var(--ease), transform .18s var(--ease), visibility 0s 0s;
}
.dropdown a{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 14px;border-radius:var(--r);
  font-size:.8125rem;color:rgba(255,255,255,.7);
  transition:all var(--t);line-height:1.4
}
.dropdown a:hover{background:rgba(255,255,255,.06);color:#fff}
.dropdown a .d-icon{
  width:28px;height:28px;border-radius:var(--r);
  background:var(--petrol-glow);display:flex;align-items:center;
  justify-content:center;flex-shrink:0;color:var(--petrol-b);margin-top:1px
}
.dropdown a span{font-weight:500}
.dropdown a small{display:block;font-size:.75rem;color:rgba(255,255,255,.4);margin-top:1px}
.dropdown-divider{height:1px;background:var(--bdark);margin:6px 0}

/* Right side */
.nav-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-tel{font-size:.8rem;color:rgba(255,255,255,.45);font-weight:500}
.nav-cta{
  background:var(--petrol);color:#fff !important;
  padding:9px 18px;border-radius:var(--r);
  font-family:var(--f-display);font-size:.8125rem;font-weight:600
}
.nav-cta:hover{background:var(--petrol-b) !important}

/* Mobile */
.nav-burger{display:none;color:#fff;padding:4px}
.mobile-menu{
  display:none;position:fixed;top:64px;left:0;right:0;
  background:var(--navy);border-bottom:1px solid var(--bdark);
  padding:20px 24px 28px;z-index:99;
  max-height:calc(100vh - 64px);overflow-y:auto
}
.mobile-menu.open{display:block}
.mob-section{margin-bottom:24px}
.mob-heading{
  font-family:var(--f-display);font-size:.6875rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);
  margin-bottom:10px
}
.mob-link{
  display:block;font-size:.9375rem;color:rgba(255,255,255,.75);
  padding:10px 0;border-bottom:1px solid var(--bdark);font-weight:500
}
.mob-link:last-child{border:none}
.mob-cta{
  display:flex;width:100%;justify-content:center;
  margin-top:20px;background:var(--petrol);color:#fff;
  padding:14px;border-radius:var(--r);
  font-family:var(--f-display);font-size:.9375rem;font-weight:600
}

/* =============================================
   PAGE ROUTING
============================================= */
.page{display:none}.page.active{display:block}

/* =============================================
   HERO
============================================= */
.hero{
  background:var(--navy);padding:140px 0 96px;
  position:relative;overflow:hidden
}
.hero::before{
  content:'';position:absolute;top:-15%;right:-8%;
  width:700px;height:700px;
  background:radial-gradient(circle,rgba(13,110,135,.11) 0%,transparent 70%);
  pointer-events:none
}
/* Subtle industrial grid texture */
.hero::after{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:60px 60px;pointer-events:none
}
.hero-inner{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1fr 380px;gap:64px;align-items:center}

.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(13,110,135,.12);border:1px solid rgba(13,110,135,.25);
  color:var(--petrol-b);font-size:.75rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  padding:6px 14px;border-radius:100px;margin-bottom:28px
}
.hero-eyebrow::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--petrol-b);animation:pulse 2s ease infinite
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

.hero-h1{
  font-family:var(--f-display);
  font-size:clamp(2.25rem,5vw,3.875rem);
  font-weight:800;line-height:1.08;
  letter-spacing:-.028em;color:#fff;margin-bottom:12px
}
.hero-h1 .accent{color:var(--petrol-b)}
.hero-hook{
  font-family:var(--f-display);font-size:clamp(1rem,1.8vw,1.1875rem);
  font-weight:400;color:rgba(255,255,255,.55);
  line-height:1.5;margin-bottom:28px;letter-spacing:-.005em
}
.hero-sub{
  font-size:1.0625rem;color:rgba(255,255,255,.58);
  line-height:1.72;max-width:520px;margin-bottom:40px
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-trust{
  margin-top:56px;padding-top:40px;
  border-top:1px solid var(--bdark);
  display:flex;gap:40px;flex-wrap:wrap
}
.t-stat{}
.t-num{font-family:var(--f-display);font-size:1.75rem;font-weight:800;color:#fff;line-height:1}
.t-num em{color:var(--petrol-b);font-style:normal}
.t-lbl{font-size:.8rem;color:rgba(255,255,255,.4);margin-top:4px}

/* Hero card */
.hcard{
  background:var(--navy-light);border:1px solid var(--bdark);
  border-radius:var(--rl);padding:32px;position:relative;overflow:hidden
}
.hcard::before{
  content:'';position:absolute;top:-30px;right:-30px;
  width:120px;height:120px;
  background:radial-gradient(circle,rgba(13,110,135,.18) 0%,transparent 70%)
}
.hcard-tag{
  font-family:var(--f-display);font-size:.6875rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--petrol-b);margin-bottom:20px
}
.hcard-items{display:flex;flex-direction:column;gap:14px}
.hcard-item{display:flex;gap:12px;font-size:.9375rem;color:rgba(255,255,255,.78);align-items:flex-start;line-height:1.5}
.hcard-item svg{width:18px;height:18px;color:var(--petrol-b);flex-shrink:0;margin-top:2px}
.hcard-div{height:1px;background:var(--bdark);margin:22px 0}
.hcard-result{
  background:rgba(13,110,135,.12);border:1px solid rgba(13,110,135,.2);
  border-radius:var(--r);padding:14px 16px;
  font-size:.875rem;color:var(--petrol-b);font-weight:500;
  display:flex;gap:10px;align-items:center;line-height:1.45
}

/* =============================================
   PAIN SECTION
============================================= */
.pain-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:56px}
.pain-left{
  padding:48px 48px 48px 0;border-right:1px solid var(--border)
}
.pain-right{padding:48px 0 48px 48px}
.pain-lead{
  font-family:var(--f-display);font-size:1.25rem;font-weight:700;
  line-height:1.35;color:var(--text);margin-bottom:20px
}
.pain-p{font-size:.9375rem;color:var(--g600);line-height:1.72;margin-bottom:16px}
.pain-punch{
  font-family:var(--f-display);font-size:1rem;font-weight:700;
  color:var(--text);border-left:3px solid var(--petrol);
  padding-left:16px;line-height:1.5;margin-top:24px
}
.cost-list{list-style:none;display:flex;flex-direction:column;gap:16px;margin-top:32px}
.cost-item{
  display:flex;gap:14px;align-items:flex-start;
  padding:18px;background:var(--white);border:1px solid var(--border);
  border-radius:var(--rl);transition:all var(--t)
}
.cost-item:hover{box-shadow:var(--sh-md);border-color:transparent}
.cost-icon{
  width:36px;height:36px;border-radius:var(--r);
  background:rgba(13,110,135,.08);display:flex;align-items:center;
  justify-content:center;color:var(--petrol);flex-shrink:0
}
.cost-text{font-size:.9rem;color:var(--textsub);line-height:1.6}
.cost-text strong{color:var(--text);font-weight:600;display:block;margin-bottom:4px}

/* =============================================
   ABOUT / BIOGRAPHY
============================================= */
.about-grid{display:grid;grid-template-columns:400px 1fr;gap:64px;align-items:start}
.portrait-wrap{position:sticky;top:88px}
.portrait{
  width:100%;aspect-ratio:4/5;
  background:linear-gradient(155deg,var(--navy-light) 0%,var(--steel) 100%);
  border-radius:var(--rl);position:relative;overflow:hidden;
  border:1px solid var(--bdark);display:flex;align-items:center;justify-content:center
}
.portrait-init{
  font-family:var(--f-display);font-size:6rem;font-weight:800;
  color:rgba(255,255,255,.04);letter-spacing:-.04em
}
.portrait-badge{
  position:absolute;bottom:20px;left:20px;right:20px;
  background:rgba(10,143,173,.14);border:1px solid rgba(10,143,173,.25);
  border-radius:var(--r);padding:14px 18px;backdrop-filter:blur(10px)
}
.portrait-badge strong{
  font-family:var(--f-display);font-size:.9375rem;font-weight:700;
  color:#fff;display:block;margin-bottom:2px
}
.portrait-badge span{font-size:.8125rem;color:rgba(255,255,255,.55)}
.creds{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.cred{
  display:flex;gap:10px;align-items:center;
  font-size:.875rem;color:var(--g400);
  padding:12px 14px;background:var(--off);border-radius:var(--r);
  border:1px solid var(--border)
}
.cred svg{color:var(--petrol);flex-shrink:0}

.bio-content{}
.bio-p{font-size:1rem;color:var(--textsub);line-height:1.75;margin-bottom:20px}
.bio-punch{
  font-family:var(--f-display);font-size:1.125rem;font-weight:700;border-left:3px solid var(--petrol);
  padding:2px 0 2px 18px;margin:28px 0;line-height:1.4
}
.fit-list{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.fit-item{
  display:flex;gap:10px;font-size:.9375rem;color:var(--textsub);
  align-items:flex-start;padding:14px;
  background:var(--off);border-radius:var(--r);border:1px solid var(--border)
}
.fit-item::before{content:'✓';color:var(--petrol);font-weight:700;flex-shrink:0;margin-top:1px}

/* =============================================
   SOLUTIONS
============================================= */
.sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--bdark);border-radius:var(--rl);overflow:hidden;margin-top:56px}
.sol-item{
  background:var(--navy-light);padding:40px;cursor:pointer;
  transition:background var(--t);position:relative;overflow:hidden
}
.sol-item::after{
  content:'→';position:absolute;bottom:32px;right:32px;
  font-size:1.25rem;color:rgba(255,255,255,.1);
  transition:all var(--t)
}
.sol-item:hover{background:rgba(13,110,135,.1)}
.sol-item:hover::after{color:var(--petrol-b);transform:translateX(4px)}
.sol-num{
  font-family:var(--f-display);font-size:.6875rem;font-weight:700;
  letter-spacing:.1em;color:var(--petrol-b);margin-bottom:16px
}
.sol-title{
  font-family:var(--f-display);font-size:1.1875rem;font-weight:700;
  color:#fff;margin-bottom:10px;line-height:1.3
}
.sol-trigger{
  font-size:.875rem;color:rgba(255,255,255,.45);
  font-style:italic;margin-bottom:18px;line-height:1.5
}
.sol-bullets{display:flex;flex-direction:column;gap:7px}
.sol-bullet{
  font-size:.8125rem;color:var(--petrol-b);
  display:flex;align-items:center;gap:8px
}
.sol-bullet::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--petrol-b);flex-shrink:0}

/* =============================================
   PROCESS
============================================= */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;position:relative}
.process-steps::before{
  content:'';position:absolute;top:31px;left:calc(100%/8);right:calc(100%/8);
  height:1px;background:linear-gradient(90deg,var(--petrol),var(--petrol-b),var(--petrol));z-index:0
}
.ps{text-align:center;padding:0 16px}
.ps-num{
  width:62px;height:62px;border-radius:50%;
  background:var(--navy);border:2px solid var(--petrol);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-display);font-size:1.125rem;font-weight:800;
  color:var(--petrol-b);margin:0 auto 24px;position:relative;z-index:1
}
.ps-title{font-family:var(--f-display);font-size:.9375rem;font-weight:700;color:#fff;margin-bottom:10px}
.ps-desc{font-size:.8125rem;color:rgba(255,255,255,.65);line-height:1.65}
.process-note{
  margin-top:40px;text-align:center;
  background:rgba(13,110,135,.08);border:1px solid rgba(13,110,135,.15);
  border-radius:var(--r);padding:18px 24px;
  font-size:.875rem;color:rgba(255,255,255,.78);
  max-width:560px;margin-left:auto;margin-right:auto
}
.process-note strong{color:var(--petrol-b)}

/* =============================================
   ENTRY WAYS
============================================= */
.ways-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.way-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--rl);overflow:hidden;transition:all var(--t);
  position:relative
}
.way-card:hover{box-shadow:var(--sh-lg);transform:translateY(-3px)}
.way-badge{
  position:absolute;top:20px;right:20px;
  font-family:var(--f-display);font-size:.6875rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  padding:4px 10px;border-radius:100px
}
.way-badge-free{background:rgba(13,110,135,.1);color:var(--petrol)}
.way-badge-paid{background:rgba(12,26,39,.07);color:var(--g600)}
.way-badge-prem{background:var(--navy);color:rgba(255,255,255,.7)}
.way-header{padding:36px 28px 0}
.way-num{
  font-family:var(--f-display);font-size:.75rem;font-weight:700;
  letter-spacing:.1em;color:var(--textmute);margin-bottom:16px
}
.way-title{
  font-family:var(--f-display);font-size:1.25rem;font-weight:700;
  color:var(--text);margin-bottom:10px;line-height:1.25
}
.way-desc{font-size:.9rem;color:var(--textsub);line-height:1.65;margin-bottom:20px}
.way-price{
  font-family:var(--f-display);font-size:.875rem;font-weight:700;
  color:var(--text);margin-bottom:24px
}
.way-price em{font-style:normal;font-size:1.375rem}
.way-body{padding:0 28px 28px}
.way-features{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.way-feat{
  font-size:.875rem;color:var(--textsub);
  display:flex;align-items:center;gap:8px
}
.way-feat::before{content:'✓';color:var(--petrol);font-weight:700;flex-shrink:0}
.way-divider{height:1px;background:var(--border);margin:0 0 24px}
.way-foerder{
  font-size:.8rem;color:var(--textmute);
  display:flex;align-items:center;gap:6px;margin-top:10px
}

/* =============================================
   TOOLS / METHODS
============================================= */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:48px}
.tool-item{
  padding:28px;border:1px solid var(--border);border-radius:var(--rl);
  background:var(--white);transition:all var(--t);position:relative;overflow:hidden
}
.tool-item::before{
  content:'';position:absolute;top:0;left:0;width:3px;height:0;
  background:var(--petrol);border-radius:0 0 0 var(--rl);transition:height .3s ease
}
.tool-item:hover{box-shadow:var(--sh-md);border-color:transparent}
.tool-item:hover::before{height:100%}
.tool-icon{
  width:40px;height:40px;border-radius:var(--r);
  background:var(--g100);display:flex;align-items:center;
  justify-content:center;color:var(--petrol);margin-bottom:16px
}
.tool-title{font-family:var(--f-display);font-size:1rem;font-weight:700;margin-bottom:8px}
.tool-trigger{font-size:.8125rem;color:var(--petrol);font-style:italic;margin-bottom:10px}
.tool-desc{font-size:.875rem;color:var(--textsub);line-height:1.65}

/* =============================================
   WHAT YOU DON'T GET
============================================= */
.nodget-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--bdark);border-radius:var(--rl);overflow:hidden;margin-top:40px}
.nodget-col{background:var(--navy-light);padding:36px}
.nodget-heading{font-family:var(--f-display);font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px}
.nodget-heading-neg{color:rgba(255,255,255,.55)}
.nodget-heading-pos{color:var(--petrol-b)}
.nodget-items{display:flex;flex-direction:column;gap:10px}
.nodget-item{display:flex;gap:10px;font-size:.9rem;color:rgba(255,255,255,.6);align-items:flex-start;line-height:1.5}
.nodget-item-no::before{content:'✗';color:rgba(255,255,255,.2);font-weight:700;flex-shrink:0}
.nodget-item-yes::before{content:'✓';color:var(--petrol-b);font-weight:700;flex-shrink:0}

/* =============================================
   CTA BANNER
============================================= */
.cta-banner{
  background:linear-gradient(135deg,var(--petrol) 0%,#0A5A70 100%);
  padding:72px 0;text-align:center
}
.cta-banner h2{
  font-family:var(--f-display);font-size:clamp(1.75rem,3vw,2.5rem);
  font-weight:800;color:#fff;margin-bottom:14px;letter-spacing:-.022em
}
.cta-banner p{
  font-size:1.0625rem;color:rgba(255,255,255,.72);
  margin-bottom:36px;max-width:500px;margin-left:auto;margin-right:auto
}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-meta{
  font-size:.8125rem;color:rgba(255,255,255,.45);
  margin-top:18px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap
}
.cta-meta span{display:flex;align-items:center;gap:5px}

/* =============================================
   FAQ
============================================= */
.faq-list{max-width:720px;margin:56px auto 0}
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{
  width:100%;background:none;text-align:left;
  padding:24px 0;font-family:var(--f-display);font-size:1rem;
  font-weight:600;color:var(--text);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  transition:color var(--t)
}
.faq-q:hover{color:var(--petrol)}
.faq-q svg{flex-shrink:0;transition:transform var(--t)}
.faq-q.open svg{transform:rotate(45deg)}
.faq-a{font-size:.9375rem;color:var(--textsub);line-height:1.72;padding:0 0 24px;display:none}
.faq-a.open{display:block}

/* =============================================
   CONTACT
============================================= */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.contact-meta{display:flex;flex-direction:column;gap:18px;margin-top:36px}
.cm-item{display:flex;gap:14px;align-items:center}
.cm-icon{
  width:40px;height:40px;border-radius:var(--r);
  background:rgba(13,110,135,.1);border:1px solid rgba(13,110,135,.2);
  display:flex;align-items:center;justify-content:center;color:var(--petrol);flex-shrink:0
}
.cm-lbl{font-size:.8125rem;color:var(--textmute)}
.cm-val{font-size:.9375rem;color:var(--text);font-weight:500}
.form-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--rl);padding:40px;box-shadow:var(--sh-md)
}
.form-group{margin-bottom:18px}
.form-label{display:block;font-family:var(--f-display);font-size:.8125rem;font-weight:600;color:var(--text);margin-bottom:7px}
.form-input,.form-textarea,.form-select{
  width:100%;padding:12px 16px;background:var(--off);
  border:1.5px solid var(--g200);border-radius:var(--r);
  font-family:var(--f-body);font-size:.9375rem;color:var(--text);
  transition:border-color var(--t);outline:none
}
.form-input:focus,.form-textarea:focus{border-color:var(--petrol);background:#fff}
.form-textarea{resize:vertical;min-height:96px}
.form-hint{font-size:.8125rem;color:var(--textmute);margin-top:4px}
.form-submit{width:100%;padding:16px;font-size:.9375rem;justify-content:center}
.form-trust{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--textmute);margin-top:14px;justify-content:center}
.form-trust svg{color:var(--petrol)}
.form-success{display:none;text-align:center;padding:40px 20px}
.form-success-icon{
  width:56px;height:56px;border-radius:50%;
  background:rgba(13,110,135,.1);display:flex;align-items:center;
  justify-content:center;color:var(--petrol);margin:0 auto 20px
}

/* =============================================
   FOOTER
============================================= */
.footer{background:var(--navy);padding:64px 0 32px;border-top:1px solid var(--bdark)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-logo{font-family:var(--f-display);font-size:1.125rem;font-weight:800;color:#fff;margin-bottom:14px; line-height: 0.8}
.footer-logo span{color:var(--petrol-b)}
.footer-desc{font-size:.875rem;color:rgba(255,255,255,.58);line-height:1.7;max-width:280px}
.footer-h{font-family:var(--f-display);font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:18px}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-links a{font-size:.875rem;color:rgba(255,255,255,.75);transition:color var(--t)}
.footer-links a:hover{color:#fff}
.footer-bottom{
  padding-top:28px;border-top:1px solid var(--bdark);
  display:flex;align-items:center;justify-content:space-between;
  font-size:.8125rem;color:rgba(255,255,255,.5);flex-wrap:wrap;gap:12px
}
.foerder-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(13,110,135,.1);border:1px solid rgba(13,110,135,.2);
  border-radius:var(--r);padding:10px 16px;
  font-size:.8125rem;color:var(--petrol);margin-top:20px
}
.foerder-badge svg{width:14px;height:14px;flex-shrink:0}

/* =============================================
   ANIMATIONS
============================================= */
.fade-up{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.fade-up.vis{opacity:1;transform:none}
.stagger-1{transition-delay:.05s}
.stagger-2{transition-delay:.1s}
.stagger-3{transition-delay:.15s}
.stagger-4{transition-delay:.2s}

/* =============================================
   RESPONSIVE
============================================= */
@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr}.hcard{display:none}
  .about-grid{grid-template-columns:1fr}
  .portrait-wrap{position:static;display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}
  .sol-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr 1fr;gap:40px}.process-steps::before{display:none}
  .ways-grid{grid-template-columns:1fr}
  .nodget-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .pain-grid{grid-template-columns:1fr}
  .pain-left{padding:0 0 40px 0;border-right:none;border-bottom:1px solid var(--border)}
  .pain-right{padding:40px 0 0 0}
  .nav-menu{display:none}
  .nav-burger{display:flex}
}

/* =============================================
   SOLUTIONS REDESIGN – Phasen-Layout
============================================= */
.phase-grid{display:flex;flex-direction:column;gap:0;margin-top:56px}
.phase-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--rl);overflow:hidden;transition:box-shadow var(--t);
  margin-bottom:20px
}
.phase-card:hover{box-shadow:var(--sh-lg)}
.phase-header{
  display:grid;grid-template-columns:auto 1fr auto;
  gap:28px;align-items:center;
  padding:32px 40px;cursor:pointer;
  border-bottom:1px solid transparent;transition:border-color var(--t)
}
.phase-card.open .phase-header{border-bottom-color:var(--border)}
.phase-num-wrap{
  width:52px;height:52px;border-radius:50%;
  background:var(--navy);display:flex;align-items:center;justify-content:center;
  flex-shrink:0
}
.phase-num-wrap span{
  font-family:var(--f-display);font-size:1.125rem;font-weight:800;
  color:var(--petrol-b)
}
.phase-meta{}
.phase-label{
  font-family:var(--f-display);font-size:.6875rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--petrol);margin-bottom:6px
}
.phase-title{
  font-family:var(--f-display);font-size:1.25rem;font-weight:700;
  color:var(--text);line-height:1.25
}
.phase-duration{
  font-size:.8125rem;color:var(--textmute);margin-top:4px
}
.phase-price-pill{
  background:var(--navy);border-radius:var(--rl);
  padding:12px 20px;text-align:center;flex-shrink:0
}
.phase-price-range{
  font-family:var(--f-display);font-size:1rem;font-weight:800;
  color:var(--white);white-space:nowrap
}
.phase-price-hint{
  font-size:.6875rem;color:rgba(255,255,255,.38);
  margin-top:2px;white-space:nowrap
}
.phase-body{
  display:none;padding:0 40px 36px;
  grid-template-columns:1fr 1fr;gap:32px
}
.phase-card.open .phase-body{display:grid}
.phase-steps{display:flex;flex-direction:column;gap:16px}
.phase-step{display:flex;gap:14px;align-items:flex-start}
.phase-step-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--petrol);flex-shrink:0;margin-top:6px
}
.phase-step-text{font-size:.9rem;color:var(--textsub);line-height:1.65}
.phase-step-text strong{color:var(--text);font-weight:600;display:block;margin-bottom:2px}
.phase-pricing-detail{
  background:var(--off);border:1px solid var(--border);
  border-radius:var(--rl);padding:24px
}
.phase-pricing-detail-title{
  font-family:var(--f-display);font-size:.75rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--textmute);margin-bottom:16px
}
.price-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 0;border-bottom:1px solid var(--border);
  font-size:.9rem
}
.price-row:last-child{border-bottom:none;padding-bottom:0}
.price-row-label{color:var(--textsub)}
.price-row-val{
  font-family:var(--f-display);font-weight:700;color:var(--text)
}
.bafa-hint{
  display:flex;gap:8px;align-items:flex-start;
  background:rgba(13,110,135,.06);border:1px solid rgba(13,110,135,.18);
  border-radius:var(--r);padding:12px 14px;margin-top:14px;
  font-size:.8125rem;color:var(--petrol);line-height:1.5
}
.bafa-hint svg{flex-shrink:0;margin-top:1px}
.phase-toggle-icon{
  width:28px;height:28px;border-radius:50%;
  background:var(--g100);display:flex;align-items:center;
  justify-content:center;color:var(--textmute);flex-shrink:0;
  transition:all var(--t)
}
.phase-card.open .phase-toggle-icon{background:var(--petrol);color:var(--white);transform:rotate(45deg)}

/* Loss-section */
.loss-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:20px;margin-top:48px
}
.loss-card{
  padding:28px;border:1px solid var(--border);border-radius:var(--rl);
  background:var(--white);position:relative;overflow:hidden;transition:all var(--t)
}
.loss-card:hover{box-shadow:var(--sh-md);border-color:transparent}
.loss-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--petrol),var(--petrol-b))
}
.loss-euro{
  font-family:var(--f-display);font-size:2rem;font-weight:800;
  color:var(--navy);line-height:1;margin-bottom:8px
}
.loss-euro span{color:var(--petrol)}
.loss-title{font-family:var(--f-display);font-size:.9375rem;font-weight:700;margin-bottom:8px}
.loss-desc{font-size:.875rem;color:var(--textsub);line-height:1.65}

@media(max-width:900px){
  .phase-header{grid-template-columns:auto 1fr;gap:20px}
  .phase-price-pill{display:none}
  .phase-body{grid-template-columns:1fr;padding:0 24px 28px}
  .phase-header{padding:24px}
  .loss-grid{grid-template-columns:1fr}
}

@media(max-width:640px){
  .section{padding:64px 0}
  .hero{padding:108px 0 72px}
  .hero-trust{gap:24px}
  .process-steps{grid-template-columns:1fr}
  .nodget-grid{grid-template-columns:1fr}
  .tools-grid{grid-template-columns:1fr}
  .portrait-wrap{grid-template-columns:1fr}
  .form-card{padding:24px}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{justify-content:center}
}


.symptom-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
.symptom-card{padding:28px;border:1px solid var(--border);border-radius:var(--rl);background:var(--white);position:relative;overflow:hidden;transition:all var(--t)}
.symptom-card:hover{box-shadow:var(--sh-md);border-color:transparent}
.symptom-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--petrol),var(--petrol-b));transform:scaleX(0);transition:transform var(--t)}
.symptom-card:hover::after{transform:scaleX(1)}
.symptom-q{font-family:var(--f-display);font-size:.875rem;font-weight:600;color:var(--textmute);font-style:italic;margin-bottom:10px;line-height:1.4}
.symptom-title{font-family:var(--f-display);font-size:1rem;font-weight:700;color:var(--text);margin-bottom:8px}
.symptom-desc{font-size:.875rem;color:var(--textsub);line-height:1.65}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--bdark);border-radius:var(--rl);overflow:hidden;margin-top:48px}
.ba-col{background:var(--navy-light);padding:36px}
.ba-heading{font-family:var(--f-display);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}
.ba-heading-before{color:rgba(255,255,255,.28)}
.ba-heading-after{color:var(--petrol-b)}
.ba-items{display:flex;flex-direction:column;gap:13px}
.ba-item{display:flex;gap:12px;font-size:.9rem;line-height:1.55;align-items:flex-start}
.ba-item-before{color:rgba(255,255,255,.5)}
.ba-item-before::before{content:'→';color:rgba(255,255,255,.2);font-weight:700;flex-shrink:0}
.ba-item-after{color:rgba(255,255,255,.82)}
.ba-item-after::before{content:'✓';color:var(--petrol-b);font-weight:700;flex-shrink:0}
.steps-layout{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start;margin-top:48px}
.step-list{display:flex;flex-direction:column}
.step-item{display:flex;gap:20px;padding-bottom:28px}
.step-item:last-child{padding-bottom:0}
.step-left{display:flex;flex-direction:column;align-items:center}
.step-dot{width:36px;height:36px;border-radius:50%;background:var(--navy);border:2px solid var(--petrol);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step-dot span{font-family:var(--f-display);font-size:.75rem;font-weight:800;color:var(--petrol-b)}
.step-line{width:2px;flex:1;background:rgba(13,110,135,.2);margin-top:4px}
.step-item:last-child .step-line{display:none}
.step-title{font-family:var(--f-display);font-size:.9375rem;font-weight:700;color:var(--text);margin-bottom:5px;margin-top:5px}
.step-desc{font-size:.875rem;color:var(--textsub);line-height:1.65}
.sidebar-card{background:var(--white);border:1px solid var(--border);border-radius:var(--rl);padding:28px;box-shadow:var(--sh-md);position:sticky;top:88px}
.sidebar-card-title{font-family:var(--f-display);font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--textmute);margin-bottom:20px}
.sidebar-fact{padding:13px 0;border-bottom:1px solid var(--border)}
.sidebar-fact:last-of-type{border-bottom:none;padding-bottom:0}
.sidebar-fact-label{font-size:.8125rem;color:var(--textmute);margin-bottom:3px}
.sidebar-fact-val{font-family:var(--f-display);font-size:.9rem;font-weight:700;color:var(--text);line-height:1.3}
.bafa-box{background:rgba(13,110,135,.06);border:1px solid rgba(13,110,135,.18);border-radius:var(--r);padding:13px 15px;margin-top:18px;font-size:.8125rem;color:var(--petrol);line-height:1.55;display:flex;gap:8px;align-items:flex-start}
.bafa-box svg{flex-shrink:0;margin-top:1px}
/* About Seite */
.about-timeline{display:flex;flex-direction:column;margin-top:32px}
.atl-item{display:flex;gap:20px;padding-bottom:28px}
.atl-item:last-child{padding-bottom:0}
.atl-left{display:flex;flex-direction:column;align-items:center}
.atl-dot{width:10px;height:10px;border-radius:50%;background:var(--petrol);flex-shrink:0;margin-top:5px}
.atl-line{width:2px;flex:1;background:rgba(12,26,39,.1);margin-top:5px}
.atl-item:last-child .atl-line{display:none}
.atl-year{font-family:var(--f-display);font-size:.75rem;font-weight:700;color:var(--petrol);min-width:48px;margin-top:3px;flex-shrink:0}
.atl-title{font-family:var(--f-display);font-size:.9375rem;font-weight:700;color:var(--text);margin-bottom:3px}
.atl-desc{font-size:.875rem;color:var(--textsub);line-height:1.6}
@media(max-width:1024px){
  .symptom-grid{grid-template-columns:1fr}
  .before-after{grid-template-columns:1fr}
  .steps-layout{grid-template-columns:1fr}
  .sidebar-card{position:static}
}