/* STEPAN concept — buildless static */
:root{
  --blue:#1d3a8f;--ink:#14233d;--bg:#f6f7f9;--white:#fff;--accent:#8faef2;
  --line:#dfe3ea;--muted:#5a6478;--radius:2px;
  --font:Arial,Helvetica,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-text-size-adjust:100%}
img{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.1;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em;overflow-wrap:break-word}
p{margin:0 0 1em}
.skip{position:absolute;left:-999px;top:0;background:var(--blue);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}

.concept-bar{background:var(--ink);color:#fff;font-size:.8rem;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center;padding:8px 16px;text-align:center}
.concept-bar a{color:var(--accent);font-weight:700}

.nav{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid var(--line)}
.nav-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px}
.brand .logo{height:34px;width:auto}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:var(--radius);width:44px;height:44px;cursor:pointer;position:relative}
.bars,.bars::before,.bars::after{content:"";position:absolute;left:11px;width:22px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}
.bars{top:21px}.bars::before{top:-7px}.bars::after{top:7px}
.nav-toggle[aria-expanded="true"] .bars{background:transparent}
.nav-toggle[aria-expanded="true"] .bars::before{transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bars::after{transform:translateY(-7px) rotate(-45deg)}
.nav-menu{display:flex;align-items:center;gap:24px}
.nav-menu ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.nav-menu a{color:var(--ink);font-weight:600;font-size:.95rem;padding:10px 2px}
.lang{display:flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.lang-btn{min-width:44px;height:44px;border:none;background:var(--white);color:var(--ink);font-weight:700;cursor:pointer}
.lang-btn.is-active{background:var(--blue);color:#fff}

.hero{max-width:1120px;margin:0 auto;padding:56px 20px 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.tag{display:inline-block;background:var(--blue);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:7px 12px;border-radius:var(--radius);margin-bottom:18px}
.hero-title{font-size:clamp(2.2rem,5vw,3.6rem);color:var(--ink)}
.hero-lead{font-size:1.1rem;color:var(--muted);max-width:46ch}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0 14px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:var(--radius);font-weight:700;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:#16307a;text-decoration:none}
.btn-ghost{background:var(--white);color:var(--blue);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--blue);text-decoration:none}
.founded{font-size:.85rem;color:var(--muted);margin:0}
.hero-art{margin:0}
.hero-img{width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}
.img-note{font-size:.75rem;color:var(--muted);margin-top:8px;text-align:right}

.section-head{max-width:1120px;margin:0 auto;padding:0 20px;position:relative}
.sec-num{display:block;font-size:clamp(3rem,8vw,5.5rem);font-weight:800;color:transparent;-webkit-text-stroke:2px var(--blue);line-height:.8;margin-bottom:0}
.section-head h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-top:.15em}
.sec-lead{color:var(--muted);max-width:60ch}

.areas{padding:64px 0 24px}
.area-list{max-width:1120px;margin:36px auto 0;padding:0 20px;display:flex;flex-direction:column}
.area{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:34px 0;border-top:1px solid var(--line)}
.area:nth-child(even){background:var(--white);margin:0 -20px;padding-left:20px;padding-right:20px}
.area-num{font-size:clamp(2.6rem,6vw,4rem);font-weight:800;color:transparent;-webkit-text-stroke:2px var(--blue);line-height:.8}
.area-body h3{font-size:1.5rem}
.area-body p{color:var(--muted);max-width:60ch}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:14px 0}
.tags li{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:5px 11px;font-size:.8rem;font-weight:600;color:var(--ink)}
.area:nth-child(even) .tags li{background:var(--bg)}
.cat{font-weight:700;font-size:.9rem}

.service{background:var(--blue);color:#fff;padding:64px 0}
.service .sec-num{-webkit-text-stroke-color:var(--accent)}
.service .sec-lead{color:#cdd8f5}
.stages{list-style:none;margin:36px auto 0;padding:0 20px;max-width:1120px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.25)}
.stages li{background:var(--blue);padding:26px 22px}
.stage-num{display:inline-flex;width:38px;height:38px;border-radius:50%;border:2px solid var(--accent);color:var(--accent);font-weight:800;align-items:center;justify-content:center;margin-bottom:12px}
.stages h3{font-size:1.15rem;color:#fff}
.stages p{color:#cdd8f5;margin:0;font-size:.95rem}
.service-note{max-width:1120px;margin:24px auto 0;padding:0 20px;font-size:.85rem;color:#cdd8f5}

.company{padding:64px 0}
.company-grid{max-width:1120px;margin:32px auto 0;padding:0 20px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px}
.company-story p{color:var(--muted);font-size:1.05rem}
.company-facts{border-left:3px solid var(--blue);padding-left:22px}
.company-facts dl{margin:0 0 18px}
.company-facts div{padding:12px 0;border-bottom:1px solid var(--line)}
.company-facts dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}
.company-facts dd{margin:2px 0 0;font-weight:600}

.contact{background:var(--white);border-top:1px solid var(--line);padding:64px 0}
.contact-grid{max-width:1120px;margin:32px auto 20px;padding:0 20px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.contact-item{border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.contact-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin-bottom:6px}
.contact-item a,.contact-item span{font-weight:600;font-size:1.05rem}
.contact-form-note{max-width:1120px;margin:0 auto 16px;padding:0 20px;color:var(--muted);font-size:.9rem}
.contact-cta-wrap{max-width:1120px;margin:0 auto;padding:0 20px}

.footer{background:var(--ink);color:#c9d2e6;padding:40px 0}
.footer-inner{max-width:1120px;margin:0 auto;padding:0 20px}
.footer-links{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}
.footer-links a{color:#fff;font-weight:600}
.about{border:1px solid #2c3a5c;border-radius:var(--radius);margin-bottom:18px}
.about summary{cursor:pointer;padding:14px 18px;font-weight:700;color:#fff;min-height:44px;display:flex;align-items:center}
.about-body{padding:0 18px 16px;font-size:.9rem}
.about-body p{margin:0 0 .8em}
.footer-legal{font-size:.8rem;color:#8a97b3;margin:0}

/* Anchored sections for sticky header */
#main,#top,#bereiche,#service,#unternehmen,#kontakt{scroll-margin-top:80px}

@media (max-width:860px){
  .nav-toggle{display:block}
  .nav-menu{position:absolute;top:100%;left:0;right:0;background:var(--white);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 16px;display:none}
  .nav-menu.open{display:flex}
  .nav-menu ul{flex-direction:column;gap:0}
  .nav-menu a{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
  .lang{margin-top:12px;align-self:flex-start}
  .hero{grid-template-columns:1fr;padding-top:36px}
  .hero-art{order:1}
  .stages{grid-template-columns:1fr}
  .company-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .area{grid-template-columns:1fr;gap:8px}
  .area:nth-child(even){margin:0;padding-left:0;padding-right:0}
  .area-list{padding:0 20px}
}
@media (max-width:360px){
  .nav-inner,.section-head,.area-list,.stages,.company-grid,.contact-grid,.contact-form-note,.contact-cta-wrap,.footer-inner{padding-left:14px;padding-right:14px}
  .sec-num{font-size:2.6rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
/* No-JS fallback: nav visible, toggle hidden */
html:not(.js) .nav-toggle{display:none}
html:not(.js) .nav-menu{display:flex}
html:not(.js) .lang{display:none}
@media (max-width:860px){
  html:not(.js) .nav-menu{display:flex}
}

/* Supervisor fixes after local repair review */
.bars::before,.bars::after{left:0}
.area-body,.hero-copy{min-width:0}
.hero-img{height:auto;aspect-ratio:3/2}
.stages{padding:0;max-width:1080px;width:calc(100% - 40px)}
html:not(.js) .nav{position:relative}
@media(max-width:860px){
  html:not(.js) .nav-inner{flex-wrap:wrap}
  html:not(.js) .nav-menu{position:static;width:100%;border:0;padding:0}
}
@media(max-width:360px){.stages{padding:0;width:calc(100% - 28px)}}
