@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#111017;--surface:#191720;--text:#f4f0f8;--muted:#aaa4b6;--purple:#c5acf3;--line:#ffffff17;--font:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 var(--font)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--purple);outline-offset:5px}button{cursor:pointer}.wrap{max-width:1180px;margin:auto;padding-left:36px;padding-right:36px}.skip{position:fixed;top:-100px;z-index:10;background:var(--purple);color:#171020;padding:10px}.skip:focus{top:0}header{height:100px;max-width:1252px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line)}.brand{font-family:Manrope,Arial,sans-serif;letter-spacing:-4px;font-weight:800;font-size:40px;line-height:1}.brand span{color:var(--purple)}nav{display:flex;gap:34px;align-items:center;font-size:14px;color:#c3becb}nav a:hover,.socials a:hover{color:var(--purple)}nav .nav-contact{color:var(--text);margin-left:25px}.nav-contact span{color:var(--purple);margin-left:12px}.hero{padding-top:88px;padding-bottom:0}.eyebrow{font-size:11px;line-height:1.6;letter-spacing:1.9px;font-weight:600;color:var(--muted);margin:0 0 24px}.hero .eyebrow{display:flex;gap:12px;align-items:center}.dot,.small-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--purple)}h1,h2,h3,h4,p{margin-top:0}h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(42px,5.1vw,66px);letter-spacing:-3px;line-height:1.17;font-weight:500;margin-bottom:32px}em{font-family:Georgia,serif;font-weight:400;color:var(--purple)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:60px}.hero-bottom p{max-width:520px;font-size:17px;color:var(--muted);line-height:1.8;margin:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--purple);color:#21152e;padding:14px 22px;border-radius:5px;font-size:14px;font-weight:600;white-space:nowrap;transition:background .2s,transform .2s}.button:hover{background:#d9c5fc;transform:translateY(-2px)}.hero-foot{margin-top:70px;display:flex;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;color:#9d96aa;font-size:12px}.hero-foot>span+span:before{content:'·';margin-right:30px;color:#6a5d79}.hero-foot>a{margin-left:auto;color:var(--purple)}.work{padding-top:96px;padding-bottom:90px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px}.section-top .eyebrow{margin-bottom:12px}h2{font-family:Manrope,Arial,sans-serif;font-size:40px;line-height:1.25;font-weight:500;letter-spacing:-1.5px;margin-bottom:0}.section-top>p{font-size:13px;color:var(--muted);margin:0 0 4px}.project{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.featured{display:grid;grid-template-columns:1fr 1fr}.project-copy{padding:44px 38px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.project .eyebrow{font-size:9px;letter-spacing:1.5px;color:var(--purple);margin-bottom:20px}h3{font:500 28px/1.25 Manrope,Arial,sans-serif;letter-spacing:-.7px;margin-bottom:16px}.project p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:385px}.tags{list-style:none;padding:0;margin:4px 0 28px;display:flex;gap:8px;flex-wrap:wrap}.tags li{font-size:10px;color:#bbb4c8;padding:3px 9px;border:1px solid #ffffff15;border-radius:3px}.text-link{border:0;padding:0;background:none;color:var(--text);font-size:13px;display:inline-flex;gap:22px;align-items:center}.text-link:hover{color:var(--purple)}.text-link span{color:var(--purple)}.range-visual{padding:38px;background:radial-gradient(ellipse at 80% 30%,#42305b,transparent 80%),#211a2b;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line)}.visual-label{font-size:8px;letter-spacing:1.6px;color:#c5b6d6;display:flex;align-items:center;gap:8px;margin-bottom:24px}.lab-window{border:1px solid #d3b6ff30;background:#15121dcc;border-radius:7px;box-shadow:0 20px 50px #0003;transform:rotate(-2deg)}.window-top{padding:11px 16px;border-bottom:1px solid var(--line);font-size:9px;color:#aca1bd;display:flex;justify-content:space-between}.window-body{padding:27px 20px}.small-label{font-size:7px;letter-spacing:1.1px;color:#a390b8}.window-body h4{font-family:Georgia,serif;font-size:39px;line-height:1.1;font-weight:400;margin:16px 0 26px;color:#e7d9fa}.path{display:flex;align-items:center;justify-content:space-between;gap:6px}.path span{font-size:8px;padding:6px 8px;background:#c5acf30d;border:1px solid #c5acf328;border-radius:3px;color:#c7b7dc}.path b{font-weight:400;color:#a38abb}.visual-foot{display:flex;justify-content:space-between;font-size:9px;color:#b0a1c0;margin-top:24px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.project-number{display:flex;justify-content:space-between;font-size:12px;color:#b39bcf;padding:20px 28px;border-bottom:1px solid var(--line)}.project-number span{font-size:9px;letter-spacing:1.2px;color:#a9a0b4}.mini-art{height:190px;margin:0 26px;border-bottom:1px solid var(--line)}.audit{padding:30px 16px 17px}.audit>div:not(.audit-note){display:flex;align-items:center;gap:26px;margin-bottom:15px}.audit span{width:130px;flex-shrink:0;font-size:8px;letter-spacing:1px;color:#b6a8c9}.audit i{display:block;height:4px;border-radius:4px;background:linear-gradient(90deg,#bda4e1 0 65%,#ffffff0c 65%);width:100%}.audit>div:nth-child(2) i{background:linear-gradient(90deg,#bda4e1 0 85%,#ffffff0c 85%)}.audit>div:nth-child(3) i{background:linear-gradient(90deg,#bda4e1 0 48%,#ffffff0c 48%)}.audit-note{font-size:7px;letter-spacing:2px;text-align:center;color:#8d809e;margin-top:25px}.curriculum{text-align:center;padding:20px}.orbit{color:var(--purple);font-size:42px;line-height:1.2}.curriculum>div{display:flex;justify-content:center;gap:30px;margin-top:14px}.curriculum>div span{font-size:8px;letter-spacing:1.5px;color:#b9a4cf}.curriculum>p{font:italic 17px Georgia,serif!important;margin:20px auto 0;color:#d1c2e3!important}.small-copy{padding:28px}.small-copy h3{font-size:24px}.small-copy>p{min-height:70px}.small-copy .tags{min-height:26px;margin-bottom:20px}.work-note{text-align:center;margin:35px 0 0;font-size:12px;color:var(--muted)}.work-note a{color:var(--purple)}.section-band{background:#17151e;border-block:1px solid var(--line)}.about{padding:80px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about h2{font-size:39px;line-height:1.35}.about-copy{font-size:14px;color:var(--muted)}.about-copy .lead{font-size:20px;color:var(--text);line-height:1.5}.about-copy p{margin-bottom:22px}.signature{margin-top:54px;color:#e1d6ee;font-size:17px}.signature span{display:block;color:var(--muted);font-size:11px;margin-top:6px}.experience{padding-top:90px;padding-bottom:90px}.experience-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:85px;margin-top:45px}.role{display:flex;position:relative;gap:25px;padding-bottom:35px}.role:not(:last-child):before{content:'';position:absolute;left:4px;top:15px;bottom:0;width:1px;background:var(--line)}.role-mark{width:9px;height:9px;flex-shrink:0;border:1px solid #aa89cf;border-radius:50%;margin-top:4px}.role .eyebrow{margin-bottom:9px;font-size:9px}.role h3{font-size:20px;letter-spacing:-.4px;margin-bottom:11px}.role p:last-child{font-size:13px;color:var(--muted);margin:0}.credentials{border-left:1px solid var(--line);padding-left:44px}.credentials .eyebrow{font-size:9px;margin-bottom:15px}.credentials h3{font-size:21px;line-height:1.4}.credentials>p:not(.eyebrow){font-size:12px;color:var(--muted)}.rule{height:1px;background:var(--line);margin:27px 0}.credentials ul{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:12px;color:#bcb4c9}.credentials .text-link{font-size:11px}.contact{border-top:1px solid var(--line);padding-top:75px;padding-bottom:80px;text-align:center;background:radial-gradient(ellipse at center bottom,#39234645,transparent 65%)}.contact .eyebrow{margin-bottom:22px}.contact h2{font-size:49px;line-height:1.2}.contact>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:22px 0 28px}.contact .button{min-width:180px}.socials{margin-top:24px;display:flex;justify-content:center;gap:25px;font-size:12px;color:#c4bacf}footer{height:100px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#92899f}footer .brand{font-size:30px}dialog{color:var(--text);background:#1c1824;border:1px solid #6b547d;border-radius:12px;max-width:740px;width:calc(100% - 36px);padding:50px;max-height:85vh;overflow:auto}dialog::backdrop{background:#08060bd9;backdrop-filter:blur(5px)}.close{position:absolute;right:18px;top:15px;color:var(--text);border:0;background:none;font-size:20px;width:36px;height:36px}dialog h2{font-size:33px;margin-bottom:22px}dialog .eyebrow{color:var(--purple);font-size:9px}.dialog-intro{font-size:17px;color:#cec1dc}dialog h3{font-size:17px;margin-top:27px;margin-bottom:9px}dialog p,dialog li{font-size:14px;color:var(--muted)}dialog ul{padding-left:20px}#dialog-links{display:flex;gap:20px;margin-top:30px;flex-wrap:wrap}#dialog-links a{color:var(--purple);font-size:13px}
@media(min-width:1500px){.hero{padding-top:105px}}@media(max-width:900px){nav{gap:22px}nav .nav-contact{margin-left:0}.hero-foot{gap:20px}.hero-foot>span+span:before{margin-right:20px}.project-copy{padding:30px 25px}.range-visual{padding:28px 20px}.path{gap:4px}.path span{padding:5px;font-size:7px}.about-grid{gap:35px}.experience-grid{gap:35px}.credentials{padding-left:28px}h1{letter-spacing:-2px}.small-copy h3{font-size:21px}}@media(max-width:640px){.wrap{padding-left:23px;padding-right:23px}header{height:80px;padding:0 23px}.brand{font-size:34px}nav{gap:18px;font-size:11px}nav a[href='#experience']{display:none}nav .nav-contact{font-size:0}nav .nav-contact span{font-size:20px;margin-left:0}.hero{padding-top:54px}.hero .eyebrow{font-size:8px;letter-spacing:1.1px;gap:8px}h1{font-size:40px;line-height:1.2;letter-spacing:-1.9px}h1 br{display:none}.hero-bottom{display:block}.hero-bottom p{font-size:15px;margin-bottom:25px}.hero-foot{margin-top:42px;display:flex;gap:12px;flex-wrap:wrap;font-size:10px;padding-block:17px}.hero-foot>span+span:before{display:none}.hero-foot>span:nth-child(3){display:none}.hero-foot>a{margin-left:auto}.work{padding-top:58px;padding-bottom:55px}.section-top{display:block;margin-bottom:25px}h2{font-size:31px}.section-top>p{margin-top:15px;font-size:12px}.section-top>p br{display:none}.eyebrow{font-size:9px}.featured{grid-template-columns:1fr}.project-copy{padding:30px 25px}.project h3{font-size:27px}.range-visual{border-left:0;border-top:1px solid var(--line);padding:25px 30px}.lab-window{max-width:360px;width:100%;margin:auto}.window-body{padding:20px}.window-body h4{font-size:34px;margin:14px 0 22px}.path span{font-size:8px;padding:6px}.visual-label{margin-bottom:16px}.project-grid{grid-template-columns:1fr;gap:20px;margin-top:20px}.project-number{padding:16px 25px}.mini-art{height:170px}.small-copy{padding:25px}.small-copy>p{min-height:0}.small-copy h3{font-size:24px}.work-note{font-size:11px;padding:0 10px}.about{padding:55px 0}.about-grid{grid-template-columns:1fr;gap:28px}.about h2{font-size:32px}.signature{margin-top:25px}.about-copy .lead{font-size:18px}.about-copy{font-size:14px}.experience{padding-block:55px}.experience-grid{grid-template-columns:1fr;gap:15px;margin-top:32px}.credentials{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.credentials h3 br{display:none}.credentials ul{max-width:400px}.contact{padding-block:55px}.contact h2{font-size:36px}.contact>p:not(.eyebrow){font-size:13px}footer{height:85px;font-size:9px}dialog{padding:42px 24px 28px}dialog h2{font-size:28px}.dialog-intro{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* About portrait */
.about-portrait{display:block;width:240px;height:300px;object-fit:cover;border-radius:12px;margin-top:30px;border:1px solid #c5acf326}.about .signature{margin-top:20px}@media(max-width:640px){.about-portrait{width:220px;height:275px;margin-top:25px}}

/* A unified About layout */
.about{padding:64px 0}
.about-inner{max-width:1060px}
.about-heading{text-align:center;margin-bottom:38px}
.about-heading .eyebrow{margin-bottom:14px}
.about-heading h2{font-size:34px;line-height:1.3;letter-spacing:-1.1px}
.about-grid{grid-template-columns:260px minmax(0,1fr);gap:44px;align-items:center}
.about-portrait{width:260px;height:325px;margin:0;border-radius:12px}
.about-profile .signature{margin-top:15px;font-size:17px}
.about-profile .signature span{max-width:250px;font-size:11px;line-height:1.6;margin-top:4px}
.about-copy{font-size:14px;line-height:1.8}
.about-copy .lead{font-size:20px;line-height:1.5;margin-bottom:17px;max-width:470px}
.about-copy p{margin-bottom:17px}
.about-copy .text-link{margin-top:3px}
@media(max-width:800px){.about-grid{grid-template-columns:220px minmax(0,1fr);gap:28px}.about-portrait{width:220px;height:275px}.about-heading h2{font-size:30px}.about-copy{font-size:13px}.about-copy .lead{font-size:18px}}
@media(max-width:640px){.about{padding:46px 0}.about-heading{margin-bottom:27px}.about-heading h2{font-size:30px;max-width:390px;margin:auto}.about-heading h2 em{display:block}.about-grid{grid-template-columns:1fr;gap:27px}.about-profile{display:flex;align-items:center;gap:20px}.about-portrait{width:124px;height:155px;flex-shrink:0;border-radius:9px}.about-profile .signature{margin:0;font-size:18px}.about-profile .signature span{max-width:180px;font-size:11px;margin-top:7px}.about-copy{font-size:14px}.about-copy .lead{font-size:19px}}

/* Actual project evidence */
.featured{grid-template-columns:.85fr 1.15fr}
.range-evidence{margin:0;background:#151b19;border-left:1px solid var(--line);padding:25px 20px;display:flex;flex-direction:column;justify-content:center;gap:18px;min-width:0}
.evidence-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1.2px;color:#b8b1c2}.development-status{color:var(--purple);background:#c5acf30c;border:1px solid #c5acf32b;padding:4px 8px;border-radius:4px;letter-spacing:.3px;font-size:9px}
.range-evidence>a{display:block;border:1px solid #ffffff1f;border-radius:5px;overflow:hidden;box-shadow:0 12px 35px #0003}.range-evidence img{display:block;width:100%;height:auto;transition:opacity .2s}.range-evidence>a:hover img{opacity:.85}.range-evidence figcaption{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#aaa4b6}.range-evidence figcaption span{color:var(--purple)}
.dialog-evidence{margin:25px 0}.dialog-evidence img{width:100%;height:auto;border:1px solid var(--line);border-radius:6px;display:block}.dialog-evidence figcaption{font-size:11px;color:var(--muted);margin-top:9px;line-height:1.6}
@media(max-width:800px){.featured{grid-template-columns:1fr}.range-evidence{border-left:0;border-top:1px solid var(--line);padding:25px}}

.project-gallery{margin:25px 0 30px}.project-gallery .dialog-evidence{margin:14px 0 0}.gallery-controls{display:flex;flex-wrap:wrap;gap:7px}.gallery-controls button{border:1px solid #ffffff1c;border-radius:4px;padding:8px 10px;background:transparent;color:var(--muted);font-size:11px;line-height:1.4}.gallery-controls button[aria-pressed="true"]{background:#c5acf319;border-color:#c5acf36b;color:var(--purple)}.gallery-controls button:hover{border-color:var(--purple)}.gallery-note{font-size:10px!important;margin:10px 0 0;color:#a59aaf!important;line-height:1.6}

.support-project{margin-top:24px}.support-content{display:grid;grid-template-columns:1fr 1fr;align-items:center}.support-content .small-copy{padding:34px 38px}.support-content .small-copy>p{min-height:0}.support-flow{padding:30px 38px;border-left:1px solid var(--line)}.support-flow .eyebrow{font-size:9px;margin-bottom:20px}.support-flow ol{list-style:none;padding:0;margin:0;display:grid;gap:18px}.support-flow li{display:flex;align-items:center;gap:17px}.support-flow li>span{font-size:11px;color:var(--purple);border:1px solid #c5acf32b;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}.support-flow strong{display:block;font-size:13px;font-weight:500}.support-flow small{display:block;font-size:11px;color:var(--muted)}@media(max-width:640px){.support-content{grid-template-columns:1fr}.support-content .small-copy{padding:25px}.support-flow{padding:25px;border-left:0;border-top:1px solid var(--line)}.support-project .project-number span{max-width:230px;text-align:right;font-size:8px}}

.support-evidence{margin:0;padding:30px 25px;border-left:1px solid var(--line);min-width:0}.support-evidence>a{display:block;border:1px solid #c5acf32b;border-radius:6px;overflow:hidden}.support-evidence img{display:block;width:100%;height:auto}.support-evidence figcaption{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin-top:12px}.support-evidence figcaption span{color:var(--purple)}@media(max-width:640px){.support-evidence{border-left:0;border-top:1px solid var(--line);padding:25px}}
