/* Generated by scripts/build_site_pages.mjs; edit its sources. */
/* Self-hosted Google Fonts, SIL OFL 1.1. Sources and licenses: public/fonts. */
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/manrope-normal-latin-ext-3911b66d9f2e.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;
}

/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/manrope-normal-latin-a30ddcd34970.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;
}

/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/playfair-display-italic-latin-ext-b9dff4aec6d8.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;
}

/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/playfair-display-italic-latin-54af24bd0f91.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;
}

/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/playfair-display-normal-latin-ext-42898ad49a6b.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;
}

/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/playfair-display-normal-latin-e0c764a8e9e1.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;
}

:root {
  --bg-primary: #2C1A0E;
  --bg-secondary: #3D2512;
  --bg-surface: #4A2E1A;
  --text-primary: #F5E6C8;
  --text-secondary: #C9A97A;
  --accent-gold: #C49A3C;
  --accent-terracotta: #B85C38;
  --text-on-accent: #1A0E05;
  --border: rgba(197, 154, 60, 0.2);
  --duration-micro: 150ms;
  --duration-reveal: 500ms;
  --ease-ui: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-reveal: ease-out;
  --scrollbar-thumb: #6B4A2E;
  --scrollbar-track: #3D2512;
  --scrollbar-hover: #C49A3C;
  --scrollbar-active: #E0C99B;
  --glass-surface: rgba(58, 43, 32, .38);
  --glass-solid: #493426;
  --glass-border: rgba(255, 244, 219, .45);
  --glass-shadow: 0 14px 40px rgba(27, 13, 5, .18), inset 0 1px 0 rgba(255, 248, 227, .52), inset 0 -1px 0 rgba(255, 226, 182, .1);
  --glass-blur: 22px;
  --glass-ink: #fff8ec;
  --glass-muted: #e8ddcb;
  --glass-accent: #efd095;
  --glass-raised: rgba(255, 233, 196, .14);
  --glass-ease: cubic-bezier(.22, 1, .36, 1);
  --glass-warm-surface: rgba(58, 43, 32, .38);
  --glass-warm-border: rgba(255, 244, 219, .27);
}

/* Tokens and local font faces are injected by build_site_pages.mjs from the
   existing runtime styles; this is layout for lightweight static documents. */
* { box-sizing: border-box; }
:root { color-scheme: dark; scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); scrollbar-width: thin; }
html { scrollbar-gutter: stable; }
body { margin: 0; color: var(--glass-ink); background: var(--bg-primary); font-family: Manrope, system-ui, sans-serif; line-height: 1.75; }
body::before { content: ''; position: fixed; inset: 0; z-index: -1; background: radial-gradient(ellipse at 88% 0, var(--glass-raised), transparent 55%); pointer-events: none; }
a { color: var(--glass-accent); text-underline-offset: .2em; cursor: pointer; }
a:hover { color: var(--glass-ink); }
a:active { opacity: .8; }
a:focus-visible { outline: 3px solid var(--glass-accent); outline-offset: 5px; border-radius: 4px; }
.skip-link { position: absolute; top: -100px; left: 20px; padding: 12px 20px; background: var(--glass-solid); z-index: 2; }
.skip-link:focus { top: 10px; }
.site-header, main, .site-footer { width: min(100% - 48px, 1060px); margin-inline: auto; }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 108px; border-bottom: 1px solid var(--glass-warm-border); }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--glass-ink); font-family: 'Playfair Display', Georgia, serif; font-size: 21px; font-weight: 600; text-decoration: none; line-height: 1.3; }
.brand img { width: 42px; height: 42px; }
.brand small { display: block; font-family: Manrope, system-ui, sans-serif; font-size: 10px; font-weight: 500; color: var(--glass-accent); letter-spacing: .15em; text-transform: uppercase; margin-top: 3px; }
nav { display: flex; gap: 24px; font-size: 14px; }
nav a { display: inline-flex; align-items: center; min-height: 44px; }
main { padding-block: 64px 72px; }
.eyebrow { margin: 0 0 20px; color: var(--glass-accent); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
h1, h2 { font-family: 'Playfair Display', Georgia, serif; font-weight: 500; line-height: 1.16; text-wrap: balance; }
h1 { font-size: clamp(38px, 7vw, 68px); letter-spacing: -.025em; max-width: 820px; margin: 0 0 24px; }
h2 { font-size: 27px; margin: 0 0 14px; }
p { margin: 0 0 18px; }
.lede { max-width: 680px; font-size: 18px; color: var(--glass-muted); }
.updated { color: var(--glass-muted); font-size: 13px; margin: 28px 0 40px; }
.document { max-width: 760px; }
.document section { padding-block: 30px; border-top: 1px solid var(--glass-warm-border); }
.document p, .document li { color: var(--glass-muted); }
.document ul { padding-left: 22px; margin: 0 0 20px; }
.document li + li { margin-top: 12px; }
.document strong { color: var(--glass-ink); font-weight: 600; }
code { font: .85em ui-monospace, monospace; overflow-wrap: anywhere; }
.glass-note { margin-block: 32px; padding: 26px 30px; border: 1px solid var(--glass-border); border-bottom-color: var(--glass-warm-border); border-radius: 18px; background: var(--glass-solid); box-shadow: var(--glass-shadow); }
.glass-note p:last-child { margin-bottom: 0; }
.actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 32px; }
.action { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border: 1px solid var(--glass-border); border-radius: 99px; text-decoration: none; font-size: 14px; font-weight: 700; color: var(--glass-ink); background: var(--glass-solid); transition: transform 150ms ease, background-color 150ms ease; }
.action:hover { background: var(--glass-raised); }
.action:active { transform: scale(.98); }
.action-primary { background: var(--glass-accent); color: var(--text-on-accent); border-color: transparent; }
.action-primary:hover { background: var(--text-primary); color: var(--text-on-accent); }
.not-found { min-height: 65vh; display: flex; flex-direction: column; justify-content: center; }
.not-found .glass-note { max-width: 760px; margin-top: 0; padding: clamp(28px, 5vw, 58px); }
.not-found h1 { font-size: clamp(40px, 7vw, 64px); }
.site-footer { padding-block: 28px 36px; border-top: 1px solid var(--glass-warm-border); color: var(--glass-muted); font-size: 13px; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.site-footer p { margin: 0; }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: var(--scrollbar-track); }
::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border: 2px solid var(--scrollbar-track); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-hover); }
::-webkit-scrollbar-thumb:active { background: var(--scrollbar-active); }
@supports (backdrop-filter: blur(1px)) { .glass-note { background: var(--glass-surface); backdrop-filter: blur(18px); } }
@media (max-width: 540px) {
  .site-header, main, .site-footer { width: min(100% - 32px, 1060px); }
  .site-header { min-height: 88px; gap: 14px; }
  .brand { font-size: 16px; gap: 8px; }
  .brand img { width: 36px; height: 36px; }
  .brand small { font-size: 8px; }
  nav { gap: 12px; font-size: 13px; }
  nav .desktop-link { display: none; }
  main { padding-block: 40px 48px; }
  .lede { font-size: 16px; }
  .glass-note { padding: 22px; }
  .actions { align-items: stretch; flex-direction: column; }
  .site-footer { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) { .glass-note { background: var(--glass-solid); backdrop-filter: none; } }
@media (forced-colors: active) {
  * { scrollbar-color: auto; }
  .glass-note, .action { background: Canvas; color: CanvasText; border-color: ButtonText; box-shadow: none; }
  a:focus-visible { outline-color: Highlight; }
}
