.tech-course,.tech-lesson{--tech-rule:color-mix(in srgb, var(--pine), transparent 82%);--tech-muted:color-mix(in srgb, var(--graphite), transparent 31%);--tech-wash:#e8eee6;color:var(--graphite)}.tech-course h1,.tech-course h2,.tech-course h3,.tech-lesson h1,.tech-lesson h2,.tech-lesson h3{font-family:Georgia,Times New Roman,serif}.tech-course button,.tech-lesson button{cursor:pointer}:is(.tech-course button:focus-visible,.tech-lesson button:focus-visible,.tech-course a:focus-visible,.tech-lesson a:focus-visible){outline:3px solid var(--signal);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tech-hero{border-bottom:1px solid var(--tech-rule);background:var(--pine);color:#fff;overflow:hidden}.tech-hero-grid{gap:2rem;padding-block:clamp(4rem,9vw,8rem);display:grid}.tech-hero .eyebrow{color:#d5dfd3}.tech-hero h1{letter-spacing:-.065em;text-transform:uppercase;max-width:48rem;margin:.7rem 0 0;font-size:clamp(3.2rem,8vw,7rem);font-weight:700;line-height:.9}.tech-hero h1 i{color:#d7dfce;vertical-align:middle;font-family:Arial,Helvetica,sans-serif;font-size:.44em;font-style:normal}.tech-hero-lede{color:#edf0e9;max-width:38rem;margin:2rem 0 0;font-size:clamp(1.08rem,2vw,1.38rem);line-height:1.55}.tech-hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.tech-hero .button-primary{color:var(--pine);background:#fff;border-color:#fff}.tech-hero .button-primary:hover{background:#d9e1d6;border-color:#d9e1d6}.tech-hero .button-secondary{color:#fff;border-color:#91aa9d}.tech-hero .button-secondary:hover{background:#234d42}.tech-hero-note{color:#c7d2c8;margin:1.6rem 0 0;font-size:.8rem;line-height:1.5}.tech-diagram{color:currentColor;align-self:center;width:min(100%,25rem);margin:0;position:relative}.tech-hero .tech-diagram{color:#dce6d9}.tech-diagram svg{width:100%;height:auto;display:block}.tech-diagram figcaption{letter-spacing:.08em;text-transform:uppercase;align-items:baseline;gap:.7rem;margin-top:-.25rem;font-family:Arial,Helvetica,sans-serif;font-size:.75rem;font-weight:700;display:flex}.tech-diagram figcaption span{color:var(--signal)}.tech-hero .tech-diagram figcaption span{color:#c6d8bd}.tech-progress{border-bottom:1px solid var(--tech-rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem;display:flex}.tech-progress .eyebrow{margin:0}.tech-progress p:not(.eyebrow){margin:.3rem 0 0;font-size:.94rem}.tech-progress strong{color:var(--signal);font-family:Georgia,Times New Roman,serif;font-size:1.45rem}.tech-progress small{color:var(--tech-muted);margin-top:.15rem;font-size:.7rem;display:block}.tech-text-button{color:var(--pine);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid;padding:.15rem 0;font-size:.72rem;font-weight:700}.tech-curriculum{padding-block:clamp(4rem,7vw,7rem)}.tech-section-heading,.tech-library-head{gap:1.2rem;margin-bottom:2.8rem;display:grid}.tech-section-heading h2,.tech-library-head h2{max-width:44rem;color:var(--pine);letter-spacing:-.045em;margin:.55rem 0 0;font-size:clamp(2.2rem,4vw,3.7rem);line-height:.98}.tech-section-heading>p{max-width:25rem;color:var(--tech-muted);align-self:end;margin:0;line-height:1.6}.tech-module-list{border-top:1px solid var(--tech-rule);margin:0;padding:0;list-style:none}.tech-module-list li{border-bottom:1px solid var(--tech-rule);grid-template-columns:3.5rem 1fr;gap:1rem;padding:1.45rem 0;display:grid}.tech-module-number{color:var(--signal);letter-spacing:.06em;font-family:Courier New,monospace;font-size:.78rem;font-weight:700}.tech-module-list p{color:var(--signal);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.67rem;font-weight:700}.tech-module-list h3{color:var(--pine);margin:.3rem 0;font-size:1.45rem;line-height:1.1}.tech-module-list span:not(.tech-module-number){color:var(--tech-muted);font-size:.9rem;line-height:1.45}.tech-module-list strong{color:var(--pine);letter-spacing:.1em;text-transform:uppercase;grid-column:2;font-size:.68rem}.tech-library{border-top:1px solid var(--tech-rule);background:#edf0e9;padding-block:clamp(4rem,7vw,7rem)}.tech-library-head{margin-bottom:1.7rem}.tech-library-head .text-link{align-self:end}.tech-filter-bar{border-block:1px solid var(--tech-rule);gap:.8rem;padding:1rem 0;display:grid}.tech-path-toggle{border:1px solid var(--pine);width:fit-content;margin:0;display:inline-flex}.tech-path-toggle button{border:0;border-right:1px solid var(--pine);min-height:2.75rem;color:var(--pine);letter-spacing:.06em;text-transform:uppercase;background:0 0;padding:.45rem .75rem;font-size:.68rem;font-weight:700}.tech-path-toggle button:last-child{border:0}.tech-path-toggle .is-active{background:var(--pine);color:#fff}.tech-search{border:1px solid color-mix(in srgb, var(--pine), transparent 50%);background:#fff;align-items:center;gap:.55rem;min-height:2.6rem;padding:0 .7rem;display:flex}.tech-search svg{fill:none;width:1rem;height:1rem;stroke:var(--pine);stroke-width:1.8px}.tech-search input{width:100%;color:var(--graphite);background:0 0;border:0;outline:0;font-size:.9rem}.tech-search:focus-within{outline:3px solid var(--signal);outline-offset:3px}.tech-category-row{flex-wrap:wrap;gap:.45rem;margin:1rem 0 1.75rem;display:flex}.tech-category-row button{border:1px solid color-mix(in srgb, var(--pine), transparent 58%);min-height:2.75rem;color:var(--pine);letter-spacing:.04em;background:0 0;padding:.45rem .65rem;font-size:.68rem;font-weight:700}.tech-category-row .is-active{border-color:var(--signal);background:var(--signal);color:#fff}.tech-service-notice{border-left:4px solid var(--signal);background:#fff8f6;margin:0 0 1rem;padding:.65rem .8rem;font-size:.83rem;line-height:1.5}.tech-card-grid{gap:1rem;display:grid}.tech-lesson-card{border:1px solid var(--tech-rule);background:var(--field);flex-direction:column;min-height:100%;padding:1.3rem;transition:transform .16s,box-shadow .16s;display:flex}.tech-lesson-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #153f351a}.tech-card-meta{color:var(--signal);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;gap:.5rem;font-size:.65rem;font-weight:700;display:flex}.tech-lesson-card h3{color:var(--pine);margin:1.15rem 0 .65rem;font-size:1.5rem;line-height:1.05}.tech-lesson-card h3 a{text-decoration:none}.tech-lesson-card h3 a:hover{text-underline-offset:.14em;text-decoration:underline;text-decoration-thickness:1px}.tech-lesson-card>p{color:var(--tech-muted);margin:0;font-size:.88rem;line-height:1.5}.tech-lesson-card dl{border-top:1px solid var(--tech-rule);grid-template-columns:1fr 1fr;gap:.8rem;margin:1.2rem 0;padding-top:1rem;display:grid}.tech-lesson-card dl div:last-child{grid-column:1/-1}.tech-lesson-card dt{color:var(--tech-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.61rem;font-weight:700}.tech-lesson-card dd{color:var(--pine);margin:.25rem 0 0;font-size:.78rem;font-weight:700;line-height:1.35}.tech-card-link{min-height:2.75rem;color:var(--pine);letter-spacing:.08em;text-transform:uppercase;margin-top:auto;font-size:.7rem;font-weight:700;text-decoration:none}.tech-card-link:hover{color:var(--signal)}.tech-empty{border:1px dashed color-mix(in srgb, var(--pine), transparent 48%);text-align:center;padding:3.5rem 1rem}.tech-empty h3{color:var(--pine);margin:.5rem 0;font-size:1.8rem}.tech-empty p{color:var(--tech-muted)}.tech-empty .button-secondary{margin-top:.75rem}.tech-capstone{border:1px solid var(--pine);background:var(--pine);color:#fff;align-items:center;gap:1.25rem;margin-top:2.5rem;padding:1.5rem;display:grid}.tech-capstone .eyebrow{color:#bfd0c3}.tech-capstone h2{margin:.35rem 0 .7rem;font-size:2rem;line-height:1.05}.tech-capstone p:not(.eyebrow){color:#e2eae2;max-width:46rem;margin:0;line-height:1.55}.tech-capstone .button-primary{width:fit-content;color:var(--pine);background:#fff;border-color:#fff}.tech-supplementary{border-top:1px solid var(--tech-rule);margin-top:4rem;padding-top:2rem}.tech-supplementary h2{color:var(--pine);margin:.4rem 0 1.2rem;font-size:2rem}.tech-supplementary>div{gap:.65rem;display:grid}.tech-supplementary a{border-bottom:1px solid var(--tech-rule);color:var(--pine);grid-template-columns:1fr auto;gap:.25rem 1rem;padding:.75rem 0;text-decoration:none;display:grid}.tech-supplementary a:hover strong{text-decoration:underline}.tech-supplementary strong{font-family:Georgia,Times New Roman,serif;font-size:1.2rem}.tech-supplementary span{color:var(--tech-muted);grid-column:1;font-size:.82rem;line-height:1.4}.tech-supplementary b{color:var(--signal);grid-area:1/2/3}.tech-course-version{max-width:48rem;color:var(--tech-muted);margin:3rem 0 0;font-size:.72rem;line-height:1.5}.tech-lesson-hero{border-bottom:1px solid var(--tech-rule);background:#e6ece5}.tech-lesson-hero>.site-grid{padding-block:1.4rem 0}.tech-back-link{color:var(--pine);letter-spacing:.08em;text-transform:uppercase;gap:.45rem;font-size:.7rem;font-weight:700;text-decoration:none;display:inline-flex}.tech-back-link:hover{color:var(--signal)}.tech-lesson-heading{align-items:center;gap:1.5rem;padding-block:2.3rem;display:grid}.tech-lesson-heading h1{max-width:50rem;color:var(--pine);letter-spacing:-.06em;margin:.6rem 0 0;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.92}.tech-lesson-heading>div>p:last-child{max-width:43rem;color:var(--tech-muted);margin:1.4rem 0 0;font-size:1.1rem;line-height:1.55}.tech-lesson-heading .tech-diagram{width:min(16rem,70vw);color:var(--pine)}.tech-lesson-facts{border-top:1px solid var(--tech-rule);grid-template-columns:repeat(2,1fr);gap:0;margin:0;display:grid}.tech-lesson-facts div{border-bottom:1px solid var(--tech-rule);grid-template-columns:1.25rem 1fr;column-gap:.5rem;padding:.85rem .4rem;display:grid}.tech-lesson-facts div:last-child{grid-column:1/-1}.tech-lesson-facts svg,.tech-lesson-actions svg,.tech-objectives svg,.tech-checkpoints svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1rem;height:1rem}.tech-lesson-facts svg{color:var(--signal);grid-row:1/3}.tech-lesson-facts dt{color:var(--tech-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;font-weight:700}.tech-lesson-facts dd{color:var(--pine);margin:.2rem 0 0;font-size:.76rem;font-weight:700;line-height:1.3}.tech-lesson-actions{flex-wrap:wrap;align-items:center;gap:.7rem 1rem;padding:1rem 0;display:flex}.tech-complete-button,.tech-print-button{border:1px solid var(--pine);background:var(--pine);color:#fff;letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:.45rem;min-height:2.45rem;padding:.5rem .75rem;font-size:.68rem;font-weight:700;display:inline-flex}.tech-complete-button.is-complete{color:var(--pine);background:#fff}.tech-lesson-actions>span{color:var(--tech-muted);font-size:.72rem}.tech-print-button{color:var(--pine);background:0 0;border-color:#0000;margin-left:auto}.tech-lesson-layout{gap:2.7rem;padding-block:clamp(2.5rem,6vw,5.5rem);display:grid}.tech-outline{font-size:.8rem}.tech-outline>div+div{border-top:1px solid var(--tech-rule);margin-top:2rem;padding-top:1.5rem}.tech-outline ol,.tech-outline ul{margin:.75rem 0 0;padding:0;list-style:none}.tech-outline li+li{margin-top:.7rem}.tech-outline a{color:var(--pine);gap:.55rem;text-decoration:none;display:flex}.tech-outline a:hover{color:var(--signal)}.tech-outline a span{color:var(--signal);font-family:Courier New,monospace;font-size:.65rem}.tech-prerequisites li{color:var(--tech-muted);line-height:1.4}.tech-prerequisites a{border-bottom:1px solid;display:inline}.tech-lesson-body{min-width:0}.tech-lesson-body>section+section{margin-top:clamp(3rem,5vw,5rem)}.tech-lesson-body h2{max-width:44rem;color:var(--pine);letter-spacing:-.035em;margin:.5rem 0 1.2rem;font-size:clamp(1.85rem,3.5vw,2.8rem);line-height:1}.tech-prose-section+.tech-prose-section{margin-top:2.5rem}.tech-prose-section h2{margin-bottom:1rem}.tech-prose-section p,.tech-worked-example>p,.tech-steps p,.tech-exercise>p,.tech-sources>p{max-width:43rem;color:var(--tech-muted);margin:0 0 1.1rem;font-size:1.02rem;line-height:1.72}.tech-prose-section ul{max-width:42rem;margin:1.2rem 0;padding:0;list-style:none}.tech-prose-section li{color:var(--tech-muted);padding-left:1.2rem;line-height:1.6;position:relative}.tech-prose-section li+li{margin-top:.55rem}.tech-prose-section li:before{color:var(--signal);content:"•";position:absolute;left:0}.tech-objectives{border-top:4px solid var(--signal);background:#f4f1e9;padding:1.5rem}.tech-objectives h2{margin-top:.45rem}.tech-objectives ul,.tech-checkpoints ul{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.tech-objectives li,.tech-checkpoints li{color:var(--graphite);grid-template-columns:1rem 1fr;align-items:start;gap:.6rem;font-size:.92rem;line-height:1.5;display:grid}.tech-objectives svg,.tech-checkpoints svg{color:var(--signal);margin-top:.15rem}.tech-worked-example{background:var(--pine);color:#fff;padding:clamp(1.5rem,4vw,2.5rem)}.tech-worked-example .eyebrow{color:#c0d3c1}.tech-worked-example h2{color:#fff}.tech-worked-example>p,.tech-worked-example details p{color:#e6ece5}.tech-worked-example summary{cursor:pointer;font-weight:600;line-height:1.5}.tech-worked-example details[open] summary{margin-bottom:1.5rem}@media print{.tech-worked-example details p,.tech-worked-example summary{color:var(--graphite)}}.tech-worked-example ol{border-top:1px solid #ffffff3b;margin:1.5rem 0 0;padding:0;list-style:none}.tech-worked-example li{color:#eff4ef;border-bottom:1px solid #ffffff3b;grid-template-columns:2rem 1fr;gap:.7rem;padding:.75rem 0;line-height:1.45;display:grid}.tech-worked-example li span{color:#baceba;font-family:Courier New,monospace;font-size:.7rem;font-weight:700}.tech-steps ol{border-top:1px solid var(--tech-rule);margin:0;padding:0;list-style:none}.tech-steps li{border-bottom:1px solid var(--tech-rule);grid-template-columns:2.8rem 1fr;gap:.7rem;padding:1.35rem 0;display:grid}.tech-steps li>span{color:var(--signal);font-family:Courier New,monospace;font-size:.76rem;font-weight:700}.tech-steps h3,.tech-mistakes h3{color:var(--pine);margin:0 0 .45rem;font-size:1.23rem;line-height:1.15}.tech-steps p{margin:0;font-size:.95rem}.tech-prepare{gap:1.5rem;display:grid}.tech-prepare h2{margin-bottom:1rem}.tech-prepare ul{margin:0;padding:0;list-style:none}.tech-prepare li{border-bottom:1px solid var(--tech-rule);color:var(--tech-muted);padding:.7rem 0 .7rem 1.1rem;font-size:.9rem;line-height:1.45}.tech-prepare li:before{color:var(--signal);content:"—";margin-left:-1.1rem;position:absolute}.tech-safety-note{background:#f5e8e3;padding:1.3rem}.tech-safety-note .eyebrow{color:var(--signal)}.tech-checkpoints{border-left:4px solid var(--pine);padding-left:1.3rem}.tech-mistakes>div{background:var(--tech-rule);border:1px solid var(--tech-rule);gap:1px;display:grid}.tech-mistakes article{background:var(--field);padding:1.2rem}.tech-mistakes article p{color:var(--tech-muted);margin:0;font-size:.9rem;line-height:1.55}.tech-exercise{border:1px solid var(--pine);padding:clamp(1.5rem,4vw,2.5rem)}.tech-exercise ol{color:var(--tech-muted);margin:1.3rem 0 0;padding-left:1.25rem}.tech-exercise li{padding-left:.35rem;line-height:1.55}.tech-exercise li+li{margin-top:.75rem}.tech-self-checks>div{border-top:1px solid var(--tech-rule)}.tech-self-checks details{border-bottom:1px solid var(--tech-rule)}.tech-self-checks summary{color:var(--pine);cursor:pointer;grid-template-columns:2rem 1fr;gap:.55rem;padding:1rem 0;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;line-height:1.25;display:grid}.tech-self-checks summary::marker{content:""}.tech-self-checks summary span{color:var(--signal);font-family:Courier New,monospace;font-size:.72rem;font-weight:700}.tech-self-checks details p{color:var(--tech-muted);margin:0 0 1rem 2.55rem;line-height:1.58}.tech-sources{padding-top:.2rem}.tech-sources ul{margin:0;padding:0;list-style:none}.tech-sources li{border-top:1px solid var(--tech-rule)}.tech-sources li:last-child{border-bottom:1px solid var(--tech-rule)}.tech-sources a{color:var(--pine);padding:.8rem 0;font-size:.9rem;font-weight:700;line-height:1.4;display:block}.tech-sources a:hover,.tech-sources a span{color:var(--signal)}.tech-pagination{border-top:1px solid var(--pine);grid-template-columns:1fr 1fr;gap:1rem;margin-top:5rem;padding-top:1.5rem;display:grid}.tech-pagination>*{min-width:0;color:var(--pine);text-decoration:none}.tech-pagination>:last-child{text-align:right}.tech-pagination a:hover strong{color:var(--signal)}.tech-pagination span{color:var(--tech-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35rem;font-size:.64rem;font-weight:700;display:block}.tech-pagination strong{font-family:Georgia,Times New Roman,serif;font-size:1.02rem;line-height:1.2;display:block}@media (min-width:640px){.tech-hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(14rem,.6fr);align-items:center}.tech-module-list li{grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:center}.tech-module-list strong{grid-column:auto}.tech-filter-bar{grid-template-columns:auto minmax(13rem,20rem);justify-content:space-between;align-items:center}.tech-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-capstone{grid-template-columns:1fr auto}.tech-lesson-facts{grid-template-columns:repeat(3,1fr)}.tech-lesson-facts div:last-child{grid-column:auto}.tech-prepare,.tech-mistakes>div{grid-template-columns:1fr 1fr}}@media (min-width:900px){.tech-section-heading,.tech-library-head{grid-template-columns:1fr minmax(15rem,.45fr);align-items:end}.tech-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tech-lesson-heading{grid-template-columns:minmax(0,1fr) 15rem}.tech-lesson-layout{grid-template-columns:13rem minmax(0,46rem);justify-content:space-between}.tech-outline{align-self:start;position:sticky;top:1rem}}:where(a,button,input,summary):focus-visible{outline:3px solid var(--signal);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.tech-lesson-card{transition:none}.tech-lesson-card:hover{transform:none}}@media print{.tech-back-link,.tech-lesson-actions,.tech-outline,.tech-pagination{display:none!important}body:has(.tech-lesson) header:not(.tech-lesson-hero){display:none!important}body:has(.tech-lesson) footer{display:none!important}body{background:#fff;font-size:11pt}.tech-lesson-hero{background:#fff}.tech-lesson-hero>.site-grid{padding-top:0}.tech-lesson-heading{padding:0 0 1rem;display:block}.tech-lesson-heading .tech-diagram{display:none}.tech-lesson-heading h1{font-size:34pt}.tech-lesson-facts{border-color:#aaa}.tech-lesson-layout{padding-block:1.2rem;display:block}.tech-lesson-body h2{break-after:avoid}.tech-worked-example{color:var(--graphite);background:#fff;border:1px solid #999}.tech-worked-example h2,.tech-worked-example>p{color:var(--graphite)}.tech-worked-example li{color:var(--graphite);border-color:#bbb}.tech-worked-example li span{color:var(--signal)}.tech-self-checks details{display:block}.tech-self-checks summary{list-style:none}.tech-self-checks details:not([open])>:not(summary){display:block!important}.tech-self-checks details p{display:block}a{text-decoration:none}}
