/* FICON Consulting – v3, originalgetreu:
   Schräge Sektionskanten, Orange→Blau-Verläufe, Icon-Karten, Papierraster.
   Space Grotesk (Headlines) · DM Sans (Text) · Inter (Kyrillisch-Fallback) */

@font-face{font-family:"Space Grotesk";src:url(fonts/space-grotesk-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"Space Grotesk";src:url(fonts/space-grotesk-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"Space Grotesk";src:url(fonts/space-grotesk-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"Space Grotesk";src:url(fonts/space-grotesk-latin-ext-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"Space Grotesk";src:url(fonts/space-grotesk-latin-ext-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"Space Grotesk";src:url(fonts/space-grotesk-latin-ext-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"DM Sans";src:url(fonts/dm-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"DM Sans";src:url(fonts/dm-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"DM Sans";src:url(fonts/dm-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"DM Sans";src:url(fonts/dm-sans-latin-ext-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"DM Sans";src:url(fonts/dm-sans-latin-ext-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"DM Sans";src:url(fonts/dm-sans-latin-ext-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"Inter";src:url(fonts/inter-cyrillic-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";src:url(fonts/inter-cyrillic-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";src:url(fonts/inter-cyrillic-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root{
  --dark:#080B14;
  --dark-2:#0C1120;
  --card-dark:#3A3F4B;
  --ink:#171A24;
  --muted:#5F6673;
  --orange:#E0812A;
  --orange-soft:#F0A24A;
  --orange-tint:#FBEFE1;
  --blue:#4E8FC7;
  --blue-tint:#E8F1F9;
  --paper:#FFFFFF;
  --line:rgba(23,26,36,.10);
  --line-light:rgba(255,255,255,.12);
  --grad:linear-gradient(90deg,#E0812A 0%,#EDAF5E 34%,#9CC5E5 68%,#57A9DE 100%);
  --heading:"Space Grotesk","Inter",system-ui,sans-serif;
  --body:"DM Sans","Inter",system-ui,sans-serif;
  --wrap:1240px;
  --skew:2.2vw;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);font-size:16px;line-height:1.75;color:var(--ink);background:var(--paper)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--heading);font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--orange)}
h1,h2,h3{font-family:var(--heading);font-weight:700;letter-spacing:-.02em;line-height:1.1}
h1{font-size:clamp(2.4rem,5.6vw,3.9rem)}
h2{font-size:clamp(1.75rem,3.4vw,2.5rem)}
h3{font-size:1.1rem}
.lead{color:var(--muted);max-width:46rem}
.sub-blue{font-family:var(--heading);font-weight:500;color:var(--blue);font-size:1.1rem;letter-spacing:0}

/* Verlaufslinie (Markenelement) */
.grad-line{height:3px;width:96px;background:var(--grad);border-radius:2px}

/* Icons */
.ic{width:22px;height:22px;stroke-width:2;fill:none;stroke:currentColor;flex:none}
.ic-box{width:46px;height:46px;border-radius:9px;display:grid;place-items:center;flex:none}
.ic-box.o{background:var(--orange-tint);color:var(--orange)}
.ic-box.b{background:var(--blue-tint);color:var(--blue)}

/* Papierraster (helle Flächen) & Diagonallinien (dunkle Flächen) */
.grid-paper{background-image:linear-gradient(rgba(8,11,20,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(8,11,20,.045) 1px,transparent 1px);background-size:52px 52px}
.diag-lines{background-image:repeating-linear-gradient(115deg,transparent 0,transparent 90px,rgba(255,255,255,.028) 90px,rgba(255,255,255,.028) 91px)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header::before{content:"";display:block;height:4px;background:var(--grad)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:.7rem;font-family:var(--heading)}
.brand-logo{height:40px;width:auto}
.brand-mark{width:36px;height:36px;background:var(--dark);color:var(--orange);display:grid;place-items:center;font-weight:700;font-size:16px;border-radius:4px}
.brand-name{font-weight:700;font-size:1.2rem;letter-spacing:.14em;display:block;line-height:1.1}
.brand-sub{font-size:.62rem;color:var(--muted);letter-spacing:.22em;text-transform:uppercase;display:block}
.main-nav{display:flex;align-items:center;gap:2rem}
.main-nav a{font-family:var(--heading);font-size:.78rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);padding:.35rem 0;transition:color .2s}
.main-nav a:hover{color:var(--orange)}
.main-nav a[aria-current="page"]{color:var(--orange)}

/* Sprachumschalter */
.lang{position:relative}
.lang-btn{font-family:var(--heading);font-size:.78rem;font-weight:500;letter-spacing:.12em;background:none;border:0;padding:.42rem .3rem;cursor:pointer;display:flex;align-items:center;gap:.45rem;color:var(--ink)}
.lang-btn .ic{width:17px;height:17px;opacity:.75}
.lang-menu{position:absolute;right:0;top:calc(100% + 10px);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 44px rgba(8,11,20,.15);min-width:158px;padding:.35rem;display:none}
.lang.open .lang-menu{display:block}
.lang-menu button{display:flex;width:100%;align-items:center;gap:.6rem;background:none;border:0;font-family:var(--body);font-size:.9rem;padding:.5rem .6rem;border-radius:6px;cursor:pointer;color:var(--ink)}
.lang-menu button:hover{background:#F6F5F2}
.lang-menu button.active{color:var(--orange);font-weight:500}
.lang-menu .code{font-family:var(--heading);font-size:.68rem;font-weight:700;letter-spacing:.08em;color:var(--muted);width:1.8rem}
.lang-menu button.active .code{color:var(--orange)}

.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.5rem}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0}
@media(max-width:940px){
  .nav-toggle{display:block}
  .main-nav{position:fixed;inset:78px 0 auto 0;background:#fff;flex-direction:column;align-items:flex-start;gap:0;padding:.6rem 28px 1.2rem;border-bottom:1px solid var(--line);transform:translateY(-140%);transition:transform .25s;box-shadow:0 20px 40px rgba(8,11,20,.12);z-index:49}
  .main-nav.open{transform:translateY(0)}
  .main-nav a{padding:.8rem 0;width:100%;border-bottom:1px solid var(--line)}
}

/* ---------- Buttons (angeschrägte rechte Kante wie im Original) ---------- */
.btn{font-family:var(--heading);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:1rem 2rem 1rem 1.6rem;display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;border:0;transition:transform .15s,background .2s,color .2s;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%)}
.btn:hover{transform:translateY(-1px)}
.btn .arr{width:16px;height:16px;stroke-width:2.4}
.btn-gold{background:var(--orange);color:#fff}
.btn-gold:hover{background:var(--orange-soft)}
.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);clip-path:none;padding:1rem 1.6rem}
.btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--orange);color:var(--orange-soft)}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--dark);color:#fff;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - var(--skew)))}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,11,20,.92) 25%,rgba(8,11,20,.6) 60%,rgba(30,16,8,.4))}
.hero-inner{position:relative;padding:8.5rem 0 9.5rem;max-width:800px}
.hero .grad-line{margin-bottom:1.7rem}
.hero h1{color:#fff;margin:.9rem 0 1.4rem}
.hero .sub{color:rgba(255,255,255,.78);font-size:1.15rem;max-width:34rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.6rem}
.hero-scroll{position:absolute;left:50%;bottom:calc(var(--skew) + 1.2rem);transform:translateX(-50%);color:rgba(255,255,255,.55);animation:bob 1.8s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}

/* ---------- Statistik ---------- */
.stats{background:var(--dark);color:#fff;margin-top:calc(-1 * var(--skew) - 2px)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding-top:4.6rem;padding-bottom:3.6rem}
.stat{border-left:2px solid rgba(255,255,255,.14);padding-left:1.6rem}
.stat .ic{color:var(--blue);width:26px;height:26px;margin-bottom:.8rem}
.stat b{font-family:var(--heading);font-size:clamp(2rem,3.8vw,2.9rem);font-weight:700;color:#fff;display:block;line-height:1.05}
.stat span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);font-family:var(--heading)}
@media(max-width:700px){.stats .wrap{grid-template-columns:repeat(2,1fr);row-gap:2.2rem}}

/* ---------- Sektionen ---------- */
.section{padding:6rem 0;position:relative}
.section.dark{background:var(--dark);color:#fff}
.section.dark .lead{color:rgba(255,255,255,.68)}
.section.dark h2{color:#fff}
.section-head{max-width:56rem;margin-bottom:3.2rem}
.section-head .grad-line{margin-bottom:1.4rem}
.section-head h2{margin-bottom:1rem}

/* Karten (Startseite) */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.card{background:#fff;border:1px solid var(--line);border-left:3px solid var(--orange);padding:2.1rem;display:flex;flex-direction:column;gap:.9rem;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(8,11,20,.12)}
.card h3{text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;display:flex;align-items:center;gap:.9rem}
.card p{color:var(--muted);flex:1;font-size:.98rem}
.card .more{font-family:var(--heading);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);display:inline-flex;align-items:center;gap:.4rem}
.card .more .arr{width:14px;height:14px;stroke-width:2.6}
@media(max-width:820px){.cards{grid-template-columns:1fr}}

/* Zweispalter */
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.split.top{align-items:start}
.split .stack p + p{margin-top:1.1rem}
.split .stack p{color:var(--muted)}
.section.dark .split .stack p{color:rgba(255,255,255,.72)}
.side-img{border-radius:6px;box-shadow:0 30px 60px rgba(8,11,20,.20);width:100%;object-fit:cover}
@media(max-width:880px){.split{grid-template-columns:1fr}}

/* Dunkle Infokarte (Internationale Erfahrung) */
.dark-card{background:var(--card-dark);color:#fff;border-radius:8px;padding:2.2rem;box-shadow:0 26px 54px rgba(8,11,20,.22)}
.dark-card h3{color:#fff;display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.dark-card .ic{color:var(--orange-soft)}
.dark-card p{color:rgba(255,255,255,.72);font-size:.95rem}
.chiprow{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.3rem;padding:0}
.chiprow li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:4px;padding:.35rem .75rem;font-family:var(--heading);font-size:.76rem;letter-spacing:.05em}

/* Kompetenz-Kacheln (blaue Icons) */
.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.2rem}
.mini{background:#fff;border:1px solid var(--line);border-left:3px solid var(--orange);padding:1.6rem 1rem;text-align:center}
.mini .ic{color:var(--blue);width:26px;height:26px;margin:0 auto .7rem}
.mini span{font-family:var(--heading);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:640px){.mini-cards{grid-template-columns:1fr}}

/* Feature-Karten (Philosophie u.a.) */
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.feature-grid.cols3{grid-template-columns:repeat(3,1fr)}
.feature{background:#fff;border:1px solid var(--line);border-left:3px solid var(--orange);padding:1.9rem 2rem}
.feature .head{display:flex;align-items:center;gap:1rem;margin-bottom:.8rem}
.feature h3{text-transform:uppercase;font-size:.9rem;letter-spacing:.1em}
.feature p{color:var(--muted);font-size:.95rem}
@media(max-width:860px){.feature-grid,.feature-grid.cols3{grid-template-columns:1fr}}

/* Prozess-Schritte */
.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:1rem}
.step{background:rgba(255,255,255,.04);border:1px solid var(--line-light);border-top:3px solid var(--orange);padding:1.4rem 1rem;text-align:center}
.step i{font-style:normal;font-family:var(--heading);font-weight:700;color:var(--orange-soft);display:block;font-size:1.3rem;margin-bottom:.6rem}
.step span{font-family:var(--heading);font-size:.73rem;letter-spacing:.05em;color:rgba(255,255,255,.85);line-height:1.45;display:block}
@media(max-width:1080px){.steps{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.steps{grid-template-columns:repeat(2,1fr)}}

/* Leistungs-Detailkarten */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.svc{background:#fff;border:1px solid var(--line);border-left:3px solid var(--orange);padding:2.1rem}
.svc .head{display:flex;align-items:center;gap:1rem;margin-bottom:.8rem}
.svc h3{text-transform:uppercase;font-size:.92rem;letter-spacing:.08em}
.svc p{color:var(--muted);font-size:.96rem;margin-bottom:1.1rem}
.svc ul{display:grid;gap:.5rem}
.svc li{font-size:.92rem;display:flex;gap:.6rem;align-items:baseline}
.svc li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);align-self:center;flex:none}
@media(max-width:760px){.svc-grid{grid-template-columns:1fr}}

/* Referenz-Kacheln */
.chip-list{display:flex;flex-wrap:wrap;gap:.6rem}
.chip{border:1px solid var(--line);background:#fff;padding:.5rem 1.05rem;font-family:var(--heading);font-size:.8rem;letter-spacing:.06em;border-left:3px solid var(--orange)}
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.proj{overflow:hidden;background:var(--dark);color:#fff;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;padding:1.8rem;position:relative;border-radius:6px}
.proj > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.proj:hover > img{transform:scale(1.05)}
.proj::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,11,20,.94) 18%,rgba(8,11,20,.35) 60%,rgba(8,11,20,.15));z-index:1}
.proj > p,.proj > h3{position:relative;z-index:2}
.proj .cat{font-family:var(--heading);font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-soft);margin-bottom:.4rem}
.proj h3{color:#fff;font-size:1.3rem}
.proj .loc{color:rgba(255,255,255,.66);font-size:.88rem;margin-top:.3rem}
@media(max-width:820px){.proj-grid{grid-template-columns:1fr}}

/* CTA */
.cta{background:var(--dark);color:#fff;text-align:center;position:relative}
.cta::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}
.cta .wrap{padding-top:6rem;padding-bottom:6rem;display:flex;flex-direction:column;align-items:center;gap:1.3rem}
.cta h2{color:#fff}
.cta p{color:rgba(255,255,255,.68);max-width:40rem}

/* Kontakt */
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;align-items:start}
@media(max-width:880px){.contact-grid{grid-template-columns:1fr}}
.info-card{background:#fff;border:1px solid var(--line);border-left:3px solid var(--orange);padding:1.9rem 2rem}
.info-card + .info-card{margin-top:1.4rem}
.info-card h3{text-transform:uppercase;font-size:.8rem;letter-spacing:.16em;margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}
.info-card h3 .ic{color:var(--orange);width:19px;height:19px}
.info-card .row{display:flex;gap:.8rem;align-items:flex-start;margin-top:.7rem}
.info-card .row .ic{color:var(--orange);width:18px;height:18px;margin-top:.3rem}
.info-card a:hover{color:var(--orange)}
.office-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.office-chips li{background:#F4F3F0;border:1px solid var(--line);padding:.4rem .85rem;font-family:var(--heading);font-size:.78rem;letter-spacing:.05em}

.form{display:grid;gap:1.2rem;background:#fff;border:1px solid var(--line);padding:2.4rem;box-shadow:0 26px 54px rgba(8,11,20,.08)}
.form label{display:grid;gap:.45rem;font-family:var(--heading);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.form input,.form select,.form textarea{font-family:var(--body);font-size:1rem;color:var(--ink);border:1px solid var(--line);padding:.9rem 1rem;background:#FAFAF8;transition:border-color .2s;width:100%;border-radius:0}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--orange);outline:none;background:#fff}
.form textarea{resize:vertical;min-height:140px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media(max-width:560px){.form .row{grid-template-columns:1fr}}
.form-note{font-size:.95rem;padding:.9rem 1.1rem;display:none}
.form-note.ok{display:block;background:#eef6ee;color:#2c5f2d;border:1px solid #cfe5cf}
.form-note.err{display:block;background:#fbeeee;color:#8a2f2f;border:1px solid #ecd2d2}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* Seitenkopf (Unterseiten) – schräge Unterkante */
.page-head{background:var(--dark);color:#fff;padding:5.8rem 0 7rem;position:relative;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - var(--skew)))}
.page-head h1{color:#fff;margin:.9rem 0 1rem}
.page-head .lead{color:rgba(255,255,255,.7)}
.page-head .grad-line{margin-top:1.8rem}

/* Footer */
.site-footer{background:var(--dark);color:rgba(255,255,255,.62);font-size:.93rem;position:relative}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}
.site-footer .top{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:2.8rem;padding:4rem 0 2.8rem;border-bottom:1px solid var(--line-light)}
.site-footer .quote{border-left:3px solid var(--orange);padding-left:1rem;font-style:italic;color:rgba(255,255,255,.55);margin-top:1.1rem}
.site-footer h4{font-family:var(--heading);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:1rem}
.site-footer a:hover{color:var(--orange-soft)}
.site-footer .foot-nav{display:grid;gap:.5rem}
.site-footer .bottom{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem 0;font-size:.8rem;color:rgba(255,255,255,.45)}
@media(max-width:760px){.site-footer .top{grid-template-columns:1fr}}

/* Einblendungen */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
