/* Evidence-led project pages, research stories and the guided lesson. */
.portfolio-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:58px}
.portfolio-highlight{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#101b2c;display:flex;flex-direction:column}
.portfolio-cover{display:block;background:#0a111e;border-bottom:1px solid var(--line)}
.portfolio-cover img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;display:block}
.portfolio-copy{padding:24px;display:flex;flex-direction:column;flex:1}
.portfolio-copy h3{font-size:24px;line-height:1.4;margin:12px 0 16px;overflow-wrap:anywhere}
.portfolio-copy>p:not(.small-label){font-size:14px;line-height:1.85;color:var(--muted)}
.portfolio-copy .text-link{margin-top:auto;padding-top:22px;align-self:flex-start}
.project-status{font-size:12px!important;line-height:1.8!important;color:#8fd1f5!important;margin:18px 0!important}
.tools-heading{font-size:22px;margin-bottom:24px}
.diagram-cover{background:#fff;display:block}
.diagram-cover img{object-fit:contain}
.case-gallery.case-gallery-single{grid-template-columns:1fr}
.case-study .case-gallery img{height:auto;aspect-ratio:auto;object-fit:contain;display:block}
.case-gallery img[src$=".svg"]{background:#fff}
.lesson-resources{scroll-margin-top:30px;border-top:1px solid var(--line);padding-top:30px}
.resource-links{display:grid;gap:12px;margin-top:24px}
.resource-link{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border:1px solid #355579;border-radius:8px;font-size:14px;line-height:1.7}
.resource-link:hover{background:#15283e;border-color:#8bcfee}
.resource-link span:first-child{min-width:0;overflow-wrap:anywhere}
.teaching-overview{margin-bottom:35px}
.teaching-sample{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;border:1px solid var(--line);padding:30px;border-radius:12px;margin-bottom:70px}
.teaching-sample h2{font-size:28px;line-height:1.45;margin:12px 0 18px}
.teaching-sample p:not(.eyebrow){color:var(--muted);line-height:1.9;font-size:14px}
.teaching-sample .button{margin-top:24px}
.teaching-sample img{display:block;width:100%;height:auto}
#wave-lesson{scroll-margin-top:30px}
#wave-lesson h2{font-size:clamp(30px,4vw,44px);line-height:1.4}
@media(max-width:1000px){.portfolio-highlights{grid-template-columns:1fr}.portfolio-highlight{display:grid;grid-template-columns:1fr 1fr}.portfolio-cover{align-self:center;border-bottom:0}.portfolio-copy h3{font-size:25px}}
@media(max-width:760px){.portfolio-highlight,.teaching-sample{grid-template-columns:1fr}.portfolio-highlights{gap:24px;margin-bottom:40px}.portfolio-copy{padding:22px}.portfolio-copy h3{font-size:24px}.portfolio-cover{border-bottom:1px solid var(--line)}.teaching-sample{padding:22px;gap:24px;margin-bottom:45px}.teaching-sample h2{font-size:25px}.resource-link{padding:16px;font-size:13px}}
.product-cover{width:100%;align-self:center;background:#0a111e;border:1px solid #354c6d;border-radius:10px;padding:12px;transform:rotate(-2deg);box-shadow:0 18px 35px #0005}.product-cover img{width:100%;border-radius:5px;aspect-ratio:1265/712;object-fit:cover}.product-cover>span{display:block;color:#9bb2d4;font:10px Consolas,monospace;letter-spacing:1px;padding:15px 2px 3px}.feature-cover{align-items:center}.lesson-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:35px}.lesson-cta>span{font-size:11px;color:var(--muted)}.case-intro{padding:40px 0 30px;border-top:1px solid var(--line)}.case-intro h2{max-width:820px;font-size:clamp(28px,3vw,39px)}.case-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-bottom:38px}.case-facts article{border-left:2px solid #3765a4;padding:5px 20px}.case-facts h3{font-size:17px;margin-bottom:12px;color:#cde8ff}.case-facts p{font-size:14px;color:var(--muted);line-height:1.85}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px}.case-gallery figure{min-width:0}.case-gallery a{display:block;border:1px solid #344d71;border-radius:12px;overflow:hidden;background:#101826;transition:transform .2s}.case-gallery a:hover{transform:translateY(-3px)}.case-gallery img{width:100%;aspect-ratio:1265/712;object-fit:cover}.case-gallery figcaption{font-size:12px;color:#afc1dc;padding-top:14px}.case-gallery figcaption span{color:#75ceff}.evidence-note{font-size:11px!important;color:#8fa3c1!important;line-height:1.8!important;margin-top:15px!important;max-width:950px}.case-walkthrough{margin-top:40px;background:linear-gradient(120deg,#13223b,#101728);border:1px solid #2e4566;border-radius:15px;padding:34px;display:grid;grid-template-columns:.7fr 1.3fr;gap:35px}.case-walkthrough h3{font-size:25px;line-height:1.4}.step-buttons{display:flex;gap:10px;flex-wrap:wrap}.step-buttons button{border:1px solid #3b5274;background:#111b30;border-radius:7px;padding:11px 14px;cursor:pointer;font-size:12px;min-height:44px}.step-buttons button span{font-family:monospace;margin-right:8px;color:#8eb3e7}.step-buttons button[aria-pressed=true]{border-color:#72caff;background:#1c4164;color:#d7f5ff}.step-content{padding:24px 0 8px;min-height:155px}.step-content h4{font-size:17px;margin:0 0 12px;color:#d6edff}.step-content p{font-size:15px;color:#acc1dd;line-height:1.9}.research-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center;border:1px solid #2a405f;border-radius:16px;background:#0e1727;padding:38px;margin-bottom:30px}.research-feature-copy h2{font-size:32px;margin-bottom:25px}.research-feature-copy h3{font-size:12px;letter-spacing:.6px;color:#79c8f5;margin-top:20px;margin-bottom:7px}.research-feature-copy p{font-size:14px;color:#b3c2d8;line-height:1.9}.research-feature-copy .research-credit{font-size:12px;margin-top:22px;color:#95a9c5}.research-credit strong{font-weight:500;margin-right:8px}.research-feature-copy .text-link{margin-top:20px}.research-feature figure{min-width:0;background:#080f1d;border-radius:10px;border:1px solid #2d4161;padding:12px}.research-feature figure img{width:100%;height:auto}.research-feature figcaption{font-size:10px;color:#9bacbf;padding:12px 6px}.publication-heading{font-size:28px;margin:55px 0 25px}.teaching-main .page-heading{max-width:930px}.teaching-main .page-heading h1{font-size:clamp(35px,4.5vw,60px);line-height:1.3}.lesson-duration{font:12px Consolas,monospace!important;color:#7cccf9!important;margin-top:25px!important}.learning-goal{background:#12243c;border:1px solid #355579;border-radius:10px;padding:25px 30px;margin-bottom:22px;display:flex;gap:28px;align-items:baseline}.learning-goal>span{font:11px Consolas,monospace;letter-spacing:1px;color:#7cd3ff;white-space:nowrap}.learning-goal p{font-size:15px;color:#c4d6ec}.model-note{font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:25px}.model-note summary,.lesson-answers summary{cursor:pointer;color:#d1e7ff;min-height:44px;padding:9px 0;font-size:16px}.model-note li+li{margin-top:9px}.lesson-step{padding:45px 0;display:grid;grid-template-columns:100px minmax(0,1fr);gap:30px;border-bottom:1px solid var(--line)}.lesson-step-index{font:38px Consolas,monospace;color:#6caaf0}.lesson-step-index span{display:block;font:11px 'Segoe UI',sans-serif;color:#8da4c7;margin-top:12px}.lesson-step h2{font-size:28px;margin-bottom:20px}.lesson-step p,.lesson-step li{font-size:15px;color:#b0c1da;line-height:1.95}.lesson-step ul{padding-left:19px;margin-top:20px}.lesson-step li+li{margin-top:12px}.guided-lab{max-width:900px;margin:35px auto 0}.equations{border:1px solid #355579;border-radius:9px;background:#0d1a2c;padding:22px 25px;margin-top:25px;overflow-x:auto}.equations p{font-family:'Cambria Math',Cambria,Georgia,serif;font-size:17px;color:#d3ecff;white-space:nowrap;line-height:1.8}.equations p+p{margin-top:12px}.equations p:last-child{color:#8edaff;font-size:21px}.lesson-challenge{padding:35px;background:linear-gradient(125deg,#1e2441,#0e1d30);border:1px solid #465486;border-radius:12px;margin:35px 0}.lesson-challenge h2{font-size:27px;margin-bottom:20px}.lesson-challenge p:not(.eyebrow){font-size:15px;color:#bac9df}.lesson-answers{border:1px solid #365271;border-radius:10px;padding:15px 28px;margin-bottom:45px}.lesson-answers article{padding:18px 0;border-top:1px solid var(--line)}.lesson-answers h3{font-size:17px;margin-bottom:12px}.lesson-answers p{font-size:14px;color:#b0c1d9}.teaching-takeaway{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:20px 0 50px}.teaching-takeaway h2{font-size:25px;margin-bottom:20px}.teaching-takeaway p{font-size:14px;line-height:1.9;color:#a6b8d0}.handout-row{border-block:1px solid #2d4565;padding:30px 0;display:flex;justify-content:space-between;gap:25px;align-items:center}.handout-row h3{font-size:22px;margin-bottom:10px}.handout-row p{font-size:13px;color:var(--muted)}
@media(max-width:1000px){.site-header nav{gap:18px}.research-feature{padding:28px;gap:25px}.research-feature-copy h2{font-size:28px}.case-walkthrough{grid-template-columns:1fr;gap:25px}.case-walkthrough .eyebrow{margin-bottom:12px}.case-facts{gap:12px}.case-facts article{padding-inline:15px}.step-content{min-height:125px}}
@media(max-width:760px){.case-facts,.case-gallery,.research-feature,.teaching-takeaway{grid-template-columns:1fr}.case-facts{gap:22px}.case-gallery{gap:24px}.case-gallery figcaption{font-size:11px}.case-walkthrough{padding:24px 20px}.step-buttons{gap:7px}.step-buttons button{padding:10px;font-size:11px}.step-content{min-height:160px}.case-intro{padding-top:30px}.case-intro h2{font-size:28px}.research-feature{padding:25px 20px;gap:25px}.research-feature-copy h2{font-size:28px}.research-feature figure{padding:5px}.lesson-cta{display:block}.lesson-cta>span{display:block;margin-top:15px}.lesson-step{grid-template-columns:1fr;gap:18px;padding-block:30px}.lesson-step-index{font-size:25px;display:flex;align-items:center;gap:16px}.lesson-step-index span{margin:0}.lesson-step h2{font-size:25px}.lesson-step p,.lesson-step li{font-size:14px}.learning-goal{display:block;padding:23px}.learning-goal p{margin-top:12px;font-size:14px}.lesson-challenge{padding:25px 22px}.lesson-challenge h2{font-size:25px}.lesson-answers{padding:15px 20px}.equations{padding:20px 16px}.equations p{font-size:14px}.equations p:last-child{font-size:17px}.teaching-takeaway{gap:30px}.handout-row{display:block}.handout-row .button{margin-top:22px}.product-cover{transform:none}.teaching-main .page-heading h1{font-size:35px}.lesson-duration{line-height:1.9!important}.step-content p{font-size:14px}}
