/* EV Learning Hub — scoped layout; preserve shared site styles and protected /media/ assets. */
.ev-hub{--ev-bg:#f4f7fb;--ev-panel:#ffffff;--ev-card:#ffffff;--ev-ink:#132b43;--ev-body:#40546a;--ev-muted:#607487;--ev-line:#d8e3ef;--ev-accent:#176bb6;--ev-soft:#e9f3fc;--ev-planned:#52667b;color:var(--ev-body);background:var(--ev-bg);overflow-wrap:anywhere}
:root[data-theme="dark"] .ev-hub{--ev-bg:#0b1420;--ev-panel:#122335;--ev-card:#172b3e;--ev-ink:#f2f7fd;--ev-body:#d3dfeb;--ev-muted:#b4c9da;--ev-line:#304960;--ev-accent:#8dccff;--ev-soft:#193951;--ev-planned:#c8d9e7}
.ev-hub a:focus-visible,.ev-hub summary:focus-visible{outline:3px solid #f3bc52;outline-offset:4px;border-radius:4px}
.ev-hub :is(h1,h2,h3,p){margin-top:0}
.ev-hub h2{color:var(--ev-ink);line-height:1.22;letter-spacing:-.03em}
.ev-hub a{transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.ev-hero{background:radial-gradient(circle at 92% 10%,rgba(32,111,170,.27),transparent 44%),linear-gradient(120deg,#0a1828,#122b43 83%);color:#e9f4ff;padding:30px 0 64px;border-bottom:1px solid #23445e}
.ev-breadcrumbs{margin:0 0 34px;color:#b6cce2;gap:8px;flex-wrap:wrap}
.ev-breadcrumbs a{color:#cce5fa;text-decoration:none}
.ev-breadcrumbs a:hover{text-decoration:underline}
.ev-hero-grid{display:grid;grid-template-columns:minmax(0,1.09fr) minmax(0,.91fr);align-items:center;gap:clamp(30px,5vw,78px)}
.ev-hero-grid>*{min-width:0}
.ev-eyebrow,.ev-overline,.ev-section-marker{font-size:.73rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.ev-eyebrow{color:#99cfff;margin-bottom:17px}
.ev-overline,.ev-section-marker{color:var(--ev-accent);margin-bottom:13px}
.ev-hub .ev-hero h1,:root[data-theme="dark"] .ev-hub .ev-hero h1{font-size:clamp(2.2rem,4.6vw,4.55rem);line-height:1.1;letter-spacing:-.05em;color:#f5fbff;margin:0 0 22px;font-weight:820;max-width:690px}
.ev-hero h1 em{color:#8bd2ff;font-style:normal}
.ev-intro{font-size:1.05rem;line-height:1.75;color:#d0e0ed;max-width:660px;margin-bottom:26px}
.ev-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.ev-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 17px;border:1px solid transparent;border-radius:11px;text-decoration:none;font-weight:750;font-size:.88rem;line-height:1.4}
.ev-button-primary{background:#4aa9ed;color:#081827}
.ev-button-primary:hover{background:#8bd2ff;color:#061827}
.ev-button-outline{border-color:#567a99;color:#e4f3ff}
.ev-button-outline:hover{background:rgba(139,210,255,.13);color:#ffffff}
.ev-hero-metrics{display:flex;align-items:center;flex-wrap:wrap;gap:11px 20px;font-size:.82rem;color:#c1d6e8}
.ev-hero-metrics span{display:inline-flex;align-items:baseline;gap:6px}
.ev-hero-metrics strong{font-size:1.1rem;color:#fff}
.ev-flow-panel{background:linear-gradient(150deg,rgba(27,60,85,.96),rgba(13,35,55,.94));border:1px solid #3d6681;border-radius:24px;padding:clamp(19px,3vw,31px);box-shadow:0 25px 65px rgba(0,0,0,.15);min-width:0}
.ev-flow-caption{font-size:.7rem;letter-spacing:.12em;font-weight:800;color:#9cd6ff}
.ev-flow-lead{font-size:1.36rem;font-weight:800;color:#fff;margin:10px 0 22px}
.ev-flow-steps{display:grid;gap:9px}
.ev-flow-steps>div{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:14px;align-items:center;padding:12px 14px;border:1px solid #41617b;border-radius:12px;background:#17334b;color:#fff}
.ev-flow-steps>div:not(:last-child){position:relative}
.ev-flow-steps>div:not(:last-child)::after{content:"↓";font-size:.8rem;position:absolute;right:18px;bottom:-15px;color:#b0d8f6;z-index:1}
.ev-flow-steps>div>span{grid-row:span 2;width:38px;height:38px;border-radius:10px;background:#245677;color:#c9eaff;display:grid;place-items:center;font-size:.76rem;font-weight:850}
.ev-flow-steps strong{font-size:.95rem;line-height:1.3}
.ev-flow-steps small{font-size:.75rem;color:#c0d7e9;line-height:1.35}
.ev-flow-note{color:#b7d1e2;font-size:.78rem;line-height:1.5;margin:18px 0 0}
.ev-introduction{padding:55px 0 43px;background:var(--ev-bg)}
.ev-introduction-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:35px;align-items:start}
.ev-introduction-grid>*{min-width:0}
.ev-introduction h2{font-size:clamp(1.55rem,2.6vw,2.35rem);margin:0}
.ev-introduction p:not(.ev-overline){font-size:.98rem;line-height:1.75;margin:0 0 13px}
.ev-release-note{font-size:.9rem!important;color:var(--ev-muted)}
.ev-release-note strong{color:var(--ev-ink)}
.ev-pathways{padding:25px 0 65px}
.ev-pathways h2{font-size:clamp(1.6rem,2.4vw,2.3rem);margin:0 0 9px}
.ev-section-lead{max-width:660px;color:var(--ev-muted);margin:0 0 26px}
.ev-track-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ev-track-card{display:flex;flex-direction:column;min-width:0;text-decoration:none;background:var(--ev-card);border:1px solid var(--ev-line);border-radius:17px;padding:19px;box-shadow:0 10px 28px rgba(5,25,45,.04);color:var(--ev-ink)}
.ev-track-card:hover{border-color:var(--ev-accent);background:var(--ev-soft)}
.ev-track-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}
.ev-track-no{font-weight:900;color:var(--ev-accent);font-size:.81rem;letter-spacing:.1em}
.ev-track-symbol{display:grid;place-items:center;background:var(--ev-soft);border-radius:12px;width:42px;height:42px;color:var(--ev-accent);font-size:1.4rem;line-height:1}
.ev-track-card strong{font-size:1.05rem;line-height:1.3;margin-bottom:10px}
.ev-track-card-copy{font-size:.84rem;line-height:1.55;color:var(--ev-muted);flex:1}
.ev-track-card-cta{font-size:.84rem;font-weight:850;color:var(--ev-accent);margin-top:22px}
.ev-curriculum{background:var(--ev-bg);padding:5px 0 56px}
.ev-curriculum-layout{display:grid;grid-template-columns:minmax(0,235px) minmax(0,1fr);gap:35px;align-items:start}
.ev-curriculum-layout>*{min-width:0}
.ev-toc{position:sticky;top:94px;display:grid;gap:3px;padding:20px;background:var(--ev-panel);border:1px solid var(--ev-line);border-radius:16px}
.ev-toc strong{color:var(--ev-ink);font-size:.9rem;margin-bottom:7px}
.ev-toc a{display:block;text-decoration:none;color:var(--ev-body);padding:9px 6px;font-size:.84rem;line-height:1.45;border-radius:7px}
.ev-toc a:hover{color:var(--ev-accent);background:var(--ev-soft)}
.ev-modules{display:grid;gap:25px}
.ev-module{scroll-margin-top:98px;background:var(--ev-panel);border:1px solid var(--ev-line);border-radius:21px;padding:clamp(18px,3.2vw,35px);min-width:0}
.ev-module-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,235px);gap:25px;align-items:center;border-bottom:1px solid var(--ev-line);padding-bottom:24px;margin-bottom:5px}
.ev-module-head>*{min-width:0}
.ev-module-head h2{font-size:clamp(1.45rem,2.5vw,2.2rem);margin:0 0 10px}
.ev-module-head p{margin:0;line-height:1.65;font-size:.91rem;color:var(--ev-muted)}
.ev-module-skills{background:var(--ev-soft);padding:15px;border-radius:13px;border:1px solid var(--ev-line)}
.ev-module-skills strong{color:var(--ev-ink);font-size:.78rem}
.ev-module-skills ul{padding-left:17px;font-size:.8rem;margin:5px 0 0;line-height:1.55;color:var(--ev-body)}
.ev-lessons{list-style:none;margin:0;padding:0}
.ev-lesson{display:grid;grid-template-columns:34px minmax(0,1fr);gap:15px;padding:17px 0;border-bottom:1px solid var(--ev-line)}
.ev-lesson-index{font-size:.8rem;font-weight:900;color:var(--ev-accent);padding-top:7px;font-variant-numeric:tabular-nums}
.ev-lesson-main{min-width:0}
.ev-lesson-labels{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:7px}
.ev-lesson-labels span{display:inline-flex;align-items:center;font-size:.67rem;font-weight:850;padding:3px 8px;border-radius:5px;line-height:1.55;letter-spacing:.025em}
.ev-level{background:var(--ev-soft);color:var(--ev-body)}
.ev-available{background:#e3f3ea;color:#12593b}
.ev-planned{background:#f1e8d7;color:#7b4816}
:root[data-theme="dark"] .ev-available{background:#154633;color:#c9f7dd}
:root[data-theme="dark"] .ev-planned{background:#493820;color:#f4d6a2}
.ev-lesson-title{display:inline-block;color:var(--ev-ink);font-size:1.03rem;font-weight:760;line-height:1.38;text-decoration:none}
a.ev-lesson-title:hover{color:var(--ev-accent);text-decoration:underline;text-underline-offset:3px}
.ev-lesson.is-planned .ev-lesson-title{color:var(--ev-planned)}
.ev-lesson p{margin:5px 0 0;font-size:.83rem;color:var(--ev-muted);line-height:1.6}
.ev-further{margin-top:20px;padding:13px 15px;border:1px solid var(--ev-line);border-radius:11px;background:var(--ev-soft)}
.ev-further summary{cursor:pointer;color:var(--ev-ink);font-size:.86rem;font-weight:800}
.ev-further ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:14px 0 3px;padding-left:17px}
.ev-further li{font-size:.84rem;min-width:0}
.ev-further a{color:var(--ev-accent);text-decoration:none}
.ev-further a:hover{text-decoration:underline}
.ev-next{padding:45px 0;background:var(--ev-soft);border-top:1px solid var(--ev-line);border-bottom:1px solid var(--ev-line);scroll-margin-top:95px}
.ev-next-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,270px);gap:25px;align-items:center}
.ev-next-inner>*{min-width:0}
.ev-next h2{font-size:clamp(1.45rem,2.6vw,2.3rem);margin:0 0 10px}
.ev-next p:not(.ev-overline){font-size:.92rem;line-height:1.6;margin:0}
.ev-next-links{display:grid;gap:9px}
.ev-next-links a{display:flex;justify-content:space-between;align-items:center;gap:9px;background:var(--ev-panel);border:1px solid var(--ev-line);border-radius:11px;padding:11px 14px;text-decoration:none;color:var(--ev-accent);font-size:.84rem;font-weight:770}
.ev-next-links a:hover{border-color:var(--ev-accent)}
.ev-updated{padding:18px 0 0;color:var(--ev-muted);font-size:.76rem}
.ev-learn-page .site-footer{margin-top:0}
@media(max-width:1050px){.ev-track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ev-curriculum-layout{grid-template-columns:minmax(0,185px) minmax(0,1fr);gap:18px}.ev-module-head{grid-template-columns:minmax(0,1fr)}.ev-hero-grid{gap:27px}}
@media(max-width:760px){.ev-hero{padding:20px 0 42px}.ev-hero-grid{grid-template-columns:minmax(0,1fr)}.ev-flow-panel{max-width:580px}.ev-introduction-grid,.ev-curriculum-layout,.ev-next-inner{grid-template-columns:minmax(0,1fr)}.ev-introduction{padding:37px 0 24px}.ev-pathways{padding:18px 0 42px}.ev-curriculum{padding:0 0 42px}.ev-toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:12px}.ev-toc strong{grid-column:1/-1}.ev-toc a{padding:7px 8px}.ev-module-head{gap:14px}.ev-further ul{grid-template-columns:1fr}.ev-next{padding:35px 0}}
@media(max-width:460px){.ev-hero h1{font-size:clamp(2rem,9vw,2.6rem)!important}.ev-track-grid{grid-template-columns:minmax(0,1fr)}.ev-track-card-top{margin-bottom:12px}.ev-track-card{padding:18px}.ev-hero-actions{display:grid}.ev-button{width:100%}.ev-hero-metrics{gap:8px 13px}.ev-flow-panel{padding:17px}.ev-toc{grid-template-columns:minmax(0,1fr)}.ev-module{padding:19px 15px;border-radius:15px}.ev-lesson{gap:9px;grid-template-columns:25px minmax(0,1fr)}.ev-flow-steps>div{padding:10px}.ev-hub .container{width:min(calc(100% - 28px),var(--container))}}
@media(prefers-reduced-motion:reduce){.ev-hub a{transition:none}}


/* Workshop hero + visual learning-track artwork, with real HTML text/links above and below. */
.ev-hero-art{display:flex;flex-direction:column;align-self:stretch;min-width:0;margin:0;overflow:hidden;border:1px solid #3a647e;border-radius:19px;background:#102535;box-shadow:0 18px 38px rgba(0,0,0,.17)}
.ev-hero-art picture{display:block;flex:1;min-height:0}
.ev-hero-art img{display:block;width:100%;height:100%;min-height:295px;max-height:390px;object-fit:cover;object-position:54% 50%;background:#14293c}
.ev-hero-art figcaption{color:#c8dceb;background:#102535;border-top:1px solid #335269;padding:10px 15px;font-size:.72rem;line-height:1.5}
.ev-track-card .ev-track-image{display:block;width:100%;height:116px;object-fit:contain;object-position:center;margin-top:15px;border:1px solid #2d4961;border-radius:10px;background:#0c2033}
.ev-track-card:focus-visible{outline:3px solid #eabf60;outline-offset:3px}
@media(max-width:760px){.ev-hero-art{max-width:620px}.ev-hero-art img{height:auto;min-height:0;max-height:none;aspect-ratio:16/9;object-fit:cover;object-position:center}}
@media(max-width:460px){.ev-hero-art{border-radius:13px}.ev-hero-art figcaption{font-size:.69rem}.ev-track-card .ev-track-image{height:126px}}


/* EV Hub horizontal-drag / edge-gutter fix.
   Page-scoped: do not change overflow behavior of other site articles. */
html.ev-learning-document {
  max-width:100%;
  overflow-x:clip;
  overscroll-behavior-x:none;
  background-color:#f4f7fb;
}
html.ev-learning-document[data-theme="dark"] {
  background-color:#0b1420;
}
html.ev-learning-document body.ev-learn-page {
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip;
  overscroll-behavior-x:none;
  background:#f4f7fb;
  background-image:none;
  touch-action:pan-y pinch-zoom;
}
html.ev-learning-document[data-theme="dark"] body.ev-learn-page {
  background:#0b1420;
  background-image:none;
}
.ev-learn-page .ev-hub {
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:clip;
}
.ev-learn-page :is(.ev-hero-grid,.ev-introduction-grid,.ev-track-grid,.ev-curriculum-layout,.ev-module,.ev-hero-art,.ev-track-card,.ev-next-inner) {
  min-width:0;
  max-width:100%;
}
.ev-learn-page .ev-hero-art picture,
.ev-learn-page .ev-hero-art img,
.ev-learn-page .ev-track-image { max-width:100%; }
@supports not (overflow:clip) {
  html.ev-learning-document, html.ev-learning-document body.ev-learn-page, .ev-learn-page .ev-hub {overflow-x:hidden;}
}
