/* AccessRA Premium UI layer — R3
   Editorial clarity inspired by mature publishing products, with a compact,
   persistent learning shell for technical training. Loaded last by design. */

:root {
  --arp-font-ui: Inter, "Helvetica Neue", Arial, system-ui, -apple-system, sans-serif;
  --arp-font-read: "Source Serif 4", Georgia, Cambria, "Times New Roman", serif;
  --arp-ink: #13202a;
  --arp-navy: #0d293d;
  --arp-navy-2: #163a52;
  --arp-orange: #f28c28;
  --arp-muted: #68747d;
  --arp-muted-2: #8b959d;
  --arp-line: #e8ebed;
  --arp-line-strong: #d9dfe3;
  --arp-soft: #f7f8f8;
  --arp-soft-2: #f2f4f5;
  --arp-surface: #ffffff;
  --arp-shadow: 0 16px 48px rgba(20, 34, 44, .10);
  --arp-shadow-soft: 0 8px 26px rgba(20, 34, 44, .07);
  --arp-radius: 14px;
  --arp-radius-sm: 9px;
  --arp-header-h: 68px;
}

html { scroll-behavior: smooth; }
body, button, input, textarea, select { font-family: var(--arp-font-ui); }
body.ar-body { color: var(--arp-ink); background: #fff; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { text-underline-offset: 2px; }
::selection { background: rgba(242, 140, 40, .20); color: var(--arp-navy); }

@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 160ms; }

/* --------------------------------------------------------------------------
   Header / global navigation
   -------------------------------------------------------------------------- */
