/* ==========================================================================
   The Coffee Chronicles — shared typography system
   Typography only. Loaded after each page's inline <style>.
   Serif display : Cormorant Garamond 300/400 (500 for small headings/brand)
   Serif text    : EB Garamond 400 (italic for author, captions)
   Interface     : system sans-serif, weight 400, light tracking
   ========================================================================== */
/* Self-hosted fonts (supplied files) */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/CormorantGaramond-Light.ttf') format('truetype');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/CormorantGaramond-LightItalic.ttf') format('truetype');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/CormorantGaramond-Regular.ttf') format('truetype');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/CormorantGaramond-Italic.ttf') format('truetype');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/CormorantGaramond-Medium.ttf') format('truetype');}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/EBGaramond-Regular.ttf') format('truetype');}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/EBGaramond-Italic.ttf') format('truetype');}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/EBGaramond-Medium.ttf') format('truetype');}

:root{
  --display:'Cormorant Garamond','EB Garamond',Georgia,serif;
  --text:'EB Garamond',Georgia,serif;
  --ui:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;
}

/* Body */
body{font-family:var(--text);font-weight:400;font-size:19px;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}

/* 1 Brand */
body .site-header .brand{font-family:var(--display);font-weight:500;letter-spacing:0.1em;}
body .site-header .brand > span > span:first-child{font-weight:500;}
body .site-header .brand > span > span:last-child{font-family:var(--text);font-weight:400;letter-spacing:0.02em;}

/* 8 Navigation */
body .site-nav{font-family:var(--ui);font-size:13px;letter-spacing:0.03em;gap:18px;}
body .site-nav a{font-weight:400;}
body .site-nav .cta{font-weight:400;}
body .nav-toggle{font-family:var(--ui);font-size:12px;letter-spacing:0.12em;font-weight:400;text-transform:capitalize;}

/* 2 H1 / page title */
body .page-hero h1,
body .hero-title{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.6vw,50px);line-height:1.15;letter-spacing:0.005em;}
body .hero-title span{font-weight:300;font-style:italic;}
body .page-hero .eyebrow{font-family:var(--ui);font-weight:400;font-size:11px;letter-spacing:0.22em;}
body .page-hero p.lede{font-family:var(--text);font-size:20px;}

/* 3 Section titles */
body .section-title,
body h2.section-title{font-family:var(--display);font-weight:400;font-size:clamp(27px,3vw,34px);line-height:1.22;letter-spacing:0;}
body .section-eyebrow{font-family:var(--ui);font-weight:400;font-size:11px;letter-spacing:0.22em;}
body h2.sub-heading{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.4vw,26px);line-height:1.25;}

/* Card / sub headings (h3) */
body .card h3,
body .timeline-item h3,
body .book-tile h3,
body .wrap h3{font-family:var(--display);font-weight:500;font-size:21px;line-height:1.3;letter-spacing:0;}

/* 4 Book titles (title case, not uppercase) */
body .book-title{font-family:var(--display);font-weight:400;text-transform:none;letter-spacing:0.01em;font-size:clamp(34px,4.2vw,46px);line-height:1.12;}
body .book-two .book-title2{font-family:var(--display);font-weight:400;font-size:clamp(26px,3vw,32px);}

/* 5 Author name */
body .book-author{font-family:var(--text);font-style:italic;font-weight:400;font-size:20px;letter-spacing:0.01em;}
body .page-hero .by{font-family:var(--text);font-style:italic;font-weight:400;font-size:19px;letter-spacing:0.01em;text-transform:none;}

/* 6 Metadata */
body .series-line,
body .book-num,
body .book-tile .status,
body .book-two-tile .dev-line,
body .timeline-item .date,
body .evidence-card .label,
body footer .footer-columns h4{font-family:var(--ui);font-weight:400;font-size:11px;letter-spacing:0.18em;}
body .book-meta{font-family:var(--text);font-size:16px;letter-spacing:0.02em;}

/* 9 Buttons and text links */
body .btn,
body .btn-solid{font-family:var(--ui);font-weight:400;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;padding:14px 28px;}
body .text-link{font-family:var(--ui);font-weight:400;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;}
body button,
body input,
body select,
body textarea{font-family:var(--ui);font-weight:400;}
body button.btn,body .btn[type=submit]{letter-spacing:0.1em;}

/* 10 Captions */
body figcaption,
body .caption,
body .fine{font-family:var(--text);font-style:italic;font-size:14px;}

/* Inline-styled headings in journal / clinic / sniffers pages */
body h2[style*="font-size:19px"],
body h3[style*="font-size:19px"]{font-family:var(--display) !important;font-weight:500 !important;font-size:22px !important;}
body h2[style*="font-size:28px"],
body h3[style*="font-size:28px"]{font-family:var(--display) !important;font-weight:400 !important;font-size:30px !important;}

@media(max-width:760px){
  body{font-size:18px;line-height:1.7;}
  body .page-hero h1,body .hero-title{font-size:clamp(30px,8.4vw,36px);}
  body .book-title{font-size:clamp(32px,9vw,38px);}
  body .section-title{font-size:27px;}
  body .btn,body .btn-solid{padding:14px 24px;}
}
