@font-face{font-family:"Uncut Sans Book";src:url("/fonts/UncutSans-Book.woff2") format("woff2"),url("/fonts/UncutSans-Book.woff") format("woff");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Uncut Sans";src:url("/fonts/UncutSans-Regular.woff2") format("woff2"),url("/fonts/UncutSans-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap;}

:root{
  color-scheme:light;
  --graphit:#434950;
  --buttercream:#FFF6C7;
  --raster:#D5CDA5;
  --leuchtgelb:#FFDB28;
  --pad-x:clamp(1.5rem, 3vw, 3rem);
  --pad-y:clamp(1.6rem, 3vw, 2.75rem);
  --fs-small:clamp(.82rem, 1.05vw, .96rem);
  --fs-headline:clamp(2.4rem, 5vw, 4.15rem);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{
  min-height:100dvh;background:var(--buttercream);color:var(--graphit);
  font-family:"Uncut Sans", system-ui, -apple-system, Segoe UI, sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;}

.page{position:relative;min-height:100dvh;overflow:hidden;}

.raster-d,.raster-m{position:absolute;inset:0;padding:0 var(--pad-x);pointer-events:none;z-index:0;}
.raster-d{display:grid;grid-template-columns:repeat(6,1fr);}
.raster-m{display:none;grid-template-columns:repeat(2,1fr);}
.raster-d>i,.raster-m>i{height:100%;}
/*.raster-d>i+i,.raster-m>i+i{border-left:1px solid var(--raster);}*/
.raster-d>i,.raster-m>i{border-right:1px solid var(--raster);}
.raster-d>i:first-child,.raster-m>i{border-left:1px solid var(--raster);}

.stage{
  position:relative;z-index:1;min-height:100dvh;
  padding:var(--pad-y) var(--pad-x);
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-template-rows:auto minmax(2rem,1.35fr) auto minmax(1.5rem,.85fr) auto;
  column-gap:0;
  opacity:0;transform:translateY(8px);
  animation:rise .7s cubic-bezier(.2,.7,.2,1) .05s forwards;
}
@keyframes rise{to{opacity:1;transform:none;}}

.brand{display:contents;}
.meta{display:contents;}
.msp{display:none;}

.wordmark{grid-column:1 / 3;grid-row:1;align-self:start;color:var(--graphit);padding:0 2%;}
.wordmark svg,.wordmark img{display:block;width:100%;height:auto;}

.zusatz{
  grid-column:4 / 6;grid-row:1;align-self:end;
  font-family:"Uncut Sans";font-size:var(--fs-small);line-height:1.25;letter-spacing:.03em;
  padding-left:2.3%;
}

.headline{
  grid-column:4 / 7;grid-row:3;align-self:center;
  max-width:9.5em;
  padding-left:1.1%;
}

h1, h1.headline {
  font-family:"Uncut Sans Book";font-weight:400;
  font-size:var(--fs-headline);line-height:1;letter-spacing:0;
}

.content{
  grid-column:4 / 7;grid-row:3;align-self:center;
  font-family:"Uncut Sans";font-size:var(--fs-small);line-height:1.25;letter-spacing:.03em;font-style:normal;
  padding-left:1.6%;
}

.content h1{ margin-left:-0.5%; margin-bottom:0.2em; }
.content h2,h3{ margin-bottom:0.2em; }
.content p{ margin-bottom:0.4em; }
.content ul {list-style-position:inside; margin-bottom:0.4em; }


.f-legal,.f-address,.f-contact{
  grid-row:5;align-self:end;
  font-family:"Uncut Sans";font-size:var(--fs-small);line-height:1.25;letter-spacing:.03em;font-style:normal;
}
.f-legal{grid-column:1 / 3;padding-left:2.5%;}
.f-address{grid-column:4 / 6;padding-left:2.5%;}
.f-contact{grid-column:6 / 7;padding-left:4%;}

a.link{
  display:inline-block;text-decoration:underline;text-decoration-color:transparent;
  text-underline-offset:3px;text-decoration-thickness:1.5px;transition:text-decoration-color .18s ease;
}
a.link:hover{text-decoration-color:var(--leuchtgelb);}
a.link:focus-visible{outline:2px solid var(--graphit);outline-offset:3px;border-radius:2px;text-decoration-color:transparent;}

@media (max-width:720px){
  :root{
    --pad-x:clamp(1.1rem, 5.5vw, 1.7rem);
    --pad-y:clamp(1.4rem, 6vw, 2rem);
    --fs-headline:clamp(2.05rem, 9vw, 3.1rem);
  }
  .raster-d{display:none;}
  .raster-m{display:grid;}

  .stage{display:flex;flex-direction:column;}

  .brand{display:grid;grid-template-columns:1fr 1fr;align-items:start;column-gap:clamp(.5rem,3vw,1rem);}
  .wordmark{grid-column:auto;padding:0 4%;width:clamp(130px,44vw,200px);align-self:start;}
  .wordmark svg,.wordmark img{width:100%;}
  .zusatz{grid-column:auto;padding-top:.12em;padding-left:0;}

  .msp{display:block;}
  .msp-a{flex:1.5 1 0;}
  .msp-b{flex:1 1 0;}

  .headline{grid-column:auto;align-self:stretch;max-width:none;padding:0 2%;}
  .content{grid-column:auto;align-self:stretch;max-width:none;padding:0 2.5%;}

  .f-address{grid-column:auto;align-self:stretch;text-align:left;padding-left:2%;}
  .meta{display:flex;justify-content:space-between;gap:1rem;margin-top:clamp(1rem,4vh,1.7rem);}
  .f-contact{grid-column:auto;order:1;text-align:left;padding-left:2%;}
  .f-legal{grid-column:auto;order:2;text-align:right;padding-right:2%;}
}

@media (prefers-reduced-motion:reduce){
  .stage{animation:none;opacity:1;transform:none;}
  a.link{transition:none;}
}
/* ===== Cookie-Banner ===== */
.cc{
  position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:100;
  max-width:600px;margin-inline:auto;padding:1.1rem 1.25rem;
  background:var(--graphit);color:var(--buttercream);
  border-radius:12px;box-shadow:0 10px 34px rgba(0,0,0,.22);
  font-family:"Uncut Sans",system-ui,sans-serif;
  font-size:.9rem;line-height:1.45;letter-spacing:.02em;
  animation:ccIn .45s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes ccIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.cc__text{margin:0 0 .85rem;}
.cc__text a{color:var(--leuchtgelb);text-underline-offset:2px;}
.cc__btns{display:flex;gap:.6rem;flex-wrap:wrap;}
.cc button{
  cursor:pointer;border:0;border-radius:7px;padding:.55rem 1.05rem;
  font:inherit;font-weight:500;letter-spacing:.02em;
  transition:transform .12s ease,background .18s ease,box-shadow .18s ease;
}
.cc button:hover{transform:translateY(-1px);}
.cc button:focus-visible{outline:2px solid var(--leuchtgelb);outline-offset:2px;}
.cc [data-cc="decline"]{background:transparent;color:var(--buttercream);box-shadow:inset 0 0 0 1px rgba(255,246,199,.5);}
.cc [data-cc="decline"]:hover{box-shadow:inset 0 0 0 1px rgba(255,246,199,.9);}
.cc__accept{background:var(--leuchtgelb);color:var(--graphit);}
.cc__accept:hover{background:#ffe24d;}
@media (prefers-reduced-motion:reduce){.cc{animation:none;}.cc button{transition:none;}}
@media (max-width:720px){.cc{left:.75rem;right:.75rem;bottom:.75rem;}.cc__btns{flex-direction:column-reverse;}.cc button{width:100%;}}

/* ===== Kunden-Portal-Button ===== */
.btn-portal{
  grid-column:6 / 7;grid-row:1;align-self:end;justify-self:start;margin-left:4%;
  display:inline-block;
  font-family:"Uncut Sans";font-size:var(--fs-small);line-height:1;letter-spacing:.03em;
  padding:.62em 1.15em;border-radius:999px;white-space:nowrap;
  background:var(--graphit);color:var(--buttercream);
  border:1px solid var(--graphit);text-decoration:none;
  transition:background .18s ease,color .18s ease;
}
.btn-portal:hover{background:transparent;color:var(--graphit);}
.btn-portal:focus-visible{outline:2px solid var(--graphit);outline-offset:3px;}

@media (max-width:720px){
  .btn-portal{grid-column:2;grid-row:auto;align-self:start;margin-left:0;margin-top:.65rem;}
}
