/* xtraLesson Web 0.12.0 — production presentation isolation
 * Protect the managed xtraLesson shell from theme/Elementor global typography
 * and button rules that can be regenerated differently after staging cutover.
 */
body.xlw-app{font-size:16px!important;font-family:Inter,Arial,Helvetica,sans-serif!important;line-height:1.55!important}
body.xlw-app .xlw-app-header,body.xlw-app .xlw-app-main,body.xlw-app .xlw-app-footer{font-family:Inter,Arial,Helvetica,sans-serif!important}
body.xlw-app .xlw-brand{font-size:16px!important;line-height:1!important;text-transform:none!important;letter-spacing:normal!important}
body.xlw-app .xlw-brand img{width:auto!important;height:auto!important;max-width:215px!important;max-height:54px!important;object-fit:contain!important}
body.xlw-app .xlw-brand-mark{font-size:16px!important;line-height:1!important}
body.xlw-app .xlw-brand-text{font-size:24px!important;line-height:1.1!important;text-transform:none!important;letter-spacing:normal!important}
body.xlw-app .xlw-primary-nav a,body.xlw-app .xlw-header-signin,body.xlw-app .xlw-header-explore{font-size:15px!important;line-height:1.2!important;text-transform:none!important;letter-spacing:normal!important}

body.xlw-app .xlw-card-body{font-size:16px!important;line-height:1.55!important}
body.xlw-app .xlw-card-body h3{font-size:18.4px!important;line-height:1.35!important;letter-spacing:normal!important;text-transform:none!important;margin:0!important}
body.xlw-app .xlw-card-body h3 a{font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;text-transform:none!important;font-weight:inherit!important}
body.xlw-app .xlw-card-body p{font-size:16px!important;line-height:1.55!important;letter-spacing:normal!important;text-transform:none!important}
body.xlw-app .xlw-meta{font-size:13.76px!important;line-height:1.45!important}
body.xlw-app .xlw-eyebrow{font-size:12.48px!important;line-height:1.35!important}
body.xlw-app .xlw-badge{font-size:11.84px!important;line-height:1.2!important;letter-spacing:normal!important;text-transform:none!important}
body.xlw-app .xlw-sponsor-recognition,body.xlw-app .xlw-sponsor-recognition *{font-size:13.12px!important;line-height:1.45!important}

body.xlw-app .xlw-button,body.xlw-app a.xlw-button,body.xlw-app button.xlw-button{font-size:15.2px!important;line-height:1.2!important;letter-spacing:normal!important;text-transform:none!important;font-style:normal!important;font-family:Inter,Arial,Helvetica,sans-serif!important}
body.xlw-app .xlw-card-body>.xlw-button{font-size:15.2px!important;line-height:1.2!important;min-height:42px!important;padding:10px 17px!important;border-radius:10px!important}

body.xlw-app .xlw-section-eyebrow{font-size:12.32px!important;line-height:1.35!important}
body.xlw-app .xlw-section-heading h2,body.xlw-app .xlw-page-intro h1{line-height:1.05!important;letter-spacing:-.035em!important;text-transform:none!important}
body.xlw-app .xlw-resource-heading h2,body.xlw-app .xlw-resource-copy-grid h2,body.xlw-app .xlw-academy-structure-heading h2{line-height:1.08!important;text-transform:none!important}
body.xlw-app .xlw-resource-hero-copy h1{line-height:1.01!important;letter-spacing:-.045em!important;text-transform:none!important}
body.xlw-app .xlw-audience-card h3{font-size:25.6px!important;line-height:1.1!important;text-transform:none!important}
body.xlw-app .xlw-access-card h3,body.xlw-app .xlw-impact-grid h3,body.xlw-app .xlw-learning-flow h3,body.xlw-app .xlw-learning-resource-grid h3,body.xlw-app .xlw-learning-principles h3{font-size:18.4px!important;line-height:1.25!important;text-transform:none!important}
body.xlw-app .xlw-footer-column h2{font-size:16px!important;line-height:1.3!important;text-transform:none!important}

@media(max-width:640px){
  body.xlw-app .xlw-brand img{max-width:165px!important;max-height:46px!important}
  body.xlw-app .xlw-card-body h3{font-size:18px!important}
  body.xlw-app .xlw-button,body.xlw-app a.xlw-button,body.xlw-app button.xlw-button{font-size:15px!important}
}

