:root {
  color-scheme: light;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --catalog-page: #f8f6f2;
  --catalog-panel: #ffffff;
  --catalog-text: #27231f;
  --catalog-muted: #554d45;
  --catalog-meta: #5d554d;
  --catalog-line: #756a60;
  --catalog-accent: #6d4d30;
  --catalog-accent-hover: #53371f;
  --catalog-accent-text: #ffffff;
  --catalog-focus: #174f51;
  --catalog-shadow: rgb(70 54 38 / 14%);
  background: var(--catalog-page);
  color: var(--catalog-text);
}
* { box-sizing: border-box; }
html { overflow-wrap: anywhere; }
body { margin: 0; min-width: 0; min-height: 100vh; background: var(--catalog-page); color: var(--catalog-text); }
a { overflow-wrap: anywhere; }
.catalog-skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 10; display: inline-flex; min-height: 2.75rem; align-items: center; transform: translateY(-200%); border: 2px solid var(--catalog-accent); border-radius: .35rem; background: var(--catalog-accent); padding: .65rem 1rem; color: var(--catalog-accent-text); font-weight: 700; text-decoration: underline; text-decoration-thickness: .12em; text-underline-offset: .18em; }
.catalog-skip-link:focus, .catalog-skip-link:focus-visible { transform: none; outline: .2rem solid var(--catalog-focus); outline-offset: .2rem; }
.catalog-shell { width: min(72rem, calc(100% - 2rem)); min-width: 0; margin: 0 auto; }
.catalog-header { padding: 3rem 0 0; }
.catalog-main { padding: 0 0 3rem; scroll-margin-top: 1.5rem; }
.catalog-main:focus, .catalog-main:focus-visible { outline: .2rem solid var(--catalog-focus); outline-offset: .35rem; }
.catalog-kicker { color: var(--catalog-accent); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
h1 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; margin: .5rem 0 1rem; overflow-wrap: anywhere; }
.catalog-intro { max-width: 48rem; color: var(--catalog-muted); font-size: 1.1rem; line-height: 1.65; }
.catalog-list-heading { margin: 2rem 0 1rem; font-size: 1.35rem; line-height: 1.25; }
.form-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)); gap: 1rem; padding: 0; margin: 0 0 2rem; list-style: none; }
.form-card { min-width: 0; }
.form-card a { display: grid; gap: .5rem; min-width: 0; min-height: 8rem; padding: 1.25rem; border: 2px solid var(--catalog-line); border-radius: .9rem; background: var(--catalog-panel); color: var(--catalog-text); text-decoration: underline; text-decoration-color: var(--catalog-accent); text-decoration-thickness: .1em; text-underline-offset: .18em; box-shadow: 0 .35rem 1.2rem var(--catalog-shadow); transition: border-color .15s ease, transform .15s ease; }
.form-card a:hover { border-color: var(--catalog-accent-hover); transform: translateY(-1px); }
.form-card a:focus-visible { outline: .2rem solid var(--catalog-focus); outline-offset: .2rem; }
.form-title { font-size: 1.2rem; font-weight: 750; overflow-wrap: anywhere; }
.form-meta { color: var(--catalog-meta); font-size: .9rem; overflow-wrap: anywhere; }
.catalog-note { max-width: 48rem; min-width: 0; padding: 1rem 1.15rem; border: 2px solid var(--catalog-line); border-left-width: .35rem; background: var(--catalog-panel); line-height: 1.55; overflow-wrap: anywhere; }
.catalog-footer { width: min(72rem, calc(100% - 2rem)); min-width: 0; margin: 0 auto 2rem; border-top: 2px solid var(--catalog-line); padding-top: 1rem; text-align: center; overflow-wrap: anywhere; }
.catalog-footer p { margin: 0; }
.catalog-footer .catalog-legal-links { margin-top: .4rem; }
.catalog-footer a, .buyer-imprint a { color: var(--catalog-accent); font-weight: 700; text-decoration: underline; text-decoration-thickness: .12em; text-underline-offset: .18em; }
.buyer-imprint a { display: inline-flex; min-width: 0; max-width: 100%; min-height: 2.75rem; align-items: center; padding: .25rem; margin: -.25rem; overflow-wrap: anywhere; }
.catalog-footer a:focus-visible, .buyer-imprint a:focus-visible { border-radius: .2rem; outline: .2rem solid var(--catalog-focus); outline-offset: .2rem; }
.catalog-legal-links a { display: inline-flex; min-height: 2.75rem; align-items: center; padding: .35rem; }
.buyer-imprint { width: min(48rem, calc(100% - 2rem)); min-width: 0; margin: 2rem auto 3rem; border: 2px solid var(--catalog-line); border-radius: .9rem; background: var(--catalog-panel); box-shadow: 0 .35rem 1.2rem var(--catalog-shadow); padding: clamp(1.25rem, 4vw, 2.25rem); color: var(--catalog-text); text-align: left; overflow-wrap: anywhere; }
.buyer-imprint h2 { margin-top: 0; }
.buyer-imprint h2, .buyer-imprint h3 { margin-bottom: .5rem; }
.buyer-imprint p, .buyer-imprint address { line-height: 1.6; }
.buyer-imprint address { font-style: normal; }
.buyer-imprint-basis { color: var(--catalog-meta); }
.buyer-imprint-multiline { white-space: pre-line; }
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --catalog-page: #171514;
    --catalog-panel: #25211e;
    --catalog-text: #f4eee7;
    --catalog-muted: #d8cdc2;
    --catalog-meta: #d8cdc2;
    --catalog-line: #a89684;
    --catalog-accent: #f1c594;
    --catalog-accent-hover: #ffe0bd;
    --catalog-accent-text: #171514;
    --catalog-focus: #8fe3df;
    --catalog-shadow: rgb(0 0 0 / 38%);
  }
}
@media (forced-colors: active) {
  :root { background: Canvas; color: CanvasText; }
  body, .form-card a, .catalog-note, .buyer-imprint { background: Canvas; color: CanvasText; }
  .catalog-intro, .form-meta, .buyer-imprint-basis, .catalog-kicker { color: CanvasText; }
  .form-card a, .catalog-note, .buyer-imprint, .catalog-footer { border-color: CanvasText; box-shadow: none; }
  .catalog-footer a, .buyer-imprint a, .form-card a { color: LinkText; text-decoration: underline; }
  .catalog-skip-link { border-color: Highlight; background: Highlight; color: HighlightText; }
  .catalog-skip-link:focus, .catalog-skip-link:focus-visible, .catalog-main:focus, .catalog-main:focus-visible, .form-card a:focus-visible, .catalog-footer a:focus-visible, .buyer-imprint a:focus-visible { outline-color: Highlight; }
  .form-card a:hover { border-color: Highlight; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .form-card a:hover { transform: none; }
}
@media (max-width: 32rem) {
  .catalog-shell, .catalog-footer, .buyer-imprint { width: min(72rem, calc(100% - 1rem)); }
  .catalog-header { padding-top: 1.5rem; }
  .catalog-main { padding-bottom: 1.5rem; }
  .form-card a, .catalog-note { padding: 1rem; }
}
