/* Shared accessibility and conference readability; approved logo pixels are untouched. */
:root{--quality-navy:#111d31;--quality-burgundy:#7b1734}
body{font-size:1rem}button,a,input,textarea,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b88f45;outline-offset:4px}
.brandLearn{color:var(--quality-burgundy)}.brand b,.demoBrand b,.v9-brand b,.en-brand b{color:var(--quality-navy)}
.v9-brand>div:last-child,.en-brand>div{text-align:center}
.brand small,.demoBrand small,.v9-brand small,.en-brand small{font-size:.875rem!important;line-height:1.6!important;color:#535963!important}.demoTop .demoBrand b{color:#fff}.demoTop .demoBrand small{color:#cbd1dd!important}
.kicker,.demoEyebrow,.section-overline,.simpleMeta span,.snapshotCard small,.essayAnalysis span,.week small,.week em,.roadmapTitle small,.entry-copy small,.entry-note,.pilot-course-weeks span{font-size:.875rem!important;line-height:1.6!important}.taskCard p,.stageCard p,.entry-intro p,.pilot-course-copy p{font-size:1rem!important;color:#525966!important;line-height:1.8!important}.week.locked{opacity:1!important;background:#eeeae5!important;color:#545b65!important}.week.locked small,.week.locked em{color:#59606a!important}.country-muted{opacity:1!important;background:#f0eeea!important;color:#5b616b!important}
.studentSnapshot{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}.essayAnalysis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.essayAnalysis p{grid-column:1/-1}.essayAnalysis b{font-size:1rem!important}.rubricEvidence{line-height:1.85;padding-inline-start:1.5rem;color:#26354b}.rubricEvidence li{margin-block:12px}.metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important}.stageCard .demoActions{flex-wrap:wrap;gap:12px}.stageCard details{padding:14px;margin-top:20px;background:#f7f4ef;border-radius:14px}.stageCard summary{cursor:pointer;font-weight:700}#syncStatus{padding:12px;background:#f5f2eb;border-radius:12px;font-size:.875rem}
.qualityHero{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:3rem;padding:3rem 0}.qualityHero h1{font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.35;color:#111d31;margin:1rem 0}.qualityLead{font-size:1.125rem;line-height:1.9;color:#495365}.qualityActions{display:flex;gap:12px;flex-wrap:wrap;margin-block:22px}.qualityCaption{font-size:.875rem;color:#57606c}.qualityExample{background:#fff;border:1px solid #ded8d0;border-radius:24px;padding:26px;box-shadow:0 16px 35px #111d310b}.qualityExample h2{font-size:1.5rem;color:#111d31}.qualityExample ol{padding-inline-start:1.5rem}.qualityExample li{margin-block:16px;padding-inline-start:8px}.qualityExample b,.qualityExample span{display:block}.qualityExample span{line-height:1.8;color:#525966}.qualityExample small{font-size:.875rem;color:#646a75}.qualityJurisdictions,.qualityMethod{padding:24px;border:1px solid #ded8d0;border-radius:24px;background:#ffffffa6;margin-block:24px}.qualityJurisdictions h2,.qualityMethod h2{font-size:1.5rem;color:#111d31}.qualityMethod p,.qualityJurisdictions p{line-height:1.8;color:#525966}.qualityJurisdictions .entry-option{min-height:100px}.qualityMethod .btn{display:inline-flex;margin-top:8px}.en-main .course-card>.actions{align-items:center}.en-main .course-card>.actions .btn{min-height:48px;align-self:center}
@media(max-width:760px){.qualityHero{grid-template-columns:1fr;gap:20px;padding-block:24px}.qualityJurisdictions,.qualityMethod{padding:20px}.qualityActions .btn{flex:1;text-align:center}.studentSnapshot{grid-template-columns:1fr!important}.snapshotCard{display:block!important;text-align:center!important}.snapshotCard small{margin-top:5px!important}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.brand small,.v9-brand small{max-width:230px}.qualityExample{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.stageCard .planCard p{color:#e7edf6!important}
/* Homepage title: two deliberate lines, then a quieter AI descriptor. */
.qualityHero>div,.en-hero>div{min-width:0}
.qualityHero .qualityHeroTitle,.en-hero .qualityHeroTitle{font-family:inherit;font-weight:600;font-size:clamp(1.75rem,3.2vw,2.625rem);line-height:1.5;letter-spacing:normal;margin:14px 0 0;max-width:36rem;color:var(--quality-navy)}
.qualityHeroTitle span{display:block}
.qualityHeroSubtitle{font-family:inherit;font-size:clamp(1.0625rem,1.65vw,1.25rem);font-weight:600;line-height:1.8;color:var(--quality-burgundy);margin:8px 0 18px}
.qualityHero .qualityLead,.en-hero .lead{font-size:1.0625rem;line-height:1.9;max-width:36rem;margin:0}
.qualityHero .qualityCaption,.en-hero .qualityCaption{font-size:.875rem;line-height:1.8;max-width:35rem;margin:16px 0 0;color:#57606c}
.en-hero .qualityHeroTitle{font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.25;letter-spacing:-.025em}
.en-hero .qualityHeroSubtitle{line-height:1.6}
@media(max-width:760px){.qualityHero .qualityHeroTitle,.en-hero .qualityHeroTitle{font-size:clamp(1.5rem,5.8vw,2.125rem)}.qualityHeroSubtitle{margin-bottom:16px}.qualityHero .qualityLead,.en-hero .lead{font-size:1rem}.qualityHero,.en-hero{gap:28px}.qualityHeroTitle span{overflow-wrap:normal}}

/* Short brand welcome; CSS also releases the page if script cleanup fails. */
.lexIntro{display:none;position:fixed;inset:0;z-index:1000;background:#111d31;align-items:center;justify-content:center;flex-direction:column;gap:20px;min-height:100svh}
.lexIntroActive .lexIntro{display:flex;animation:lexIntroOut .3s ease 1.15s forwards}
.lexIntroMark{width:clamp(140px,20vw,184px);aspect-ratio:1;border-radius:30px;background:#fffaf4;display:grid;place-items:center;box-shadow:0 18px 60px #0003;animation:lexIntroIn .3s ease-out both}
.lexIntroMark img{width:78%;height:auto;display:block}
.lexIntroName{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:1.5rem;font-weight:600;letter-spacing:.02em;color:#fffaf4;animation:lexIntroIn .3s ease-out .08s both}
@keyframes lexIntroIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes lexIntroOut{to{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.lexIntro{display:none!important}}
.homeLanguage{position:fixed;top:14px;left:14px;z-index:70;padding:8px 13px;border:1px solid #ddd2c3;border-radius:999px;background:#fff;color:#111d31;text-decoration:none;font-family:inherit;font-weight:600;font-size:.875rem;line-height:1.5}
.qualityExample h2{font-weight:600;line-height:1.65;letter-spacing:normal;margin-block:16px}
.qualityExample p{font-size:1rem;line-height:1.85;color:#495365;margin-block:0 16px}
.qualityExample small{display:block;line-height:1.8}
.en-main .course-card h2,.en-main .qualityMethod h2{font-family:inherit;font-weight:600;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.45}

.qualityHero .qualityHeroTitle{width:fit-content;max-width:100%;text-align:center}

.qualityCarousel{min-width:0;--slide-entry:110%;--slide-exit:-110%}
.qualityCarousel[data-direction="right"]{--slide-entry:-110%;--slide-exit:110%}
.qualityCarouselViewport{display:grid;overflow:hidden}
.qualitySlide{grid-area:1/1;min-width:0;visibility:hidden;opacity:0;transform:translateX(var(--slide-entry));pointer-events:none;transition:transform .55s cubic-bezier(.22,.61,.36,1),opacity .4s ease,visibility 0s .55s}
.qualitySlide.isActive{visibility:visible;opacity:1;transform:translateX(0);pointer-events:auto;transition-delay:0s}
.qualitySlide.isLeaving{visibility:visible;opacity:0;transform:translateX(var(--slide-exit));transition-delay:0s}
.qualityCarouselControls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;border-top:1px solid #eee8e1;padding-top:14px}
.qualityCarouselDots{display:flex;gap:8px}
.qualityCarouselControls button{font:inherit;font-size:.875rem;line-height:1.5;min-height:44px;border:1px solid #ded8d0;border-radius:12px;color:#495365;background:#fff;cursor:pointer;padding:8px 12px}
.qualityCarouselDots button{min-width:44px}
.qualityCarouselDots button[aria-pressed="true"]{background:#7b1734;border-color:#7b1734;color:#fff}
.qualityCarousel .carouselStatus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.en-main .qualityCarousel h2{font-size:1.375rem;line-height:1.5;font-family:inherit}
@media(prefers-reduced-motion:reduce){.qualitySlide{transform:none!important}}

.qualityTitleGroup{display:grid;width:max-content;max-width:100%;text-align:center}
.qualityTitleGroup .qualityHeroTitle{width:100%;text-align:center}
.qualityTitleGroup .qualityHeroSubtitle{text-align:center}

.qualityTitleGroup>.section-overline,.qualityTitleGroup>.overline{text-align:center}
.qualityDemoAction{display:grid;gap:6px;text-align:center;min-width:0}
.qualityDemoAction small{font-size:.8125rem;line-height:1.6;color:#57606c}
.qualityActions,.en-hero .actions{align-items:flex-start}
@media(max-width:760px){.qualityDemoAction{flex:1}}

.essayInstructions{padding:16px 20px;background:#f5f2ed;border-radius:14px;line-height:1.85;margin-block:16px}.essayInstructions ol{margin:8px 0 0;padding-inline-start:24px}.essayInstructions li{margin-block:8px}.taskCard>.assessmentNote{display:block;line-height:1.8;margin-block:12px;color:#57606c}

.delayedReviewCard{margin:1rem 0}.reviewRow{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 0;border-bottom:1px solid #d9dde5}.reviewRow span{font-size:1rem}.delayedReviewCard button{margin-top:1rem}#pilotSurface .legalBox p{margin:.5rem 0}#pilotSurface small{font-size:1rem}

/* LexLearn brand tokens — shared across public, student, demo and supervisor views */
:root{--quality-navy:#142B5F;--quality-burgundy:#8F1D3F}

/* One thoughtful learning line in the original non-blocking home intro. */
.lexIntroQuote{max-width:min(90vw,530px);min-height:69px;margin:0 auto;padding:0 12px;color:#fffaf4;text-align:center}
.lexIntroQuote .ll-quote-main{margin:0;font:700 clamp(16px,3.8vw,23px)/1.6 Tahoma,Arial,sans-serif}
.lexIntroQuote .ll-quote-main span{display:block}
.lexIntroQuote .ll-quote-main span+span{color:#edbdc9}
.lexIntroQuote .ll-quote-source{display:block;margin-top:7px;font:500 11px/1.5 Tahoma,Arial,sans-serif;color:#d7dce7}
@media(max-width:520px){.lexIntro{gap:13px}.lexIntroQuote .ll-quote-main{font-size:17px}.lexIntroQuote .ll-quote-source{font-size:10px}}

/* Web Summit Qatar 2027: homepage CTAs are mobile-first, never overlapping. */
@media(max-width:1040px){
  .qualityHero,.en-hero{grid-template-columns:minmax(0,1fr);gap:22px}
  .qualityHero>div,.en-hero>div,.qualityExample{min-width:0;max-width:100%}
  .qualityHero .qualityActions,.en-hero .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:12px;align-items:stretch}
  .qualityHero .qualityActions>.btn,.en-hero .actions>.btn,.qualityHero .qualityDemoAction,.en-hero .qualityDemoAction{width:100%;min-width:0;max-width:100%;margin:0;flex:none}
  .qualityHero .qualityDemoAction,.en-hero .qualityDemoAction{display:flex;flex-direction:column;align-self:stretch;gap:6px}
  .qualityHero .qualityDemoAction>.btn,.en-hero .qualityDemoAction>.btn{width:100%;min-width:0;max-width:100%;margin:0;flex:none}
}
@media(max-width:760px){
  .homeUtilityBar{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .qualityHero .qualityActions,.en-hero .actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:11px!important;align-items:stretch!important;margin-block:20px!important;width:100%!important;min-width:0}
  .qualityHero .qualityActions>.btn,.en-hero .actions>.btn,.qualityHero .qualityDemoAction>.btn,.en-hero .qualityDemoAction>.btn{
    position:static!important;transform:none!important;display:flex!important;align-items:center;justify-content:center;text-align:center;
    box-sizing:border-box;width:100%!important;max-width:100%;min-width:0;min-height:53px!important;height:auto!important;
    white-space:normal!important;overflow-wrap:anywhere;line-height:1.55!important;padding:13px 16px!important;
    border-radius:14px!important;font-size:16px!important;box-shadow:none;flex:none!important
  }
  .qualityHero .qualityActions>a[href^="student-login"],.en-hero .actions>a[href^="student-login"]{order:2}
  .qualityHero .qualityActions>a[href^="student-register"],.en-hero .actions>a[href^="student-register"]{order:3}
  .qualityHero .qualityActions>.qualityDemoAction,.en-hero .actions>.qualityDemoAction{order:1;display:grid!important;grid-template-columns:minmax(0,1fr);align-self:stretch;width:100%;max-width:100%;min-width:0;gap:5px;margin:0}
  .qualityHero .qualityDemoAction small,.en-hero .qualityDemoAction small{display:block;text-align:center;font-size:13px;line-height:1.65;max-width:100%;margin:0;padding:0 6px}
  .qualityHero,.en-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;width:100%;max-width:100%;padding-block:21px 25px}
  .qualityHero>div,.en-hero>div,.qualityExample,.qualityCarousel,.en-main{min-width:0;max-width:100%}
  .qualityTitleGroup{width:100%;max-width:100%;min-width:0}
  .qualityHeroTitle{max-width:100%;overflow-wrap:break-word}
  .qualityHero .qualityLead,.en-hero .lead{font-size:15px;line-height:1.9}
  .qualityExample{overflow:hidden}
  .qualityCarouselViewport{min-width:0}
  .qualitySlide{max-width:100%;min-width:0}
  .qualityCarousel h2{font-size:clamp(18px,5vw,23px);line-height:1.5}
}
@media(max-width:420px){
  .v9-app{padding-inline:16px}
  .v9-topin{padding-inline:16px}
  .qualityHero .qualityHeroTitle,.en-hero .qualityHeroTitle{font-size:clamp(25px,7vw,32px)}
  .qualityHero .qualityLead,.en-hero .lead{font-size:15px}
  .en-main{padding-inline:16px}
  .en-topin{padding-inline:16px}
  .qualityExample{padding:16px}
}
@media(max-width:360px){
  .qualityHero .qualityActions,.en-hero .actions{gap:9px!important}
  .qualityHero .qualityActions>.btn,.en-hero .actions>.btn,.qualityHero .qualityDemoAction>.btn,.en-hero .qualityDemoAction>.btn{font-size:15px!important;padding-inline:12px!important}
}
