/* One shared type scale for every page and course. */
@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url('fonts/lato-400.ttf') format('truetype')}
@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url('fonts/lato-700.ttf') format('truetype')}
:root{--inova-text:16px;--inova-meta:14px;--inova-title:20px;--inova-section:30px;--inova-hero:44px;--inova-display:36px}
body.elementor-default{font-family:var(--inova-font,Lato,Arial,sans-serif);font-size:var(--inova-text);line-height:1.65}
.elementor .elementor-widget-heading .elementor-heading-title,
.elementor .elementor-widget-text-editor,
.elementor .elementor-button,
.woocommerce button,.woocommerce input,.woocommerce select,.woocommerce textarea,
.purchase-panel .variations select{font-family:inherit}

/* Body content: same size in cards, descriptions, FAQ, modules and checkout. */
.elementor .elementor-widget-text-editor,.course-card p,.team-card p,.journey-item p,
.quality-band p,.outcome p,.module p,.faq p,.review p,.lecturer p,
.career-list strong,.review strong,.course-meta strong,.stat span,
.purchase-panel .muted,.purchase-benefits li,.catalog-filter input,.catalog-filter select,
.woocommerce input.input-text,.woocommerce select,.woocommerce textarea,
.woocommerce-error,.woocommerce-info,.woocommerce-message,.woocommerce table.shop_table,
.course-card-bottom,.purchase-panel .variations select,.module summary strong,
.faq summary,.elementor .elementor-button,.button,.woocommerce .button,
.section-heading .text-button .elementor-button,.course-tabs a{font-size:var(--inova-text);line-height:1.6}
.course-card p,.team-card p,.journey-item p,.outcome p,.module p,.faq p,.review p,.lecturer p{font-weight:400}

/* Labels and secondary information: one size, distinguished by weight and color. */
.eyebrow,.elementor .eyebrow,.hero-copy .eyebrow,.team-card span,.lecturer span,
.course-meta small,.module summary small,.career-list small,.review small,
.course-badge,.detail-hero .badge-text,.purchase-panel .variations label,
.catalog-filter label,.woocommerce form .form-row label,.trust-line,
.breadcrumb,.woocommerce .woocommerce-breadcrumb,.demo-note,.footer-bottom,
.purchase-panel .reset_variations,.site-nav nav a,.nav-actions a,.brand small,
.menu-toggle,.cart-count,.elementor .muted{font-size:var(--inova-meta);line-height:1.5}
.course-badge,.detail-hero .badge-text,.eyebrow{font-weight:700}
.course-meta small,.team-card span,.lecturer span,.module summary small,.review small{color:var(--inova-muted)}

/* Heading roles: no separate sizes for each card or section. */
body h1,.elementor h1.elementor-heading-title,.elementor .detail-hero h1.elementor-heading-title,
.elementor .inova-utility h1.elementor-heading-title{font-size:var(--inova-hero);line-height:1.15;font-weight:700;letter-spacing:-.025em}
body h2,.woocommerce h2,.elementor h2.elementor-heading-title,
.elementor .section-heading h2.elementor-heading-title,
.elementor .quality-band h2.elementor-heading-title,
.elementor .detail-main h2.elementor-heading-title,
.elementor .final-cta h2.elementor-heading-title{font-size:var(--inova-section);line-height:1.25;font-weight:700;letter-spacing:-.02em}
body h3,body h4,.elementor h3.elementor-heading-title,.elementor h4.elementor-heading-title,
.elementor .quality-band h3.elementor-heading-title,.elementor .detail-main h3.elementor-heading-title,
.course-card h3,.related-grid .course-card h3,.team-card h3,.journey-item h3,
.outcome h3,.lecturer h3,.brand strong{font-size:var(--inova-title);line-height:1.35;font-weight:700;letter-spacing:-.01em}
.stat strong,.purchase-price .amount,.purchase-panel .single_variation .price,
.purchase-panel .single_variation .price .amount,.module-number{font-size:var(--inova-display);line-height:1.2;font-weight:700;letter-spacing:-.02em}
.purchase-price{font-size:var(--inova-title)}
.faq summary span,.module-toggle{font-size:var(--inova-title)}
.elementor .elementor-button,.button,.woocommerce .button{font-weight:700}

