/* Leadways V51 — one typographic system, built on the V48 font stack. */
:root{
  --lw-display:'Cormorant Garamond',Georgia,serif;
  --lw-body:'DM Sans',Arial,sans-serif;
  --lw-mono:'DM Mono',monospace;
}
html,body{font-family:var(--lw-body)}
body,button,input,select,textarea{font-family:var(--lw-body)}

/* Main display levels */
h1,h2,h3,
.page-h,.sec-title,
.v47-head h2,.v44-page-hero h1,.v44-head h2,
.about-intro-v407 h1,.about-section-v407 h2,.about-final-v407 h2,
.section .hero-copy h1,.meet-name h2,.coop-copy h2{
  font-family:var(--lw-display)!important;
  font-style:normal!important;
}

/* Primary text */
p,li,.lead,.sec-copy,.v47-head>p,.v47-hero-lead,.v44-page-hero p,.v44-head>p,
.btn,.v44-btn,.filter,.cap,.footer,.footer-meta,.footer-links,
.v47-finder button,.v46-sector-tabs button,.v46-need-tabs button{
  font-family:var(--lw-body)!important;
  font-style:normal!important;
}

/* Eyebrows and utility labels */
.eyebrow,.v47-kicker,.v44-kicker,.section-no,.v46-type-no,.step,
[class*="kicker"],[class*="eyebrow"]{
  font-family:var(--lw-mono)!important;
  font-style:normal!important;
}

/* No decorative italics in titles. Keep the accent colour when an <em> is used. */
h1 em,h2 em,h3 em,.page-h em,.sec-title em,.hero h1 em,.department-copy h2 em,
.about-intro-v407 h1 em,.about-section-v407 h2 em{
  font-style:normal!important;
}

/* Keep paragraph typography consistent without forcing a single size on labels or compact UI. */
main p{font-weight:300}
main h1,main h2,main h3{font-weight:300}

/* Menu labels are one exact typographic rule on every page. */
.site-nav.v37-nav .links>a,
.site-nav.v37-nav .nav-dd>a,
.site-nav.v37-nav .nav-parent,
.site-nav.v37-nav .nav-menu a,
body.agents-modern-page .site-nav .links>a,
body.agents-modern-page .site-nav .nav-dd>a,
body.agents-modern-page .site-nav .nav-parent{
  font-family:var(--lw-body)!important;
  font-style:normal!important;
  font-weight:400!important;
}

/* V48 homepage title was the one oversized display. Reduce only that level. */
.home-v48 .v47-hero h1{
  font-size:clamp(3.2rem,5.25vw,5.45rem)!important;
  line-height:.92!important;
  font-style:normal!important;
}
.home-v48 .v47-hero h1 em{font-style:normal!important}

/* Agents page: use the same visual family as the rest of Leadways, without changing its content. */
body.agents-modern-page #team h1{
  font-family:var(--lw-display)!important;
  font-size:clamp(3.2rem,5vw,5.45rem)!important;
  font-style:normal!important;
  font-weight:300!important;
}
body.agents-modern-page .section-no,
body.agents-modern-page .hero-lead,
body.agents-modern-page .btn,
body.agents-modern-page .mission,
body.agents-modern-page .outcome,
body.agents-modern-page .cap{font-family:var(--lw-body)!important}

/* Standard section title rhythm. Existing mobile sizes remain controlled by page CSS. */
.v47-head h2,.v44-head h2{font-style:normal!important}

@media(max-width:640px){
  .home-v48 .v47-hero h1{font-size:clamp(2.75rem,11.7vw,3.9rem)!important}
  body.agents-modern-page #team h1{font-size:clamp(2.8rem,13vw,4rem)!important}
}

/* Shared heading scale for equivalent content levels. */
.v44-page-hero h1,
.home-v48 .v47-hero h1,
body.agents-modern-page #team h1,
.about-intro-v407 h1,
.page-h{
  font-size:clamp(3.2rem,5.05vw,5.45rem)!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
}
.v47-head h2,.v44-head h2,.about-section-v407 h2,.about-final-v407 h2,.coop-copy h2{
  font-size:clamp(2.15rem,3.7vw,3.95rem)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.v47-solution-copy h3,.v46-type-copy h3,.method-card h3,.v51-finder-stage h3,.v51-synergy-context strong{
  font-family:var(--lw-display)!important;
  font-style:normal!important;
}
/* Keep main explanatory paragraphs on one body rhythm; compact UI keeps its smaller labels. */
.v47-hero-lead,.hero-lead,.v44-page-hero p,.v47-head>p,.v44-head>p,.sec-copy,.lead,
.about-intro-v407 p,.about-section-v407 p,.about-final-v407 p{
  font-family:var(--lw-body)!important;
  font-weight:300!important;
  line-height:1.68!important;
}

/* V51 final coherence: one page-H1 scale and one top-nav label size, independent of legacy root rem rules. */
main h1{
  font-family:var(--lw-display)!important;
  font-size:clamp(3rem,4.5vw,5.2rem)!important;
  font-style:normal!important;
  font-weight:300!important;
  line-height:.94!important;
  letter-spacing:-.04em!important;
}
.site-nav.v37-nav .links>a,
.site-nav.v37-nav .nav-dd>a,
.site-nav.v37-nav .nav-parent{
  font-size:11.52px!important;
  line-height:1!important;
  letter-spacing:.04em!important;
}

/* Text containers may wrap naturally, but never use arbitrary mid-word splitting. */
main h1,main h2,main h3,main p,
button,.btn,.v44-btn,.filter,.cap,
.v51-finder,.v51-finder *,.v51-synergy,.v51-synergy *{
  word-break:normal!important;
  overflow-wrap:break-word;
  hyphens:none;
}

/* Strong final selectors win over legacy page-specific !important rules without changing the design system. */
html:root body h1{
  font-family:var(--lw-display)!important;
  font-size:clamp(3rem,4.5vw,5.2rem)!important;
  font-style:normal!important;
  font-weight:300!important;
  line-height:.94!important;
  letter-spacing:-.04em!important;
}
html:root body h2,html:root body h3{font-style:normal!important}
html:root body .site-nav.v37-nav .links>a,
html:root body .site-nav.v37-nav .links>.nav-dd>a,
html:root body .site-nav.v37-nav .about-nav>.nav-parent{
  font-family:var(--lw-body)!important;
  font-size:11.52px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:.04em!important;
  font-style:normal!important;
}

/* Specificity guard against legacy per-page !important rules. */
html:root body:not(#lw-never) h1{
  font-family:var(--lw-display)!important;
  font-size:clamp(3rem,4.5vw,5.2rem)!important;
  font-style:normal!important;
  font-weight:300!important;
  line-height:.94!important;
  letter-spacing:-.04em!important;
}
html:root body:not(#lw-never) .site-nav.v37-nav .links>a,
html:root body:not(#lw-never) .site-nav.v37-nav .links>.nav-dd>a,
html:root body:not(#lw-never) .site-nav.v37-nav .about-nav>.nav-parent{
  font-family:var(--lw-body)!important;
  font-size:11.52px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:.04em!important;
  font-style:normal!important;
}
