@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,600&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --navy:        #0D1F3C;
  --navy-mid:    #162D50;
  --navy-soft:   #1E3A6A;
  --navy-pale:   #EEF2F8;
  --navy-mist:   #F5F7FB;

  --blue:        #2563A8;
  --blue-soft:   #4A7FC1;
  --blue-pale:   #EAF1FB;

  --bg:          #FFFFFF;
  --bg-2:        #F7F8FA;
  --bg-3:        #EFF1F5;
  --border:      rgba(13,31,60,0.08);
  --border-mid:  rgba(13,31,60,0.15);

  --ink:         #0D1F3C;
  --ink-2:       #2A3A52;
  --ink-3:       #5A6880;
  --ink-4:       #9098A8;

  --gold:        #9A7420;
  --gold-light:  #C49A30;

  --green-ok:    #1A6A3A;
  --red-warn:    #8A2820;

  --display:  "Lora", Georgia, serif;
  --body:     "Lora", Georgia, serif;
  --sans:     "Inter", system-ui, sans-serif;

  --gutter: clamp(16px,4vw,52px);
  --maxw: 1240px; --maxw-narrow: 720px;
  --radius: 4px; --radius-lg: 8px;
  --shadow-sm: 0 1px 4px rgba(13,31,60,0.06);
  --shadow:    0 4px 16px rgba(13,31,60,0.08);
  --shadow-lg: 0 12px 40px rgba(13,31,60,0.12);
}

*, *::before, *::after { box-sizing:border-box; }
html { -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
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:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-3); }
.label-blue { color:var(--blue); }
.eyebrow    { font-family:var(--sans); font-size:10px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--navy); }
.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:600; letter-spacing:0.12em; text-transform:uppercase; padding:3px 8px; border-radius:2px; }
.tag-navy   { background:var(--navy); color:#fff; }
.tag-blue   { background:var(--blue-pale); color:var(--blue); border:1px solid rgba(37,99,168,0.25); }
.tag-outline{ border:1px solid var(--navy); color:var(--navy); }
.tag-clay   { background:var(--navy); color:#fff; }
.tag-terra  { background:var(--blue-pale); color:var(--blue); border:1px solid rgba(37,99,168,0.25); }

.rule       { border:none; border-top:1px solid var(--border); }
.rule-mid   { border:none; border-top:1px solid var(--border-mid); }
.rule-navy  { border:none; border-top:2px solid var(--navy); }
.rule-strong{ border:none; border-top:2px solid var(--navy); }
.rule-clay  { border:none; border-top:2px solid var(--navy); }

.section      { padding:72px 0; }
.section-sm   { padding:44px 0; }
.section-alt  { background:var(--bg-2); padding:72px 0; }
.section-band { background:var(--bg-2); padding:72px 0; }
.section-dark { background:var(--navy); color:#fff; padding:80px 0; }
.section-navy { background:var(--navy-pale); border-top:1px solid rgba(13,31,60,0.08); border-bottom:1px solid rgba(13,31,60,0.08); padding:72px 0; }

/* Honey rec — subtle referral strip */
.honey-rec {
  background:var(--bg-2);
  border:1px solid var(--border-mid);
  border-left:3px solid var(--navy);
  padding:16px 18px;
  border-radius:0 var(--radius) var(--radius) 0;
}
.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(--navy); margin-bottom:5px; }
.honey-rec-name   { font-family:var(--display); font-size:16px; font-weight:600; color:var(--ink); margin:2px 0; }
.honey-rec-stars  { color:var(--gold); font-size:12px; 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:6px 0 10px; border-left:2px solid var(--border-mid); 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(--navy); font-weight:700; }
.honey-rec-cta    { display:inline-flex; background:var(--navy); color:#fff !important; font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:9px 14px; border-radius:2px; transition:background 0.15s; text-decoration:none !important; }
.honey-rec-cta:hover { background:var(--navy-mid); color:#fff !important; }
.honey-rec-disclaimer { font-family:var(--sans); font-size:10px; color:var(--ink-4); margin-top:8px; }
.honey-rec-disclaimer a { text-decoration:underline; }

.sticky-rec { position:sticky; top:calc(68px + 16px); }

.dropcap::first-letter { font-family:var(--display); font-size:4.5em; float:left; line-height:0.82; margin:6px 10px 0 0; color:var(--navy); font-weight:600; }

.progress-bar  { position:fixed; top:0; left:0; right:0; height:2px; background:var(--border); z-index:9999; }
.progress-fill { height:100%; width:0; background:var(--navy); 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; font-family:var(--sans); font-size:12px; color:var(--ink-3); }
.breadcrumb a { color:var(--blue); }
.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(--navy-mist); 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(--navy-mist); 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(--navy-mist); }

.pull-quote { margin:28px 0; padding:24px 28px; background:var(--navy-pale); border-left:3px solid var(--navy); }
.pull-quote p { font-family:var(--display); font-size:1.2em; font-style:italic; color:var(--navy); 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%)} }
