/*
 * Agent Days typography system.
 *
 * Train is the blueprint: Inter for working text, Barlow Condensed for
 * display titles, heavy display weight, and tighter title tracking. This
 * file is the single typography layer loaded by every principal page.
 */
:root{
  --font-body:"Inter",Arial,sans-serif;
  --font-display:"Barlow Condensed",Arial,sans-serif;
}

:where(body,input,textarea,select,button){
  font-family:var(--font-body)!important;
}

:where(h1,h2,.hero-h1,.sec-h,.cta-h,.case-title,.quote-band,.man-q,.pcard-h,.hcard-h,.ocard-h,.ccard-h){
  font-family:var(--font-display)!important;
  font-weight:700!important;
  letter-spacing:-.035em!important;
}

:where(h3,h4,h5,h6){
  font-family:var(--font-display)!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}

:where(.persona-choice strong,.audience-diagnosis p,.advisory-panel__benefits strong,.programme-stages strong,.case-panel__head,.footer-ghost,.footer-grid>address>strong,.footer-links>strong){
  font-family:var(--font-display)!important;
  font-weight:700!important;
  font-synthesis:none!important;
  letter-spacing:-.02em!important;
  text-transform:uppercase!important;
}

:where(.nav-links a,.header-cta,.nav-btn,.button,.btn-blk,.btn-bdr,.menu-mode,.menu-top,.menu-sub a,.menu-sub span,.eyebrow,.label,.format,.offer-tag,.case-meta,.case-number,.case-arrow,.footer strong){
  font-family:var(--font-display)!important;
}

:where(.menu-sub a,.menu-sub span){
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
}

:where(.nav-links a,.header-cta,.nav-btn,.button,.btn-blk,.btn-bdr,.footer-cta,.menu-top){
  font-weight:700!important;
}

:where(.menu-mode){
  font-weight:700!important;
  font-size:1.25rem!important;
  text-decoration:none!important;
}

:where(.button,.header-cta,.nav-btn,.btn-blk,.btn-bdr,.footer-cta)::before{
  height:2px!important;
}

:where(.menu-group,.menu-sub a,.vertical-mode)::before{
  height:1px!important;
}

:where(.menu-mode)::before{
  display:none!important;
}

:where(.menu-modes){
  border-bottom:0!important;
}

/* Agent Days title typography: uppercase display titles and a quieter graduated scale. */
:where(h1,h2,h3,h4,.case-title,.quote-band,.signal-row strong,.agent-row strong,.course-note strong,.person strong,.case-panel__grid strong,.pcard-h,.hcard-h,.ocard-h,.ccard-h,.man-q){
  text-transform:uppercase!important;
}

/* Display titles: approximately 5px smaller. */
.hero h1,.home-page .hero h1,.academy-page .hero h1,.agency-page .hero h1,.evaluate-page .hero h1,.grow-page .hero h1,.train-page .hero h1,.hero-h1,.training-v2.route-hero h1{
  font-size:clamp(calc(3.2rem - 5px),calc(5.2vw - 5px),calc(6.2rem - 5px))!important;
}

/* Main section and large panel titles: approximately 4px smaller. */
.section-heading h2,.cta h2,.leadership-copy h3,.quote-band,.sec-h,.cta-h{
  font-size:clamp(calc(2.8rem - 4px),calc(4.5vw - 4px),calc(5rem - 4px))!important;
}
.cta h2,.cta-h{
  font-size:clamp(calc(3rem - 4px),calc(5.5vw - 4px),calc(5.5rem - 4px))!important;
}
.case-panel__intro h2{
  font-size:clamp(calc(3rem - 4px),calc(5vw - 4px),calc(5.8rem - 4px))!important;
}
.academy-option h3{
  font-size:clamp(calc(3rem - 4px),calc(5vw - 4px),calc(5.4rem - 4px))!important;
}
.agency-option h3{
  font-size:clamp(calc(2.8rem - 4px),calc(4vw - 4px),calc(4.5rem - 4px))!important;
}
.route-select .route-question h2,.audience-heading h2{
  font-size:clamp(calc(2.8rem - 4px),calc(4.5vw - 4px),calc(5rem - 4px))!important;
}
.advisory-panel__copy h2{
  font-size:clamp(calc(3rem - 4px),calc(5vw - 4px),calc(5.6rem - 4px))!important;
}

