@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("/fonts/cormorant-garamond-latin-ext-v21.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;
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("/fonts/cormorant-garamond-latin-v21.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: "Work Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/work-sans-latin-ext-v24.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;
}

@font-face {
  font-family: "Work Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/work-sans-latin-v24.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;
}

/* "Abholschein" theme for the service, niche and location pages. Opt-in with body.atelier-theme; presentation only.
   It re-colours the shared tokens (indigo -> navy and gold) and restyles cards, chips, buttons and kickers; no markup changes. */
body.atelier-theme {
  --lc-paper: #f7f1e4; --lc-paper-deep: #efe5d0; --lc-line: #d9cdb5; --lc-ink: #10233f; --lc-ink-soft: #3d4f66; --lc-muted: #5a6a7e;
  --lc-blue: #0f2747; --lc-blue-dark: #a4562b; --lc-copper: #a4562b;
  --at-card: #fffcf6; --at-navy: #0f2747; --at-copper: #a4562b; --at-gold1: #f0d47e; --at-gold2: #d5a947;
  --at-mono: ui-monospace, "Cascadia Mono", "SF Mono", Consolas, monospace;
  --lc-display: "Cormorant Garamond", Georgia, serif; --lc-body: "Work Sans", "Segoe UI", Arial, sans-serif;
  font-family: var(--lc-body); color: var(--lc-ink);
  background: var(--lc-paper) radial-gradient(#10233f14 1px, transparent 1.2px) 0 0 / 22px 22px;
}
/* cards: paper slips with a dashed edge */
body.atelier-theme .hero-card, body.atelier-theme .content-card, body.atelier-theme .target-card, body.atelier-theme .advantage-card,
body.atelier-theme .faq-item, body.atelier-theme .service-branch-card { background: var(--at-card); border: 1.5px dashed #bfae8c; border-radius: 16px; box-shadow: 0 18px 36px -24px #10233f77; }
/* the hero is the ticket: striped top edge instead of the blue bar */
body.atelier-theme .hero-card { background: var(--at-card); padding-top: clamp(26px, 3.4vw, 38px); }
body.atelier-theme .hero-card::before { inset: 0 0 auto 0; width: auto; height: 7px; background: repeating-linear-gradient(90deg, var(--at-navy) 0 10px, #b8412b 10px 20px); }
body.atelier-theme .hero-card h1, body.atelier-theme .section-heading, body.atelier-theme .service-branches > h2, body.atelier-theme .related h2,
body.atelier-theme .local-faq h2, body.atelier-theme .content-card h2, body.atelier-theme .faq-item h2 { color: var(--at-navy); font-weight: 600; }
body.atelier-theme .hero-card h1 { letter-spacing: -0.03em; }
body.atelier-theme .eyebrow, body.atelier-theme .section-kicker { font-family: var(--at-mono); font-size: 0.72rem; letter-spacing: 0.16em; color: var(--at-copper); }
body.atelier-theme .service-breadcrumb { font-family: var(--at-mono); font-size: 0.78rem; letter-spacing: 0.04em; }
body.atelier-theme .service-breadcrumb a { color: var(--at-copper); }
body.atelier-theme .chip { background: transparent; border: 1.5px dashed #b9a98a; font-family: var(--at-mono); font-size: 0.8rem; letter-spacing: 0.02em; color: var(--lc-ink-soft); }
/* buttons: gold stamp for the main action, navy for the second, dashed label for the rest */
body.atelier-theme .btn, body.atelier-theme .button { border-radius: 10px; font-weight: 700; }
body.atelier-theme .btn-primary { color: var(--at-navy); background: linear-gradient(180deg, var(--at-gold1), var(--at-gold2)); border-color: #b98a1f; box-shadow: 0 10px 20px -10px #b98a1faa, inset 0 1px 0 #fff8; }
body.atelier-theme .btn-primary:hover, body.atelier-theme .btn-primary:focus-visible { filter: brightness(1.04); }
body.atelier-theme .btn-outline, body.atelier-theme .button-light { background: transparent; border: 1.5px dashed #a58f66; color: var(--at-navy); }
body.atelier-theme .button-dark { background: var(--at-navy); border-color: var(--at-navy); color: #fff; }
body.atelier-theme .button-primary { color: var(--at-navy); background: linear-gradient(180deg, var(--at-gold1), var(--at-gold2)); border-color: #b98a1f; }
body.atelier-theme .content-card li::marker { color: var(--at-copper); }
body.atelier-theme .related-links a { color: var(--at-copper); }
body.atelier-theme a:focus-visible { outline: 3px solid #a4562b88; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { body.atelier-theme * { scroll-behavior: auto; } }
/* niche pages: the hero is a ticket with the photo on its stub */
body.atelier-theme .niche-hero { background: var(--at-card); border: 1.5px dashed #bfae8c; border-radius: 16px; box-shadow: 0 18px 36px -24px #10233f77; position: relative; }
body.atelier-theme .niche-hero::before { content: ""; position: absolute; z-index: 2; inset: 0 0 auto 0; height: 7px; background: repeating-linear-gradient(90deg, var(--at-navy) 0 10px, #b8412b 10px 20px); }
body.atelier-theme .niche-hero h1 { color: var(--at-navy); font-weight: 600; }
body.atelier-theme .niche-price-card, body.atelier-theme .niche-facts .content-card { background: var(--at-card); border: 1.5px dashed #bfae8c; border-radius: 16px; }
body.atelier-theme .niche-process-list span { background: var(--at-copper); color: #fff; }
body.atelier-theme .hero-card, body.atelier-theme .content-card, body.atelier-theme .target-card, body.atelier-theme .advantage-card,
body.atelier-theme .faq-item, body.atelier-theme .service-branch-card { border-color: #b3a07c; }
/* price list, about, loyalty and LeoAI pages */
body.atelier-theme .button-ghost, body.atelier-theme .btn-secondary { background: transparent; border: 1.5px dashed #a58f66; color: var(--at-navy); }
body.atelier-theme .btn-primary { color: var(--at-navy); }
body.atelier-theme .loyalty-main .hero, body.atelier-theme .welcome-bonus, body.atelier-theme .path, body.atelier-theme .points-value, body.atelier-theme .loyalty-tiers > *,
body.atelier-theme .story-location-card, body.atelier-theme .promise-grid > *, body.atelier-theme .leoai-guide-card, body.atelier-theme .leoai-guide-limits,
body.atelier-theme .public-price-search, body.atelier-theme .public-price-authority { background: var(--at-card); border: 1.5px dashed #b3a07c; border-radius: 16px; box-shadow: 0 18px 36px -24px #10233f77; }
body.atelier-theme .loyalty-main .hero { position: relative; overflow: hidden; }
body.atelier-theme .loyalty-main .hero::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 7px; width: auto; border-radius: 0; background: repeating-linear-gradient(90deg, var(--at-navy) 0 10px, #b8412b 10px 20px); }
body.atelier-theme .leoai-guide-page, body.atelier-theme .leoai-guide { font-family: "Work Sans", Arial, sans-serif; }
body.atelier-theme .leoai-guide h1, body.atelier-theme .leoai-guide-card h2, body.atelier-theme .leoai-guide-limits h2 { font-family: var(--lc-display); font-weight: 600; color: var(--at-navy); }
body.atelier-theme .leoai-guide-kicker { font-family: var(--at-mono); color: var(--at-copper); }
body.atelier-theme .leoai-guide-example { background: #f3ead6; border-left-color: var(--at-copper); }
body.atelier-theme .leoai-guide-card button, body.atelier-theme .leoai-guide-retry { background: var(--at-navy); border-color: var(--at-navy); }
body.atelier-theme .leoai-guide select { border: 1.5px dashed #a58f66; background: var(--at-card); }
body.atelier-theme .about-final-cta .button-light, body.atelier-theme .about-final-cta .button-ghost { border: 1.5px dashed #f0d47e99; color: #f7f1e4; background: transparent; }
/* legal pages */
body.atelier-theme .content-card h3, body.atelier-theme .content-card h4 { font-family: var(--lc-body); font-weight: 700; color: var(--at-navy); }
/* portal and order flows */
body.atelier-theme .portal-button { color: var(--at-navy); background: linear-gradient(180deg, var(--at-gold1), var(--at-gold2)); border-color: #b98a1f; box-shadow: 0 10px 20px -10px #b98a1faa, inset 0 1px 0 #fff8; }
