@font-face {
  font-family: "Ubuntu";
  src: url("fonts/Ubuntu-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Ubuntu";
  src: url("fonts/Ubuntu-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Ubuntu";
  src: url("fonts/Ubuntu-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Ubuntu Sans";
  src: url("fonts/UbuntuSans-Light.woff2") format("woff2");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "Ubuntu Sans";
  src: url("fonts/UbuntuSans-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Ubuntu Sans";
  src: url("fonts/UbuntuSans-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Ubuntu Sans";
  src: url("fonts/UbuntuSans-ExtraBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

:root {
  --rekeep-teal: #00b2a0;
  --rekeep-teal-dark: #00b2a0;
  --rekeep-navy: #17243a;
  --rekeep-orange: #ff5a36;
  --rekeep-border: #dbe5e9;
  --rekeep-soft: #f1f8fa;
}

.rekeep-docs,
.rekeep-docs * { box-sizing: border-box; }
.rekeep-docs { max-width: 1200px; margin: 0 auto; padding: 42px 36px 28px; color: var(--rekeep-navy); font-family: Ubuntu, "Ubuntu Sans", Arial, sans-serif; }
.rekeep-docs__hero { position: relative; min-height: 330px; overflow: visible; padding: 0 60% 30px 12px; margin-bottom:0px; }
.rekeep-docs__hero-art { position: absolute; z-index: 0; top: 0; right: -18%; bottom: 0; width: 86%; height: 100%; pointer-events: none; }
.rekeep-docs__hero-bg { position: absolute; top: 0; right: 0; width: 100%; height: 100%; object-fit: fill; }
.rekeep-docs__hero-picture { position: absolute; z-index: 1; bottom: 40px; right: 33%; width: min(345px, 43%); height: auto; }
.rekeep-docs__hero > :not(.rekeep-docs__hero-art) { position: relative; z-index: 2; }
.rekeep-docs__logo img { width: auto; max-width: 150px; max-height: 72px; margin-bottom: 36px; }
.rekeep-docs__eyebrow { margin: 0 0 15px; color: var(--rekeep-teal); font-size: 14px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.rekeep-docs h1 { max-width: 520px; margin: 0; color: var(--rekeep-navy); font-family: "Ubuntu Sans", Ubuntu, Arial, sans-serif; font-size: clamp(34px, 3.6vw, 50px); font-weight: 750; line-height: 1.08; }
.rekeep-docs__intro { max-width: 520px; margin: 15px 0 0; font-size: 18px; line-height: 1.55; }
.rekeep-docs__notice { display: flex; align-items: center; gap: 22px; margin: 14px 0; padding: 14px 22px 14px 14px; border: 1px solid var(--rekeep-border); border-radius: 10px; background: #fff; }
.rekeep-docs__notice p { margin: 0; line-height: 1.5; }
.rekeep-docs__info { display: block; flex: 0 0 46px; width: 46px; height: 46px; object-fit: contain; }
.rekeep-docs__notice--qr { position: relative; min-height: 72px; margin-top: 2px; padding: 11px 150px 11px 14px; }
.rekeep-docs__qr { position: absolute; top: 50%; right: 34px; width: 96px; height: 96px; padding: 8px; border-radius: 9px; background: #fff; box-shadow: 0 3px 12px rgba(23,36,58,.18); object-fit: contain; transform: translateY(-50%); }
.rekeep-docs__groups { display: grid; gap: 10px; margin: 30px 0; }
.rekeep-docs__group { overflow: hidden; border: 1px solid var(--rekeep-border); border-radius: 11px; background: #fff; }
.rekeep-docs__toggle { display: grid; width: 100%; grid-template-columns: 52px 1fr auto 20px; align-items: center; gap: 14px; padding: 9px 22px 9px 14px; border: 0; background: #fff; color: var(--rekeep-teal); font: inherit; text-align: left; cursor: pointer; }
.rekeep-docs__toggle:hover, .rekeep-docs__toggle:focus-visible { background: #f7fbfc; }
.rekeep-docs__toggle:focus-visible { outline: 3px solid rgba(0,178,160,.25); outline-offset: -3px; }
.rekeep-docs__category-icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: var(--rekeep-teal); color: #fff; }
.rekeep-docs__category-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.rekeep-docs__category-name { font-size: 18px; font-weight: 750; }
.rekeep-docs__count { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 4px; background: var(--rekeep-teal); color: #fff; font-weight: 800; text-align: center; }
.rekeep-docs__chevron { width: 10px; height: 10px; border-right: 3px solid var(--rekeep-teal); border-bottom: 3px solid var(--rekeep-teal); transform: rotate(45deg) translateY(-3px); transition: transform .18s ease; }
.rekeep-docs__group.is-open .rekeep-docs__chevron { transform: rotate(225deg) translate(-2px, -2px); }
.rekeep-docs__panel { padding: 0 22px 12px 80px; }
.rekeep-docs__list { overflow: hidden; margin: 0; padding: 0; border: 1px solid var(--rekeep-border); border-radius: 9px; list-style: none; }
.rekeep-docs__item { display: grid; grid-template-columns: 38px minmax(200px, 1fr) auto; align-items: center; gap: 16px; min-height: 76px; padding: 12px 20px; border-bottom: 1px solid var(--rekeep-border); }
.rekeep-docs__item:last-child { border-bottom: 0; }
.rekeep-docs__pdf-icon { color: var(--rekeep-orange); }
.rekeep-docs__pdf-icon img { display: block; width: 27px; height: 35px; object-fit: contain; }
.rekeep-docs__meta { display: grid; gap: 3px; }
.rekeep-docs__meta strong { font-size: 15px; line-height: 1.25; }
.rekeep-docs__meta small { font-size: 12px; }
.rekeep-docs__actions { display: flex; align-items: center; }
.rekeep-docs__actions a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 18px; border-left: 1px solid var(--rekeep-border); color: var(--rekeep-teal-dark); font-size: 14px; font-weight: 750; text-decoration: none; }
.rekeep-docs__actions a:first-child { border-left: 0; }
.rekeep-docs__actions a:hover { color: var(--rekeep-navy); }
.rekeep-docs__actions svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.rekeep-docs__empty { margin: 0; padding: 18px; border: 1px solid var(--rekeep-border); border-radius: 8px; }
.rekeep-docs__notice--footer { background: linear-gradient(90deg, #edf7f8, #f7fbfc); }
.rekeep-docs__footer { position: relative; display: flex; min-height: 78px; align-items: flex-end; justify-content: center; padding: 20px 0 3px; }
.rekeep-docs__footer p { margin: 0; font-size: 13px; }
.rekeep-docs__footer-logo { position: absolute; bottom: 0; left: 0; margin-bottom: 20px; }
.rekeep-docs__footer-logo img { display: block; width: auto; max-width: 120px; max-height: 120px;
  margin: 0 auto; }

@media (max-width: 767px) {
  .rekeep-docs { padding: 24px 15px 18px; }
  .rekeep-docs__hero { min-height: 0; padding: 0 6px 16px; border-bottom: 1px solid var(--rekeep-teal); }
  .rekeep-docs__hero-art { display: none; }
  .rekeep-docs__logo img { max-width: 105px; max-height: 50px; margin-bottom: 0px; }
  .rekeep-docs__eyebrow { margin-top: 21px; font-size: 12px; }
  .rekeep-docs h1 { font-size: 31px; }
  .rekeep-docs__intro { margin-top: 12px; font-size: 15px; }
  .rekeep-docs__notice--qr { display: none; }
  .rekeep-docs__groups { margin-top: 22px; }
  .rekeep-docs__toggle { grid-template-columns: 42px 1fr auto 16px; gap: 10px; min-height: 64px; padding: 8px 13px 8px 9px; }
  .rekeep-docs__category-icon { width: 38px; height: 38px; }
  .rekeep-docs__category-icon svg { width: 21px; height: 21px; }
  .rekeep-docs__category-name { font-size: 14px; line-height: 1.35; }
  .rekeep-docs__count { width: 25px; height: 25px; font-size: 13px; }
  .rekeep-docs__panel { padding: 0 5px 5px; }
  .rekeep-docs__item { grid-template-columns: 30px 1fr; gap: 9px 10px; min-height: 0; padding: 13px 11px 9px; }
  .rekeep-docs__pdf-icon { align-self: start; }
  .rekeep-docs__meta strong { font-size: 14px; }
  .rekeep-docs__actions { display: grid; grid-column: 2; grid-template-columns: 1fr; width: 100%; }
  .rekeep-docs__actions.has-download { position: relative; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rekeep-docs__actions.has-download::before { position: absolute; top: 3px; bottom: 3px; left: 50%; width: 1px; background: var(--rekeep-border); content: ""; transform: translateX(-.5px); }
  .rekeep-docs__actions a { min-height: 32px; justify-content: center; padding: 2px 6px; border-left: 0; font-size: 13px; }
  .rekeep-docs__actions.has-download a:first-child { justify-content: flex-start; padding-left: 40px; }
  .rekeep-docs__actions.has-download a:nth-child(2) { justify-content: flex-end; padding-right: 0; }
  .rekeep-docs__actions:not(.has-download) { grid-column: 2; justify-items: start; }
  .rekeep-docs__actions:not(.has-download) a { justify-content: flex-start; padding-left: 0; }
  .rekeep-docs__actions a span { order: -1; }
  .rekeep-docs__notice--footer { align-items: flex-start; gap: 10px; margin-top: 18px; padding: 12px 9px; font-size: 13px; }
  .rekeep-docs__notice--footer .rekeep-docs__info { flex-basis: 38px; width: 38px; height: 38px; }
  .rekeep-docs__footer { min-height: 0; justify-content: flex-start; padding: 16px 4px 0; }
  .rekeep-docs__footer-logo { position: static; }
  .rekeep-docs__footer-logo img { max-width: 104px; }
  .rekeep-docs__footer p { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .rekeep-docs__chevron { transition: none; }
}
