:root{--bg:#111111;--text:#eee;--muted:#9b9b9e;--line:#303033;--accent:#9caaff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:8px}::selection{background:#9caaff;color:#111}.header{position:absolute;z-index:3;top:0;width:100%;padding:30px 5%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:16px}.brand span{font-size:12px;letter-spacing:2px;font-weight:600}.header nav{display:flex;gap:38px;font-size:14px}.header nav a:last-child{margin-left:26px}.small-plus{color:var(--accent);margin-left:12px}.hero{min-height:850px;height:100svh;max-height:1080px;position:relative;isolation:isolate;display:flex;align-items:center;padding:120px 7%}.hero-image{position:absolute;inset:0 0 0 35%;z-index:-2;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 29%}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111 0%,#1118 22%,transparent 48%),linear-gradient(0deg,#111,transparent 24%)}.hero-copy{padding-bottom:25px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:500;margin:0 0 28px}.hero .eyebrow{color:#c0c0c5}.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(52px,6.2vw,96px);line-height:1.1;letter-spacing:-5px;font-weight:500;margin:0 0 30px}em{font-style:normal;color:var(--muted)}.hero h1 em{color:#aaaab0}.intro{font-size:18px;color:#b5b5b8;line-height:1.7;margin:0 0 32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;background:#eee;color:#171717;font-size:14px;padding:15px 22px;border:1px solid #eee;transition:.2s}.button:hover{background:var(--accent);border-color:var(--accent)}.button span{font-size:24px;font-weight:400;line-height:1}.hero-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;color:#98989c;font-size:11px;letter-spacing:1.3px}.hero-bottom a{font-size:13px;letter-spacing:0;color:#ccc}.section{padding:90px 7% 100px}.section-top{display:flex;align-items:baseline;justify-content:space-between}.section-top .eyebrow{margin-bottom:35px}.muted{font-size:14px;color:var(--muted)}h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(36px,4vw,58px);font-weight:500;letter-spacing:-2.5px;line-height:1.18;margin:0}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px}.section-heading p{color:var(--muted);margin:0;font-size:16px}.work{background:#181819}.projects{border-top:1px solid #3b3b3e}.project{border-bottom:1px solid #3b3b3e}.project summary{display:grid;grid-template-columns:55px 1fr auto 50px;gap:25px;align-items:center;list-style:none;cursor:pointer;padding:36px 0}.project summary::-webkit-details-marker{display:none}.project-number{font-size:12px;color:#aaa;align-self:start;padding-top:6px}.project-title>p{font-size:11px;letter-spacing:1.5px;color:#999;margin:0 0 5px}.project h3{font-family:Manrope,Arial,sans-serif;font-size:32px;font-weight:500;letter-spacing:-1px;margin:0 0 6px}.project-title>span{font-size:14px;color:#9c9c9f}.tags{display:flex;gap:8px}.tags span{border:1px solid #404044;border-radius:20px;color:#aaaab0;font-size:12px;padding:5px 12px}.expand{justify-self:end;font-size:30px;color:#ccc;font-weight:400;transition:transform .2s}.project[open] .expand{transform:rotate(45deg);color:var(--accent)}.project summary:hover h3{color:var(--accent)}.project-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:0 75px 35px;color:#b5b5bb;max-width:1100px}.project-detail p{margin-top:0}.project-detail h4{color:#eee;margin:0 0 8px;font-size:14px}.project-detail a{border-bottom:1px solid var(--accent);color:var(--accent)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:20px}.about h2{font-size:clamp(36px,3.6vw,54px);line-height:1.25}.about-location{font-size:11px;letter-spacing:1px;margin-top:40px;color:#bdbdc2}.about-location span{display:block;color:#707079;margin-top:6px}.about-copy p{color:#a1a1a8;margin:0 0 22px}.about-copy .lead{font-size:24px;line-height:1.4;color:#ddd;margin-bottom:30px}.text-link{display:inline-flex;gap:36px;border-bottom:1px solid #777;padding-bottom:8px;margin-top:8px;font-size:14px}.text-link span{color:var(--accent)}.expertise{display:grid;grid-template-columns:1fr 3fr;border-top:1px solid var(--line);padding-top:40px;margin-top:75px;gap:35px}.expertise .eyebrow{color:#999;white-space:nowrap}.expertise>div{display:flex;flex-wrap:wrap;gap:16px 30px;color:#c5c5ca;font-size:16px}.experience{padding-top:30px}.experience-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:10%}.timeline article{display:grid;grid-template-columns:115px 1fr;gap:25px;border-top:1px solid var(--line);padding:26px 0}.timeline article>span{font-size:11px;color:#999;letter-spacing:1px;padding-top:4px}.timeline h3{font-weight:500;font-size:18px;margin:0 0 8px}.timeline p{font-size:14px;color:#999;margin:0}.contact{background:#1b1b1d;padding-top:80px}.contact .eyebrow{color:#aaa}.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact h2{font-size:clamp(40px,5.4vw,80px);line-height:1.15;letter-spacing:-3px}.contact h2 em{color:#aaa}.contact-button{border:1px solid #777;border-radius:50%;width:150px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;transition:.2s}.contact-button:hover{background:#eee;color:#111;border-color:#eee}.contact-button span{font-size:12px;letter-spacing:2px}.contact-button b{font-size:38px;font-weight:400;line-height:1.3}.contact-links{display:flex;gap:25px;align-items:center;margin-top:45px;flex-wrap:wrap}.contact-links>a{font-size:clamp(14px,1.5vw,20px);border-bottom:1px solid #777;padding-bottom:4px;overflow-wrap:anywhere}.contact-links button{background:none;border:1px solid #45454b;border-radius:4px;color:#aaa;padding:7px 12px;cursor:pointer;font-size:12px}.contact-links button:hover{color:white;border-color:#aaa}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px;color:#999}footer>div{display:flex;gap:25px}footer .brand span{font-size:10px}.skip{position:absolute;left:10px;top:-100px;padding:10px;background:white;color:black;z-index:10}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1700px){.section{padding-left:max(7%,calc((100vw - 1460px)/2));padding-right:max(7%,calc((100vw - 1460px)/2))}}@media(max-width:1000px){.hero{min-height:760px}.hero h1{letter-spacing:-3px}.hero-image{left:25%}.header .brand span{display:none}.tags{display:none}.project summary{grid-template-columns:30px 1fr 25px}.about-grid,.experience-grid{gap:6%}.timeline article{grid-template-columns:1fr;gap:8px}.contact-button{width:120px;height:120px}footer .brand span{display:none}.project-detail{padding-left:55px;padding-right:30px;gap:30px}}@media(max-width:640px){.header{padding:22px 6%}.header nav{gap:24px;font-size:13px}.header nav a:last-child{margin-left:0}.brand img{width:45px}.small-plus{display:none}.hero{height:auto;min-height:900px;align-items:flex-end;padding:360px 6% 125px}.hero-image{inset:0 0 25% 0}.hero-image img{object-position:center 20%}.hero-image:after{background:linear-gradient(0deg,#111 0%,#111c 15%,transparent 65%)}.hero h1{font-size:49px;letter-spacing:-2.6px}.hero .eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:20px}.hero-copy{padding:0}.intro{font-size:16px;margin-bottom:24px}.hero-bottom{left:6%;right:6%;bottom:25px;gap:20px;font-size:9px}.hero-bottom>a{display:none}.hero-bottom .index{text-align:right;max-width:95px}.section{padding:60px 6%}.section-top .muted{display:none}.eyebrow{font-size:10px;letter-spacing:1.7px}.section-heading{display:block;margin-bottom:35px}.section-heading p{margin-top:22px;font-size:14px}.section-heading p br{display:none}h2{letter-spacing:-1.6px}.project summary{gap:12px;padding:28px 0}.project h3{font-size:25px}.project-title>p{font-size:9px;letter-spacing:1px}.project-title>span{font-size:13px;display:block;line-height:1.5}.project-detail{grid-template-columns:1fr;padding:0 0 20px 42px;gap:10px;font-size:14px}.about-grid,.experience-grid{grid-template-columns:1fr;gap:35px}.about-copy .lead{font-size:22px}.about-location{margin-top:25px}.expertise{grid-template-columns:1fr;gap:0;margin-top:40px;padding-top:30px}.expertise>div{font-size:14px;gap:12px 22px}.expertise .eyebrow{margin-bottom:20px}.timeline article{grid-template-columns:85px 1fr;gap:16px}.timeline article>span{font-size:9px}.contact-heading{align-items:flex-start;flex-direction:column;gap:32px}.contact h2{font-size:42px;letter-spacing:-2px}.contact-button{width:96px;height:96px}.contact-button span{font-size:10px}.contact-button b{font-size:28px}.contact-links{margin-top:30px;gap:15px}.contact-links>a{font-size:14px}footer{padding:28px 6%;flex-wrap:wrap;gap:18px}footer p{font-size:11px}footer>div{width:100%;border-top:1px solid var(--line);padding-top:20px;justify-content:space-between}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Systems-focused case studies, within the original visual identity. */
.hero h1{max-width:820px;font-size:clamp(50px,5.4vw,82px);letter-spacing:-4px}.hero .intro{max-width:650px}.case-study{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:30px;padding-right:0}.case-study h4{font-size:12px;color:var(--accent);letter-spacing:.4px}.case-note{font-size:12px;color:#aaa;margin:24px 0 0}.timeline ul{padding-left:18px;margin:16px 0 0;color:#aaa;font-size:14px}.timeline li{margin-bottom:10px}.timeline .role-scope{color:var(--accent)}.project h3{font-size:28px}.project .tags{max-width:250px;flex-wrap:wrap;justify-content:flex-end}.about-location span{line-height:1.8}@media(max-width:1000px){.case-study{grid-template-columns:1fr;gap:8px}.hero h1{max-width:650px}.hero .intro{max-width:570px}}@media(max-width:640px){.hero h1{font-size:46px;letter-spacing:-2.7px}.hero .eyebrow{font-size:9px;letter-spacing:1.2px}.hero{min-height:920px}.hero .intro{font-size:16px}.project h3{font-size:23px}.case-study{padding-right:0}.section-heading h2{max-width:350px}}
