/* Schriften lokal eingebunden (keine Übertragung an Google) */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/schibsted-grotesk-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/schibsted-grotesk-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/schibsted-grotesk-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/schibsted-grotesk-latin-700-normal.woff2) format('woff2')}
*{box-sizing:border-box}
body{margin:0;background:#0B0E0F;color:#ECE9E7;font-family:'Schibsted Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:#C8A45C;text-decoration:none}
a:hover{color:#E7CE96}
h1,h2,h3,h4,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
input,textarea,select{font:inherit}
::selection{background:#C8A45C;color:#0B0E0F}
.hc-root{overflow-x:clip !important}

/* --- Bewegung / Einblenden --- */
@keyframes hc-spin{to{transform:rotate(360deg)}}
@keyframes hc-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
@keyframes hc-pulse{0%,100%{opacity:.35}50%{opacity:.75}}
@keyframes hc-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes hc-dash{to{stroke-dashoffset:-48}}
.hc-flow path{stroke-dasharray:5 7;animation:hc-dash 3.2s linear infinite}
.hc-spin{animation:hc-spin 90s linear infinite;transform-origin:50% 50%}
.hc-spin-rev{animation:hc-spin 60s linear infinite reverse;transform-origin:50% 50%}
.hc-float{animation:hc-float 11s ease-in-out infinite}
.hc-pulse{animation:hc-pulse 6s ease-in-out infinite}
.js [data-reveal]{opacity:0;transform:translateY(26px)}
.js [data-reveal].in{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.16,.8,.3,1),transform .8s cubic-bezier(.16,.8,.3,1)}
.js [data-reveal][data-d="1"].in{transition-delay:.09s}
.js [data-reveal][data-d="2"].in{transition-delay:.18s}
.js [data-reveal][data-d="3"].in{transition-delay:.27s}
.no-motion *,.no-motion *::before,.no-motion *::after{animation:none !important;transition:none !important}
.no-motion [data-reveal]{opacity:1 !important;transform:none !important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition-duration:.01ms !important}
  [data-reveal]{opacity:1 !important;transform:none !important}
}

/* --- Intro-Animation (Hero beim Laden) --- */
@keyframes hc-word{from{transform:translateY(105%)}to{transform:none}}
@keyframes hc-fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes hc-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes hc-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hc-line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.hc-line>span{display:inline-block;animation:hc-word 1.15s cubic-bezier(.16,.8,.3,1) .15s both}
.hc-l2>span{animation-delay:.3s}
.hc-intro-0{animation:hc-fade .8s cubic-bezier(.16,.8,.3,1) both}
.hc-intro-2{animation:hc-fade .9s cubic-bezier(.16,.8,.3,1) .7s both}
.hc-intro-3{animation:hc-fade .9s cubic-bezier(.16,.8,.3,1) .9s both}
.hc-eyeline{transform-origin:0 50%;animation:hc-grow 1s cubic-bezier(.16,.8,.3,1) .2s both}
.hc-draw{stroke-dasharray:1;animation:hc-draw 2.6s cubic-bezier(.65,0,.35,1) .35s both}

/* --- Interaktionen --- */
.hc-lift{transition:transform .45s cubic-bezier(.16,.8,.3,1),box-shadow .45s,border-color .45s}
.hc-lift:hover{transform:translateY(-6px);box-shadow:0 28px 70px -30px rgba(0,0,0,.9)}
.hc-btn{transition:transform .25s cubic-bezier(.16,.8,.3,1),background-color .25s,border-color .25s,color .25s}
.hc-btn:hover{transform:translateY(-2px)}
.hc-btn:active{transform:translateY(0)}
.hc-nav a{transition:color .25s}
.hc-arrow{transition:transform .35s cubic-bezier(.16,.8,.3,1)}
.hc-btn:hover .hc-arrow{transform:translateX(5px)}
.hc-underline{position:relative}
.hc-underline::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:currentColor;transition:right .4s cubic-bezier(.16,.8,.3,1)}
.hc-underline:hover::after{right:0}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #C8A45C;outline-offset:3px;border-radius:4px}
input::placeholder,textarea::placeholder{color:#5F6A68}
.hc-field{transition:border-color .25s,background-color .25s}
.hc-field:focus{border-color:#C8A45C !important;background:rgba(200,164,92,.05) !important}

/* --- Responsiv --- */
@media (max-width:1080px){
  .hc-split{grid-template-columns:minmax(0,1fr) !important;gap:40px !important}
  .hc-sticky{position:static !important}
  .hc-hero-pad{padding-top:104px !important;padding-bottom:88px !important}
}
@media (min-width:861px){
  .hc-mnav{display:none !important}
}
@media (max-width:860px){
  .hc-nav{display:none !important}
  .hc-burger{display:inline-flex !important}
  .hc-lang{margin-left:auto !important}
  .hc-headwrap{gap:10px !important;height:64px !important}
  .hc-wrap{padding-left:22px !important;padding-right:22px !important}
  .hc-contact{grid-template-columns:minmax(0,1fr) !important}
  .hc-fitrow{grid-template-columns:minmax(0,1fr) !important}
  .hc-deco{display:none !important}
}
@media (max-width:560px){
  .hc-row2{grid-template-columns:minmax(0,1fr) !important}
  .hc-cta{width:100% !important;justify-content:center !important}
  .hc-lang{display:none !important}
  .hc-headcta{margin-left:auto !important;padding:9px 13px !important;font-size:13px !important}
  .hc-headcta .hc-arrow{display:none}
  .hc-headwrap{gap:8px !important}
  .hc-headwrap > a:first-child{flex:1 1 0 !important;min-width:0}
  .hc-logo{height:auto !important;width:100% !important;max-width:170px}
  .hc-root > section:not(#start){padding-top:76px !important;padding-bottom:76px !important}
  .hc-hero-pad{padding-top:64px !important;padding-bottom:72px !important}
  .hc-stats{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important}
  .hc-stat{padding:22px 16px !important}
  .hc-statnum{font-size:34px !important}
  .hc-stepbtn{padding:20px 18px !important}
  .hc-stepbody{padding-left:0 !important}
  .hc-card{padding:26px 20px !important}
}

/* Ergänzungen für die statische Seite */
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[hidden]{display:none !important}
label[for="hc-deck"]:focus-within{outline:2px solid #C8A45C;outline-offset:3px}
label[for="hc-deck"]:hover{border-color:rgba(200,164,92,.45) !important}
