@font-face {
  font-family: "Ivar Display";
  src: url("./IvarDisplay-Regular.woff2") format("woff2"),
       url("./IvarDisplay-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ivar Display";
  src: url("./IvarDisplay-Italic.woff2") format("woff2"),
       url("./IvarDisplay-Italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* nunito-sans-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/nunito-sans-v19-latin-regular.woff2') format('woff2'); 
}

/* nunito-sans-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 600;
  src: url('/fonts/nunito-sans-v19-latin-600.woff2') format('woff2');
}

/* nunito-sans-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/nunito-sans-v19-latin-700.woff2') format('woff2');
}


@font-face {
  font-family: "bigcaslon_romregular";
  src: url("./bigcaslon-roman-regular-webfont.eot");
  src: url("./bigcaslon-roman-regular-webfont.eot#iefix") format("embedded-opentype"),
    url("./bigcaslon-roman-regular-webfont.woff2") format("woff2"),
    url("./bigcaslon-roman-regular-webfont.woff") format("woff"),
    url("./bigcaslon-roman-regular-webfont.ttf") format("truetype"),
    url("./bigcaslon-roman-regular-webfont.svg#bigcaslon_romregular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "adobe_caslon_proregular";
  src: url("./adobe_caslon_pro-webfont.eot");
  src: url("./adobe_caslon_pro-webfont.eot#iefix") format("embedded-opentype"),
    url("./adobe_caslon_pro-webfont.woff2") format("woff2"),
    url("./adobe_caslon_pro-webfont.woff") format("woff"),
    url("./adobe_caslon_pro-webfont.ttf") format("truetype"),
    url("./adobe_caslon_pro-webfont.svg#bigcaslon_romregular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "azo_super";
  src: url("./AzoSuper.eot");
  src: url("./AzoSuper.eot?#iefix") format("embedded-opentype"),
    url("./AzoSuper.woff2") format("woff2"), url("./AzoSuper.woff") format("woff"),
    url("./AzoSuper.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Sofia Pro — sans family for the new claude-design (theme.claudeDesign.fonts.sans). */
@font-face {
  font-family: "Sofia Pro";
  src: url("./SofiaProUltraLight-Italic.woff2") format("woff2"),
       url("./SofiaProUltraLight-Italic.otf") format("opentype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Sofia Pro";
  src: url("./SofiaProLight.woff2") format("woff2"),
       url("./SofiaProLight.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Sofia Pro";
  src: url("./SofiaProLight-Italic.woff2") format("woff2"),
       url("./SofiaProLight-Italic.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Sofia Pro";
  src: url("./SofiaProRegular.woff2") format("woff2"),
       url("./SofiaProRegular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Sofia Pro";
  src: url("./SofiaProSemiBold.woff2") format("woff2"),
       url("./SofiaProSemiBold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Sofia Pro";
  src: url("./SofiaProSemiBold-Italic.woff2") format("woff2"),
       url("./SofiaProSemiBold-Italic.otf") format("opentype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Sofia Pro";
  src: url("./SofiaProBold.woff2") format("woff2"),
       url("./SofiaProBold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Sofia Pro";
  src: url("./SofiaProBlack.woff2") format("woff2"),
       url("./SofiaProBlack.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Sofia Pro";
  src: url("./SofiaProBlack-Italic.woff2") format("woff2"),
       url("./SofiaProBlack-Italic.otf") format("opentype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

body {
  padding: 0 !important;
}

/* ==========================================================================
   Typography — design-system variables and utility classes
   Element defaults (h1, p, blockquote, …) are intentionally NOT styled.
   Opt in by adding a class (.h1, .body, .eyebrow, etc.).
   ========================================================================== */

:root {
  --font-display: "azo_super", sans-serif;
  --font-serif: "Ivar Display", "Times New Roman", Georgia, serif;
  --font-quote: "Ivar Display", "Times New Roman", Georgia, serif;
  --font-sans: "Sofia Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --font-caption: "Sofia Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

body {
  color: #491009;
}

/* Serif headings — Ivar Display 400 */
.h1, h1 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 61.2px;
  line-height: 1.05;
  letter-spacing: -0.005em;
  color: #491009;
  margin: 0 0 1rem 0;
}
.h2, h2 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 42px;
  line-height: 1.1;
  color: #491009;
  margin: 0 0 1.65rem 0;
}
.h3, h3 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 30px;
  line-height: 1.15;
  color: #491009;
  margin: 0 0 1rem 0;
}
.h4, h4 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.2;
  color: #491009;
  margin: 0 0 1rem 0;
}

p + h1, p + h2, p + h3, 
h2 + h3, h3 + h4, h1 + h2 {
  margin-top: 2rem;
}

a {
  color: #972010;
}

a:hover {
  text-decoration: none;
}

p + h4 {
  margin-top: 1.5rem;
}

/* Display — Azo Sans Uber 400 */
.display,
.display-lg {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 52.6px;
  line-height: 1;
}
.display-sm {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Body — Sofia Pro 400 */
.body {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 21.3px;
  line-height: 1.5;
}
.body-sm, p {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.45;
  margin: 1rem 0;
}
.body-lg {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.5;
}

/* Caption — Sofia Pro 700 uppercase (UI labels, larger) */
.caption {
  font-family: var(--font-caption);
  font-weight: 700;
  font-size: 19px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Eyebrow — Sofia Pro 700 uppercase (section labels, small) */
.eyebrow {
  display: block;
  font-family: var(--font-caption);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #491009;
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  .eyebrow { font-size: 12px; }
}

@media (min-width: 1024px) {
  .eyebrow { font-size: 13px; }
}

/* Quote — Ivar Display Italic */
.quote {
  font-family: var(--font-quote);
  font-style: italic;
  font-weight: 400;
  font-size: 42px;
  line-height: 1.25;
}

/* Lists — scoped to rich text only */
ul.rich-text, ol.rich-text {
  margin-left: 1rem;
  padding-left: 0;
}

ul.rich-text {
  list-style: none;
  margin-left: 0;
}

ul.rich-text li {
  position: relative;
  padding-left: 18px;
  line-height: 1.5;
}

ul.rich-text li p {
  margin: 0.25em 0;
}

ul.rich-text li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 10px;
  height: 1px;
  background: currentColor;
  opacity: 0.55;
}

ol.rich-text {
  padding-left: 1.2rem;
}

/* Linkline — small bold uppercase underlined */
.linkline {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: underline;
}