.ar-topbar { height: var(--arp-header-h); border-bottom: 1px solid var(--arp-line); background: rgba(255,255,255,.94); backdrop-filter: blur(18px) saturate(150%); }
.ar-topbar__inner { width: min(calc(100% - 34px), 1536px); min-height: var(--arp-header-h); grid-template-columns: 42px auto minmax(260px, 420px) 1fr; gap: 14px; }
.ar-topbar__brand { font-size: 1.45rem; letter-spacing: -.055em; }
.ar-wordmark { font-family: var(--arp-font-ui); font-weight: 800; }
.ar-icon-button, .ar-mobile-search-button, .ar-account-button { width: 40px; height: 40px; transition: background .16s ease, color .16s ease, transform .16s ease; }
.ar-icon-button:hover, .ar-mobile-search-button:hover, .ar-account-button:hover { background: var(--arp-soft-2); transform: translateY(-1px); }
.ar-top-search { position: relative; height: 44px; border-color: #edf0f1; background: #f6f7f7; padding-inline: 15px 10px; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.ar-top-search:focus-within { background: #fff; border-color: #d7dde1; box-shadow: 0 0 0 4px rgba(13,41,61,.05); }
.ar-top-search input { font-family: var(--arp-font-ui); font-size: .88rem; font-weight: 450; }
.ar-search-shortcut { margin-left:auto; padding:2px 7px; border:1px solid #e2e6e8; border-bottom-color:#d3d9dd; border-radius:6px; background:#fff; color:#89939b; font:600 .68rem/1.45 var(--arp-font-ui); box-shadow:0 1px 1px rgba(0,0,0,.03); }
.ar-app-button { min-height: 42px; padding-inline: 16px; background: var(--arp-navy); font-weight: 700; letter-spacing: -.01em; box-shadow: 0 4px 10px rgba(13,41,61,.10); transition: transform .16s ease, background .16s ease, box-shadow .16s ease; }
.ar-app-button:hover { background: #14384f; transform: translateY(-1px); box-shadow: 0 7px 18px rgba(13,41,61,.15); }
.ar-topbar__academy { color: #46535d; font-weight: 650; }
.ar-account-button { background: #f4f6f7; border-color: #e0e5e8; }

/* Live search palette */
.ar-search-popover { position:absolute; z-index:130; top:52px; left:0; width:min(560px,calc(100vw - 28px)); max-height:min(580px,70vh); overflow:auto; border:1px solid var(--arp-line-strong); border-radius:16px; background:#fff; box-shadow:var(--arp-shadow); padding:8px; }
.ar-search-popover[hidden] { display:none; }
.ar-search-popover__message { padding:18px 16px; color:var(--arp-muted); font-size:.84rem; }
.ar-search-popover__list { display:grid; }
.ar-search-result { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 12px; border-radius:10px; color:inherit; text-decoration:none; }
.ar-search-result:hover, .ar-search-result:focus-visible { background:#f6f8f9; outline:0; }
.ar-search-result > span { min-width:0; display:grid; gap:1px; }
.ar-search-result small { color:var(--arp-orange); font-size:.64rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.ar-search-result strong { overflow:hidden; text-overflow:ellipsis; color:var(--arp-navy); font-size:.87rem; font-weight:700; white-space:nowrap; }
.ar-search-result em { overflow:hidden; text-overflow:ellipsis; color:var(--arp-muted); font-size:.72rem; font-style:normal; white-space:nowrap; }
.ar-search-result b { color:#8f9aa2; font-size:1rem; }
.ar-search-popover__all { display:block; margin-top:5px; padding:11px 12px 9px; border-top:1px solid var(--arp-line); color:var(--arp-navy); font-size:.76rem; font-weight:750; text-decoration:none; }

/* Reliable animated drawer */
.ar-global-drawer { position:fixed; inset:0; z-index:120; visibility:hidden; pointer-events:none; }
.ar-global-drawer__scrim { position:absolute; inset:var(--arp-header-h) 0 0; border:0; background:rgba(15,25,32,.28); opacity:0; transition:opacity .18s ease; }
.ar-global-drawer__panel { position:absolute; top:var(--arp-header-h); bottom:0; left:0; width:min(360px,92vw); overflow:auto; padding:18px 20px 30px; border:0; border-right:1px solid var(--arp-line); background:#fff; box-shadow:18px 0 55px rgba(20,34,44,.10); transform:translateX(-102%); transition:transform .22s cubic-bezier(.22,.8,.28,1); outline:0; }
.ar-global-drawer.is-open { visibility:visible; pointer-events:auto; }
.ar-global-drawer.is-open .ar-global-drawer__scrim { opacity:1; }
.ar-global-drawer.is-open .ar-global-drawer__panel { transform:translateX(0); }
.ar-global-drawer__head { display:flex; align-items:center; justify-content:space-between; padding:0 2px 16px; border-bottom:1px solid var(--arp-line); }
.ar-global-drawer__links { display:grid; gap:2px; padding:12px 0; }
.ar-global-drawer__links a { display:grid; gap:1px; padding:10px 11px; border-radius:10px; color:#33434e; text-decoration:none; transition:background .14s ease, color .14s ease; }
.ar-global-drawer__links a:hover, .ar-global-drawer__links a[aria-current="page"] { background:#f5f7f8; color:var(--arp-navy); }
.ar-global-drawer__links a[aria-current="page"] { box-shadow:inset 3px 0 0 var(--arp-orange); }
.ar-global-drawer__links span { font-size:.9rem; font-weight:700; }
.ar-global-drawer__links small { color:#89939b; font-size:.7rem; font-weight:450; }
.ar-global-drawer__section { display:grid; padding-top:14px; border-top:1px solid var(--arp-line); }
.ar-global-drawer__section > p { margin:0 10px 6px; color:#939da4; font-size:.64rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.ar-global-drawer__section a { padding:8px 10px; border-radius:8px; color:#56646e; font-size:.8rem; font-weight:600; text-decoration:none; }
.ar-global-drawer__section a:hover { background:#f6f8f9; color:var(--arp-navy); }
html.ar-menu-open, html.ar-menu-open body { overflow:hidden; }

/* Network feedback */
.ar-network-progress { position:fixed; z-index:250; top:0; left:0; right:0; height:2px; pointer-events:none; opacity:0; }
.ar-network-progress span { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--arp-orange),#ffba66); }
.ar-network-progress.is-active { opacity:1; }
.ar-network-progress.is-active span { animation:arp-progress 1.25s ease-in-out infinite; }
@keyframes arp-progress { 0%{width:3%;transform:translateX(-10%)} 55%{width:48%;transform:translateX(70%)} 100%{width:28%;transform:translateX(360%)} }
.ar-loading-status { position:fixed; z-index:251; left:50%; top:76px; transform:translate(-50%,-8px); padding:7px 11px; border:1px solid var(--arp-line); border-radius:999px; background:#fff; box-shadow:var(--arp-shadow-soft); color:var(--arp-muted); font-size:.7rem; font-weight:700; opacity:0; pointer-events:none; transition:opacity .15s, transform .15s; }
.ar-loading-status.is-active { opacity:1; transform:translate(-50%,0); }

/* --------------------------------------------------------------------------
   Editorial homepage/feed — less chrome, more content
   -------------------------------------------------------------------------- */
.ar-editorial-layout { width:min(calc(100% - 38px),1500px); grid-template-columns:210px minmax(0,1fr) 280px; gap:36px; }
.ar-editorial-left, .ar-editorial-right { top:calc(var(--arp-header-h) + 20px); max-height:none; overflow:visible; scrollbar-width:none; }
.ar-editorial-left { padding:28px 18px 60px 0; }
.ar-editorial-right { padding:28px 0 60px 24px; }
.ar-editorial-main { padding:36px 0 72px; }
.ar-rail-nav { gap:2px; }
.ar-rail-nav a { min-height:40px; border-radius:10px; color:#43525d; font-size:.86rem; font-weight:600; transition:background .14s ease,color .14s ease,transform .14s ease; }
.ar-rail-nav a:hover { background:#f6f7f8; transform:translateX(1px); }
.ar-rail-nav a[aria-current="page"] { background:#f4f6f7; color:var(--arp-navy); }
.ar-rail-section { margin-top:24px; padding-top:20px; }
.ar-rail-label { font-size:.61rem; letter-spacing:.1em; }
.ar-rail-subnav a { font-size:.77rem; line-height:1.35; }
.ar-feed-intro { padding:4px 0 28px; }
.ar-feed-intro__eyebrow { color:#71808b; font-size:.68rem; font-weight:800; letter-spacing:.09em; }
.ar-feed-intro h1 { max-width:780px; margin:7px 0 0; color:var(--arp-navy); font-family:var(--arp-font-ui); font-size:clamp(2.45rem,4.5vw,4.2rem); font-weight:500; line-height:1.02; letter-spacing:-.055em; }
.ar-feed-intro p { max-width:800px; margin-top:14px; color:#596975; font-size:1rem; line-height:1.65; }
.ar-feed-region { min-height:300px; transition:opacity .14s ease; }
.ar-feed-region.is-loading, .ar-partial-region.is-loading { opacity:.52; pointer-events:none; }
.ar-feed-tabs { gap:28px; border-bottom-color:var(--arp-line); }
.ar-feed-tabs a { padding:13px 0 12px; color:#77838c; font-size:.78rem; font-weight:600; }
.ar-feed-tabs a[aria-current="page"] { color:var(--arp-navy); font-weight:750; }
.ar-feed-tabs a[aria-current="page"]::after { height:2px; background:var(--arp-navy); }
.ar-feed { border-bottom-color:var(--arp-line); }
.ar-feed-item { grid-template-columns:minmax(0,1fr) 156px; gap:30px; padding:30px 0; border-top-color:var(--arp-line); }
.ar-feed-item__source { gap:8px; color:#5f6f7b; font-size:.69rem; font-weight:650; }
.ar-feed-item__source span:first-child { color:var(--arp-navy); }
.ar-feed-item h2, .ar-feed-item h3 { margin:8px 0 0; max-width:760px; font-family:var(--arp-font-ui); font-size:1.55rem; font-weight:720; line-height:1.22; letter-spacing:-.028em; }
.ar-feed-item h2 a, .ar-feed-item h3 a { color:#101c25; text-decoration:none; transition:color .14s ease; }
.ar-feed-item h2 a:hover, .ar-feed-item h3 a:hover { color:var(--arp-navy-2); }
.ar-feed-item__summary { max-width:760px; margin-top:8px; color:#62717c; font-size:.9rem; line-height:1.58; }
.ar-feed-item__meta { margin-top:12px; color:#7b8790; font-size:.68rem; }
.ar-feed-item__media { align-self:center; width:156px; aspect-ratio:4/3; overflow:hidden; border:1px solid #e5e9eb; border-radius:8px; background:linear-gradient(145deg,#f7f9fa,#eef2f4); color:#708796; box-shadow:0 1px 0 rgba(255,255,255,.8) inset; }
.ar-feed-item__media::after { content:""; position:absolute; inset:auto 0 0; height:2px; background:linear-gradient(90deg,var(--arp-orange),transparent); opacity:.55; }
.ar-feed-item__glyph svg { width:52px; height:52px; }
.ar-discovery-title { color:var(--arp-ink); font-size:.88rem; font-weight:750; }
.ar-discovery-list a { padding:12px 0; color:#243540; font-size:.78rem; line-height:1.35; }
.ar-discovery-list a small { margin-top:4px; color:#84909a; font-weight:450; line-height:1.4; }
.ar-discovery-promo { border:1px solid var(--arp-line); border-radius:12px; background:linear-gradient(180deg,#fbfcfc,#f7f9fa); padding:16px; box-shadow:0 1px 0 rgba(255,255,255,.8) inset; }

/* --------------------------------------------------------------------------
   Knowledge pages and long-form reading
   -------------------------------------------------------------------------- */
.ar-knowledge-shell { width:min(calc(100% - 34px),1180px); }
.ar-knowledge-hero { padding-top:52px; padding-bottom:28px; }
.ar-knowledge-hero--compact { padding-bottom:22px; }
.ar-knowledge-hero h1 { max-width:900px; color:var(--arp-navy); font-size:clamp(2.4rem,5vw,4.6rem); font-weight:560; line-height:1.03; letter-spacing:-.055em; }
.ar-knowledge-hero > p:last-child { max-width:760px; color:#60707b; font-size:1rem; line-height:1.68; }
.ar-filter-tabs { gap:24px; }
.ar-filter-tabs--secondary { margin-top:6px; border-top:0; }
.ar-filter-tabs a { font-size:.76rem; }
.ar-section-heading-line { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.ar-section-heading-line > span { color:#8a949c; font-size:.7rem; }
.ar-stream-item { padding:23px 0; }
.ar-stream-item h3 { font-size:1.22rem; font-weight:720; letter-spacing:-.025em; }
.ar-stream-item__summary { font-size:.86rem; line-height:1.58; }
.ar-topic-list a { padding:11px 0; }

.ar-reading-page { font-family:var(--arp-font-ui); }
.ar-article-header { padding-top:58px; }
.ar-article-header h1 { max-width:900px; color:#111a21; font-family:var(--arp-font-ui); font-weight:650; letter-spacing:-.05em; line-height:1.03; }
.ar-article-header__summary { max-width:760px; color:#68737c; font-size:1.02rem; line-height:1.62; }
.ar-reading-section .ar-richtext { font-family:var(--arp-font-read); font-size:1.12rem; line-height:1.82; color:#242b30; }
.ar-reading-section .ar-richtext p { margin:0 0 1.28em; }
.ar-reading-section .ar-richtext h2, .ar-reading-section .ar-richtext h3, .ar-reading-section .ar-richtext h4 { font-family:var(--arp-font-ui); color:var(--arp-navy); letter-spacing:-.025em; }
.ar-reading-section .ar-richtext strong { font-weight:650; }
.ar-reading-section .pg-demo { border-radius:14px; box-shadow:var(--arp-shadow-soft); }

/* --------------------------------------------------------------------------
   Modern directory/detail pages — tools, CAD, projects, public platform pages
   -------------------------------------------------------------------------- */
.ar-modern-page, .ar-modern-tools, .ar-cad-library-page, .ar-projects-page, .ara-modern-page, .ara-course-editorial, .ara-dashboard-editorial, .ar-auth-page { font-family:var(--arp-font-ui); }
.ar-modern-title, .ara-academy-home-copy h1, .ara-course-h1, .ar-handbook-hero__title { font-weight:560!important; letter-spacing:-.05em!important; }
.btn, .ar-nav-cta, .ar-modern-button { border-radius:999px!important; font-family:var(--arp-font-ui); font-weight:700!important; box-shadow:none; transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease; }
.btn:hover, .ar-nav-cta:hover, .ar-modern-button:hover { transform:translateY(-1px); }
.btn-primary { background:var(--arp-navy)!important; border-color:var(--arp-navy)!important; }
.btn-primary:hover { background:#153b54!important; border-color:#153b54!important; }
.btn-outline { border-color:#d7dde1!important; color:var(--arp-navy)!important; background:#fff!important; }
input, textarea, select { border-radius:9px!important; }
.ar-modern-row, .ar-tool-row { transition:background .13s ease; }
.ar-modern-row:hover, .ar-tool-row:hover { background:#fafbfb; }
.ar-modern-row__title, .ar-tool-title { letter-spacing:-.018em; }

/* Academy discovery pages */
.ara-modern-page .ara-academy-home-hero { padding:54px 0 36px; background:#fff; }
.ara-modern-page .ara-academy-home-copy h1 { max-width:760px; font-size:clamp(2.5rem,5.2vw,4.6rem); line-height:1.02; }
.ara-modern-page .ara-academy-home-copy > p:not(.ara-academy-eyebrow) { max-width:700px; color:#5f6d77; font-size:1rem; line-height:1.68; }
.ara-modern-page .ara-academy-bench-card { border:1px solid var(--arp-line); border-radius:14px; background:#fafbfb; box-shadow:none; }
.ara-modern-page .ara-training-course-card { border-top:1px solid var(--arp-line); }
.ara-modern-page .ara-training-course-main h3 { letter-spacing:-.025em; }
.ara-course-editorial .ara-course-hero { padding:54px 0 34px; }
.ara-course-editorial .ara-course-h1 { font-size:clamp(2.5rem,5vw,4.6rem); line-height:1.02; }
.ara-course-editorial .ara-course-summary { max-width:760px; color:#5f6d77; line-height:1.68; }
.ara-course-editorial .ara-access-card-inner { border-top:2px solid var(--arp-navy); }
.ara-course-editorial .ara-module-row summary { padding-block:17px; }

/* --------------------------------------------------------------------------
   Academy learning mode — persistent, compact and simulator-first
   -------------------------------------------------------------------------- */
body.ara-learning-body { margin:0; background:#f7f8f8; color:var(--arp-ink); font-family:var(--arp-font-ui); }
.ara-learning-topbar { height:68px; border-bottom:1px solid var(--arp-line); background:rgba(255,255,255,.96); backdrop-filter:blur(18px) saturate(150%); }
.ara-learning-topbar__inner { width:100%; max-width:none; padding:0 18px; grid-template-columns:minmax(0,1fr) auto; }
.ara-learning-brandline { gap:12px; }
.ara-learning-menu-button { display:inline-grid; place-items:center; width:38px; height:38px; border:0; border-radius:999px; background:transparent; color:#56656f; cursor:pointer; transition:background .15s,color .15s; }
.ara-learning-menu-button:hover { background:#f1f3f4; color:var(--arp-navy); }
.ara-learning-brand { display:inline-flex; align-items:baseline; gap:4px; font-size:1.02rem; font-weight:800; letter-spacing:-.035em; }
.ara-learning-brand b { margin-left:3px; color:#5f6c76; font-size:.76rem; font-weight:650; letter-spacing:0; }
.ara-learning-course { padding-left:12px; border-left:1px solid var(--arp-line); color:#7b868e; font-size:.74rem; font-weight:550; }
.ara-learning-actions { gap:10px; }
.ara-learning-actions a { font-size:.74rem; }
.ara-learning-progress-pill { display:flex; align-items:baseline; gap:5px; padding:6px 10px; border:1px solid var(--arp-line); border-radius:999px; background:#fafbfb; color:#7c878f; font-size:.65rem; }
.ara-learning-progress-pill b { color:var(--arp-navy); font-size:.72rem; }
.ara-learning-exit { border-radius:999px!important; }

.ara-learning-body .ara-player-layout { position:relative; display:grid; grid-template-columns:292px minmax(0,1fr); min-height:calc(100vh - 68px); transition:grid-template-columns .2s ease; }
.ara-learning-body .ara-player-nav { position:sticky; top:68px; z-index:40; width:auto; height:calc(100vh - 68px); overflow:auto; padding:0; border-right:1px solid var(--arp-line); background:#f7f8f8; transition:transform .2s ease, opacity .18s ease; scrollbar-width:thin; scrollbar-color:#d8dde0 transparent; }
.ara-learning-body .ara-player-nav-head { position:sticky; top:0; z-index:2; padding:16px 15px 14px; border-bottom:1px solid var(--arp-line); background:rgba(247,248,248,.97); backdrop-filter:blur(10px); }
.ara-player-nav-titleline { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.ara-player-nav-titleline > div { display:grid; gap:3px; }
.ara-player-nav-titleline strong { color:var(--arp-navy); font-size:.78rem; font-weight:750; }
.ara-player-nav-titleline span { color:#8b959d; font-size:.66rem; }
.ara-player-nav-close { display:none; place-items:center; width:32px; height:32px; border:0; border-radius:999px; background:transparent; color:#72808a; cursor:pointer; }
.ara-learning-body .ara-player-module { padding:13px 10px 14px; border-bottom:1px solid var(--arp-line); }
.ara-learning-body .ara-player-module-title { padding:0 7px 8px; color:#7b8790; font-size:.61rem; font-weight:800; letter-spacing:.08em; line-height:1.35; text-transform:uppercase; }
.ara-learning-body .ara-player-lesson { min-height:38px; display:grid; grid-template-columns:14px minmax(0,1fr); align-items:start; gap:9px; padding:8px 8px; border-radius:8px; color:#46555f; font-size:.76rem; line-height:1.42; text-decoration:none; transition:background .13s,color .13s,transform .13s; }
.ara-learning-body a.ara-player-lesson:hover { background:#fff; color:var(--arp-navy); transform:translateX(1px); }
.ara-learning-body .ara-player-lesson.current { background:#fff; box-shadow:inset 3px 0 0 var(--arp-orange),0 1px 4px rgba(20,34,44,.04); color:var(--arp-navy); font-weight:650; }
.ara-learning-body .ara-player-check { width:10px; height:10px; margin-top:4px; border:1.5px solid #aeb7bd; border-radius:999px; }
.ara-learning-body .ara-player-check.done { border-color:#2b9463; background:#2b9463; box-shadow:inset 0 0 0 2px #f7f8f8; }
.ara-learning-body .ara-player-main { min-width:0; background:#fff; }
.ara-learning-body .ara-lesson-wrap { width:min(calc(100% - 52px),1240px); margin-inline:auto; padding:28px 0 110px; }
.ara-learning-body .ara-lesson-head { max-width:900px; margin-bottom:18px; }
.ara-learning-body .ara-lesson-kicker { color:#7d8890; font-size:.64rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ara-learning-body .ara-lesson-h1 { margin-top:7px; color:#101b23; font-size:clamp(1.95rem,3.5vw,3rem); font-weight:620; line-height:1.04; letter-spacing:-.045em; }
.ara-learning-body .ara-lesson-summary { margin-top:9px; max-width:840px; color:#64717a; font-size:.93rem; line-height:1.62; }
.ara-learning-body .ara-player-mobile-outline { border:1px solid var(--arp-line); border-radius:10px; }
.ara-learning-body .ara-lesson-player { overflow:visible; border-radius:14px; }
.ara-learning-body .ara-video-frame, .ara-learning-body .ara-m1-lab, .ara-learning-body .ara-m2-orientation, .ara-learning-body .ara-inspection-lab { overflow:hidden; border:1px solid #dce2e5; border-radius:14px; box-shadow:var(--arp-shadow-soft); }
.ara-learning-body .ara-lesson-tabs { top:68px; z-index:25; margin-top:18px; border-bottom:1px solid var(--arp-line); background:rgba(255,255,255,.97); backdrop-filter:blur(12px); }
.ara-learning-body .ara-lesson-tabs button { padding:13px 14px 11px; border-bottom-width:2px; color:#74808a; font-size:.76rem; }
.ara-learning-body .ara-lesson-tabs button.is-active { color:var(--arp-navy); border-bottom-color:var(--arp-orange); }
.ara-learning-body .ara-player-bottom { left:292px; z-index:35; background:rgba(255,255,255,.96); border-top:1px solid var(--arp-line); backdrop-filter:blur(16px); transition:left .2s ease; }
.ara-learning-body .ara-player-bottom-inner { width:min(calc(100% - 44px),1240px); }
.ara-player-nav-scrim { display:none; }

/* Focus mode / collapsed curriculum */
.ara-learning-body.ara-course-sidebar-collapsed .ara-player-layout { grid-template-columns:0 minmax(0,1fr); }
.ara-learning-body.ara-course-sidebar-collapsed .ara-player-nav { transform:translateX(-100%); opacity:0; pointer-events:none; }
.ara-learning-body.ara-course-sidebar-collapsed .ara-player-bottom { left:0; }

/* Gauge Test Lab wrapper: preserve simulator internals, refine surrounding shell. */
.ara-gauge-lab-page .vgb-page { background:#f5f7f8; }
.ara-gauge-lab-page .vgb-topbar { min-height:60px; border-bottom:1px solid #dfe5e8; background:#fff; box-shadow:none; }
.ara-gauge-lab-page .vgb-shell { max-width:1560px; margin-inline:auto; }
.ara-gauge-lab-page .vgb-workspace { box-shadow:0 12px 36px rgba(10,27,39,.08); }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width:1180px) {
  .ar-editorial-layout { grid-template-columns:190px minmax(0,1fr) 250px; gap:26px; }
  .ar-feed-item { grid-template-columns:minmax(0,1fr) 138px; gap:24px; }
  .ar-feed-item__media { width:138px; }
}
@media (max-width:980px) {
  .ar-editorial-layout { grid-template-columns:190px minmax(0,1fr); }
  .ar-editorial-right { display:none; }
  .ar-topbar__inner { grid-template-columns:42px auto minmax(220px,1fr) auto; }
  .ara-learning-body .ara-player-layout { grid-template-columns:260px minmax(0,1fr); }
  .ara-learning-body .ara-player-bottom { left:260px; }
}
@media (max-width:820px) {
  .ar-topbar { height:62px; }
  .ar-topbar__inner { min-height:62px; width:calc(100% - 20px); grid-template-columns:40px auto 1fr; gap:7px; }
  .ar-top-search { display:none; }
  .ar-mobile-search-button { display:inline-grid; }
  .ar-topbar__actions { grid-column:3; }
  .ar-topbar__academy { display:none; }
  .ar-search-shortcut { display:none; }
  .ar-global-drawer__panel { top:62px; }
  .ar-global-drawer__scrim { inset:62px 0 0; }
  .ar-editorial-layout { display:block; width:min(calc(100% - 28px),760px); }
  .ar-editorial-left { display:none; }
  .ar-editorial-main { padding-top:24px; }
  .ar-feed-intro h1 { font-size:clamp(2.2rem,9vw,3.1rem); }
  .ar-knowledge-shell { width:min(calc(100% - 28px),760px); }
  .ara-learning-body .ara-player-layout { display:block; min-height:calc(100vh - 68px); }
  .ara-learning-body .ara-player-nav { position:fixed; z-index:95; top:68px; bottom:0; left:0; width:min(320px,88vw); height:auto; transform:translateX(-102%); opacity:1; pointer-events:none; box-shadow:18px 0 50px rgba(10,27,39,.12); }
  .ara-learning-body.ara-course-sidebar-open .ara-player-nav { transform:translateX(0); pointer-events:auto; }
  .ara-player-nav-close { display:grid; }
  .ara-player-nav-scrim { position:fixed; z-index:94; inset:68px 0 0; display:block; border:0; background:rgba(12,23,31,.28); opacity:0; pointer-events:none; transition:opacity .18s; }
  .ara-learning-body.ara-course-sidebar-open .ara-player-nav-scrim { opacity:1; pointer-events:auto; }
  .ara-learning-body .ara-player-bottom { left:0; }
  .ara-learning-body .ara-lesson-wrap { width:min(calc(100% - 26px),980px); }
  .ara-learning-body.ara-course-sidebar-collapsed .ara-player-layout { display:block; }
  .ara-learning-body.ara-course-sidebar-collapsed .ara-player-nav { opacity:1; }
}
@media (max-width:620px) {
  .ar-topbar__brand { font-size:1.22rem; }
  .ar-app-button { min-height:38px; padding-inline:12px; font-size:.75rem; }
  .ar-account-button { width:38px; height:38px; }
  .ar-feed-intro { padding-bottom:17px; }
  .ar-feed-intro__eyebrow { font-size:.61rem; }
  .ar-feed-intro h1 { font-size:2.15rem; }
  .ar-feed-intro p { font-size:.91rem; line-height:1.58; }
  .ar-feed-tabs { gap:21px; }
  .ar-feed-item { grid-template-columns:minmax(0,1fr) 94px; gap:15px; padding:23px 0; }
  .ar-feed-item__media { width:94px; border-radius:7px; }
  .ar-feed-item__glyph svg { width:38px; height:38px; }
  .ar-feed-item h2, .ar-feed-item h3 { font-size:1.16rem; }
  .ar-feed-item__summary { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:.8rem; }
  .ar-search-popover { position:fixed; top:70px; left:10px; right:10px; width:auto; }
  .ar-knowledge-hero { padding-top:34px; }
  .ar-knowledge-hero h1 { font-size:2.35rem; }
  .ar-reading-section .ar-richtext { font-size:1.03rem; line-height:1.78; }
  .ara-learning-topbar { height:62px; }
  .ara-learning-topbar__inner { padding:0 9px; }
  .ara-learning-brand b, .ara-learning-course, .ara-learning-progress-pill span, .ara-learning-optional { display:none!important; }
  .ara-learning-progress-pill { padding:5px 8px; }
  .ara-learning-actions { gap:6px; }
  .ara-learning-exit { padding:7px 9px; font-size:.68rem!important; }
  .ara-learning-body .ara-player-nav { top:62px; }
  .ara-player-nav-scrim { inset:62px 0 0; }
  .ara-learning-body .ara-lesson-wrap { width:calc(100% - 16px); padding-top:16px; }
  .ara-learning-body .ara-lesson-h1 { font-size:1.8rem; }
  .ara-learning-body .ara-lesson-tabs { top:62px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Footer and shared finishing details */
.ar-editorial-footer { border-top:1px solid var(--arp-line); background:#fff; }
.ar-editorial-footer__inner { width:min(calc(100% - 34px),1180px); padding-block:38px 28px; }
.ar-editorial-footer__identity p { color:#7a858d; font-size:.78rem; }
.ar-editorial-footer__links a, .ar-editorial-footer__legal a, .ar-editorial-footer__legal span { color:#6f7b84; font-size:.72rem; }
.ar-editorial-footer__links a:hover, .ar-editorial-footer__legal a:hover { color:var(--arp-navy); }

/* Generic public page refinement without changing page semantics. */
.ar-page-hero, .ar-modern-hero { background:#fff!important; border-bottom-color:var(--arp-line)!important; }
.ar-heading { color:var(--arp-navy)!important; letter-spacing:-.035em; }
.ar-copy { color:#63717a!important; line-height:1.68!important; }
.ar-panel, .ar-card { border-color:var(--arp-line)!important; box-shadow:none!important; }
.ar-panel:hover, .ar-card:hover { border-color:#d8dee2!important; }
.ar-breadcrumb { color:#8a949c!important; font-size:.72rem!important; }
.ar-breadcrumb a { color:#596873!important; text-decoration:none; }
.ar-breadcrumb a:hover { color:var(--arp-navy)!important; }

/* Keep technical simulators crisp while softening their surrounding page. */
.vgb-page, .ara-module-bench-page { font-family:var(--arp-font-ui); }
.vgb-title, .ara-module-bench-head h1 { letter-spacing:-.035em; }

/* --------------------------------------------------------------------------
   R4 navigation + loading refinement
   -------------------------------------------------------------------------- */

/* Editorial partials use local skeletons instead of the global orange progress
   line. Async calculators can continue to use the global indicator elsewhere. */
.ar-editorial-page .ar-network-progress,
.ar-editorial-page .ar-loading-status { display:none !important; }

/* Desktop: the hamburger collapses the persistent editorial rail. */
@media (min-width:821px) {
  .ar-editorial-page.ar-left-rail-collapsed .ar-editorial-left { display:none; }
  .ar-editorial-page.ar-left-rail-collapsed .ar-editorial-layout {
    grid-template-columns:minmax(0,1fr) var(--ar-editorial-right);
    gap:var(--ar-editorial-gap);
  }
  .ar-editorial-page.ar-left-rail-collapsed .ar-editorial-main { min-width:0; }
}
@media (min-width:821px) and (max-width:1020px) {
  .ar-editorial-page.ar-left-rail-collapsed .ar-editorial-layout { grid-template-columns:minmax(0,1fr); }
}

/* Feed imagery is editorial media, not decorative placeholders. If Admin has
   not supplied/reused a real image, the story expands naturally as text. */
.ar-feed-item--text { grid-template-columns:minmax(0,1fr); }
.ar-feed-item--text .ar-feed-item__copy { max-width:860px; }
.ar-feed-item__media { position:relative; }
.ar-feed-item__media::after { display:none; }

/* Local loading skeletons: immediate visual response, with a calm white shimmer
   instead of freezing the existing feed while Django renders the partial. */
.ar-feed-region.is-loading,
.ar-partial-region.is-loading { opacity:1; pointer-events:none; }
.ar-feed-skeleton,
.ar-stream-skeleton { width:100%; }
.ar-feed-skeleton { border-bottom:1px solid var(--arp-line); }
.ar-feed-skeleton__row {
  display:grid;
  grid-template-columns:minmax(0,1fr) 156px;
  gap:30px;
  padding:30px 0;
  border-top:1px solid var(--arp-line);
}
.ar-feed-skeleton__row:first-child { border-top:0; }
.ar-feed-skeleton__copy { display:grid; gap:10px; align-content:center; min-height:118px; }
.ar-feed-skeleton__media {
  align-self:center;
  width:156px;
  aspect-ratio:4/3;
  border-radius:8px;
  background:linear-gradient(100deg,#f1f3f4 20%,#fafbfb 38%,#f1f3f4 56%);
  background-size:220% 100%;
  animation:ar-skeleton-shimmer 1.05s ease-in-out infinite;
}
.ar-skeleton-line {
  display:block;
  width:var(--ar-skeleton-width,75%);
  height:var(--ar-skeleton-height,.8rem);
  max-width:100%;
  border-radius:999px;
  background:linear-gradient(100deg,#eef1f2 20%,#fbfcfc 38%,#eef1f2 56%);
  background-size:220% 100%;
  animation:ar-skeleton-shimmer 1.05s ease-in-out infinite;
}
.ar-stream-skeleton { margin-top:12px; border-top:1px solid var(--arp-line); }
.ar-stream-skeleton__row { display:grid; gap:9px; padding:20px 0; border-bottom:1px solid var(--arp-line); }
@keyframes ar-skeleton-shimmer { 0%{background-position:115% 0} 100%{background-position:-115% 0} }

@media (max-width:1180px) {
  .ar-feed-skeleton__row { grid-template-columns:minmax(0,1fr) 138px; gap:24px; }
  .ar-feed-skeleton__media { width:138px; }
}
@media (max-width:620px) {
  .ar-feed-skeleton__row { grid-template-columns:minmax(0,1fr) 94px; gap:15px; padding:23px 0; }
  .ar-feed-skeleton__media { width:94px; border-radius:7px; }
  .ar-feed-skeleton__copy { min-height:96px; gap:8px; }
}
@media (prefers-reduced-motion:reduce) {
  .ar-feed-skeleton__media,
  .ar-skeleton-line { animation:none; }
}

/* Optional Admin-controlled editorial media. */
.ar-article-editorial-image {
  width:min(calc(100% - 28px),1040px);
  margin:28px auto 34px;
}
.ar-article-editorial-image img {
  display:block;
  width:100%;
  max-height:580px;
  object-fit:cover;
  border-radius:10px;
  background:#f3f5f6;
}
.ara-course-editorial-image {
  display:block;
  margin:18px 0 8px;
  overflow:hidden;
  border-radius:10px;
  background:#f3f5f6;
}
.ara-course-editorial-image img {
  display:block;
  width:100%;
  max-height:340px;
  object-fit:cover;
}

/* Academy landing: stronger contrast and calmer hierarchy. */
.ara-modern-page .ara-academy-bench-card { color:#34434e; }
.ara-modern-page .ara-academy-bench-label { color:#647681; }
.ara-modern-page .ara-academy-bench-card > strong { color:var(--arp-navy); font-weight:720; }
.ara-modern-page .ara-academy-bench-steps > div { border-top-color:#e4e8ea; }
.ara-modern-page .ara-academy-bench-steps b { color:#567080; }
.ara-modern-page .ara-academy-bench-steps span { color:#667680; }
.ara-modern-page .ara-academy-home-copy h1 { font-size:clamp(2.6rem,4.6vw,4.15rem); max-width:820px; }
.ara-modern-page .ara-academy-training-section { padding-top:42px; }
