@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,600&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --sky:         #1A72A8;
  --sky-mid:     #155D8A;
  --sky-soft:    #2E8DC8;
  --sky-pale:    #EEF6FC;
  --sky-mist:    #F5FAFE;
  --sky-border:  #C0DDEF;

  --bg:          #FFFFFF;
  --bg-2:        #F6FAFB;
  --bg-3:        #ECF4F8;
  --border:      rgba(25,100,150,0.10);
  --border-mid:  rgba(25,100,150,0.18);

  --ink:         #111820;
  --ink-2:       #243040;
  --ink-3:       #4A6070;
  --ink-4:       #7A9098;

  --rust:        #B84020;
  --rust-light:  #D06030;
  --rust-pale:   #FBF0EC;

  --display: "Fraunces", Georgia, serif;
  --body:    "Fraunces", Georgia, serif;
  --sans:    "Manrope", system-ui, sans-serif;

  --gutter: clamp(16px,4vw,60px);
  --maxw: 1280px; --maxw-narrow: 740px;
  --radius: 8px; --radius-lg: 14px;
  --shadow-sm: 0 1px 4px rgba(17,24,32,0.05);
  --shadow: 0 4px 16px rgba(17,24,32,0.08);
  --shadow-lg: 0 12px 40px rgba(17,24,32,0.11);

  /* Legacy aliases */
  --teal: var(--sky); --teal-mid: var(--sky-mid); --teal-soft: var(--sky-soft);
  --teal-pale: var(--sky-pale); --teal-mist: var(--sky-mist);
  --clay: var(--rust); --clay-deep: var(--sky);
  --cream: var(--bg-2); --cream-2: var(--bg-2); --cream-deep: var(--bg-3);
  --cream-card: var(--bg); --cream-border: var(--bg-3);
  --gold: var(--rust); --gold-light: var(--rust-light);
  --ink-soft: var(--ink-2); --ink-mute: var(--ink-3); --ink-faint: var(--ink-4);
  --navy: var(--sky); --navy-soft: var(--sky-mid);
  --serif: var(--display); --green-ok: #1A5A3A; --red-warn: var(--rust);
}
*, *::before, *::after { box-sizing:border-box; }
html { -webkit-font-smoothing:antialiased; }
body { margin:0; padding:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
p { margin:0 0 1em; }
.container { max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); }
.container-narrow { max-width:var(--maxw-narrow); margin:0 auto; padding:0 var(--gutter); }
.label { font-family:var(--sans); font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-3); }
.label-teal { color:var(--sky-mid); }
.label-rust { color:var(--rust); }
.label-white{ color:rgba(255,255,255,0.55); }
.eyebrow { font-family:var(--sans); font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--sky-mid); }
.eyebrow-mute { font-family:var(--sans); font-size:10px; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; color:var(--ink-4); }
.meta { font-family:var(--sans); font-size:13px; color:var(--ink-3); }
.tag { display:inline-flex; font-family:var(--sans); font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:3px 9px; border-radius:3px; }
.tag-teal  { background:var(--sky-pale); color:var(--sky-mid); border:1px solid var(--sky-border); }
.tag-rust  { background:var(--rust-pale); color:var(--rust); border:1px solid rgba(184,64,32,0.25); }
.tag-clay  { background:var(--sky); color:#fff; }
.tag-terra { background:var(--rust-pale); color:var(--rust); border:1px solid rgba(184,64,32,0.25); }
.tag-outline { border:1px solid var(--sky); color:var(--sky); }
.rule { border:none; border-top:1px solid var(--border); }
.rule-mid { border:none; border-top:1px solid var(--border-mid); }
.rule-teal { border:none; border-top:2px solid var(--sky); }
.rule-rust { border:none; border-top:2px solid var(--rust); }
.rule-strong { border:none; border-top:2px solid var(--ink); }
.rule-clay { border:none; border-top:2px solid var(--sky); }
.section { padding:64px 0; }
.section-sm { padding:40px 0; }
.section-cream { background:var(--bg-2); padding:64px 0; }
.section-band { background:var(--bg-2); padding:64px 0; }
.section-teal { background:var(--sky-pale); border-top:1px solid var(--sky-border); border-bottom:1px solid var(--sky-border); padding:64px 0; }
.section-dark { background:var(--ink); color:#fff; padding:64px 0; }
/* Honey rec — compact sidebar widget */
.honey-rec { background:var(--bg); border:1px solid var(--border-mid); border-radius:var(--radius-lg); padding:18px; box-shadow:var(--shadow-sm); }
.honey-rec::before { display:none; }
.honey-rec-badge { font-family:var(--sans); font-size:9px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--sky-mid); margin-bottom:6px; }
.honey-rec-name { font-family:var(--display); font-size:18px; font-weight:600; color:var(--ink); margin:3px 0 3px; }
.honey-rec-stars { color:#C08010; font-size:13px; letter-spacing:1px; margin-bottom:4px; }
.honey-rec-quote { font-family:var(--body); font-style:italic; font-size:13px; color:var(--ink-3); line-height:1.5; margin:8px 0 10px; border-left:2px solid var(--sky-border); padding-left:10px; }
.honey-rec-list { list-style:none; padding:0; margin:0 0 12px; display:flex; flex-direction:column; gap:4px; }
.honey-rec-list li { font-family:var(--sans); font-size:11.5px; color:var(--ink-3); }
.honey-rec-list li::before { content:"✓ "; color:var(--sky); font-weight:700; }
.honey-rec-cta { display:inline-flex; align-items:center; background:var(--sky); color:#fff; font-family:var(--sans); font-size:12px; font-weight:600; padding:10px 16px; border-radius:var(--radius); transition:background 0.15s; }
.honey-rec-cta:hover { background:var(--sky-mid); }
.honey-rec-disclaimer { font-family:var(--sans); font-size:10px; color:var(--ink-4); margin-top:8px; }
.honey-rec-disclaimer a { text-decoration:underline; color:var(--ink-3); }
.dropcap::first-letter { font-family:var(--display); font-size:4.8em; float:left; line-height:0.82; margin:6px 10px 0 0; color:var(--sky); font-weight:600; }
.progress-bar { position:fixed; top:0; left:0; right:0; height:3px; background:var(--border); z-index:9999; }
.progress-fill { height:100%; width:0; background:var(--sky); transition:width 0.1s; }
.breadcrumb { background:var(--bg-2); border-bottom:1px solid var(--border); padding:10px 0; }
.breadcrumb .container { display:flex; align-items:center; gap:8px; }
.breadcrumb a { font-family:var(--sans); font-size:12px; color:var(--sky-soft); }
.breadcrumb span { font-family:var(--sans); font-size:12px; color:var(--ink-3); }
.breadcrumb .current { color:var(--ink-2); }
.data-block { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; margin:28px 0; box-shadow:var(--shadow-sm); }
.data-block-head { padding:10px 16px; background:var(--bg-2); border-bottom:1px solid var(--border); }
.data-table { width:100%; border-collapse:collapse; font-family:var(--sans); font-size:13px; }
.data-table th { padding:9px 16px; text-align:left; font-weight:600; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-3); background:var(--bg-2); border-bottom:1px solid var(--border); }
.data-table td { padding:10px 16px; border-bottom:1px solid var(--border); color:var(--ink-2); }
.data-table tr:last-child td { border-bottom:none; }
.data-table tbody tr:hover { background:var(--sky-mist); }
.pull-quote { margin:28px 0; padding:22px 26px; background:var(--sky-pale); border-left:3px solid var(--sky); border-radius:0 var(--radius) var(--radius) 0; }
.pull-quote p { font-family:var(--display); font-size:1.2em; font-style:italic; color:var(--sky-mid); margin:0 0 8px; line-height:1.4; }
.pull-quote cite { font-family:var(--sans); font-size:11px; color:var(--ink-3); font-style:normal; }
@keyframes ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
