/* The Bloomsbury Society — design tokens for the /posts/ theme.
   GENERATED by the site repo's scripts/ssr-theme.py from design drop design.2026.09.17-1.
   Do not edit here: change the drop, then regenerate.

   The drop's tokens/*.css, verbatim and in its own import order, minus fonts.css —
   it pulls Cormorant Garamond from Google Fonts, and these pages make no third-party
   request. The faces are self-hosted below, as on the site. */

/* ── tokens/colors.css ── */
:root{
/* --- Ink / primary teal (the wordmark colour) --- */
--teal-900:#0b2e38;--teal-800:#0f3d4a;--teal-700:#15505f;--teal-600:#1d6273;--teal-500:#2e7b8c;
--teal-300:#8db1b7;--teal-200:#c2d8db;--teal-100:#e3eef0;--teal-050:#f1f7f8;
/* --- Sage / growth green --- */
--sage-700:#4a7c59;--sage-600:#5f9268;--sage-500:#7faa72;--sage-400:#a2ca96;--sage-300:#c2ddb8;
--sage-200:#dcecd6;--sage-100:#eef6ea;
/* --- Synapse blue (circuitry in the mark) --- */
--blue-600:#2f7d9c;--blue-500:#4296b8;--blue-300:#8dc3d7;--blue-100:#e0f0f6;
/* --- Blossom pink / magenta --- */
--blossom-700:#b7578c;--blossom-500:#d98cb4;--blossom-300:#efc0d8;--blossom-100:#fae9f1;
/* --- Pollen (the small gold flecks in the mark) --- */
--pollen-500:#d5c85d;--pollen-300:#e8e0a2;--pollen-100:#f7f4dd;
/* --- Neutrals: warm-cool paper, never pure white --- */
--paper:#fcfdfc;--paper-tint:#f5f8f7;--paper-cream:#fbfbf6;--white:#ffffff;
--grey-700:#3f4b4d;--grey-600:#5c696b;--grey-500:#7d8a8c;--grey-400:#a8b2b3;
--grey-300:#cdd5d5;--grey-200:#e4e9e9;--grey-100:#f0f3f3;
/* --- Semantic aliases --- */
--brand:var(--teal-700);--brand-strong:var(--teal-900);--brand-soft:var(--teal-100);
--accent:var(--sage-600);--accent-soft:var(--sage-100);
--text-heading:var(--teal-800);--text-body:var(--grey-700);--text-muted:var(--grey-500);
--text-inverse:var(--paper);--text-link:var(--teal-600);--text-link-hover:var(--teal-900);
--surface-page:var(--paper);--surface-card:var(--white);--surface-sunken:var(--paper-tint);
--surface-inverse:var(--teal-800);--surface-highlight:var(--sage-100);
--border-hairline:var(--teal-200);--border-strong:var(--teal-700);--border-subtle:var(--grey-200);
--focus-ring:var(--blue-500);
--success:var(--sage-700);--success-soft:var(--sage-100);
--info:var(--blue-600);--info-soft:var(--blue-100);
--warning:#b07d18;--warning-soft:#f7efd9;
--danger:#a4423f;--danger-soft:#f8e7e5;
}

/* ── tokens/typography.css ── */
:root{
--font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
--font-body:"Cormorant Garamond",Georgia,"Times New Roman",serif;
--font-editorial:"Cormorant Garamond",Georgia,"Times New Roman",serif;
--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;

--fw-regular:500; /* @kind font */--fw-medium:600; /* @kind font */--fw-semibold:700; /* @kind font */--fw-bold:700; /* @kind font */--fw-black:800; /* @kind font */

--fs-display-xl:72px;--fs-display-l:54px;--fs-display-m:43px;
--fs-h1:36px;--fs-h2:29px;--fs-h3:24px;--fs-h4:20px;
--fs-body-l:20px;--fs-body:18px;--fs-body-s:16px;--fs-caption:14px;
--fs-eyebrow:14px;

--lh-tight:1.08; /* @kind font */--lh-heading:1.2; /* @kind font */--lh-snug:1.4; /* @kind font */--lh-body:1.65; /* @kind font */--lh-loose:1.8; /* @kind font */

--ls-display:-0.01em; /* @kind font */--ls-heading:0em; /* @kind font */--ls-body:0em; /* @kind font */
--ls-eyebrow:0.16em; /* @kind font */--ls-nav:0.06em; /* @kind font */--ls-wordmark:0.04em; /* @kind font */

/* Semantic type roles */
--type-wordmark:var(--fw-bold) var(--fs-display-m)/var(--lh-tight) var(--font-display);
--type-hero:var(--fw-bold) var(--fs-display-l)/var(--lh-tight) var(--font-display);
--type-section:var(--fw-semibold) var(--fs-h2)/var(--lh-heading) var(--font-display);
--type-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-body);
--type-quote:italic var(--fw-regular) var(--fs-h3)/var(--lh-snug) var(--font-editorial);
}