/* Card and medium titles: approximately 3px smaller. */
.card h3,.offer-card h3{
  font-size:calc(2rem - 3px)!important;
}
.bridge-panel h3{
  font-size:calc(2.5rem - 3px)!important;
}
.vertical-card h3{
  font-size:calc(2.2rem - 3px)!important;
}
.case-title{
  font-size:clamp(calc(2rem - 3px),calc(3.3vw - 3px),calc(4rem - 3px))!important;
}
.case-panel__section h3{
  font-size:calc(2.45rem - 3px)!important;
}
.funnel-intro .card h3{
  font-size:clamp(calc(2.7rem - 3px),calc(4vw - 3px),calc(4.8rem - 3px))!important;
}
.lab-copy h3{
  font-size:clamp(calc(3.2rem - 3px),calc(5vw - 3px),calc(5.6rem - 3px))!important;
}
.training-card h3{
  font-size:clamp(calc(2.6rem - 3px),calc(4.2vw - 3px),calc(4.7rem - 3px))!important;
}
.route-card h3{
  font-size:clamp(calc(2.5rem - 3px),calc(4vw - 3px),calc(4.3rem - 3px))!important;
}
.train-page .offer-card h3{
  font-size:calc(2.8rem - 3px)!important;
}
.advisory-signup__head h3{
  font-size:calc(2.65rem - 3px)!important;
}
.gathering-panel h3{
  font-size:calc(2.2rem - 3px)!important;
}
.final-cta h2{
  font-size:calc(1.5rem - 3px)!important;
}

/* Small titles: approximately 2px smaller. */
.free-card h3,.course-card h3{
  font-size:clamp(calc(1.75rem - 2px),calc(2.1vw - 2px),calc(2.4rem - 2px))!important;
}
.solo-routes .course-card h3,.organisation-routes .course-card h3{
  font-size:clamp(calc(1.65rem - 2px),calc(1.9vw - 2px),calc(2.15rem - 2px))!important;
}
.day-card h4,.signal-row strong,.agent-row strong{
  font-size:calc(1.75rem - 2px)!important;
}
.authority-proof h3{
  font-size:calc(2.35rem - 2px)!important;
}
.case-panel__grid strong{
  font-size:calc(1.6rem - 2px)!important;
}
.footer h2{
  font-size:calc(3rem - 3px)!important;
}
.pcard-h,.hcard-h{
  font-size:calc(1.5rem - 2px)!important;
}
.ocard-h{
  font-size:calc(1.75rem - 2px)!important;
}
.ccard-h{
  font-size:calc(1.4rem - 2px)!important;
}
.man-q{
  font-size:clamp(calc(1.6rem - 2px),calc(2.6vw - 2px),calc(2.5rem - 2px))!important;
}

@media(max-width:680px){
  .hero h1,.home-page .hero h1,.academy-page .hero h1,.agency-page .hero h1,.evaluate-page .hero h1,.grow-page .hero h1,.train-page .hero h1,.hero-h1,.training-v2.route-hero h1{
    font-size:clamp(calc(2.9rem - 5px),calc(14vw - 5px),calc(4.7rem - 5px))!important;
  }
  .section-heading h2,.cta h2,.cta-h{
    font-size:clamp(calc(2.8rem - 4px),calc(14vw - 4px),calc(4.5rem - 4px))!important;
  }
  .case-panel__intro h2,.advisory-panel__copy h2{
    font-size:clamp(calc(2.8rem - 4px),calc(13vw - 4px),calc(4.6rem - 4px))!important;
  }
  .route-select .route-question h2,.audience-heading h2{
    font-size:clamp(calc(2.7rem - 4px),calc(13vw - 4px),calc(4.5rem - 4px))!important;
  }
}
