:root{--academy-gold:#e4bd87}
.academy{padding:105px clamp(22px,5vw,82px) 95px;background:#183127;color:#f6f3e9}
.academy-intro{max-width:950px}
.academy-intro h2{font:500 clamp(49px,6vw,88px)/1.05 var(--display);letter-spacing:-.045em;margin:0 0 24px}
.academy-intro h2 em{color:var(--academy-gold);font-weight:500}
.academy-intro>p:last-child{max-width:720px;color:#c9d3c8;font-size:15px;line-height:1.85;margin:0}
.academy-path{display:grid;grid-template-columns:repeat(4,1fr);margin:55px 0 35px;border-top:1px solid #78917c80;border-bottom:1px solid #78917c80}
.academy-path span{display:flex;align-items:center;gap:14px;padding:19px 10px;color:var(--academy-gold);font-size:11px;letter-spacing:.14em}
.academy-path span+span{border-left:1px solid #78917c80;padding-left:22px}
.academy-path strong{font:500 19px var(--display);letter-spacing:0;color:white}
.academy-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.academy-card{min-height:245px;text-align:left;background:#214336;color:#fff;border:1px solid #78917c60;padding:22px;display:flex;flex-direction:column;transition:transform .2s,background .2s}
.academy-card:hover{background:#2d503f;transform:translateY(-3px)}
.academy-card:focus-visible,.roadmap button:focus-visible,.lesson-dialog button:focus-visible{outline:3px solid var(--academy-gold);outline-offset:2px}
.academy-card-top{display:flex;justify-content:space-between;gap:10px;color:#c3ceb9;font-size:10px;letter-spacing:.08em}
.academy-card strong{font:500 29px/1.2 var(--display);margin:25px 0 9px}
.academy-card-lead{font-size:12px;line-height:1.65;color:#d2dcd0;flex:1}
.academy-card-link{font-size:11px;font-weight:700;color:var(--academy-gold);margin-top:18px}
.academy-note{font-size:12px;color:#aebfaf;line-height:1.6;margin:28px 0 0}
.lesson-dialog{border:0;padding:0;width:min(1040px,calc(100% - 28px));max-height:calc(100vh - 28px);background:#f7f6f0;color:var(--ink);box-shadow:0 30px 90px #0007}
.lesson-dialog::backdrop{background:#0b1e16df;backdrop-filter:blur(4px)}
.lesson-shell{position:relative}
.lesson-heading{background:#183127;color:white;padding:62px clamp(25px,6vw,78px) 48px}
.lesson-heading h2{font:500 clamp(42px,5vw,70px)/1.08 var(--display);letter-spacing:-.04em;margin:0 0 18px}
.lesson-heading>p:last-child{font-size:16px;line-height:1.8;color:#d6dfd5;max-width:710px;margin:0}
.lesson-content{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(235px,.8fr);gap:65px;padding:52px clamp(25px,6vw,78px) 70px}
.lesson-main section+section{margin-top:33px}
.lesson-content h3{font:500 27px var(--display);margin:0 0 10px}
.lesson-content p{font-size:14px;line-height:1.8;color:#546358;margin:0}
.lesson-drill{background:#e9ede4;border-left:3px solid var(--orange);padding:24px}
.lesson-drill .eyebrow{font-size:10px;margin:0 0 8px;color:#a85b3a}
.lesson-side{border-left:1px solid var(--line);padding-left:28px}
.lesson-side ul{list-style:none;padding:0;margin:0 0 25px}
.lesson-side li{border-bottom:1px solid var(--line);padding:11px 0;font-size:13px}
.lesson-side a{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:4px}
.lesson-side a:hover{color:var(--orange)}
.lesson-plan{border:0;background:var(--deep);color:white;text-align:left;padding:13px 16px;font-size:12px;font-weight:700;line-height:1.5;width:100%}
.lesson-plan:hover{background:#315643}
.recipe-learn{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:25px;padding-top:18px;border-top:1px solid var(--line)}
.recipe-learn strong{width:100%;font:500 20px var(--display)}
.recipe-learn a{font-size:12px;font-weight:700;color:var(--deep);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:4px}
.recipe-learn a:hover{color:var(--orange)}
.lesson-content .lesson-source{border-top:1px solid var(--line);padding-top:15px;margin-top:26px;font-size:11px;line-height:1.7;color:#687569}
.roadmap{padding:105px clamp(22px,5vw,82px) 120px;background:#e9e8de}
.roadmap-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:50px;align-items:end}
.roadmap-head h2{font:500 clamp(43px,5vw,73px)/1.1 var(--display);letter-spacing:-.04em;margin:0}
.roadmap-head h2 em{color:var(--orange);font-weight:500}
.roadmap-head>p{font-size:14px;line-height:1.8;color:#617063;margin:0 0 5px}
.roadmap-tools{display:flex;justify-content:space-between;align-items:center;margin:42px 0 20px;gap:20px}
.roadmap-tools>p{font-size:12px;color:#647064}
.roadmap-search{display:flex;gap:8px;align-items:center;border-bottom:1px solid #9eab9d;width:min(400px,75%);padding:8px 0}
.roadmap-search>span:not(.sr-only){font-size:25px}
.roadmap-search input{width:100%;background:transparent;border:0;outline:0;color:var(--ink);font-size:13px}
.roadmap-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:30px}
.roadmap-filters button{background:transparent;border:1px solid #bdc7b9;border-radius:40px;padding:9px 14px;color:#495c4d;font-size:11px;font-weight:700}
.roadmap-filters button:hover,.roadmap-filters button.active{color:white;background:var(--deep);border-color:var(--deep)}
.roadmap-active{display:flex;align-items:center;gap:14px;font-size:12px;color:#5b6a5e;margin:0 0 14px}
.roadmap-active:empty{display:none}
.roadmap-active button{border:0;background:transparent;color:#a35639;text-decoration:underline;font-size:12px}
.roadmap-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.roadmap-card{background:#fbfaf4;border:1px solid #dbdfd3;padding:20px 21px 21px;min-height:270px;display:flex;flex-direction:column}
.roadmap-card-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:#849183}
.roadmap-school{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--orange);font-weight:700;margin:21px 0 8px}
.roadmap-card h3{font:500 24px/1.2 var(--display);margin:0 0 9px}
.roadmap-focus{font-size:12px;color:#657265;line-height:1.6;margin:0 0 16px;flex:1}
.roadmap-source{font-size:11px;color:#8d6e58;margin:0 0 11px}
.roadmap-card button{background:transparent;color:var(--ink);font-weight:700;font-size:11px;text-align:left;border:0;border-top:1px solid var(--line);padding:13px 0 0}
.roadmap-card button:hover{color:var(--orange)}
.roadmap-card .roadmap-recipe-link{color:var(--ink);font-weight:700;font-size:11px;border-top:1px solid var(--line);padding:13px 0 0;margin-top:auto}
.roadmap-card .roadmap-recipe-link:hover{color:var(--orange)}
.roadmap-more{display:block;margin:35px auto 0;border:1px solid #718372;background:transparent;color:var(--ink);padding:13px 26px;font-size:12px;font-weight:700}
.roadmap-more:hover{background:var(--deep);color:white}
.roadmap-more[hidden]{display:none}
.roadmap-footnote{border-top:1px solid #cbd1c6;margin:55px 0 0;padding-top:16px;font-size:12px;line-height:1.7;color:#657265}
.roadmap-footnote a{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
@media(max-width:1100px){.academy-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.academy{padding:75px 24px}.academy-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.academy-path{margin-top:35px}.academy-path span{display:block}.academy-path strong{display:block;margin-top:6px}.lesson-content{grid-template-columns:1fr;gap:32px}.lesson-side{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.roadmap{padding:75px 24px 90px}.roadmap-head{grid-template-columns:1fr;gap:20px}.roadmap-list{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{gap:12px}.site-header nav{gap:12px;font-size:11px}}
@media(max-width:600px){.site-header{height:auto;min-height:75px;flex-wrap:wrap;padding:15px 22px 12px}.site-header nav{width:100%;justify-content:space-between;gap:6px}.academy-path{grid-template-columns:repeat(2,1fr)}.academy-path span:nth-child(3){border-left:0;border-top:1px solid #78917c80;padding-left:10px}.academy-path span:nth-child(4){border-top:1px solid #78917c80}.academy-cards,.roadmap-list{grid-template-columns:1fr}.academy-card{min-height:215px}.roadmap-tools{align-items:end}.roadmap-card{min-height:0}.lesson-heading{padding-top:60px}}
