:root{--bg:#0a121d;--panel:#0e1927;--text:#edf2f8;--muted:#a2b0c1;--blue:#8cbbef;--line:#263344;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{background:none;border:0}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.12;letter-spacing:-.045em}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:6px}::selection{background:#8cbbef;color:#0a121d}.wrap{width:calc(100% - 112px);max-width:1328px;margin-inline:auto}.mono,.eyebrow,.small-note,.project-meta,.availability,.hero-footer,.visual-heading,.skill-index,.experience-label,.contact-status,.back-top{font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:1.15px}.eyebrow{color:#a2b5ca;display:flex;gap:15px;align-items:center;line-height:1.5}.section{padding-block:105px}.section-no{color:var(--blue)}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.small-note{color:#8295aa;font-size:9px}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:55px}h2{font-size:clamp(34px,3.45vw,51px)}.section-heading>p{max-width:365px;color:var(--muted);line-height:1.8;font-size:14px}.skip-link{position:fixed;z-index:100;left:20px;top:-100px;background:var(--blue);color:var(--bg);padding:10px 15px}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--line);background:rgba(10,18,29,.96);position:sticky;top:0;z-index:20}.nav-wrap{height:87px;display:flex;align-items:center;justify-content:space-between;gap:25px}.identity{display:flex;gap:18px;align-items:center;font-size:11px;letter-spacing:1.6px;font-weight:600;line-height:1.5}.identity-sub{display:block;font:8px var(--mono);letter-spacing:1.2px;color:#889bb1;margin-top:5px}.monogram{font-size:27px;letter-spacing:-3px;font-weight:600;padding-right:2px}.monogram span{color:var(--blue)}nav{display:flex;align-items:center;gap:32px;font-size:12px}nav>a{color:#b5c2d2;transition:color .2s}nav>a:hover{color:white}.nav-contact{border:1px solid #3c5068;padding:11px 17px;display:flex;gap:28px;align-items:center}.nav-contact span{font-size:17px;color:var(--blue)}.menu-toggle{display:none}.hero{position:relative;overflow:hidden}.hero-grid{position:absolute;inset:0 0 80px 0;pointer-events:none;background-image:linear-gradient(rgba(112,146,184,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(112,146,184,.035) 1px,transparent 1px);background-size:78px 78px;mask-image:linear-gradient(to right,transparent,#000)}.hero-content{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;padding-top:75px;padding-bottom:68px;min-height:625px}.hero-copy{z-index:1}.small-line{width:24px;height:1px;display:block;background:var(--blue)}.hero .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:31px;white-space:nowrap}h1{font-size:clamp(65px,6.7vw,100px);line-height:1.03;letter-spacing:-.065em}h1 span{color:var(--blue)}.hero-description{color:#aebdcc;max-width:440px;font-size:15px;line-height:1.85;margin-top:28px}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:31px}.button{display:inline-flex;gap:35px;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;padding:15px 21px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--blue);color:#0b1726}.button.primary:hover{background:#aecff6}.button span{font-size:20px;font-weight:400;line-height:1}.text-link{font-size:12px;display:inline-flex;gap:13px;align-items:center}.text-link:hover{color:var(--blue)}svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.3}.availability{display:inline-flex;align-items:center;gap:9px;color:#b0bccb;margin-top:31px;font-size:8px;letter-spacing:.9px}.status-dot{height:5px;width:5px;min-width:5px;border-radius:50%;background:#a4c7ee;box-shadow:0 0 8px #8cbbef33;display:inline-block}.hero-visual{position:relative;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.hero-visual img{width:123%;max-width:none;margin-left:-9%;margin-top:12px}.visual-heading{display:flex;justify-content:space-between;gap:10px;font-size:8px;color:#7e96ae;padding:0 0 10px 13px;border-bottom:1px solid #233348;position:absolute;top:25px;left:22px;right:0}.hero-visual figcaption{display:flex;align-items:center;gap:24px;justify-content:flex-end;position:absolute;bottom:1px;right:7px;color:#8ca6c2;font-size:11px;line-height:1.55}.visual-bracket{font-size:37px;font-weight:200;color:#456283}.hero-footer{position:relative;display:grid;grid-template-columns:1fr 1.65fr auto;align-items:center;gap:25px;border-top:1px solid var(--line);padding-block:26px;color:#8fa1b6;font-size:8px;letter-spacing:1px}.hero-footer>p:first-child{color:#c0cdde}.hero-footer a{font-size:8px;display:flex;align-items:center;gap:17px}.hero-footer a:hover{color:var(--text)}.hero-footer a span{font-size:16px}.work{border-top:1px solid transparent}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px}.project-image{display:block;padding:0;width:100%;position:relative;overflow:hidden;border:1px solid #293a4d;text-align:left;background:#101e2e}.project-image img{width:100%;transition:transform .5s}.project-image:hover img{transform:scale(1.035)}.image-open{position:absolute;right:13px;bottom:13px;font-size:19px;width:31px;height:31px;text-align:center;line-height:28px;border:1px solid #506b85;background:#101e2e;color:#a6c9ed;transition:background .2s}.project-image:hover .image-open{background:var(--blue);color:var(--bg)}.project-meta{display:flex;justify-content:space-between;gap:8px;color:#8c9fb6;font-size:8px;letter-spacing:.7px;margin-top:22px}.project-card h3{font-size:27px;letter-spacing:-1px;margin-top:12px}.project-role{color:#9eb9d5;font-size:11px;margin-top:10px}.project-description{color:var(--muted);font-size:13px;line-height:1.8;margin-top:17px;min-height:93px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:19px;min-height:48px;align-content:start}.tags span{color:#a2b2c5;border:1px solid #2b394b;padding:3px 8px;font-size:9px}.project-link{display:flex;padding:17px 0 4px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;width:100%;font-size:11px;text-align:left}.project-link span{color:var(--blue);font-size:18px}.project-link:hover{color:var(--blue)}.illustration-note{color:#8b9aad;font-size:10px;margin-top:30px}.about-section{background:#101b29;border-top:1px solid #263749;border-bottom:1px solid #263749}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%}.about-intro .eyebrow{margin-bottom:38px;font-size:9px}.about-intro h2{font-size:clamp(36px,4.15vw,61px);line-height:1.12}.about-intro h2 span{color:#8eaccd}.about-signature{display:flex;align-items:center;gap:20px;font:10px var(--mono);letter-spacing:1px;line-height:1.8;margin-top:39px;color:#c3ceda}.signature-line{height:1px;width:35px;background:#7d9fbf}.about-signature small{font-size:8px;color:#7f96ae}.about-body{padding-top:45px}.about-body .large-copy{font-size:21px;color:#e0e9f3;line-height:1.65;letter-spacing:-.3px}.about-body>p{font-size:13px;color:#a7b6c8;line-height:1.85;margin-bottom:20px}.education{display:flex;gap:19px;border-top:1px solid #304154;padding-top:28px;margin-top:30px}.education-mark{font-size:26px;font-weight:200;line-height:1.2;color:var(--blue)}.education-school{font-size:14px;color:#dde6f3;margin-bottom:7px}.education div>p:nth-child(2){font-size:12px;color:#97acc3;line-height:1.7}.education .mono{font-size:8px;color:#90a5be;display:block;margin-top:13px}.affiliations{display:flex;gap:32px;border-top:1px solid #2b3b4e;margin-top:27px;padding-top:23px;color:#b9c8da;font-size:10px}.affiliations small{display:block;color:#8ca2ba;font-size:10px;margin-top:4px}.skill-row{border-top:1px solid var(--line);padding-block:30px;display:grid;grid-template-columns:40px 1.05fr 1.8fr 1fr;gap:30px;align-items:start}.skill-index{color:#7898bb;padding-top:3px;font-size:9px}.skill-row h3{font-size:25px;line-height:1.2;letter-spacing:-.8px}.skill-row>p{color:#a8b7c9;font-size:13px;line-height:1.8;max-width:380px}.skill-tools{font-size:11px;display:grid;gap:5px;color:#9eb9d5}.skill-row:last-child{border-bottom:1px solid var(--line)}.learning-panel{background:#111f30;border:1px solid #2d435c;display:grid;grid-template-columns:1fr 1.1fr;gap:50px;padding:41px 45px;margin-top:52px;position:relative;overflow:hidden}.learning-heading .eyebrow{font-size:8px;color:#8eafd3;margin-bottom:20px}.learning-heading h3{font-size:31px;letter-spacing:-1px}.orbit-mark{position:absolute;right:30px;top:13px;font-size:100px;font-weight:200;color:#1c344e;z-index:0}.learning-copy{position:relative;padding-top:4px}.learning-copy p{font-size:12px;color:#adc0d5;line-height:1.85;margin-bottom:14px}.learning-copy strong{font-weight:500;color:#e0eafa}.experience-label{font-size:7px;letter-spacing:.5px;color:#9cb1c9;display:inline-block;margin-top:8px}.contact-section{border-top:1px solid var(--line);background:radial-gradient(ellipse at 10% 30%,#172d4555,transparent 60%)}.contact-status{font-size:8px;color:#a0b8d2;display:flex;align-items:center;gap:9px;letter-spacing:.7px}.contact-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:15%;margin-top:40px}.contact-layout h2{font-size:clamp(48px,5vw,73px);line-height:1.07}.contact-layout h2 span{color:var(--blue)}.contact-layout>div>p{font-size:13px;line-height:1.9;max-width:470px;color:#a6b7cc;margin-top:23px}.contact-mail{margin-top:28px}.contact-links{padding-top:12px;min-width:0}.contact-links>a{display:block;border-bottom:1px solid #304155;padding:0 0 22px;margin-bottom:23px}.contact-links .mono{display:block;font-size:8px;color:#849cb9;margin-bottom:8px}.contact-value{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:15px;letter-spacing:-.3px;overflow-wrap:anywhere}.contact-value>span{font-size:21px;color:var(--blue)}.contact-links>a:hover .contact-value{color:var(--blue)}.copy-email{padding:0;display:flex;align-items:center;gap:12px;color:#9db2cd;font-size:10px}.copy-email:hover{color:var(--text)}.contact-links .copy-status{color:#b1d0f1;margin:8px 0 0;font-size:10px;min-height:17px}.site-footer{border-top:1px solid #263749}.footer-content{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:31px}.footer-name{font-size:10px;letter-spacing:1px}.footer-name span{display:block;color:#8c9eb5;font-size:10px;letter-spacing:0;margin-top:4px}.footer-content>p{color:#8c9eb5;font-size:10px}.back-top{display:flex;align-items:center;gap:20px;color:#afbdd0;font-size:8px}.back-top span{color:var(--blue);font-size:17px}dialog{width:calc(100% - 48px);max-width:850px;max-height:88vh;max-height:88dvh;overflow-y:auto;background:#101c2b;color:var(--text);border:1px solid #446383;padding:0;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#030910d9;backdrop-filter:blur(8px)}.dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px;border-bottom:1px solid #30445b;position:sticky;top:0;background:#101c2b;z-index:1}.dialog-toolbar .mono{font-size:9px;color:#9fbad7}.dialog-close{font-size:11px;display:flex;align-items:center;gap:18px;padding:0}.dialog-close span{font-size:26px;line-height:1;color:var(--blue)}#dialog-content{padding:36px 42px 42px}.dialog-eyebrow{font:9px var(--mono);letter-spacing:1px;color:#98b9dc;margin-bottom:16px}.dialog-title{font-size:42px;margin-bottom:20px}.dialog-intro{font-size:16px;color:#b7c8da;line-height:1.8}.dialog-facts{display:flex;gap:35px;flex-wrap:wrap;border-block:1px solid #30445b;margin-block:27px;padding-block:20px}.dialog-facts span{font:9px var(--mono);letter-spacing:.5px;color:#90aac5;display:block}.dialog-facts strong{display:block;font-size:13px;font-weight:500;margin-top:5px}.case-sections{display:grid;grid-template-columns:1fr 1fr;gap:27px 33px}.case-sections h3{font-size:19px;margin-bottom:12px;letter-spacing:-.4px}.case-sections p,.case-sections li{color:#adbed0;font-size:13px;line-height:1.85}.case-sections ul{margin:0;padding-left:17px}.case-insight{grid-column:1/-1;background:#182c42;border-left:2px solid var(--blue);padding:20px 23px}.case-insight h3{font:9px var(--mono);letter-spacing:1px;color:#a6c9ed}.case-insight p{font-size:14px;color:#d1e0ee}
@media(min-width:1600px){.hero-content{min-height:710px}}
@media(max-width:1120px){.wrap{width:calc(100% - 72px)}.nav-wrap{height:78px}nav{gap:23px}.hero-content{padding-top:65px;padding-bottom:62px;min-height:580px}.hero .eyebrow{font-size:7px;letter-spacing:.7px}h1{font-size:76px}.hero-description{font-size:14px;max-width:380px}.hero-visual img{width:133%;margin-left:-15%}.visual-heading{font-size:6px;left:15px;top:29px}.hero-visual figcaption{bottom:20px;right:0}.hero-footer{font-size:7px;grid-template-columns:1fr 1.4fr auto;gap:15px}.hero-footer a{font-size:7px;gap:10px}.project-grid{gap:22px}.project-card h3{font-size:24px}.project-meta{font-size:7px;letter-spacing:.25px}.project-description{font-size:12px;min-height:108px}.tags{min-height:68px}.section{padding-block:85px}.skill-row{gap:22px;grid-template-columns:22px 1fr 1.6fr 1fr}.contact-layout{gap:10%}.contact-value{font-size:13px}.about-layout{gap:8%}.about-body .large-copy{font-size:19px}}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.identity{gap:12px}.identity-sub{font-size:7px}nav{gap:18px;font-size:11px}.nav-contact{padding:9px 12px;gap:12px}.hero-content{padding-top:55px;grid-template-columns:1.15fr 1fr;min-height:560px}.hero .eyebrow{white-space:normal;max-width:300px}.hero-description{font-size:13px;max-width:340px}h1{font-size:64px}.hero-actions{gap:20px}.button{padding:13px 16px;font-size:11px;gap:21px}.text-link{font-size:10px;gap:9px}.availability{font-size:6px;letter-spacing:.4px}.hero-visual img{width:150%;margin-left:-19%}.visual-heading{top:10px;display:block;font-size:7px;line-height:1.9}.visual-heading span{display:block}.hero-visual figcaption{bottom:15px;font-size:10px}.hero-footer{grid-template-columns:1fr auto;row-gap:10px}.hero-footer>p:nth-child(2){grid-column:1;grid-row:2}.hero-footer>a{grid-row:1/3;grid-column:2}.section-heading{gap:30px;align-items:start}.section-heading>p{max-width:280px;font-size:12px}.section-top{margin-bottom:30px}.project-grid{gap:18px}.project-meta{display:block;line-height:1.8}.project-meta>span{display:block}.project-card h3{font-size:21px}.project-role{font-size:9px}.project-description{font-size:11px;min-height:120px}.tags span{font-size:8px;padding:2px 5px}.project-link{font-size:10px}.about-intro .eyebrow{font-size:8px}.about-body{padding-top:35px}.about-body .large-copy{font-size:18px}.about-body>p{font-size:12px}.affiliations{display:grid;gap:15px}.skill-row{grid-template-columns:22px 1fr 1.6fr;gap:20px}.skill-tools{grid-column:3;display:flex;flex-wrap:wrap;gap:4px 15px;font-size:9px}.skill-row h3{font-size:23px;grid-row:1/3;grid-column:2}.skill-index{grid-row:1/3}.skill-row>p{font-size:12px}.learning-panel{padding:32px;gap:35px}.learning-heading h3{font-size:28px}.learning-heading .eyebrow{font-size:7px}.learning-copy p{font-size:11px}.contact-layout{gap:8%}.contact-value{font-size:11px}.small-note{font-size:7px}.contact-status{font-size:7px}.contact-layout>div>p{font-size:12px}.contact-layout h2{font-size:54px}}
@media(max-width:650px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 40px)}.nav-wrap{height:73px}.identity{font-size:10px;letter-spacing:1.2px}.monogram{font-size:25px}.identity-sub{font-size:6px}.menu-toggle{display:flex;gap:17px;align-items:center;font:10px var(--mono);letter-spacing:.8px;padding:8px 0 8px 8px}.menu-toggle span{font-size:23px;line-height:1;color:var(--blue)}nav{display:none;position:absolute;top:73px;left:0;right:0;background:#101c2b;border-bottom:1px solid #425974;flex-direction:column;align-items:stretch;padding:15px 20px 25px;gap:0}nav.is-open{display:flex}nav>a{padding:15px 5px;font-size:14px;border-bottom:1px solid #2b3e54}.nav-contact{margin-top:13px;padding:13px;justify-content:space-between;border:1px solid #3c5068}.hero-content{display:flex;flex-direction:column;align-items:stretch;padding-top:41px;padding-bottom:0;gap:0}.hero .eyebrow{max-width:none;font-size:7px;gap:10px;letter-spacing:.7px;margin-bottom:25px}.small-line{width:17px}h1{font-size:clamp(57px,13.5vw,86px);line-height:1.05}.hero-description{font-size:13px;max-width:440px;margin-top:23px;line-height:1.8}.hero-actions{margin-top:26px;gap:27px}.button{padding:14px 18px;font-size:11px}.text-link{font-size:11px}.availability{font-size:7px;letter-spacing:.5px;margin-top:25px}.hero-visual{margin:28px -7px 0;min-height:295px}.hero-visual img{width:100%;max-width:none;margin:0}.visual-heading{top:6px;left:12px;right:12px;display:flex;justify-content:space-between;font-size:6px;padding:0 0 10px}.hero-visual figcaption{font-size:9px;bottom:0;right:13px;gap:12px}.visual-bracket{font-size:26px}.hero-footer{margin-top:22px;padding-block:21px;font-size:7px;gap:9px;line-height:1.7}.hero-footer>p:nth-child(2){max-width:220px;font-size:6px;letter-spacing:.5px}.hero-footer>a{font-size:6px;max-width:88px;letter-spacing:.4px;gap:9px;line-height:1.8}.section{padding-block:64px}.section-top{margin-bottom:25px;align-items:start}.eyebrow{font-size:8px;gap:10px}.small-note{display:none}.section-heading{display:block;margin-bottom:35px}h2{font-size:35px;line-height:1.13}.section-heading>p{margin-top:23px;max-width:440px;font-size:13px;line-height:1.85}.project-grid{grid-template-columns:1fr;gap:40px}.project-meta{display:flex;line-height:1.5;font-size:8px;margin-top:18px}.project-card h3{font-size:29px;margin-top:13px}.project-role{font-size:11px;margin-top:9px}.project-description{font-size:13px;min-height:0;line-height:1.8;margin-top:15px;max-width:480px}.tags{min-height:0;margin-top:16px;gap:7px}.tags span{font-size:9px;padding:3px 8px}.project-link{font-size:12px;padding-block:17px 4px;margin-top:21px}.illustration-note{font-size:9px;line-height:1.8;margin-top:31px;max-width:320px}.about-layout{grid-template-columns:1fr;gap:38px}.about-intro .eyebrow{font-size:8px;margin-bottom:30px}.about-intro h2{font-size:42px}.about-intro h2 br:nth-of-type(3){display:none}.about-signature{margin-top:27px}.about-body{padding-top:0}.about-body .large-copy{font-size:20px}.about-body>p{font-size:13px}.affiliations{display:flex;gap:35px}.skill-row{grid-template-columns:23px 1fr;gap:18px 15px;padding-block:27px}.skill-row h3{grid-column:2;grid-row:1;font-size:24px}.skill-row h3 br{display:none}.skill-index{grid-column:1;grid-row:1/4}.skill-row>p{grid-column:2;font-size:13px}.skill-tools{grid-column:2;display:flex;font-size:10px;gap:6px 15px}.learning-panel{grid-template-columns:1fr;padding:28px 24px;gap:24px;margin-top:35px}.learning-heading h3{font-size:29px}.learning-heading .eyebrow{font-size:7px;margin-bottom:16px}.learning-copy p{font-size:12px}.experience-label{font-size:6px}.contact-section .section-top{display:block}.contact-status{margin-top:20px;font-size:7px}.contact-layout{grid-template-columns:1fr;gap:38px;margin-top:28px}.contact-layout h2{font-size:56px}.contact-layout>div>p{font-size:13px;max-width:430px}.contact-links{padding-top:0}.contact-value{font-size:15px}.contact-links .mono{font-size:8px}.contact-links>a{padding-bottom:18px;margin-bottom:20px}.contact-mail{margin-top:26px}.footer-content{flex-wrap:wrap;padding-block:26px;gap:20px}.footer-name{font-size:9px}.footer-name span{font-size:9px}.footer-content>p{font-size:9px;order:3;width:100%;border-top:1px solid #253447;padding-top:20px}.back-top{font-size:7px;gap:14px}.dialog-toolbar{padding:15px 20px}#dialog-content{padding:28px 24px}.dialog-title{font-size:33px}.dialog-intro{font-size:14px}.dialog-facts{gap:20px}.case-sections{grid-template-columns:1fr;gap:24px}.case-insight{grid-column:1}.case-insight p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
