/* CBE shared visual contract. Loaded after page styles in every generated shell. */
:root{--cbe-paper:#f7f5ee;--cbe-card:#fffdf7;--cbe-ink:#153e34;--cbe-muted:#53695e;--cbe-line:#cbd3c9;--cbe-accent:#a74729;--cbe-accent-hover:#87341d;--cbe-surface:#e9ede4;--cbe-radius:6px;--cbe-display:Georgia,'Times New Roman',serif;--cbe-body:Arial,sans-serif;--paper:var(--cbe-paper);--ink:var(--cbe-ink);--muted:var(--cbe-muted);--line:var(--cbe-line);--surface:var(--cbe-surface);--radius:var(--cbe-radius);--card:var(--cbe-card);--soft:var(--cbe-surface);--coral:var(--cbe-accent);--coral-ink:var(--cbe-accent);--espresso:#153e34}
body.dark,[data-theme=dark]{--cbe-paper:#102e27;--cbe-card:#1d4135;--cbe-ink:#f5efdf;--cbe-muted:#c1cec4;--cbe-line:#527466;--cbe-surface:#234839;--paper:var(--cbe-paper);--card:var(--cbe-card);--ink:var(--cbe-ink);--muted:var(--cbe-muted);--line:var(--cbe-line);--surface:var(--cbe-surface);--soft:var(--cbe-surface)}
body{font-family:var(--cbe-body);background:var(--paper);color:var(--ink)}
:where(main,#route-view,.public-main) h1{font-family:var(--cbe-display);font-size:clamp(36px,4.5vw,62px);line-height:1.14;letter-spacing:-.035em;font-weight:400;overflow-wrap:break-word}
:where(main,#route-view,.public-main) h2{font-family:var(--cbe-display);font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:-.025em;font-weight:400;overflow-wrap:break-word}
.public-main{max-width:1280px;padding:48px 5.5% 64px}
#route-view .section{max-width:1280px;padding:48px 5.5%}
.public-main .lead,#route-view .lead{font-size:17px;line-height:1.7;max-width:65ch}
.public-main article p,.language-chapter p{font-size:16px;line-height:1.8;max-width:75ch}
.public-main section{margin-block:40px}
.button,.btn{border-radius:var(--cbe-radius);min-height:44px;padding:12px 20px;font:600 14px/1.45 var(--cbe-body);box-shadow:none;white-space:normal;text-align:center}
#route-view .button,.public-main .button,.btn-primary{background:var(--cbe-accent);border:1px solid var(--cbe-accent);color:#fff8ef}
#route-view .button:hover,.public-main .button:hover,.btn-primary:hover{background:var(--cbe-accent-hover);border-color:var(--cbe-accent-hover);color:#fff8ef}
#route-view .button.outline,.public-main .button.outline{background:transparent;color:var(--ink);border-color:var(--line)}
#route-view .button.outline:hover,.public-main .button.outline:hover{background:var(--surface)}
:where(.public-main,#route-view,#crm,#auth) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select,textarea){background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--cbe-radius);font:16px/1.5 var(--cbe-body);padding:12px;max-width:100%;min-height:44px}
textarea{resize:vertical}
:where(.public-main,#route-view,#crm,#auth) :is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid #ae7d3e;outline-offset:3px}
:where(.public-main,#route-view) summary{min-height:44px;cursor:pointer;line-height:1.5}
:where(.public-main,#route-view) .action-row{flex-wrap:wrap;gap:12px}
.public-grid{gap:20px}
.public-grid>a{padding:24px;border:1px solid var(--line);border-radius:var(--cbe-radius);background:var(--card)}
.public-grid h2{font-size:28px}.public-grid>a:hover{border-color:var(--muted)}
/* Reading and practice share paper surfaces, not the marketing hero scale. */
#route-view .lesson-body h2{font:400 30px/1.25 var(--cbe-display);letter-spacing:-.02em}
#route-view :is(.worked-example,.lesson-callout,.review-intro,.review-result,.mission-docs,.demo-scene,.studio-case,.calc-result,.v5-objectives,.v5-question,.resume-card,.enriched-resume){border-radius:var(--cbe-radius);background:var(--card);border:1px solid var(--line);padding:24px}
#route-view :is(.lesson-callout,.worked-example,.field-guide,.v5-procedure){border-inline-start:3px solid #a1814e}
#route-view :is(.lesson-outline,.mission-steps) [aria-current]{background:var(--surface);border-color:var(--line)}
#route-view .chapter-text{font-size:16px!important;line-height:1.85!important}
#route-view .skill-card{grid-column:auto!important;margin-top:0!important;padding:24px!important;border:1px solid var(--line);border-radius:var(--cbe-radius);background:var(--card)}
#route-view .skills-grid{gap:20px}
#route-view .skill-card h3{font-size:27px}
#route-view .course-row{border-color:var(--line)}
#route-view .course-row h3{font-size:24px;line-height:1.3}
#route-view :is(.crm-kpis,.journey-domains){gap:16px;border:0}
#route-view :is(.crm-kpis,.journey-domains)>div{padding:20px;border:1px solid var(--line);border-radius:var(--cbe-radius);background:var(--card)}
#route-view .crm-missions a,#route-view .crm-records a{border:1px solid var(--line);border-radius:var(--cbe-radius);padding:16px}
#route-view .crm-missions a[aria-current],#route-view .crm-records a[aria-current]{border-inline-start:3px solid var(--cbe-accent);background:var(--surface)}
/* Commercial and partner surfaces. */
.public-main :is(.partner-card,.partner-builder,.partner-auth,.network-empty,.network-search,.partner-contact-lock,.partner-review,.offer-plan){border-radius:var(--cbe-radius);box-shadow:none;border-color:var(--line)}
.public-main .offer-plan{background:var(--card);color:var(--ink)}
.public-main .offer-plan.offer-main{background:#153e34;color:#fff8ef;border-color:#153e34}
.public-main .offer-main :is(h2,.offer-price,.offer-term,small,li,p){color:inherit}
.public-main .offer-main .button{background:var(--cbe-accent);border-color:var(--cbe-accent);color:#fff8ef}
.public-main .offer-main .button:hover{background:var(--cbe-accent-hover)}
.public-main .offer-plan h2{font-size:32px}
.public-main .network-hero h1,.public-main .offer-heading h1{font-size:clamp(36px,4.5vw,62px);line-height:1.14}
.public-main .offer-request{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--cbe-radius)}
.public-main pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--cbe-body);font-size:14px;line-height:1.7}
/* Territorial notebooks retain their own navigation. */
.territory-dossier{max-width:1280px!important}
.territory-dossier .territory-section{background:var(--card);color:var(--ink);border-color:var(--line);border-radius:var(--cbe-radius);scroll-margin-top:100px}
.territory-dossier .territory-section:first-child{border-inline-start:4px solid #a1814e}
.territory-dossier .territory-number{color:var(--muted)}
.territory-dossier .terrain-notebook{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--cbe-radius)}
.territory-toc a:hover,.territory-toc a[aria-current]{background:var(--surface);color:var(--ink);border-color:var(--cbe-accent)}
.territory-toc{top:96px}.terrain-check:has(:checked){color:var(--ink)}
/* Numbers remain data visualisations with tabular numerals. */
#route-view .mn-hero h1{font-size:clamp(38px,4.5vw,62px);line-height:1.14}
#route-view .mn-stat-grid{gap:18px;border:0}
#route-view .mn-stat{border:1px solid var(--line);border-radius:var(--cbe-radius);background:var(--card)}
#route-view .mn-value{font-size:clamp(38px,4vw,54px);line-height:1.1}
#route-view .mn-output{border-radius:var(--cbe-radius);background:var(--card)}
#route-view .mn-section-heading{grid-template-columns:1fr;gap:16px}
/* Private manager tools use the same identity with compact type. */
#crm :is(h1,h2,h3),#auth h1{font-family:var(--cbe-display);font-weight:400}
#crm h1{font-size:32px}#crm h2{font-size:26px}#crm .stat .v{font-family:var(--cbe-display)}
#crm :is(.panel,.stat),#auth .auth-card{border-radius:var(--cbe-radius);box-shadow:none}
#crm .stat.accent{background:#153e34;border-color:#153e34;color:#fff8ef}
#crm .navlink{border-radius:var(--cbe-radius)}#crm .navlink.active{color:var(--ink);background:var(--surface);box-shadow:inset 3px 0 var(--cbe-accent)}
#crm .btn-primary,#auth .btn-primary{background:var(--cbe-accent);border-color:var(--cbe-accent);color:#fff8ef}
html[dir=rtl] :is(h1,h2,h3,.disp){font-family:Tahoma,Arial,sans-serif;letter-spacing:0;line-height:1.45}
html[dir=rtl] #crm .navlink.active{box-shadow:inset -3px 0 var(--cbe-accent)}
@media(max-width:767px){.public-main,#route-view .section{padding:32px 6%}.public-main h1,#route-view :is(.studio-intro,.catalogue-intro,.campus-hero,.page-intro,.mn-hero) h1,.public-main .network-hero h1,.public-main .offer-heading h1{font-size:34px!important;line-height:1.18;letter-spacing:-.025em}.public-main h2,#route-view .section h2{font-size:28px}.public-main section{margin-block:30px}.public-grid{grid-template-columns:1fr}.public-grid>a{padding:20px}.public-main .offer-request{padding:20px}#route-view :is(.review-intro,.review-result,.mission-docs,.demo-scene,.studio-case,.calc-result,.v5-objectives,.v5-question){padding:18px}.territory-toc{top:auto}#route-view .lesson-body h2{font-size:27px}.public-main .lead,#route-view .lead{font-size:16px}#crm h1{font-size:27px}html[dir=rtl] :is(.public-main,#route-view) h1{line-height:1.45}}
@media(prefers-reduced-motion:reduce){:is(.public-main,#route-view) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.public-header{max-width:none;min-height:80px;padding:12px 5.5%;background:var(--paper);gap:22px}
.public-header img{width:190px;height:auto}
.public-main .offer-heading{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-top:3px solid #a1814e;border-radius:var(--cbe-radius);padding:36px;box-shadow:none}
.public-main .offer-heading :is(h1,.lead,.fine,.eyebrow){color:var(--ink)}
.public-main .offer-heading>.text-link{display:inline-flex;min-height:44px;align-items:center;padding:12px 20px;background:var(--cbe-accent);color:#fff8ef;border-radius:var(--cbe-radius);border:1px solid var(--cbe-accent)}
.public-main .offer-heading .offer-status{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--cbe-radius)}
@media(max-width:767px){.public-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 6%;min-height:76px}.public-header>a{grid-column:1;grid-row:1}.public-header img{width:120px}.public-header>.cbe-language{grid-column:2;grid-row:1;margin:0}.public-header>.cbe-public-menu{grid-column:3;grid-row:1;padding:8px;font-size:12px;min-width:44px}.public-header>#public-navigation{grid-column:1/-1;grid-row:2;width:100%}.public-main .offer-heading{padding:24px 20px}.public-main .offer-heading h1{font-size:32px!important}}
#route-view h1{font-family:var(--cbe-display);font-weight:400}
#route-view .lesson-heading h1{font-family:var(--cbe-display);font-size:clamp(32px,3.5vw,46px);line-height:1.2}
html[dir=rtl] #route-view h1,html[dir=rtl] #route-view .lesson-heading h1{font-family:Tahoma,Arial,sans-serif;letter-spacing:0;line-height:1.45}
@media(max-width:767px){#route-view .lesson-heading h1{font-size:30px}}
/* Page content is legible immediately; interaction feedback retains its motion. */
#route-view:not([hidden]),#route-view>.section:first-child,.territory-hero,.mn-hero-copy,.mn-hero-art{animation:none;opacity:1;transform:none}
#crm :is(.kpi,.notice,.kanban-column,.deal-card),dialog{border-radius:var(--cbe-radius);box-shadow:none}
#crm .hero-kpi{background:#153e34;color:#fff8ef}
/* Commercial orientation before entering the learning catalogue. */
#home-view .access-intro{border-top:1px solid var(--line)}
.access-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;padding:0;margin:36px 0 56px}
.access-benefits li{border-top:2px solid #a1814e;padding-top:20px}.access-number{font-size:13px;color:var(--muted)}
.access-benefits h3{font:400 27px/1.2 Georgia,serif;margin:14px 0}.access-benefits p,.access-comparison p{line-height:1.7}
.access-compare-title{max-width:25ch}.access-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.access-comparison article{padding:32px;background:var(--card);border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.access-comparison h3{font:400 30px/1.2 Georgia,serif;margin:0}.access-comparison p{margin:0}.access-comparison .button{margin-top:auto}
.access-comparison .access-proposed{background:var(--surface);border-top:3px solid #a1814e}
.access-note{font-size:14px;line-height:1.7;color:var(--muted);max-width:90ch;margin:24px 0}
.access-intro details{border-block:1px solid var(--line);padding:18px 0}.access-intro summary{cursor:pointer;font-weight:bold}.access-intro details p{max-width:80ch;line-height:1.7}
@media(max-width:700px){.access-benefits,.access-comparison{grid-template-columns:1fr;gap:20px}.access-benefits{margin-bottom:36px}.access-comparison article{padding:24px}.access-comparison h3{font-size:27px}}
[dir=rtl] .access-intro h3{font-family:Tahoma,Arial,sans-serif}
.access-label{display:block;width:fit-content;padding:5px 9px;border:1px solid var(--line);border-radius:4px;font:12px/1.4 Arial,sans-serif;color:var(--ink);background:var(--surface);margin-top:12px;grid-column:1/-1}
#home-view .access-value{margin-top:32px;padding:clamp(28px,5vw,64px);background:#153e34;color:#fff8ef;border-radius:6px;border-top:4px solid #bc9757}
#home-view .access-value h2{font:400 clamp(32px,4vw,52px)/1.12 Georgia,serif;color:#fff8ef;max-width:20ch;margin:20px 0}
#home-view .access-value p{color:#fff8ef;max-width:65ch;line-height:1.7}
#home-view .access-value .button{background:#aa482b;border-color:#aa482b;color:white;margin:16px 0;min-height:48px}
#home-view .access-value small{display:block;color:#d5dfd4;font-size:13px;line-height:1.6}
#home-view .access-intro>details{margin-top:20px;font-size:14px}
[dir=rtl] #home-view .access-value h2{font-family:Tahoma,Arial,sans-serif}
/* Justified reading blocks, as requested across all language editions. */
body :is(main,#home-view,#route-view,.public-main,#crm,#auth) p:not(.eyebrow):not(.offer-price):not(.offer-term){text-align:justify;text-align-last:start;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
body :is(.lesson-body,.territory-section,.offer-timeline) li,body .offer-timeline li>span{text-align:justify;text-align-last:start;hyphens:auto;-webkit-hyphens:auto}
html[lang=ar] body p{hyphens:none;-webkit-hyphens:none;text-justify:auto}
