/* TAMRA global typography system — loaded last on every page.
   Brand pairing kept: Cormorant Garamond (display) + Jost (text/UI). */
:root {
  --font-display: "Cormorant Garamond", "Times New Roman", serif;
  --font-text: "Jost", "Helvetica Neue", Arial, sans-serif;
  --display: var(--font-display);
  --sans: var(--font-text);
  --fs-title: clamp(2rem, 1.2rem + 2.6vw, 3rem); /* 32 → 48 */
  --fs-h2: clamp(1.5rem, 1.2rem + 1vw, 2rem); /* 24 → 32 */
  --fs-h3: clamp(1.125rem, 1rem + 0.45vw, 1.375rem); /* 18 → 22 */
  --fs-body: clamp(0.9375rem, 0.9rem + 0.15vw, 1rem); /* 15 → 16 */
  --fs-lede: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --fs-nav: 1rem;
  --fs-btn: 0.875rem;
  --fs-meta: clamp(0.75rem, 0.72rem + 0.15vw, 0.875rem); /* 12 → 14 */
  --fw-title: 600;
  --fw-heading: 600;
  --fw-body: 400;
  --fw-ui: 600;
  --fw-meta: 500;
  --lh-title: 1.15;
  --lh-heading: 1.25;
  --lh-sub: 1.3;
  --lh-body: 1.65;
  --ls-title: -0.005em;
  --ls-meta: 0.12em;
  --ls-btn: 0.08em;
}
body {
  font-family: var(--font-text);
  font-size: var(--fs-body);
  font-weight: var(--fw-body);
  line-height: var(--lh-body);
}
h1,
h2,
h3,
h4,
h5,
h6,
h1 *,
h2 *,
h3 *,
h4 *,
h5 *,
h6 *,
.f-title *,
.ld-head,
.ab-close {
  font-style: normal !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}
p {
  max-width: 68ch;
}
.ra {
  max-width: 100%;
}
.lede {
  font-size: var(--fs-lede);
  line-height: var(--lh-body);
  font-weight: var(--fw-body);
}

/* Page / hero titles */
main h1,
.ab-h1,
.ld-h1 {
  font-family: var(--font-display);
  font-size: var(--fs-title);
  font-weight: var(--fw-title);
  line-height: var(--lh-title);
  letter-spacing: var(--ls-title);
  text-transform: none;
  margin-bottom: 0.5em;
}
/* Section headings */
main h2,
.ab-h2,
.journey-empty h2 {
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  font-weight: var(--fw-heading);
  line-height: var(--lh-heading);
  letter-spacing: 0;
  margin-bottom: 0.6em;
}
.ld-name {
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  font-weight: var(--fw-heading);
  line-height: var(--lh-heading);
}
/* Subheadings / project names */
main h3,
.ab-feat h3,
.ld-ch h3,
.journey-milestone h3 {
  font-family: var(--font-text);
  font-size: var(--fs-h3);
  font-weight: var(--fw-heading);
  line-height: var(--lh-sub);
  letter-spacing: 0;
}
/* Buttons */
.btn,
button.btn {
  font-family: var(--font-text);
  font-size: var(--fs-btn);
  font-weight: var(--fw-ui);
  letter-spacing: var(--ls-btn);
}
/* Labels / years / metadata */
.eyebrow,
.breadcrumb,
.small-caps,
.journey-milestone__area,
.journey-filters legend,
.journey-filters label,
.journey-result,
.journey-stat span,
.tm__role,
.tm__num,
.journey-scroll {
  font-family: var(--font-text);
  font-size: var(--fs-meta);
  font-weight: var(--fw-meta);
  letter-spacing: var(--ls-meta);
}
.journey-milestone__year {
  font-family: var(--font-display);
  font-size: clamp(1.625rem, 1.3rem + 1vw, 2.25rem);
  font-weight: 600;
  line-height: 1.15;
}
.journey-stat strong {
  font-family: var(--font-display);
  font-size: clamp(2rem, 1.5rem + 1.6vw, 2.75rem);
  font-weight: 600;
  line-height: 1;
}
.journey-filter-pills button,
.journey-filters select {
  font-family: var(--font-text);
  font-size: 0.875rem;
  font-weight: 500;
}
.journey-hero__statement {
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.3;
}
.f1-title,
.f-title,
.journey-hero h1,
.journey__intro h2,
.journey-empty h2,
.page-hero h1 {
  font-family: var(--font-display);
  font-style: normal;
  letter-spacing: 0;
}
.f1-title { font-weight: 400; line-height: 1; font-size:48px;}
.f-title { font-weight: 500; line-height: 1.08; }
.journey-hero h1 { font-weight: 600; line-height: .82; }
.journey__intro h2,
.journey-empty h2 { font-weight: 600; line-height: 1; }
.page-hero h1 { font-weight: var(--fw-title); line-height: var(--lh-title); }
.journey-hero .lede,
.journey__intro .lede {
  font-size: var(--fs-lede);
  line-height: var(--lh-body);
}
.journey-stats__note {
  font-size: var(--fs-meta);
}
/* Forms / footer inherit text font */
input,
select,
textarea,
label,
.h5-foot {
  font-family: var(--font-text);
}
input,
select,
textarea {
  font-size: var(--fs-body);
}

/* Footer typography refinement */
.h5-foot .foot-grid h3{font-family:var(--font-text);font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cu1);line-height:1.4;margin-bottom:1.1rem}
.h5-foot .foot-grid nav a{font-family:var(--font-text);font-size:clamp(.9375rem,.92rem + .1vw,1rem);font-weight:400;line-height:1.8;padding:.1rem 0;color:#d9d2c7;opacity:1;transition:color .4s var(--ease),transform .4s var(--ease)}
.h5-foot .foot-grid>div>a{font-family:var(--font-text);font-size:clamp(.9375rem,.92rem + .1vw,1rem);font-weight:500;line-height:1.8;padding:.1rem 0;color:#ebe5dc;opacity:1;transition:color .4s var(--ease),transform .4s var(--ease)}
.h5-foot .foot-grid nav a:hover,.h5-foot .foot-grid>div>a:hover{color:var(--cu1)}
.h5-foot .foot-grid .muted{font-size:.9rem;font-weight:400;line-height:1.6;color:#9d958a;max-width:40ch}
.h5-foot .foot-grid>div>.muted:last-child{margin-top:.6rem}
.h5-foot .copy span{font-size:.6rem;font-weight:500;letter-spacing:.16em;padding:.1rem .45rem;vertical-align:middle;opacity:.8}

/* Global UI and caption alignment */
.h5-nav,
.h5-foot,
.h5-links,
.h5-dd__toggle,
.h5-dd__menu a,
.h5-btn,
.touch-tab,
.enq,
.enq input,
.enq textarea,
.enq__submit,
.breadcrumb,
figcaption,
.lightbox__cap,
.gbox p {
  font-family: var(--font-text);
}
.h5-links,
.h5-dd__toggle { font-size: var(--fs-nav); font-weight: var(--fw-ui); line-height: 1.25; }
.h5-dd__menu a { font-size: var(--fs-btn); font-weight: 500; line-height: 1.4; }
figcaption,
.lightbox__cap,
.gbox p { font-size: var(--fs-meta); line-height: 1.5; }
.enq__title { font-family: var(--font-display); font-weight: var(--fw-heading); line-height: var(--lh-heading); }
.enq label { font-size: var(--fs-meta); font-weight: var(--fw-meta); line-height: 1.4; }