/* Give larger, consistent text room to breathe. */
.elementor .e-con.home-content{display:flex;flex-direction:column;gap:56px;align-items:stretch}
.elementor .e-con.home-courses,.elementor .e-con.home-team,.elementor .e-con.home-faq{width:100%;gap:22px}
.course-grid{gap:24px}
.course-card-body{padding:24px;gap:14px}
.course-card p{margin-bottom:12px}
.course-badge{padding:5px 12px;white-space:normal}
.course-card-bottom{gap:14px}
.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.team-card{display:flex;align-items:center;gap:22px;padding:28px;text-align:left}
.team-card img{width:76px;height:76px;flex-shrink:0;margin:0;object-fit:cover}
.team-card h3{margin:0 0 5px}
.team-card p{margin:10px 0 0}
.team-card:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 12px);justify-self:center}
.faq summary{padding:20px 22px}
.faq p{padding:0 22px 22px}
.course-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.course-meta>div{align-items:flex-start}
.course-meta strong,.course-meta small{overflow-wrap:anywhere}
.purchase-panel .variations label{margin-bottom:8px}
.purchase-panel .variations select{padding:12px;min-height:48px}
.purchase-benefits{gap:16px}
.purchase-benefits .inova-icon{width:20px;height:20px}
.module summary{min-height:90px;padding-right:8px}
.module summary strong{font-weight:700}
.module-number{min-width:82px}
.module summary small{margin-top:7px}
.outcome-grid{gap:28px}
.review-grid{grid-template-columns:1fr;gap:16px}
.review{padding:22px}
.review small{margin-top:6px}
.career-list>div{padding:16px}
.lecturer{flex-direction:column;gap:16px}
.lecturer img{width:76px;height:76px}
.course-tabs{flex-wrap:wrap;overflow:visible;gap:0 24px;white-space:normal}
.course-tabs a{padding:12px 0}
.journey{display:grid;height:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.journey-orbit{display:none}
.journey-item{gap:14px;align-items:flex-start}
.journey-item h3{margin-bottom:8px}
.quality-band{align-items:start}
.quality-band .inova-stack{gap:12px!important}
.elementor .e-con.quality-band{grid-template-columns:1.35fr repeat(4,minmax(0,1fr));gap:24px}
.elementor .e-con.detail-hero{align-items:center;gap:36px}
.elementor .e-con.final-cta{grid-template-columns:1fr}
.final-cta .button-row{margin-top:4px}
.related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.related-grid .course-card-body{padding:20px}
.related-grid .course-card p,.related-grid .course-card-bottom{font-size:var(--inova-text)}
.related-grid .arrow-circle{width:30px;height:30px;flex-shrink:0}
.trust-line{gap:18px 28px}
.brand strong{font-size:var(--inova-text)}
.brand small{margin-top:1px}
.nav-actions{gap:18px}
.site-nav nav{gap:21px}

@media(max-width:1100px){
 .elementor .e-con.quality-band{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .quality-band>.e-con:first-child{grid-column:1/-1}
 .elementor .e-con.journey-section{grid-template-columns:1fr;gap:30px}
 .journey{max-width:none}
 .team-card{padding:24px;gap:18px}
 .team-card img{width:64px;height:64px}
 .course-grid,.elementor-location-product-archive .course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-courses .course-grid .course-card:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 12px);justify-self:center}
 .elementor .e-con.detail-body{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)}
 .outcome-grid{grid-template-columns:1fr}
 .site-nav nav{gap:16px}
}
@media(max-width:800px){
 :root{--inova-hero:34px;--inova-section:28px;--inova-display:34px}
 .elementor .e-con.home-content{gap:40px}
 .team-grid{grid-template-columns:1fr}
 .team-card:last-child:nth-child(odd){width:100%;grid-column:auto}
 .course-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
 .elementor .e-con.detail-body{grid-template-columns:1fr}
 .detail-body>.detail-sidebar{display:flex;flex-direction:column}
 .detail-sidebar>.e-con,.detail-sidebar>.elementor-widget{width:100%}
 .elementor .e-con.detail-sidebar{display:contents}
 .elementor .e-con.detail-body{display:flex;flex-direction:column}
 .detail-body>.inova-stack:first-child{order:1;width:100%}
 .detail-sidebar>.elementor-widget:first-child{order:0;width:100%}
 .detail-sidebar>.e-con{order:2;width:100%}
 .lecturer{flex-direction:row}
 .journey{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
}
@media(max-width:520px){
 .course-grid,.elementor-location-product-archive .course-grid,.related-grid{grid-template-columns:1fr}
 .home-courses .course-grid .course-card:last-child:nth-child(odd){grid-column:auto;width:100%}
 .course-card-body,.related-grid .course-card-body{padding:22px}
 .team-card{padding:22px;align-items:flex-start}
 .team-card img{width:56px;height:56px}
 .team-grid{gap:18px}
 .journey{grid-template-columns:1fr;gap:24px}
 .elementor .e-con.quality-band{grid-template-columns:1fr;gap:24px}
 .quality-band>.e-con:first-child{grid-column:auto}
 .module-number{min-width:62px}
 .module summary{gap:14px}
 .faq summary{padding:18px}
 .faq p{padding:0 18px 18px}
 .stat span{font-size:var(--inova-meta)}
 .stat{padding:14px 15px}
 .stat strong{font-size:var(--inova-section)}
 .brand strong{font-size:var(--inova-meta)}
 .brand small{font-size:var(--inova-meta)}
 .brand{gap:7px}
 .nav-actions{gap:8px}
 .site-nav{gap:8px}
 .cart-count{min-width:20px;height:20px}
 .review-grid{grid-template-columns:1fr}
}
