/* Booth Noir design tokens. Mirrors the Booth Noir design system (tokens/*.css) as of 2026-10-14.
   Source of truth: the Claude Design project; edit there first, then here. */
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500&family=Pinyon+Script&display=swap");

/* The logotype face. TAN Nightingale is licensed to Booth Noir and served from this site;
   the script tagline is Sloop Script Pro from the Adobe Fonts kit linked in each page's <head>. */
@font-face{font-family:"TAN Nightingale";src:url("../assets/fonts/TAN-NIGHTINGALE-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}

:root{
  /* Base palette */
  --bn-burgundy-900:#2E0709;
  --bn-burgundy-800:#3D0A0D;
  --bn-burgundy-700:#4C0B0C;
  --bn-burgundy-600:#6A1A1E;
  --bn-burgundy-500:#8A2A30;
  --bn-burgundy-100:#E9D6D4;
  --bn-champagne-50:#FBF6F0;
  --bn-champagne-100:#FFEBDC;
  --bn-champagne-200:#F1E2D0;
  --bn-tan-300:#DFC9B0;
  --bn-tan-400:#C9AC8A;
  --bn-tan-500:#A98B68;
  --bn-brown-700:#5A3E2E;
  --bn-brown-800:#3F2A1F;
  --bn-olive-600:#4F5B3B;
  --bn-olive-700:#3B4530;
  --bn-black:#17100F;
  --bn-white:#FFFFFF;

  /* Surfaces */
  --surface-page:var(--bn-champagne-50);
  --surface-card:var(--bn-white);
  --surface-raised:var(--bn-champagne-200);
  --surface-inverse:var(--bn-burgundy-700);
  --surface-inverse-raised:var(--bn-burgundy-600);
  --surface-accent:var(--bn-olive-600);

  /* Text */
  --text-heading:var(--bn-burgundy-700);
  --text-body:var(--bn-brown-800);
  --text-muted:var(--bn-brown-700);
  --text-subtle:var(--bn-tan-500);
  --text-on-inverse:var(--bn-champagne-100);
  --text-on-inverse-muted:var(--bn-tan-300);
  --text-link:var(--bn-burgundy-700);
  --text-link-hover:var(--bn-burgundy-500);

  /* Borders */
  --border-subtle:rgba(76,11,12,.14);
  --border-default:rgba(76,11,12,.3);
  --border-strong:var(--bn-burgundy-700);
  --border-on-inverse:rgba(255,235,220,.3);
  --border-on-inverse-strong:var(--bn-champagne-100);

  /* Interactive */
  --action-primary:var(--bn-burgundy-700);
  --action-primary-hover:var(--bn-burgundy-600);
  --action-primary-active:var(--bn-burgundy-800);
  --action-primary-text:var(--bn-champagne-100);
  --action-secondary-text:var(--bn-burgundy-700);
  --action-accent:var(--bn-olive-600);
  --action-accent-hover:var(--bn-olive-700);
  --focus-ring:var(--bn-tan-500);

  /* Type */
  --font-display:"Playfair Display","Didot","Bodoni 72",Georgia,serif;
  --font-serif:"Cormorant Garamond","Garamond",Georgia,serif;
  --font-sans:"Jost","Futura","Avenir Next","Helvetica Neue",sans-serif;
  --font-script:"Pinyon Script",cursive;
  --font-wordmark:"TAN Nightingale","Playfair Display","Didot",Georgia,serif;
  --font-tagline:"sloop-script-pro","Pinyon Script",cursive;
  --text-display-xl:clamp(56px,8vw,112px);
  --text-display-lg:clamp(40px,5.5vw,72px);
  --text-display-md:clamp(32px,4vw,48px);
  --text-display-sm:28px;
  --text-title:22px;
  --text-lead:20px;
  --text-body:17px;
  --text-body-sm:15px;
  --text-caption:13px;
  --text-eyebrow:11px;
  --leading-display:1.02;
  --leading-tight:1.2;
  --leading-body:1.6;
  --tracking-display:-0.01em;
  --tracking-wordmark:0.18em;
  --tracking-eyebrow:0.28em;
  --tracking-button:0.22em;
  --weight-light:300;
  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;

  /* Spacing */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
  --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --space-10:144px;
  --section-y:var(--space-9);
  --container-max:1240px;
  --container-narrow:720px;
  --gutter:clamp(20px,4vw,56px);
  --control-h-sm:40px;
  --control-h-md:48px;
  --control-h-lg:56px;
  --touch-min:44px;

  /* Effects */
  --radius-none:0;
  --shadow-card:0 1px 2px rgba(46,7,9,.06);
  --shadow-float:0 12px 40px rgba(46,7,9,.18);
  --hairline:1px solid var(--border-subtle);
  --hairline-inverse:1px solid var(--border-on-inverse);
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --duration-fast:160ms;
  --duration-base:320ms;
  --duration-slow:700ms;
  --scrim-bottom:linear-gradient(180deg,rgba(23,16,15,0) 40%,rgba(23,16,15,.72) 100%);
  --image-tone:sepia(.18) saturate(.85) contrast(1.02);
}

html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{margin:0;font-family:var(--font-serif);font-size:var(--text-body);line-height:var(--leading-body);color:var(--text-body);background:var(--surface-page)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-regular);color:var(--text-heading);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);margin:0}
p{margin:0}
a{color:var(--text-link);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}
a:hover{color:var(--text-link-hover)}
::selection{background:var(--bn-burgundy-700);color:var(--bn-champagne-100)}

/* Limewash grounds. url() lives in a stylesheet so it resolves against this file. */
.bn-ground-limewash{background:var(--bn-tan-300) url("../assets/texture-limewash-light.jpg") repeat;background-size:1024px 1024px}
.bn-ground-burgundy{background:var(--bn-burgundy-700) url("../assets/texture-limewash-burgundy.jpg") repeat;background-size:1024px 1024px;color:var(--text-on-inverse)}
.bn-ground-paper{background:var(--bn-champagne-200) url("../assets/ground-paper.png") repeat;background-size:1024px 488px}
