@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{color:#10224a;font-synthesis:none;--ink:#10224a;--paper:#f7f4ec;--orange:#ff9f2f;--blue:#154fc6;--sky:#dce9ff;--line:#10224a33;background:#f7f4ec;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;color:var(--ink);margin:0}a{color:inherit}img{max-width:100%;display:block}p{text-wrap:pretty}.skip-link{z-index:50;background:var(--ink);color:#fff;padding:.75rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:1.5rem 2rem;display:flex}.wordmark{align-items:center;gap:.75rem;font:700 1rem Manrope,sans-serif;text-decoration:none;display:inline-flex}.wordmark-mark{aspect-ratio:1;background:var(--ink);width:2.25rem;color:var(--orange);place-items:center;display:grid}nav{gap:1.5rem;display:flex}nav a,.back-link{font-weight:600;text-decoration:none}.back-link{align-items:center;gap:.45rem;display:inline-flex}main{overflow:hidden}.hero,.case-hero{max-width:1280px;margin:0 auto;padding:7rem 2rem 8rem}.status-pill{border:1px solid var(--line);background:#ffffff8c;border-radius:999px;align-items:center;gap:.5rem;padding:.55rem .85rem;font-size:.85rem;font-weight:600;display:inline-flex}.eyebrow,.section-label,.project-kicker{color:var(--blue);letter-spacing:.14em;text-transform:uppercase;margin:2rem 0 .9rem;font-size:.8rem;font-weight:700}h1,h2,h3{letter-spacing:-.04em;font-family:Manrope,sans-serif}h1,h2{margin:0}h1{max-width:1100px;font-size:clamp(3.2rem,8.5vw,7.5rem);line-height:.96}h1 span{color:var(--blue)}.hero-copy{max-width:790px;margin:2rem 0 0;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:2.5rem;display:flex}.button{border:1px solid var(--ink);align-items:center;gap:.6rem;padding:.95rem 1.2rem;font-weight:700;text-decoration:none;display:inline-flex}.button.primary{background:var(--ink);color:#fff}.button.secondary{background:0 0}.text-link{color:var(--blue);align-items:center;gap:.5rem;margin-top:1rem;font-weight:700;text-decoration:none;display:inline-flex}.fact-strip{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);max-width:1280px;margin:0 auto;display:grid}.fact-strip div{border-right:1px solid var(--line);flex-direction:column;padding:2rem;display:flex}.fact-strip div:last-child{border-right:0}.fact-strip strong{color:var(--blue);font:800 clamp(2rem,4vw,3.5rem) Manrope,sans-serif}.fact-strip span{font-size:.9rem;font-weight:600}.open-source-band{background:var(--orange);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:5rem;padding:5rem max(2rem,50vw - 640px);display:grid}.open-source-band .section-label{color:var(--ink);margin-top:0}.open-source-band h2{margin:0;font-size:clamp(2.3rem,4.4vw,4.5rem);line-height:1.02}.open-source-copy{align-self:end;font-size:1.08rem;line-height:1.65}.source-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.case-source-actions{margin-top:2rem}.section{max-width:1280px;margin:0 auto;padding:7rem 2rem}.section-heading{grid-template-columns:.8fr 1.6fr;gap:3rem;margin-bottom:3.5rem;display:grid}.section-heading .section-label{margin:.65rem 0 0}.section-heading h2,.case-copy h2,.retirement-section h2,.narrative-grid h2{font-size:clamp(2.5rem,5vw,5rem);line-height:1.02}.section-heading>p:last-child{grid-column:2;max-width:760px;margin:0;font-size:1.15rem;line-height:1.65}.section-heading.compact{max-width:900px;display:block}.section-heading.compact .section-label{margin-top:0}.section-heading.compact>p:last-child{max-width:700px;margin-top:1.25rem}.project-grid{border:1px solid var(--line);grid-template-columns:1.2fr 1fr 1fr;display:grid}.project-card{border-right:1px solid var(--line);background:#ffffff40;min-height:470px;padding:2rem;position:relative}.project-card:last-child{border-right:0}.project-card-featured{background:var(--sky)}.project-number{color:#10224a47;font:800 3.5rem Manrope,sans-serif;position:absolute;top:1.2rem;right:1.5rem}.project-icon{aspect-ratio:1;background:var(--ink);width:3.2rem;color:var(--orange);place-items:center;display:grid}.project-kicker{margin-top:2.4rem}.project-card h3{margin:0 0 1rem;font-size:2rem}.project-card>p:not(.project-kicker){min-height:125px;line-height:1.6}.tag-list,.stack-list{flex-wrap:wrap;gap:.45rem;padding:0;list-style:none;display:flex}.tag-list li,.stack-list li{border:1px solid;border-radius:999px;padding:.35rem .65rem;font-size:.78rem;font-weight:600}.case-study-preview{background:var(--ink);color:#fff;grid-template-columns:minmax(300px,.8fr) minmax(0,1.4fr);align-items:center;gap:4rem;padding:7rem max(2rem,50vw - 640px);display:grid}.case-copy .section-label{color:var(--orange);margin-top:0}.case-tagline{color:var(--orange);font:700 1.35rem Manrope,sans-serif}.case-copy>p:not(.section-label):not(.case-tagline){color:#fffc;font-size:1.12rem;line-height:1.65}.case-copy .text-link{color:var(--orange)}.product-frame{background:#fff;padding:.6rem;display:block;transform:rotate(1deg);box-shadow:0 30px 80px #00000059}.gallery-grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:2.5rem;display:grid}.gallery-grid figure{margin:0}.gallery-grid figure.wide{grid-column:span 2}.gallery-grid figure>a{border:1px solid var(--line);background:#fff;height:520px;display:block;overflow:hidden}.gallery-grid figure.wide>a{height:630px}.gallery-grid img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .35s}.gallery-grid a:hover img{transform:scale(1.015)}.gallery-grid figcaption{justify-content:space-between;gap:1rem;padding-top:.9rem;display:flex}.gallery-grid figcaption span{color:#10224aad;text-align:right}.architecture-band{background:var(--blue);color:#fff;padding:7rem max(2rem,50vw - 640px)}.section-heading.light .section-label{color:var(--orange)}.flow{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:1rem;margin-top:3rem;display:grid}.flow-node{border:1px solid #fff6;flex-direction:column;gap:.8rem;min-height:185px;padding:1.4rem;display:flex}.flow-node svg{color:var(--orange)}.flow-node strong{margin-top:auto;font:700 1.1rem Manrope,sans-serif}.flow-node span{color:#ffffffbf;font-size:.9rem}.flow-arrow{color:var(--orange);align-self:center;font-size:1.8rem}.journal-grid{border:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.journal-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:330px;padding:2rem}.journal-card:nth-child(2n){border-right:0}.journal-card:nth-last-child(-n+2){border-bottom:0}.author-line{align-items:center;gap:.7rem;font-size:.82rem;font-weight:600;display:flex}.author-line img{object-fit:cover;border-radius:50%;width:2.2rem;height:2.2rem}.journal-card h3{max-width:560px;margin:1.5rem 0 1rem;font-size:1.55rem;line-height:1.2}.journal-card>p{color:#10224abf;line-height:1.6}.archived-label{color:var(--blue);align-items:center;gap:.4rem;margin-top:1rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.timeline{margin:3rem 0 0;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:190px}.timeline li{grid-template-columns:160px 1fr;gap:4rem;padding:0 0 3rem;display:grid}.timeline time{color:var(--blue);text-align:right;font-weight:700}.timeline li div{max-width:720px;position:relative}.timeline li div:before{content:"";background:var(--orange);border:4px solid var(--paper);border-radius:50%;width:.75rem;height:.75rem;position:absolute;top:.15rem;left:-2.33rem}.timeline h3{margin:0 0 .4rem;font-size:1.35rem}.timeline p{margin:0;line-height:1.6}.retirement-section{background:var(--sky);grid-template-columns:1.25fr .75fr;gap:5rem;padding:7rem max(2rem,50vw - 640px);display:grid}.retirement-section .section-label{margin-top:0}.retirement-section>div:last-child{font-size:1.08rem;line-height:1.65}.case-hero{padding-bottom:6rem}.case-meta{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);max-width:900px;margin-top:4rem;display:grid}.case-meta div{border-right:1px solid var(--line);flex-direction:column;gap:.35rem;padding:1.2rem;display:flex}.case-meta div:last-child{border-right:0}.case-meta span{color:var(--blue);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:700}.case-cover{background:var(--ink);padding:1rem max(1rem,50vw - 725px)}.case-cover img{width:100%}.screencast-section{padding-block:6rem}.screencast-copy{max-width:880px}.screencast-copy .section-label{margin-top:0}.screencast-copy h2{margin-bottom:1.25rem;font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:1.05}.screencast-copy>p:last-child{max-width:760px;font-size:1.08rem;line-height:1.65}.screencast-frame{border:1px solid var(--line);background:var(--ink);margin-top:3rem;padding:.75rem}.screencast-frame video{aspect-ratio:8/5;background:#000;width:100%;display:block}.narrative-grid{grid-template-columns:1fr 1fr;gap:5rem;display:grid}.narrative-grid .section-label{margin-top:0}.narrative-copy{font-size:1.2rem;line-height:1.7}blockquote{border-left:5px solid var(--orange);background:#fff;margin:2rem 0 0;padding:1.5rem;font:600 1.3rem/1.5 Manrope,sans-serif}.feature-band{grid-template-columns:repeat(3,1fr);padding:0 max(2rem,50vw - 640px) 7rem;display:grid}.feature-band article{border:1px solid var(--line);border-right:0;padding:2rem}.feature-band article:last-child{border-right:1px solid var(--line)}.feature-band svg{color:var(--blue)}.feature-band h3{font-size:1.4rem}.feature-band p{line-height:1.6}.product-walkthrough{border-top:1px solid var(--line);grid-template-columns:.75fr 1.25fr;align-items:start;gap:5rem;display:grid}.product-walkthrough.reversed{grid-template-columns:1.25fr .75fr}.product-walkthrough.reversed .walkthrough-copy{order:2}.walkthrough-copy .section-label{margin-top:0}.walkthrough-copy h2{font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:1.05}.walkthrough-copy>p:last-child{font-size:1.08rem;line-height:1.65}.walkthrough-image{border:1px solid var(--line);background:#fff;max-height:780px;display:block;overflow:hidden}.walkthrough-image img{object-fit:cover;object-position:top;width:100%}.walkthrough-image.detail{max-height:900px}.service-grid{border:1px solid #fff6;grid-template-columns:repeat(4,1fr);display:grid}.service-grid div{border-right:1px solid #fff6;flex-direction:column;gap:.7rem;min-height:210px;padding:1.5rem;display:flex}.service-grid div:last-child{border-right:0}.service-grid svg{color:var(--orange)}.service-grid strong{margin-top:auto;font:700 1.08rem Manrope,sans-serif}.service-grid span{color:#ffffffbf;font-size:.9rem;line-height:1.45}.stack-list{margin-top:2rem}.lesson-grid{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.lesson-grid article{border-right:1px solid var(--line);min-height:320px;padding:2rem}.lesson-grid article:last-child{border-right:0}.lesson-grid span{color:var(--orange);font:800 2.5rem Manrope,sans-serif}.lesson-grid h3{font-size:1.4rem;line-height:1.25}.lesson-grid p{line-height:1.6}.case-end .button{margin-top:1rem}footer{border-top:1px solid var(--line);justify-content:space-between;gap:2rem;max-width:1280px;margin:0 auto;padding:3rem 2rem;font-size:.9rem;display:flex}footer p{margin:.4rem 0 0}.footer-links{align-items:flex-start;gap:1.5rem;display:flex}.footer-links a,summary{font-weight:700}details{max-width:260px}details p{line-height:1.5}@media (width<=900px){.project-grid,.service-grid,.lesson-grid{grid-template-columns:1fr}.project-card,.service-grid div,.lesson-grid article{border-right:0;border-bottom:1px solid var(--line)}.project-card:last-child,.service-grid div:last-child,.lesson-grid article:last-child{border-bottom:0}.project-card>p:not(.project-kicker){min-height:0}.flow{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg)}.flow-node{min-height:150px}.gallery-grid figure>a,.gallery-grid figure.wide>a{height:430px}}@media (width<=760px){.site-header nav{display:none}.hero,.case-hero{padding-top:4.5rem}.fact-strip{grid-template-columns:repeat(2,1fr)}.fact-strip div:nth-child(2){border-right:0}.fact-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-heading,.case-study-preview,.retirement-section,.narrative-grid,.product-walkthrough,.product-walkthrough.reversed,.open-source-band{grid-template-columns:1fr}.section-heading>p:last-child{grid-column:1}.case-study-preview{gap:2.5rem;padding-block:5rem}.gallery-grid,.journal-grid{grid-template-columns:1fr}.gallery-grid figure.wide{grid-column:span 1}.gallery-grid figure>a,.gallery-grid figure.wide>a{height:360px}.journal-card,.journal-card:nth-child(2n),.journal-card:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.journal-card:last-child{border-bottom:0}.timeline:before{left:.45rem}.timeline li{grid-template-columns:1fr;gap:.5rem;padding-left:2rem}.timeline time{text-align:left}.timeline li div:before{left:-1.95rem}.case-meta,.feature-band{grid-template-columns:1fr}.case-meta div,.feature-band article{border-right:0;border-bottom:1px solid var(--line)}.case-meta div:last-child,.feature-band article:last-child{border-bottom:0}.product-walkthrough.reversed .walkthrough-copy{order:0}footer,.footer-links{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-grid img{transition:none}}
