:root{--ink:#151924;--muted:#5f6470;--line:#d9dce5;--paper:#f8f9fc;--white:#fff;--blue:#254ef3;--navy:#14204e;--soft-blue:#b9c8ff;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:#cfdbff;color:var(--navy)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.08}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip-link{position:absolute;top:12px;left:20px;padding:12px 20px;background:var(--white);z-index:10;transform:translateY(-160%)}.skip-link:focus{transform:none}.eyebrow{font:0.75rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.095em}.site-header{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:1.22rem;letter-spacing:-.04em;font-weight:700}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--blue);color:var(--white);font-size:1.65rem;line-height:1;padding-bottom:2px;letter-spacing:-.05em}.brand-suffix{color:var(--muted);font-weight:400}.site-header nav{display:flex;gap:34px;font-size:.875rem}.site-header nav a{padding:12px 0;color:#505766}.site-header nav a:hover{color:var(--blue)}.header-contact{display:flex;align-items:center;gap:10px;font-size:.875rem;font-weight:600}.header-contact svg{width:20px;height:20px}.hero{padding-top:48px}.hero-label{display:flex;gap:10px;align-items:center;color:var(--muted)}.cross{color:var(--blue);font-size:1.25rem;line-height:1}.hero-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:54px;padding-top:29px;padding-bottom:65px;align-items:center}h1{font-size:clamp(4rem,7.25vw,7rem);line-height:.99;font-weight:500;letter-spacing:-.07em}h1 span{color:var(--blue)}.hero-description{color:var(--muted);font-size:1.125rem;line-height:1.65;margin-top:30px;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:13px 23px;border-radius:5px;font-size:.875rem;font-weight:600;transition:background .18s,color .18s,transform .18s}.button:hover{transform:translateY(-2px)}.primary{background:var(--blue);color:white}.primary:hover{background:#173ed7}.project-index{padding-top:28px;align-self:center}.index-heading{display:flex;justify-content:space-between;color:var(--muted);padding:0 0 21px;border-bottom:1px solid var(--line)}.index-item{display:flex;align-items:center;gap:15px;padding:24px 0;border-bottom:1px solid var(--line);transition:color .18s}.index-item:hover{color:var(--blue)}.index-number{font:.75rem/1 var(--mono);color:var(--muted);align-self:flex-start;padding-top:6px}.index-item strong{font-weight:500;font-size:1.125rem;letter-spacing:-.025em}.index-item small{display:block;color:var(--muted);font-size:.875rem;margin-top:3px}.index-glyph{font-size:1.125rem;color:var(--muted);margin-left:auto}.index-foot{display:flex;align-items:center;gap:17px;padding-top:24px;color:var(--muted);font-size:.8125rem;line-height:1.5}.source-icon{font:1.5rem/1 var(--mono);letter-spacing:-.11em;color:var(--blue);width:33px}.hero-bottom{border-top:1px solid var(--line);padding:21px 0;display:flex;justify-content:space-between;color:var(--muted);font:.75rem/1.5 var(--mono)}.work-section{padding-top:79px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin-bottom:30px}.section-heading .eyebrow{color:var(--muted)}.section-heading h2{font-size:1.6rem;font-weight:500;letter-spacing:-.045em}.featured{display:grid;grid-template-columns:1.15fr 1fr;background:var(--navy);color:white;border-radius:9px;overflow:hidden}.featured-main{padding:49px 48px 48px}.project-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.tag{font:.75rem/1.35 var(--mono);padding:7px 10px;border:1px solid #d6dce6;border-radius:4px;display:inline-flex;align-items:center}.tag-light{border-color:#53608a;color:#e3eaff}.meta-text{font-size:.8125rem;color:#b3bfdf}.featured h3{font-size:clamp(2.6rem,4.2vw,4.25rem);font-weight:500;letter-spacing:-.05em;margin-top:40px;line-height:1.04}.featured-description{font-size:1.0625rem;color:#c2cce9;max-width:355px;margin-top:22px;line-height:1.65}.light{background:#edf1ff;color:#14204e;margin-top:32px}.light:hover{background:white}.featured a:focus-visible{outline-color:#e3eaff}.learning-path{margin:49px 48px 41px 0;padding-left:42px;border-left:1px solid #39466f}.path-label{color:#b1bedf}.path-top{display:flex;justify-content:space-between;font-size:.75rem;color:#a3b3dc;margin-top:28px;gap:20px}.path-levels{padding:0;margin:16px 0 0;list-style:none}.path-levels li{display:flex;align-items:center;gap:19px;padding:9px 0;font-size:.875rem;color:#ced8f5;position:relative}.path-node{font:.875rem/1 var(--mono);border:1px solid #617197;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;flex-shrink:0;background:var(--navy);z-index:1}.path-levels li:not(:last-child)::after{content:'';position:absolute;left:19px;top:40px;height:32px;width:1px;background:#617197}.path-goal{display:flex;align-items:center;gap:26px;margin-top:11px}.goal-type{font-size:7rem;line-height:1.08;color:var(--soft-blue);font-weight:500;letter-spacing:-.08em;margin-left:-6px}.path-goal .eyebrow{color:#a7b9e5}.path-goal p{font-size:1.0625rem;line-height:1.35;margin-top:8px;color:#e2e8fa}.path-caption{font-size:.75rem;color:#afbdde;max-width:310px;margin-top:9px;line-height:1.5}.feature-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #39466f;background:#111c45;padding:27px 48px 30px}.feature-strip>div{padding:0 23px;border-left:1px solid #39466f}.feature-strip>div:first-child{padding-left:0;border-left:0}.feature-number{font:.6875rem/1.5 var(--mono);color:#8fa6e7}.feature-strip h4{font-size:.9375rem;font-weight:500;margin-top:12px}.feature-strip p{font-size:.8125rem;color:#afbdde;line-height:1.6;margin-top:7px}.next-section{display:grid;grid-template-columns:1fr 1.2fr;gap:95px;padding-block:80px 86px;border-bottom:1px solid var(--line)}.next-intro .eyebrow{color:var(--muted)}.next-intro h2{font-weight:500;font-size:2.4rem;line-height:1.12;letter-spacing:-.05em;margin-top:20px}.next-intro>p:not(.eyebrow){color:var(--muted);font-size:1rem;max-width:315px;margin-top:21px}.planned{color:#354078;background:#e9edff;border-color:#d9e0ff;margin-top:24px}.next-item{display:flex;align-items:flex-start;gap:20px;padding-block:21px;border-bottom:1px solid var(--line)}.next-item:first-child{padding-top:0}.next-number{font:.75rem/1 var(--mono);color:var(--blue);padding-top:5px}.next-item h3{font-size:1.0625rem;letter-spacing:-.02em;font-weight:600}.next-item p{font-size:.9375rem;line-height:1.6;color:var(--muted);margin-top:9px;max-width:400px}.implementation-note{margin-top:22px;font-size:.8125rem;color:var(--muted);line-height:1.65}.tools-section{padding-block:80px 90px}.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.tool-card{background:white;border:1px solid var(--line);border-radius:7px;padding:32px 34px;display:flex;flex-direction:column}.tool-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.tool-monogram{font:1.7rem/1 var(--mono);width:51px;height:51px;background:#e8ecff;border-radius:11px;display:grid;place-items:center;color:var(--blue)}.hud-monogram{color:#1d6663;background:#e1f1f0}.tool-top .tag{color:#59616e}.tool-card h3{font-size:2.25rem;letter-spacing:-.05em;font-weight:500;margin-top:31px}.tool-summary{font-size:1.0625rem;margin-top:12px;color:#363f4e}.tool-description{margin-top:19px;color:var(--muted);font-size:.9375rem;line-height:1.7;max-width:440px}.tool-capabilities{list-style:none;padding:0;margin:22px 0 26px;display:flex;flex-wrap:wrap;gap:8px 15px;font-size:.8125rem;color:#505968}.tool-capabilities li{display:flex;align-items:center;gap:7px}.tool-capabilities li::before{content:'+';font:1rem/1 var(--mono);color:var(--blue)}.tool-footer{margin-top:auto;border-top:1px solid #e4e7ed;padding-top:23px}.text-link{font-size:.875rem;font-weight:600;display:inline-block;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#bbc1cc;transition:color .18s}.text-link:hover{color:var(--blue)}.tool-footer>p{font-size:.75rem;color:var(--muted);line-height:1.6;margin-top:18px}.more-projects{margin-top:47px}.more-heading{color:var(--muted);margin-bottom:19px}.compact-project{display:grid;grid-template-columns:1fr 1.7fr auto;align-items:center;gap:30px;padding-block:23px;border-top:1px solid var(--line)}.compact-project:last-child{border-bottom:1px solid var(--line)}.compact-project h3{font-size:.9375rem;font-weight:500;line-height:1.4}.compact-project p{font-size:.875rem;color:var(--muted);line-height:1.6;max-width:470px}.compact-link{font-size:.75rem;color:var(--muted)}.compact-project:hover h3,.compact-project:hover .compact-link{color:var(--blue)}.about-section{background:#eaf0ff;border-top:1px solid #d6dff2;border-bottom:1px solid #d6dff2;padding-block:65px}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:95px}.about-grid .eyebrow{color:#586786}.about-grid h2{font-size:3.4rem;font-weight:500;letter-spacing:-.06em;margin-top:24px}.about-copy p{font-size:1.0625rem;color:#394765;line-height:1.7}.about-copy p+p{font-size:.9375rem;margin-top:19px;color:#596780}.about-copy .button{margin-top:26px}.site-footer{padding-block:36px 30px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-top>p{font-size:.8125rem;color:var(--muted)}.footer-top .text-link{font-size:.8125rem}.footer-bottom{display:flex;justify-content:space-between;gap:45px;margin-top:32px;border-top:1px solid var(--line);padding-top:24px}.footer-bottom p{font-size:.6875rem;line-height:1.65;color:var(--muted);max-width:570px}.footer-bottom p+p{text-align:right;max-width:510px}
@media(min-width:1500px){.hero-grid{padding-top:40px;padding-bottom:75px}.project-index{max-width:405px;width:100%;justify-self:end}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero-grid{gap:38px;grid-template-columns:1.45fr 1fr}h1{font-size:5.3rem}.index-item strong{font-size:1rem}.index-item small{font-size:.8125rem}.index-glyph{display:none}.featured-main{padding:36px}.learning-path{margin:36px 32px 35px 0;padding-left:32px}.path-top{flex-direction:column;gap:0}.feature-strip{padding:27px 36px}.feature-strip>div{padding-inline:18px}.next-section,.about-grid{gap:60px}.compact-project{grid-template-columns:1fr 1.6fr;gap:20px}.compact-link{display:none}.tool-card{padding:28px}.tool-top .tag{font-size:.6875rem}.footer-bottom{gap:25px}}
@media(max-width:800px){.wrap{width:calc(100% - 48px)}.site-header{height:85px}.site-header nav{gap:22px}.header-contact{display:none}.hero{padding-top:34px}.hero-grid{grid-template-columns:1fr;gap:36px;padding-top:27px;padding-bottom:38px}h1{font-size:clamp(4rem,11vw,6.4rem)}.hero-description{margin-top:23px}.project-index{padding-top:0;max-width:none}.index-heading{padding-bottom:15px}.index-item{padding-block:19px}.index-item strong{font-size:1.0625rem}.index-glyph{display:block}.index-foot{display:none}.hero-bottom{font-size:.6875rem;padding-block:18px;gap:20px}.work-section{padding-top:50px}.section-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:24px}.section-heading h2{font-size:1.65rem}.featured{grid-template-columns:1fr 1fr}.featured-main{padding:30px}.project-meta{gap:10px}.featured h3{font-size:2.7rem;margin-top:28px}.featured-description{font-size:1rem}.learning-path{padding-left:25px;margin:30px 24px 30px 0}.path-levels li{gap:12px;font-size:.8125rem}.path-goal{gap:18px}.goal-type{font-size:5.5rem}.path-goal p{font-size:.9375rem}.path-caption{font-size:.6875rem}.feature-strip{grid-template-columns:repeat(2,1fr);padding:24px 30px;gap:27px 0}.feature-strip>div{padding-inline:25px}.feature-strip>div:nth-child(3){border-left:0;padding-left:0}.next-section{gap:40px;grid-template-columns:1fr 1.15fr;padding-block:54px}.next-intro h2{font-size:2rem}.next-item{gap:13px}.tool-grid{gap:18px}.tools-section{padding-block:52px 60px}.tool-card{padding:25px}.tool-top{align-items:flex-start;flex-direction:column;gap:20px}.tool-top .tag{font-size:.75rem}.tool-card h3{margin-top:25px;font-size:2rem}.tool-summary{font-size:1rem}.tool-description{font-size:.875rem}.tool-capabilities{display:block}.tool-capabilities li{margin-top:7px}.about-section{padding-block:48px}.about-grid{gap:35px}.about-grid h2{font-size:2.7rem}.about-copy p{font-size:1rem}.footer-top>p{display:none}.footer-bottom{display:block;margin-top:26px}.footer-bottom p{font-size:.75rem}.footer-bottom p+p{text-align:left;margin-top:10px}}
@media(max-width:570px){.wrap{width:calc(100% - 40px)}.site-header{height:78px;gap:14px}.brand{font-size:1.125rem;gap:9px}.brand-mark{width:32px;height:32px;border-radius:8px;font-size:1.5rem}.site-header nav{gap:17px;font-size:.8125rem}.site-header nav a:nth-child(2){display:none}.hero-label{font-size:.625rem;letter-spacing:.08em}.hero-grid{padding-top:24px;gap:35px}h1{font-size:clamp(3.65rem,14vw,5.2rem);line-height:1.01;letter-spacing:-.065em}.hero-description{font-size:1rem;line-height:1.65;margin-bottom:23px;max-width:370px}.desktop-break{display:none}.button{font-size:.875rem}.hero-bottom{font-size:.625rem;gap:10px}.hero-bottom span:last-child{max-width:125px;text-align:right}.work-section{padding-top:42px}.section-heading h2{font-size:1.5rem}.featured{grid-template-columns:1fr}.featured-main{padding:28px 26px 33px}.featured h3{font-size:3rem;margin-top:27px}.featured-description{font-size:1rem;max-width:330px}.meta-text{font-size:.75rem}.learning-path{margin:0;padding:29px 26px;border-left:0;border-top:1px solid #39466f}.path-top{flex-direction:row;margin-top:22px;font-size:.75rem}.path-levels li{gap:18px;font-size:.9375rem}.path-node{width:40px;height:40px}.path-goal{gap:26px;margin-top:8px}.goal-type{font-size:6.5rem}.path-goal p{font-size:1.0625rem}.path-caption{font-size:.75rem;margin-top:13px;max-width:310px}.feature-strip{padding:24px 26px;gap:26px 0}.feature-strip>div{padding-inline:18px}.feature-strip h4{font-size:.9375rem}.feature-strip p{font-size:.8125rem}.next-section{grid-template-columns:1fr;gap:35px;padding-block:46px}.next-intro h2{font-size:2.3rem;margin-top:16px}.next-intro>p:not(.eyebrow){margin-top:18px}.planned{margin-top:19px}.next-item{gap:19px}.next-item h3{font-size:1.125rem}.next-item p{font-size:.9375rem}.implementation-note{font-size:.8125rem}.tools-section{padding-block:45px 50px}.tool-grid{grid-template-columns:1fr;gap:20px}.tool-card{padding:27px 25px}.tool-top{flex-direction:row;align-items:center;gap:15px}.tool-top .tag{font-size:.6875rem}.tool-card h3{font-size:2.3rem}.tool-summary{font-size:1.0625rem}.tool-description{font-size:.9375rem}.tool-capabilities{display:flex;margin-top:21px;gap:7px 14px}.tool-capabilities li{margin:0;font-size:.8125rem}.tool-footer>p{font-size:.75rem}.more-projects{margin-top:33px}.compact-project{grid-template-columns:1fr;gap:10px;padding-block:21px}.compact-project h3{font-size:1rem}.compact-project p{font-size:.875rem}.compact-link{display:block;text-decoration:underline;text-underline-offset:4px;font-size:.75rem}.about-grid{grid-template-columns:1fr;gap:25px}.about-grid h2{font-size:3rem;margin-top:18px}.about-copy p{font-size:1rem}.about-copy p+p{font-size:.9375rem}.site-footer{padding-block:30px}.footer-top{gap:16px}.footer-top .text-link{font-size:.75rem}.footer-bottom p{font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Keep long labels and enlarged text within the reading column. */
.hero-grid>* , .featured>* , .next-section>* , .about-grid>* , .tool-grid>* {min-width:0}
h1{overflow-wrap:anywhere}
.site-header{height:auto;min-height:106px;flex-wrap:wrap;padding-block:20px}
.tool-description,.next-item p{font-size:1rem}
@media(max-width:800px){.site-header{min-height:85px}.tool-description{font-size:1rem}}
@media(max-width:570px){.site-header{min-height:78px;padding-block:18px}h1{font-size:clamp(3.45rem,14vw,5.2rem)}.tool-description{font-size:1rem}}