/* ── tokens/spacing.css ── */
:root{
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;
--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;
--space-20:80px;--space-24:96px;--space-32:128px;

--radius-none:0;--radius-xs:3px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;
--radius-xl:24px;--radius-pill:999px;

--border-width:1px; /* @kind spacing */--border-width-thick:2px; /* @kind spacing */--rule-width:1px; /* @kind spacing */

--container-narrow:720px; /* @kind spacing */--container-text:880px; /* @kind spacing */--container:1180px; /* @kind spacing */--container-wide:1360px; /* @kind spacing */
--gutter:24px; /* @kind spacing */--gutter-wide:40px; /* @kind spacing */
--section-y:96px; /* @kind spacing */--section-y-tight:64px; /* @kind spacing */
}

/* ── tokens/elevation.css ── */
:root{
/* Shadows are cool-teal tinted and low-contrast; the brand reads as printed paper. */
--shadow-none:none;
--shadow-xs:0 1px 2px rgba(11,46,56,.06);
--shadow-sm:0 2px 6px rgba(11,46,56,.07);
--shadow-md:0 6px 18px rgba(11,46,56,.09);
--shadow-lg:0 16px 40px rgba(11,46,56,.12);
--shadow-inset-hairline:inset 0 0 0 1px var(--teal-100);
--ring-focus:0 0 0 3px rgba(66,150,184,.35);
--overlay-scrim:rgba(11,46,56,.55); /* @kind other */
--blur-veil:saturate(130%) blur(10px); /* @kind other */
}

/* ── tokens/motion.css ── */
:root{
--ease-standard:cubic-bezier(.2,.6,.3,1); /* @kind other */
--ease-out:cubic-bezier(.16,.84,.44,1); /* @kind other */
--ease-in:cubic-bezier(.5,0,.9,.4); /* @kind other */
--dur-instant:90ms; /* @kind other */--dur-fast:160ms; /* @kind other */--dur-base:240ms; /* @kind other */--dur-slow:420ms; /* @kind other */--dur-reveal:640ms; /* @kind other */
--motion-lift:translateY(-2px); /* @kind other */
--motion-press:translateY(1px); /* @kind other */
}

/* ── tokens/base.css ── */
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--type-body);text-wrap:pretty}
h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--text-heading);font-weight:var(--fw-semibold);line-height:var(--lh-heading);margin:0 0 var(--space-4)}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}
p{margin:0 0 var(--space-4)}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid var(--teal-200);transition:color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover);border-bottom-color:var(--teal-700)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:var(--radius-xs)}
::selection{background:var(--sage-200);color:var(--teal-900)}
.bs-eyebrow{font-family:var(--font-display);font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--teal-600)}

/* ── self-hosted faces (the site's src/styles/tokens.css) ── */
/* 500 normal — --fw-regular: body copy */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2')}
/* 600 normal — --fw-medium: most running text in the kit */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2')}
/* 700 normal — --fw-semibold / --fw-bold: headings, labels, buttons */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/cormorant-garamond-latin-700-normal.woff2') format('woff2')}
/* 600 italic — the pull quote: italic var(--fw-medium) var(--font-editorial) */
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url('../fonts/cormorant-garamond-latin-600-italic.woff2') format('woff2')}

/* ── the estate's names — the share card paints with these (hex only: it reads
      `--name: #hex`, never var()) ── */
:root{
  --paper-100:#fcfdfc; /* = --paper: the card's ground */
  --ink-900:#0b2e38; /* = --teal-900: title and name — the darkest headline ink */
  --ink-500:#5c696b; /* = --grey-600: byline — the lightest grey the drop allows on text */
  --ink-300:#8db1b7; /* = --teal-300: the separator dots — the nav's pipe colour */
  --claret-600:#7faa72; /* = --sage-500: the site card's rule — the drop's short Divider */
}

/* ── a field's colour: the kit's BOX_TONES, by the renderer's eight field keys ── */
:root{
  --topic-default:#15505f;--topic-default-rule:var(--teal-700);--topic-default-wash:var(--teal-050);--topic-default-edge:var(--teal-200); /* teal */
  --topic-cognition:#2f7d9c;--topic-cognition-rule:var(--blue-600);--topic-cognition-wash:var(--blue-100);--topic-cognition-edge:var(--blue-300); /* blue */
  --topic-sleep:#3f4b4d;--topic-sleep-rule:var(--teal-900);--topic-sleep-wash:var(--paper-tint);--topic-sleep-edge:var(--grey-300); /* ink */
  --topic-emotion:#9c4576;--topic-emotion-rule:var(--blossom-700);--topic-emotion-wash:var(--blossom-100);--topic-emotion-edge:var(--blossom-300); /* blossom */
  --topic-mental:#4a7c59;--topic-mental-rule:var(--sage-700);--topic-mental-wash:var(--sage-100);--topic-mental-edge:var(--sage-200); /* sage */
  --topic-development:#7d7122;--topic-development-rule:#a89a2c;--topic-development-wash:var(--pollen-100);--topic-development-edge:var(--pollen-300); /* pollen */
  --topic-language:#15505f;--topic-language-rule:var(--teal-700);--topic-language-wash:var(--teal-050);--topic-language-edge:var(--teal-200); /* teal */
  --topic-body:#4a7c59;--topic-body-rule:var(--sage-700);--topic-body-wash:var(--sage-100);--topic-body-edge:var(--sage-200); /* sage */
  --topic-method:#3f4b4d;--topic-method-rule:var(--teal-900);--topic-method-wash:var(--paper-tint);--topic-method-edge:var(--grey-300); /* ink */
}