/* v0.12.1 Custom Academies readability */
body.xlw-app .xlw-custom-brand-card p{color:#fff!important}
body.xlw-app .xlw-custom-hero h1{font-size:clamp(46.4px,4.6vw,75.2px)!important;line-height:.98!important;letter-spacing:-.048em!important;text-transform:none!important}
@media(max-width:640px){body.xlw-app .xlw-custom-hero h1{font-size:clamp(36.8px,10.5vw,50.4px)!important;line-height:1!important}}


/* v0.14.11 — production link typography isolation
 * Production theme/global link typography was leaking into managed xtraLesson
 * anchors that intentionally inherited their size on staging. Keep these
 * navigation/action link families at product-system scale regardless of host theme.
 */
body.xlw-app .xlw-breadcrumbs a{font-size:14.4px!important;line-height:1.4!important;letter-spacing:normal!important;text-transform:none!important}
body.xlw-app .xlw-filter-clear{font-size:15.2px!important;line-height:1.25!important;letter-spacing:normal!important;text-transform:none!important}
body.xlw-app .xlw-pagination a{font-size:16px!important;line-height:1.2!important;letter-spacing:normal!important;text-transform:none!important}
body.xlw-app .xlw-footer-column a{font-size:16px!important;line-height:1.45!important;letter-spacing:normal!important;text-transform:none!important}
body.xlw-app .xlw-text-link{font-size:15.2px!important;line-height:1.3!important;letter-spacing:normal!important;text-transform:none!important}
body.xlw-app .xlw-footer-social-links a{font-size:14.08px!important;line-height:1.2!important;letter-spacing:normal!important;text-transform:none!important}
body.xlw-app .xlw-app-footer-bottom a{font-size:inherit!important;line-height:inherit!important;letter-spacing:normal!important;text-transform:none!important}

/* v0.14.12 — production UX/UI hierarchy hardening
 * Complete the host-theme isolation pass for legal/contact/content links and
 * rebalance use-case heading hierarchy after production cutover.
 */
/* Legal centre: sidebar and document links must stay at utility/content scale. */
body.xlw-app .xlw-legal-nav a{
  font-size:16px!important;
  line-height:1.35!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  overflow-wrap:anywhere;
}
body.xlw-app .xlw-legal-document a,
body.xlw-app .xlw-legal-card,
body.xlw-app .xlw-legal-card span{
  font-size:16px!important;
  line-height:1.5!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
body.xlw-app .xlw-legal-card h2{font-size:21.6px!important;line-height:1.2!important}
body.xlw-app .xlw-legal-card p{font-size:16px!important;line-height:1.65!important}

/* Contact: action links and contact details must not inherit theme CTA sizing. */
body.xlw-app .xlw-contact-route-grid h3{font-size:18.4px!important;line-height:1.28!important}
body.xlw-app .xlw-contact-route-grid a{
  font-size:17px!important;
  line-height:1.35!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
body.xlw-app .xlw-consent,body.xlw-app .xlw-consent span{font-size:13.6px!important;line-height:1.55!important}
body.xlw-app .xlw-consent a{font-size:inherit!important;line-height:inherit!important;letter-spacing:normal!important;text-transform:none!important}
body.xlw-app .xlw-contact-office,body.xlw-app .xlw-contact-office span{font-size:15.2px!important;line-height:1.55!important}
body.xlw-app .xlw-contact-office a{font-size:16px!important;line-height:1.4!important;letter-spacing:normal!important;text-transform:none!important}

/* Content-link families: preserve the size of the component that owns them. */
body.xlw-app .xlw-usecase-card h2 a,
body.xlw-app .xlw-featured-usecase h2 a,
body.xlw-app .xlw-journey-copy h3 a,
body.xlw-app .xlw-sponsor-recognition a,
body.xlw-app .xlw-impact-partner-identity,
body.xlw-app .xlw-impact-academy-mini-grid a,
body.xlw-app .xlw-impact-current a{
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  text-transform:none!important;
}
body.xlw-app .xlw-usecase-sources a{font-size:16px!important;line-height:1.45!important;text-transform:none!important;letter-spacing:normal!important}

/* Use Cases: maintain a clear H1 > section title > featured-card-title hierarchy. */
body.xlw-app .xlw-usecase-archive-hero h1{
  font-size:clamp(48px,4.8vw,76px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
}
body.xlw-app .xlw-usecase-archive-hero + .xlw-section .xlw-section-heading h2,
body.xlw-app .xlw-featured-usecase-section .xlw-section-heading h2{
  font-size:clamp(34px,3.5vw,50px)!important;
  line-height:1.05!important;
}
body.xlw-app .xlw-featured-usecase h2{
  font-size:clamp(29px,2.8vw,41px)!important;
  line-height:1.08!important;
  letter-spacing:-.028em!important;
}
body.xlw-app .xlw-featured-usecase h2 a{font-size:inherit!important}

/* Guard common inline utility links that are deliberately text-sized. */
body.xlw-app .xlw-form-note a,
body.xlw-app .xlw-data-note a,
body.xlw-app .xlw-resource-note a{
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}

@media(max-width:640px){
  body.xlw-app .xlw-legal-nav a{font-size:15px!important}
  body.xlw-app .xlw-contact-route-grid a{font-size:16px!important}
  body.xlw-app .xlw-usecase-archive-hero h1{font-size:clamp(40px,11vw,55px)!important}
  body.xlw-app .xlw-featured-usecase h2{font-size:clamp(27px,8.5vw,36px)!important}
}

/* v0.14.12 — component heading scale lock
 * Host themes may ship aggressive h1/h2/h3 rules. Lock recurring product
 * components to the sizes already defined by the xtraLesson design system.
 */
body.xlw-app .xlw-section-heading h2{font-size:clamp(32px,3.6vw,50px)!important;line-height:1.06!important}
body.xlw-app .xlw-page-intro h1{font-size:clamp(34px,4vw,56px)!important;line-height:1.04!important}
body.xlw-app .xlw-contact-context h2{font-size:clamp(32px,3.2vw,48px)!important;line-height:1.06!important}
body.xlw-app .xlw-usecase-card h2{font-size:23.2px!important;line-height:1.16!important;letter-spacing:-.015em!important}
body.xlw-app .xlw-usecase-grid h3,
body.xlw-app .xlw-deployment-grid h3,
body.xlw-app .xlw-resource-hub-card h2{font-size:18.4px!important;line-height:1.25!important}
body.xlw-app .xlw-org-audience-card h2{font-size:28.8px!important;line-height:1.12!important}
body.xlw-app .xlw-benefit-grid h2{font-size:23.2px!important;line-height:1.2!important}
body.xlw-app .xlw-journey-copy h3{font-size:20.48px!important;line-height:1.2!important}
body.xlw-app .xlw-legal-document h2{font-size:clamp(23.2px,2.3vw,32px)!important;line-height:1.15!important}
body.xlw-app .xlw-faq-group>h2{font-size:28px!important;line-height:1.18!important}

@media(max-width:640px){
  body.xlw-app .xlw-section-heading h2{font-size:clamp(30px,9vw,42px)!important}
  body.xlw-app .xlw-page-intro h1{font-size:clamp(34px,10vw,46px)!important}
  body.xlw-app .xlw-org-audience-card h2{font-size:25.6px!important}
}

/* v0.14.13 — navigation and brand hierarchy polish */
body.xlw-app .xlw-nav-group summary{font-size:15px!important;line-height:1.2!important;letter-spacing:normal!important;text-transform:none!important;font-family:Inter,Arial,Helvetica,sans-serif!important}
body.xlw-app .xlw-nav-submenu a{font-size:14.56px!important;line-height:1.3!important;letter-spacing:normal!important;text-transform:none!important}
body.xlw-app .xlw-org-audience-card h2{font-size:20px!important;line-height:1.2!important;margin-bottom:8px!important}
body.xlw-app .xlw-org-audience-card p{font-size:18.4px!important;line-height:1.42!important;font-weight:500!important;letter-spacing:normal!important;text-transform:none!important;color:var(--xlw-muted)!important}
body.xlw-app .xlw-org-audience-card .xlw-text-link{font-size:14.4px!important;line-height:1.3!important}
body.xlw-app .xlw-impact-value-grid h3{font-size:19.52px!important;line-height:1.22!important}
body.xlw-app .xlw-impact-value-grid p{font-size:16px!important;line-height:1.65!important}
body.xlw-app .xlw-impact-proof-strip span{font-size:13.44px!important;line-height:1.35!important}
@media(max-width:640px){
  body.xlw-app .xlw-org-audience-card h2{font-size:19.2px!important}
  body.xlw-app .xlw-org-audience-card p{font-size:17.6px!important}
}


/* v0.14.14 — header and master-brand hero alignment */
@media(min-width:1181px){
  body.xlw-app .xlw-app-header-inner{width:min(1440px,calc(100% - 48px))!important;gap:16px!important}
  body.xlw-app .xlw-primary-nav{margin-inline-start:0!important;flex:1 1 auto!important;gap:12px!important}
  body.xlw-app .xlw-nav-root{margin-inline-start:18px!important;gap:14px!important}
  body.xlw-app .xlw-header-actions{margin-inline-start:auto!important;gap:10px!important}
  body.xlw-app .xlw-brand img{max-width:205px!important;max-height:50px!important}
  body.xlw-app .xlw-nav-submenu{top:calc(100% + 12px)!important;left:0!important}
  body.xlw-app .xlw-nav-submenu-wide{min-width:282px!important}
  body.xlw-app .xlw-nav-group details[open]{z-index:95}
}
body.xlw-app-home .xlw-nav-group summary{color:#fff!important}
body.xlw-app-home .xlw-nav-group summary:hover,
body.xlw-app-home .xlw-nav-group summary:focus-visible{color:#a8d3ff!important}
body.xlw-app-home .xlw-home-hero-v2 .xlw-section-eyebrow{font-size:12.5px!important;letter-spacing:.2em!important;color:#9fd0ff!important}
body.xlw-app-home .xlw-home-hero-v2 .xlw-home-hero-copy h1{max-width:930px!important;font-size:clamp(54px,5vw,80px)!important;line-height:.96!important;letter-spacing:-.045em!important}
body.xlw-app-home .xlw-home-hero-v2 .xlw-home-lead{max-width:790px!important;font-size:clamp(17px,1.35vw,20px)!important;line-height:1.65!important}
@media(max-width:1180px){
  body.xlw-app .xlw-nav-root{margin-inline-start:0!important}
  body.xlw-app-home .xlw-nav-group summary{color:#fff!important}
}
@media(max-width:760px){
  body.xlw-app-home .xlw-home-hero-v2 .xlw-home-hero-copy h1{font-size:clamp(39px,11vw,52px)!important;line-height:.98!important}
  body.xlw-app-home .xlw-home-hero-v2 .xlw-home-lead{font-size:16px!important;line-height:1.58!important}
}

/* 0.15.0 WP1: browser-first Mobile entry and gated Android Early Access. */
body.xlw-app .xlw-mobile-launch-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;margin:22px 0 14px;max-width:100%}
body.xlw-app .xlw-mobile-launch-actions .xlw-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:46px;max-width:100%;text-align:center;line-height:1.35;white-space:normal}
body.xlw-app .xlw-mobile-launch-actions .xlw-mobile-open-link{flex:0 0 auto}
body.xlw-app .xlw-mobile-android-pending{display:flex;flex-direction:column;gap:6px;min-width:0}
body.xlw-app .xlw-mobile-android-disabled{cursor:not-allowed!important;opacity:.63!important;pointer-events:none!important;filter:grayscale(.3)}
body.xlw-app .xlw-mobile-android-pending small{font-size:.77rem;line-height:1.5;color:#425572;max-width:285px}
body.xlw-app .xlw-mobile-launch-actions.is-compact{margin:16px 0 12px}
body.xlw-app .xlw-mobile-home-copy .xlw-mobile-more{display:inline-flex;margin-top:4px}
body.xlw-app .xlw-mobile-install-help .xlw-mobile-help-grid{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
body.xlw-app .xlw-mobile-help-grid article{min-width:0;border-radius:16px;padding:22px;background:#f6faff;border:1px solid #d6e4f4}
body.xlw-app .xlw-mobile-help-grid h3{margin:0 0 10px;font-size:1.1rem;line-height:1.3;color:#0a3164}
body.xlw-app .xlw-mobile-help-grid p{margin:0 0 12px;line-height:1.65;color:#354967}
body.xlw-app .xlw-mobile-launch-actions a:focus-visible{outline:3px solid #1769d2;outline-offset:4px}
@media(max-width:980px){body.xlw-app .xlw-mobile-install-help .xlw-mobile-help-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body.xlw-app .xlw-mobile-launch-actions{flex-direction:column;align-items:stretch}body.xlw-app .xlw-mobile-android-pending{width:100%}body.xlw-app .xlw-mobile-launch-actions .xlw-button{width:100%}body.xlw-app .xlw-mobile-install-help .xlw-mobile-help-grid{grid-template-columns:minmax(0,1fr)}}

/* Web GTM 0.15.0 Campaign V2 — protect action labels against Elementor/theme anchor typography. 
 * Scope limited to the three staged campaign pages; no general site button changes.
 */
body.xlw-app .xlw-campaign-page a.xlw-campaign-button{
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  font-size:15.2px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  text-align:center;
  white-space:normal;
  max-width:100%;
}
body.xlw-app .xlw-campaign-page a.xlw-campaign-inline-link{
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  font-size:15.2px!important;
  font-weight:800!important;
  line-height:1.35!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
@media(max-width:700px){
  body.xlw-app .xlw-campaign-page a.xlw-campaign-button{
    font-size:15px!important;
  }
  body.xlw-app .xlw-campaign-page a.xlw-campaign-inline-link{
    font-size:15px!important;
  }
}

/* WP3 Answers links isolated from host/Elementor global anchor typography. */
body.xlw-app .xlw-answers-page a.xlw-answers-button,
body.xlw-app .xlw-answers-page a.xlw-answers-inline-link,
body.xlw-app .xlw-answers-page a.xlw-answers-card-action,
body.xlw-app .xlw-answers-page .xlw-answers-nav a{
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.3!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
body.xlw-app .xlw-answers-card h3 a{font-size:inherit!important;line-height:inherit!important;color:inherit!important;letter-spacing:inherit!important;text-transform:none!important}
body.xlw-app .xlw-answers-breadcrumb a{font-size:13.6px!important;line-height:1.45!important;text-transform:none!important}

/* XLW ANSWERS PILOT HOTFIX START */
/* Staging-only visual refinement for Answers pilot */
body.xlw-app .xlw-answers-page .xlw-answers-hero-art{
  min-height: 290px;
  padding-bottom: 46px;
}
body.xlw-app .xlw-answers-page .xlw-answers-art-orbit{
  width: 176px;
  height: 176px;
  box-shadow:
    0 0 0 24px rgba(255,255,255,.035),
    0 0 0 52px rgba(255,255,255,.035);
}
body.xlw-app .xlw-answers-page .xlw-answers-art-orbit span{
  font-size: 6rem;
}
body.xlw-app .xlw-answers-page .xlw-answers-art-note{
  left: 50%;
  right: auto;
  bottom: 6px;
  transform: translateX(-50%);
  width: 100%;
  max-width: 290px;
  justify-content: center;
}
body.xlw-app .xlw-answers-page .xlw-answers-art-note span{
  font-size: 12px;
  padding: 6px 10px;
  white-space: nowrap;
}
body.xlw-app .xlw-answers-page .xlw-answers-sources li{
  font-size: 1rem;
  line-height: 1.55;
}
body.xlw-app .xlw-answers-page .xlw-answers-sources a{
  font-size: 1rem !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
@media (max-width: 700px){
  body.xlw-app .xlw-answers-page .xlw-answers-sources a{
    font-size: .95rem !important;
    line-height: 1.5 !important;
  }
}
/* XLW ANSWERS PILOT HOTFIX END */


/* W2 UAT: editorial campaign source titles are compact accessible links. */
body.xlw-app .xlw-campaign-page .xlw-campaign-evidence-links{
  list-style:none;
  margin:18px 0 0;
  padding:0;
  display:grid;
  gap:14px;
  max-width:690px;
}
body.xlw-app .xlw-campaign-page .xlw-campaign-evidence-links li{
  margin:0;
  padding:0;
  font-size:1rem;
  line-height:1.55;
}
body.xlw-app .xlw-campaign-page .xlw-campaign-evidence-links a{
  font-size:1rem !important;
  line-height:1.55 !important;
  color:#0758b7;
  text-decoration:underline;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
body.xlw-app .xlw-campaign-page .xlw-campaign-evidence-links a:focus-visible{
  outline:3px solid #0758b7;
  outline-offset:4px;
}
