/* ==============================================================
   scheller edv · Gemeinsame Styles
   Tokens · Reset · Utilities · Nav · Burger · Footer
   ============================================================== */

/* Tokens */
:root {
  --coral-50:#ffe4e4; --coral-100:#ffc9c9; --coral-400:#ff7879;
  --coral-500:#ff5758; --coral-600:#e64446; --coral-700:#b83436;
  --ink-900:#3b4c51; --ink-700:#4a5e64; --ink-600:#5d7278;
  --ink-300:#aab4b8; --ink-100:#e7ecee; --ink-50:#f2f5f6;
  --canvas:#f7f8f9; --white:#fff;
  --f-sans:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --f-display:'Space Grotesk',var(--f-sans);
  --f-serif:'Fraunces',Georgia,serif;
  --f-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --r-sm:6px; --r-md:12px; --r-lg:20px; --r-xl:28px; --r-pill:999px;
  --sh-sm:0 1px 2px rgba(17,24,39,.05),0 1px 3px rgba(17,24,39,.04);
  --sh-md:0 4px 16px rgba(17,24,39,.08),0 2px 4px rgba(17,24,39,.04);
  --sh-lg:0 24px 48px -12px rgba(17,24,39,.18);
  --sh-glow:0 10px 40px -10px rgba(255,87,88,.45);
  --ease:cubic-bezier(.2,.8,.2,1);
}

/* Reset */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--f-sans);color:var(--ink-900);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0}

/* Utilities */
.eyebrow{font-family:var(--f-mono);font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--coral-600);margin:0}
.lede{font-size:18px;color:var(--ink-600);line-height:1.6;max-width:62ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--r-pill);font-weight:600;font-size:14px;transition:transform .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);letter-spacing:.01em}
.btn--lg{padding:14px 24px;font-size:15px}
.btn--primary{background:var(--coral-500);color:#fff;box-shadow:var(--sh-glow)}
.btn--primary:hover{background:var(--coral-600);transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--ink-900);border:1px solid var(--ink-100)}
.btn--ghost:hover{background:var(--ink-50)}

/* Nav */
.v1-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:40px;padding:16px 48px;background:rgba(255,255,255,.9);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--ink-100);transition:box-shadow .3s var(--ease)}
.v1-nav.is-scrolled{box-shadow:0 4px 20px -8px rgba(17,24,39,.08)}
.v1-logo{display:inline-flex;align-items:center;flex-shrink:0}
.v1-logo img,.v1-logo svg{height:36px;width:auto;display:block;transition:transform .25s var(--ease)}
.v1-logo:hover img,.v1-logo:hover svg{transform:scale(1.03)}
.v1-nav ul{list-style:none;display:flex;gap:4px;margin:0 auto 0 0;padding:0}
.v1-nav ul a{display:inline-block;padding:10px 14px;font-size:14.5px;font-weight:500;color:var(--ink-700);border-radius:var(--r-pill);position:relative;transition:color .2s,background .2s}
.v1-nav ul a:hover{color:var(--ink-900);background:var(--ink-50)}
.v1-nav ul a[aria-current="page"]{color:var(--coral-600)}
.v1-nav ul a[aria-current="page"]::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--coral-500);border-radius:2px}

/* Hamburger */
.v1-burger{display:none;width:42px;height:42px;padding:0;background:transparent;border:1px solid var(--ink-100);border-radius:var(--r-pill);cursor:pointer;position:relative;flex-shrink:0;transition:background .2s,border-color .2s}
.v1-burger:hover{background:var(--ink-50);border-color:var(--ink-300)}
.v1-burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--ink-900);border-radius:1px;transition:transform .3s var(--ease),opacity .2s,top .3s var(--ease)}
.v1-burger span:nth-child(1){top:14px}
.v1-burger span:nth-child(2){top:20px}
.v1-burger span:nth-child(3){top:26px}
.v1-nav.is-open .v1-burger span:nth-child(1){top:20px;transform:rotate(45deg)}
.v1-nav.is-open .v1-burger span:nth-child(2){opacity:0}
.v1-nav.is-open .v1-burger span:nth-child(3){top:20px;transform:rotate(-45deg)}

/* Footer */
.v1-foot{display:flex;justify-content:space-between;max-width:1280px;margin:0 auto;padding:32px 48px;border-top:1px solid var(--ink-100);color:var(--ink-600);font-size:13px;gap:16px;flex-wrap:wrap}
.v1-foot a{color:var(--ink-700)}
.v1-foot a:hover{color:var(--coral-600)}
.v1-foot__social{display:inline-flex;align-items:center;gap:6px}
.v1-foot__social svg{width:15px;height:15px;vertical-align:-2px}

/* Mobile Nav / Hamburger-Drawer */
@media (max-width:720px){
  .v1-nav{padding:12px 16px;gap:10px;flex-wrap:nowrap}
  .v1-logo img,.v1-logo svg{height:28px}
  .v1-burger{display:block}
  .v1-nav > .btn--primary{margin-left:auto;font-size:13px;padding:9px 14px}
  .v1-nav ul{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;gap:2px;margin:0;padding:0 12px;background:rgba(255,255,255,.98);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--ink-100);box-shadow:0 16px 30px -16px rgba(17,24,39,.2);max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .35s var(--ease),opacity .25s,padding .35s var(--ease)}
  .v1-nav.is-open ul{max-height:420px;opacity:1;pointer-events:auto;padding:10px 12px 18px}
  .v1-nav ul li{width:100%}
  .v1-nav ul a{display:block;width:100%;padding:14px 16px;font-size:16px;border-radius:12px}
  .v1-nav ul a[aria-current="page"]::after{display:none}
  .v1-nav ul a[aria-current="page"]{background:var(--ink-50)}
  .v1-foot{padding:24px 20px;flex-direction:column;gap:8px}
}
