/* ============================================================
   Intro-Modal: "Brief der Gruender"
   Erscheint einmal pro Besucher (localStorage), nach ~600ms Delay.
   Dismiss via X / Backdrop / Esc / Buttons / Checkbox.
   ============================================================ */

@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('../vendor/fonts/caveat/caveat-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('../vendor/fonts/caveat/caveat-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

.nb-intro-root{
  position:fixed;inset:0;z-index:9500;
  display:none;pointer-events:none;
  font-family:'DM Sans',system-ui,-apple-system,sans-serif;
}
.nb-intro-root.is-open{display:block;pointer-events:auto}

.nb-intro-backdrop{
  position:absolute;inset:0;
  background:rgba(0,32,55,.6);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  opacity:0;transition:opacity .35s ease;
}
.nb-intro-root.is-open .nb-intro-backdrop{opacity:1}

.nb-intro-card{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-46%) scale(.97);
  width:min(640px,calc(100vw - 2rem));
  max-height:calc(100vh - 2rem); /* Fallback */
  max-height:calc(100svh - 2rem); /* iOS Safari ohne URL-Bar */
  overflow:auto;
  background:#fdfaf2;
  background-image:
    radial-gradient(circle at 8% 6%, rgba(245,197,24,.08), transparent 35%),
    radial-gradient(circle at 95% 100%, rgba(1,66,106,.06), transparent 35%);
  border-radius:6px;
  box-shadow:
    0 30px 80px rgba(1,66,106,.35),
    0 8px 24px rgba(1,66,106,.18),
    inset 0 0 0 1px rgba(1,66,106,.08);
  opacity:0;
  transition:transform .45s cubic-bezier(.2,.9,.3,1.1), opacity .35s ease;
  color:#0f1d2a;
}
.nb-intro-root.is-open .nb-intro-card{transform:translate(-50%,-50%) scale(1);opacity:1}

.nb-intro-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:6px;
  background:linear-gradient(90deg,#01426a 0%,#01426a 50%,#F5C518 50%,#F5C518 100%);
}

.nb-intro-close{
  position:absolute;top:1rem;right:1rem;z-index:2;
  appearance:none;border:0;background:transparent;cursor:pointer;
  width:44px;height:44px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  color:#3d4a59;transition:background .15s ease,color .15s ease;
}
.nb-intro-close:hover,.nb-intro-close:focus-visible{background:rgba(1,66,106,.08);color:#01426a;outline:none}
.nb-intro-close svg{width:18px;height:18px}

.nb-intro-letter{padding:3rem 3rem 2rem}

.nb-intro-letterhead{
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:1.25rem;margin-bottom:1.5rem;gap:1rem;
  border-bottom:1px dashed rgba(1,66,106,.2);
}
.nb-intro-brand{display:flex;align-items:center;gap:.75rem;min-width:0}
.nb-intro-mini-logo{
  width:44px;height:44px;border-radius:8px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:#01426a;
  overflow:hidden;
}
.nb-intro-mini-logo img{width:100%;height:100%;object-fit:cover;display:block}
.nb-intro-brand-name{
  font-family:'Literata',Georgia,serif;font-weight:600;
  color:#01426a;font-size:1.05rem;line-height:1.2;
}
.nb-intro-brand-name small{
  display:block;font-family:'DM Sans',sans-serif;font-weight:400;
  font-size:.75rem;color:#3d4a59;letter-spacing:.04em;margin-top:.1rem;
}
.nb-intro-date{
  font-size:.82rem;color:#3d4a59;font-style:italic;flex-shrink:0;
}

.nb-intro-card h2{
  font-family:'Literata',Georgia,serif;
  font-size:1.75rem;font-weight:600;line-height:1.25;
  color:#01426a;margin:0 0 1.25rem;letter-spacing:-.01em;
}

.nb-intro-letter p{
  margin:0 0 1rem;color:#0f1d2a;font-size:1rem;line-height:1.65;
}
.nb-intro-letter p strong{color:#01426a;font-weight:600}

.nb-intro-signatures{
  display:flex;gap:2.5rem;flex-wrap:wrap;
  margin-top:1.75rem;padding-top:1.25rem;
  border-top:1px dashed rgba(1,66,106,.2);
}
.nb-intro-sig{flex:1 1 180px;min-width:0}
.nb-intro-sig-mark{
  font-family:'Caveat','Brush Script MT','Lucida Handwriting',cursive;
  font-size:1.85rem;font-weight:600;line-height:1;
  color:#01426a;letter-spacing:.01em;
  margin-bottom:.4rem;display:inline-block;
  transform:rotate(-2deg);
}
.nb-intro-sig:last-child .nb-intro-sig-mark{transform:rotate(1.5deg)}
.nb-intro-sig-name{font-size:.82rem;color:#3d4a59;font-weight:600;letter-spacing:.02em}
.nb-intro-sig-role{font-size:.75rem;color:#3d4a59;font-style:italic}

.nb-intro-actions{
  display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;
  padding:1.5rem 3rem 1.25rem;
  background:rgba(1,66,106,.04);
  border-top:1px solid rgba(1,66,106,.08);
}
.nb-intro-btn{
  appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.95rem 1.6rem;border-radius:999px;border:1px solid transparent;
  font-family:inherit;font-weight:600;font-size:.95rem;line-height:1;
  cursor:pointer;text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.nb-intro-btn:focus-visible{outline:2px solid #F5C518;outline-offset:3px}
.nb-intro-btn--gold{
  background:#F5C518;color:#002a47;
  box-shadow:0 8px 22px rgba(245,197,24,.3);
}
.nb-intro-btn--gold:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(245,197,24,.4)}
.nb-intro-btn--navy{
  background:#01426a;color:#fff;
  box-shadow:0 8px 22px rgba(1,66,106,.25);
}
.nb-intro-btn--navy:hover{
  background:#002a47;transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(1,66,106,.35);
}

.nb-intro-foot{
  display:flex;flex-direction:column;align-items:center;gap:.7rem;
  text-align:center;padding:.85rem 3rem 1.25rem;
  font-size:.82rem;color:#3d4a59;
}
.nb-intro-investor-link{
  display:inline-flex;align-items:center;gap:.35rem;
  color:#3d4a59;text-decoration:none;
  font-size:.82rem;
  padding:.35rem .25rem;
  border-bottom:1px dashed rgba(1,66,106,.25);
  transition:color .15s ease, border-color .15s ease;
}
.nb-intro-investor-link strong{color:#01426a;font-weight:600}
.nb-intro-investor-link:hover{color:#01426a;border-color:#01426a}
.nb-intro-investor-link:focus-visible{outline:2px solid #F5C518;outline-offset:3px;border-radius:4px}
.nb-intro-checkbox{
  display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;user-select:none;
}
.nb-intro-checkbox input{accent-color:#01426a;width:16px;height:16px}

/* Body-Scroll-Lock waehrend Modal offen */
body.nb-intro-locked{overflow:hidden}

@media (max-width:560px){
  .nb-intro-letter{padding:2rem 1.5rem 1.5rem}
  .nb-intro-card h2{font-size:1.4rem}
  .nb-intro-actions,.nb-intro-foot{padding-left:1.5rem;padding-right:1.5rem}
  .nb-intro-actions{flex-direction:column;align-items:stretch}
  .nb-intro-signatures{gap:1.5rem}
  .nb-intro-letterhead{flex-wrap:wrap}
}

@media (prefers-reduced-motion: reduce){
  .nb-intro-backdrop,.nb-intro-card,.nb-intro-btn{transition:none}
  .nb-intro-card{transform:translate(-50%,-50%) scale(1)}
}
