/* Courses and Forum extend the established editorial and engineering language. */
.publication-nav{gap:clamp(27px,3.2vw,58px)}
.area-content,.forum-shell{max-width:1800px;margin:auto;padding-left:max(34px,5.2vw);padding-right:max(34px,5.2vw)}
.area-section-label,.forum-head>span,.forum-feed-head span,.forum-sidebar section>span,.forum-draft>div:first-child>span,.forum-resource-intro>span,.forum-practice-themes>span,.forum-seminar-flow>span,.forum-cpd-panel span,.course-outline-intro>span,.course-sources>span{color:#c6672b;font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.5}
.area-content h2,.course-thesis h2,.forum-shell h2{color:#14344f;letter-spacing:-.06em;font-weight:700}
.area-content p,.course-thesis p,.forum-shell p{color:#4f697d;line-height:1.7}
.area-content a,.course-thesis a,.forum-shell a{color:#173b57}
.course-story-section{display:grid;grid-template-columns:minmax(145px,20%) minmax(0,760px);gap:clamp(35px,7vw,125px);border-top:1px solid #b6c8d4;padding:73px 0 87px}
.course-story-section h2{font-size:clamp(48px,5vw,84px);line-height:1.03;margin:0 0 32px}
.course-story-section p{font-size:16px;max-width:720px;margin-bottom:20px}
.course-story-section .area-lead{font-size:clamp(19px,1.55vw,25px);line-height:1.5;color:#254864}
.course-foundation{margin-top:30px}
.area-source-links{display:flex;flex-wrap:wrap;gap:10px 31px;margin-top:31px}
.area-source-links a,.course-outline-end a,.forum-resource-directions a{display:inline-flex;gap:9px;align-items:center;border-bottom:1px solid #7e9aab;padding:8px 0;text-decoration:none;font-size:12px;font-weight:700}
.area-source-links a span,.course-outline-end a span,.forum-resource-directions a span{color:#e57a2f}
.course-bridge{display:flex;align-items:center;gap:22px;border-top:1px solid #b6c8d4;border-bottom:1px solid #b6c8d4;margin-top:38px;padding:26px 0;color:#173b57;font-size:12px;font-weight:700;letter-spacing:.13em}
.course-bridge i{flex:1;height:1px;background:#9fb5c4;position:relative}
.course-bridge i::after{content:'→';position:absolute;right:0;top:-12px;color:#d87532;font-size:19px;font-style:normal}
.course-practice-terms{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.course-practice-terms span{border:1px solid #c3d2dc;padding:9px 12px;color:#49687e;font-size:10px;font-weight:700;letter-spacing:.1em}
.course-thesis{background:#173b58;color:#fff;padding:76px max(34px,5.2vw) 84px}
.course-thesis .area-section-label{color:#f4a063}
.course-thesis h2{font-size:clamp(54px,6.3vw,104px);line-height:1.03;color:#fff;max-width:1190px;margin:30px 0 30px}
.course-thesis p{font-size:clamp(17px,1.5vw,23px);max-width:800px;color:#cbdce7;margin:0}
.course-catalogue{padding-top:80px}
.course-catalogue-head{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin:20px 0 46px}
.course-catalogue-head h2{font-size:clamp(50px,5vw,82px);margin:0}
.course-catalogue-head p{font-size:18px;margin:0 0 6px}
.course-row{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(220px,31%);gap:clamp(20px,3vw,55px);border-top:1px solid #9fb6c5;padding:35px 0 49px;min-height:300px}
.course-row:last-child{border-bottom:1px solid #9fb6c5}
.course-row-number{color:#c9672b;font-size:25px;font-weight:700}.course-row-number span{display:block;font-size:9px;letter-spacing:.15em;color:#6d8799}
.course-row-main h3{font-size:clamp(32px,3.2vw,55px);color:#14344f;letter-spacing:-.06em;margin:0 0 16px}
.course-row-main p{font-size:17px;max-width:600px;margin:0 0 23px}
.course-row-meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:#57758b;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.course-row-meta strong{color:#b15b28}
.course-row-main>a{display:inline-flex;gap:20px;margin-top:24px;border-bottom:1px solid #7190a3;padding:7px 0;text-decoration:none;font-size:12px;font-weight:700}
.course-row-main>a span{color:#dd7730}
.course-row-diagram{display:grid;place-items:center;align-self:stretch;background:#eef4f7;min-height:180px;overflow:hidden}
.course-row-diagram svg{width:86%;max-width:310px;fill:none;stroke:#8faaba;stroke-width:1.4}
.course-row-diagram svg circle{fill:#f9fcfd}
.course-row-diagram svg .accent{stroke:#ed822f;stroke-width:2.1}
.course-audience{display:grid;grid-template-columns:minmax(145px,20%) minmax(0,1fr);gap:clamp(35px,7vw,125px);padding:88px 0;border-bottom:1px solid #b6c8d4}
.course-audience h2,.course-future h2{font-size:clamp(45px,4.5vw,72px);margin:0 0 24px}
.course-audience>div:last-child>p{font-size:18px;max-width:860px}
.course-learning-layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:46px;border-top:1px solid #b4c7d2;border-bottom:1px solid #b4c7d2}
.course-learning-layers>div{padding:28px 20px 25px 0;border-right:1px solid #c8d6df;margin-right:20px}
.course-learning-layers>div:last-child{border:0;margin:0}
.course-learning-layers span{display:block;color:#d47634;font-size:11px;font-weight:700;margin-bottom:22px}
.course-learning-layers strong{color:#1b405d;font-size:11px;letter-spacing:.07em}
.course-learning-layers p{font-size:14px;margin:12px 0 0}
.course-standards{padding-top:91px}
.course-future{padding:45px 0 85px;border-top:1px solid #b6c8d4}
.course-future h2{margin-top:25px}.course-future>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);margin-top:37px;border-top:1px solid #bfd0da}
.course-future>div:last-child span{padding:17px 8px 17px 0;border-bottom:1px solid #cbd8e0;color:#46667c;font-size:13px}
.course-sources{border-top:1px solid #a8becb;padding:27px 0 90px;display:grid;grid-template-columns:20% 1fr;gap:50px}
.course-sources p{font-size:13px;max-width:790px;margin:0}.course-sources a{font-weight:700}
.course-outline{padding-top:50px;padding-bottom:90px}
.course-outline-intro{display:grid;grid-template-columns:20% minmax(0,750px);gap:40px;border-top:1px solid #aebfcb;border-bottom:1px solid #aebfcb;padding:26px 0 40px}
.course-outline-intro p{font-size:19px;margin:0}.course-outline-layout{display:grid;grid-template-columns:minmax(240px,36%) minmax(0,1fr);gap:65px;padding:75px 0}
.course-outline-layout h2{font-size:clamp(49px,5vw,77px);margin:15px 0 20px}
.course-outline-layout>div>p{font-size:16px;max-width:360px}
.course-outline-layout .course-row-diagram{max-width:370px;min-height:220px;margin-top:40px}
.course-outline-layout ol{list-style:none;margin:0;padding:0;border-top:1px solid #9db5c4}
.course-outline-layout li{display:grid;grid-template-columns:55px 1fr;gap:16px;align-items:center;min-height:58px;border-bottom:1px solid #c2d1da}
.course-outline-layout li span{color:#ce6e30;font-size:11px;font-weight:700}.course-outline-layout li strong{color:#244960;font-size:15px;font-weight:600}
.course-outline-end{display:flex;align-items:end;justify-content:space-between;gap:30px;border-top:1px solid #a7bdca;padding-top:27px}
.course-outline-end p{max-width:630px;margin:0}
.home-courses-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;padding:70px 0 48px}
.home-courses-intro h2{font-size:clamp(52px,4.6vw,82px);margin:18px 0 0}
.home-courses-intro>p{font-size:18px;max-width:520px;margin:0}
.home-course-list{border-top:1px solid #aebfcb}
.home-course-list a{display:grid;grid-template-columns:45px minmax(160px,.8fr) minmax(220px,1fr) 110px 16px;gap:15px;align-items:center;min-height:110px;border-bottom:1px solid #bdcfd9;text-decoration:none;color:#173b57}
.home-course-list a:hover{background:#eef4f7}.home-course-list a>span{color:#c66d32;font-size:12px;font-weight:700}
.home-course-list strong{font-size:clamp(21px,2.1vw,33px);letter-spacing:-.04em}
.home-course-list small{font-size:13px;color:#58768a;line-height:1.5}.home-course-list em{font-size:10px;font-style:normal;font-weight:700;color:#b6622b;letter-spacing:.08em}.home-course-list i{font-style:normal;color:#d8772c}
.forum-shell{padding-top:54px;padding-bottom:110px}
.forum-head{border-bottom:1px solid #b0c3cf;padding:13px 0 55px}
.forum-head h1{font-size:clamp(65px,7vw,116px);line-height:.98;letter-spacing:-.075em;color:#14344f;margin:48px 0 25px}
.forum-head p{font-size:19px;max-width:720px;margin:0}
.forum-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid #9eb5c3;border-bottom:1px solid #9eb5c3;margin:0 max(34px,5.2vw)}
.forum-shell>.forum-modes{margin:0}
.forum-modes a{display:flex;align-items:center;justify-content:center;min-height:75px;padding:14px 12px;border-right:1px solid #c7d5dd;text-align:center;color:#244861;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.11em}
.forum-modes a:last-child{border-right:0}.forum-modes a[aria-current=page],.forum-modes a:hover{background:#e9f1f5;color:#103450}
.forum-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(275px,31%);gap:65px;padding:60px 0}
.forum-feed-head{display:grid;grid-template-columns:1fr .7fr;gap:35px;align-items:end}
.forum-feed-head h2{font-size:clamp(40px,3.7vw,62px);margin:15px 0 0}.forum-feed-head p{font-size:14px;margin:0 0 5px}
.forum-feed-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;border-top:1px solid #b3c6d1;border-bottom:1px solid #b3c6d1;margin-top:35px;padding:12px 0}
.forum-feed-controls>div{display:flex;flex-wrap:wrap;gap:4px}.forum-feed-controls button{border:0;background:none;padding:9px 12px;color:#4c6b80;font:inherit;font-size:12px;cursor:pointer}
.forum-feed-controls button[aria-pressed=true]{background:#e6eff4;color:#143b58;font-weight:700}
.forum-feed-controls label,.forum-resource-controls label,.forum-draft label{display:grid;gap:8px;color:#4c6e85;font-size:12px;font-weight:700}
.forum-feed-controls select,.forum-resource-controls input,.forum-resource-controls select,.forum-draft input,.forum-draft select,.forum-draft textarea{border:1px solid #b8cbd6;background:#fff;color:#153b57;padding:11px 13px;font:inherit;font-size:13px;min-height:43px}
.forum-feed-controls select{min-width:170px}
.forum-empty{padding:58px 35px 68px;background:#f0f5f8;margin-top:24px;border-left:2px solid #a7becc}
.forum-empty strong{color:#1b425f;font-size:25px;letter-spacing:-.04em}.forum-empty p{font-size:15px;max-width:560px;margin:13px 0 0}
.forum-sidebar section{border-top:1px solid #abc0cd;padding:25px 0 42px}
.forum-sidebar h2{font-size:30px;margin:13px 0 15px}.forum-sidebar p{font-size:14px}
.forum-sidebar section a{display:block;border-bottom:1px solid #becfda;padding:10px 0;text-decoration:none;font-size:12px;font-weight:700}
.forum-topic-list{display:flex;flex-wrap:wrap;gap:7px}
.forum-topic-list button{border:1px solid #bcced8;padding:7px 9px;background:none;color:#375b74;font:inherit;font-size:11px;cursor:pointer}
.forum-topic-list button[aria-pressed=true]{background:#163b59;color:#fff;border-color:#163b59}
.forum-draft{display:grid;grid-template-columns:minmax(210px,35%) minmax(0,1fr);gap:45px;border-top:1px solid #a9bfcb;border-bottom:1px solid #a9bfcb;padding:45px 0 58px;margin-top:70px}
.forum-draft h2{font-size:clamp(36px,3.5vw,57px);margin:14px 0}.forum-draft>div:first-child p{font-size:14px}
.forum-draft form{display:grid;gap:17px}.forum-draft textarea{resize:vertical;line-height:1.55}
.forum-draft-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.forum-draft-actions button{border:1px solid #315a74;background:#173e5b;color:#fff;padding:11px 14px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.forum-draft-actions button[data-forum-clear]{background:#fff;color:#315a74}.forum-draft-actions span{font-size:12px;color:#375d77}
.forum-entries{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #aebfcb}
.forum-entries>a{display:grid;grid-template-columns:1fr 20px;gap:13px;border-bottom:1px solid #aebfcb;padding:30px 18px 35px 0;text-decoration:none}
.forum-entries>a:first-child{border-right:1px solid #c4d3dc}.forum-entries>a:last-child{padding-left:30px}
.forum-entries span{font-size:10px;color:#c66d32;font-weight:700;letter-spacing:.12em}.forum-entries strong{grid-column:1;font-size:23px;letter-spacing:-.04em}.forum-entries i{grid-column:2;grid-row:1/3;font-style:normal;color:#dd7b32}
.forum-resource-page,.forum-seminars{padding-top:60px;padding-bottom:100px}
.forum-resource-intro{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end;border-bottom:1px solid #aebfcb;padding-bottom:45px}
.forum-resource-intro>span{grid-column:1/-1}.forum-resource-intro h2{font-size:clamp(50px,5vw,78px);margin:0}.forum-resource-intro p{font-size:17px;margin:0}
.forum-resource-controls{display:grid;grid-template-columns:1fr 210px;gap:20px;margin:37px 0 14px}
.forum-resource-page>p[data-forum-resource-count]{font-size:12px;color:#5b7a8d}
.forum-resource-list{border-top:1px solid #9db6c5}.forum-resource-list a{display:grid;grid-template-columns:50px 1fr 190px 18px;gap:15px;align-items:center;border-bottom:1px solid #c3d2db;min-height:77px;text-decoration:none;color:#1b415e}
.forum-resource-list a:hover{background:#eef4f7}.forum-resource-list span{color:#c86c2f;font-size:11px;font-weight:700}.forum-resource-list strong{font-size:18px}.forum-resource-list small{color:#648194;font-size:11px;text-transform:uppercase}.forum-resource-list i{font-style:normal;color:#d8742d}
.forum-resource-list [hidden]{display:none!important}
.forum-practice-themes{border-top:1px solid #9db6c5;margin-top:100px;padding-top:28px}
.forum-practice-themes h2{font-size:clamp(43px,4.5vw,68px);margin:15px 0 30px}.forum-practice-themes>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 50px}
.forum-practice-themes article{border-top:1px solid #bfcfd8;padding:23px 0 29px}.forum-practice-themes h3{font-size:24px;letter-spacing:-.04em;color:#1d4260;margin:0 0 10px}.forum-practice-themes p{font-size:14px;max-width:580px;margin:0 0 13px}.forum-practice-themes a{font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid #86a1b1;padding-bottom:4px}
.forum-resource-directions{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid #a9bfcc;margin-top:65px;padding:35px 0}
.forum-resource-directions span{color:#c86c2f;font-size:10px;letter-spacing:.12em;font-weight:700}.forum-resource-directions h3{font-size:29px;letter-spacing:-.04em;color:#173b58;margin:15px 0}.forum-resource-directions p{max-width:460px}
.forum-seminar-flow{border-top:1px solid #aebfcb;border-bottom:1px solid #aebfcb;padding:25px 0 35px}
.forum-seminar-flow>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:25px;color:#244962}.forum-seminar-flow strong{font-size:11px;letter-spacing:.08em}.forum-seminar-flow i{color:#d8742d;font-size:22px;font-style:normal}
.forum-seminar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;padding:62px 0 95px}
.forum-seminar-grid section{border-top:1px solid #aebfcb;padding-top:25px}.forum-seminar-grid span{color:#c86e32;font-size:10px;font-weight:700;letter-spacing:.13em}.forum-seminar-grid h2{font-size:clamp(31px,3vw,49px);margin:30px 0 20px}.forum-seminar-grid p{font-size:15px}
.forum-cpd-panel{display:grid;grid-template-columns:1fr .6fr;gap:55px;background:#173b58;padding:65px;color:#fff}
.forum-cpd-panel h2{font-size:clamp(44px,4vw,65px);color:#fff;margin:20px 0}.forum-cpd-panel p{color:#cbdde7;font-size:17px;max-width:650px}
.forum-cpd-panel>div:last-child{display:grid;align-content:end}.forum-cpd-panel a{border-bottom:1px solid #7191a6;color:#fff;padding:15px 0;text-decoration:none;font-size:13px;font-weight:700}
.forum-cpd-panel a span{color:#f19c5c}
button:focus-visible,.forum-modes a:focus-visible,.area-content a:focus-visible,.forum-shell a:focus-visible{outline:2px solid #ef8128;outline-offset:3px}
@media(max-width:1200px){
  body.nav-open{overflow:hidden}
  .publication-header .menu-toggle{position:relative;z-index:41}
  .publication-nav{position:fixed;inset:88px 0 0;display:none;height:calc(100dvh - 88px);overflow-y:auto;padding:32px 5vw 50px;background:#fdfefe;box-shadow:none;z-index:40}
  .publication-nav.is-open{display:flex}
  .publication-nav a{font-size:clamp(30px,4.3vw,55px);font-weight:600;letter-spacing:-.045em;padding:20px 0;line-height:1.2}
  .publication-nav a::after{display:none}
  .course-row{grid-template-columns:55px 1fr 26%}
  .forum-grid{gap:35px}
}
@media(max-width:850px){
  .course-story-section,.course-audience{grid-template-columns:1fr;gap:22px;padding:58px 0}
  .course-catalogue-head,.home-courses-intro,.forum-resource-intro{grid-template-columns:1fr;gap:20px}
  .course-row{grid-template-columns:45px 1fr;min-height:0}
  .course-row-diagram{grid-column:2;min-height:155px;max-width:400px}
  .course-outline-layout{grid-template-columns:1fr;gap:30px}
  .course-outline-layout .course-row-diagram{display:none}
  .forum-grid{grid-template-columns:1fr}
  .forum-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:30px}
  .home-course-list a{grid-template-columns:35px 1fr 100px 18px;gap:10px}
  .home-course-list small{grid-column:2;grid-row:2;padding-bottom:18px}
  .home-course-list em{grid-column:3;grid-row:1/3}.home-course-list i{grid-column:4;grid-row:1/3}
}
@media(max-width:700px){
  .publication-nav{top:76px;height:calc(100dvh - 76px);padding:30px 24px 55px;justify-content:center;gap:0;overflow-x:hidden}
  .publication-nav a{font-size:clamp(23px,6.8vw,35px);padding:21px 0;white-space:normal}
  .area-content,.forum-shell{padding-left:24px;padding-right:24px}
  .course-story-section h2{font-size:clamp(44px,11vw,66px)}
  .course-story-section p{font-size:15px}.course-story-section .area-lead{font-size:18px}
  .course-bridge{gap:9px;font-size:9px;letter-spacing:.04em}
  .course-thesis{padding:60px 24px}.course-thesis h2{font-size:clamp(45px,11vw,70px)}.course-thesis p{font-size:17px}
  .course-catalogue{padding-top:65px}.course-catalogue-head h2{font-size:51px}.course-catalogue-head p{font-size:16px}
  .course-row{grid-template-columns:35px 1fr;gap:12px;padding:28px 0 37px}
  .course-row-number{font-size:17px}.course-row-main h3{font-size:34px}.course-row-main p{font-size:15px}
  .course-row-diagram{grid-column:1/-1;min-height:150px;max-width:none}
  .course-learning-layers,.forum-practice-themes>div,.forum-resource-directions,.forum-seminar-grid,.forum-cpd-panel,.forum-entries{grid-template-columns:1fr}
  .course-learning-layers>div{margin:0;border-right:0;border-bottom:1px solid #c8d6df;padding:20px 0}
  .course-future>div:last-child{grid-template-columns:repeat(2,1fr)}.course-future>div:last-child span{font-size:11px}
  .course-sources,.course-outline-intro{grid-template-columns:1fr;gap:15px}.course-sources{padding-bottom:65px}
  .course-outline-layout li{grid-template-columns:37px 1fr}.course-outline-layout li strong{font-size:14px}
  .course-outline-end{display:block}.course-outline-end a{margin-top:16px}
  .home-courses-intro{padding:45px 0 35px}.home-courses-intro h2{font-size:50px}.home-courses-intro>p{font-size:16px}
  .home-course-list a{grid-template-columns:27px 1fr 17px;min-height:112px;padding:13px 0}
  .home-course-list strong{font-size:23px}.home-course-list small{grid-column:2;grid-row:2;font-size:12px;padding:0}
  .home-course-list em{grid-column:2;grid-row:3}.home-course-list i{grid-column:3;grid-row:1/4}
  .forum-shell{padding-top:20px}.forum-head{padding-bottom:39px}.forum-head h1{font-size:clamp(39px,12.5vw,68px);margin:35px 0 20px}.forum-head p{font-size:16px}
  .forum-modes{grid-template-columns:repeat(2,1fr);margin:0 24px}.forum-modes a{min-height:60px;font-size:10px}
  .forum-grid{padding-top:42px}.forum-feed-head{grid-template-columns:1fr;gap:10px}.forum-feed-head h2{font-size:41px}
  .forum-feed-controls{align-items:stretch}.forum-feed-controls>div{width:100%}.forum-feed-controls button{font-size:11px;padding:8px}
  .forum-feed-controls label,.forum-feed-controls select{width:100%}.forum-empty{padding:35px 22px}.forum-empty strong{font-size:22px}
  .forum-draft{grid-template-columns:1fr;gap:22px;margin-top:55px}.forum-sidebar{grid-template-columns:1fr}
  .forum-entries>a,.forum-entries>a:last-child{padding:25px 0;border-right:0}
  .forum-resource-page,.forum-seminars{padding-top:40px}.forum-resource-intro h2{font-size:53px}.forum-resource-intro p{font-size:15px}
  .forum-resource-controls{grid-template-columns:1fr}
  .forum-resource-list a{grid-template-columns:29px 1fr 16px;gap:5px 10px;padding:15px 0}
  .forum-resource-list strong{font-size:16px}.forum-resource-list small{grid-column:2;grid-row:2}.forum-resource-list i{grid-column:3;grid-row:1/3}
  .forum-practice-themes{margin-top:65px}.forum-practice-themes h2{font-size:44px}
  .forum-seminar-grid{gap:0;padding:55px 0}.forum-seminar-grid section{padding:24px 0}.forum-seminar-grid h2{margin:17px 0}
  .forum-cpd-panel{padding:40px 25px}.forum-cpd-panel h2{font-size:48px}
}
