/* ==========================================================
   BlitzLeistung · base
   Reset, section themes, type, grid, controls, header
   ========================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr-h) + 16px);scrollbar-color:#7d8582 var(--ral7021)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--ral7035);color:var(--ink);font:400 var(--t-body)/1.6 var(--f-body);font-feature-settings:"kern","liga";-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
body.is-locked{overflow:hidden}
img,video,canvas,svg,picture{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ol,ul{list-style:none}
fieldset{border:0;min-width:0}
svg:not([fill]){fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
::selection{background:var(--lime);color:var(--lime-ink)}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--ral7021)}
::-webkit-scrollbar-thumb{background:#6f7774;border:3px solid var(--ral7021);border-radius:6px}

/* ---------- section themes ---------- */
:root,.sec--light{--bg:var(--ral7035);--fg:var(--ink);--fg-2:var(--ink-2);--rule:rgba(31,36,39,.2);--rule-strong:rgba(31,36,39,.45);--focus:var(--ink)}
.sec--dark,.hero,.hdr,.mnav,.ftr{--bg:var(--ral7016);--fg:var(--paper);--fg-2:var(--paper-2);--rule:rgba(241,243,239,.16);--rule-strong:rgba(241,243,239,.4);--focus:var(--lime)}
.sec--signal{--bg:var(--signal);--fg:var(--signal-ink);--fg-2:#4a3a10;--rule:rgba(29,22,6,.24);--rule-strong:rgba(29,22,6,.55);--focus:var(--signal-ink)}
.sec{padding-block:var(--sec-y);background:var(--bg);color:var(--fg)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:var(--gutter);top:-60px;z-index:100;padding:10px 16px;background:var(--lime);color:var(--lime-ink);font-weight:600;border-radius:var(--r-ctl);text-decoration:none}
.skip:focus{top:12px}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.grid{display:grid;grid-template-columns:minmax(0,1fr);row-gap:var(--s-7)}
@media (min-width:900px){.grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap)}}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--f-display);font-weight:700;letter-spacing:-.01em;text-wrap:balance}
h2{font-size:var(--t-h2);line-height:1.02}
h3{font-size:var(--t-h3);font-weight:600;line-height:1.15}
p{max-width:65ch;text-wrap:pretty}
.lead{font-size:var(--t-lead);line-height:1.5;color:var(--fg-2);margin-top:var(--s-5)}
.note{font-size:var(--t-small);color:var(--fg-2)}
p a,dd a{text-decoration-thickness:1px;text-underline-offset:3px}
dd,td,output,time{font-variant-numeric:tabular-nums}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border:2px solid transparent;border-radius:var(--r-ctl);font:600 1.0625rem/1 var(--f-display);letter-spacing:.005em;text-decoration:none;white-space:nowrap;transition:background-color .18s,color .18s,border-color .18s}
.btn svg{width:18px;height:18px;flex:none}
.btn:active{transform:translateY(1px)}
.btn--lg{height:56px;padding:0 28px;font-size:1.125rem}
.btn--block{width:100%}
.btn--lime{background:var(--lime);color:var(--lime-ink)}
.btn--lime:hover{background:var(--lime-hover)}
.btn--ink{background:var(--ink);color:var(--paper)}
.btn--ink:hover{background:var(--ral7016)}
.btn--signal{background:var(--signal);color:var(--signal-ink)}
.btn--signal:hover{background:#ffba26}
.btn--line{border-color:currentColor;color:var(--paper)}
.btn--line:hover{background:rgba(241,243,239,.12)}
.btn--text{padding:0 4px;height:48px;color:var(--fg);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.btn--text:hover{text-decoration-color:var(--fg-2)}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:50;height:var(--hdr-h);color:var(--paper);transition:transform .4s var(--ease),background-color .25s}
.hdr::before{content:"";position:absolute;inset:0 0 -40px;background:linear-gradient(rgba(16,19,21,.55),rgba(16,19,21,0));pointer-events:none;transition:opacity .25s}
.hdr.is-solid{background:var(--ral7021);box-shadow:0 1px 0 rgba(241,243,239,.08)}
.hdr.is-solid::before{opacity:0}
.hdr__bar{position:relative;display:flex;align-items:center;gap:var(--s-4);height:100%}
.hdr__logo{display:block;margin-right:auto}
.hdr__logo img{height:26px;width:auto}
.hdr__nav{display:none}
.hdr__sos{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-ctl);background:var(--signal);color:var(--signal-ink);text-decoration:none}
.hdr__sos svg{width:20px;height:20px}
.hdr__sos span{display:none}
.hdr__cta{display:none}
.hdr__menu{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-ctl);box-shadow:inset 0 0 0 1.5px rgba(241,243,239,.5)}
.hdr__menu svg{width:22px;height:22px}
.mnav{position:fixed;inset:var(--hdr-h) 0 0;z-index:49;display:flex;flex-direction:column;justify-content:space-between;gap:var(--s-6);padding:var(--s-5) var(--gutter) calc(var(--s-6) + env(safe-area-inset-bottom,0px));background:var(--ral7021);color:var(--paper);overflow-y:auto}
.mnav[hidden]{display:none}
.mnav nav a{display:block;padding:14px 0;border-bottom:1px solid var(--rule);font:600 1.75rem/1.1 var(--f-display);text-decoration:none}
@media (min-width:640px){
  .hdr__cta{display:inline-flex;height:44px;padding:0 18px}
}
@media (min-width:1120px){
  .hdr__logo{margin-right:var(--s-6)}
  .hdr__logo img{height:28px}
  .hdr__nav{display:flex;gap:var(--s-6);margin-right:auto}
  .hdr__nav a{font-weight:500;font-size:1rem;text-decoration:none;padding-block:6px;background:linear-gradient(var(--lime),var(--lime)) 0 100%/0 2px no-repeat;transition:background-size .25s var(--ease)}
  .hdr__nav a:hover,.hdr__nav a.is-active{background-size:100% 2px}
  .hdr__sos{width:auto;height:auto;gap:var(--s-2);background:none;color:var(--paper);font-size:.9375rem}
  .hdr__sos svg{color:var(--signal)}
  .hdr__sos span{display:inline}
  .hdr__sos b{font-weight:600}
  .hdr__sos:hover b{text-decoration:underline;text-underline-offset:4px}
  .hdr__menu{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
