@font-face{font-family:Cabinet;src:url('assets/fonts/cabinet-grotesk-400.woff2')}:root{--bg:#090607;--ink:#fff7f5;--muted:#c9b7b3;--line:#ffffff24;--red:#ff5a3d;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:Cabinet,"PingFang SC","Microsoft YaHei",sans-serif}::selection{background:#ff6d54;color:#210807}a{color:inherit;text-decoration:none}#orbit{position:fixed;inset:0;z-index:-2;width:100%;height:100%;background:#090607}.cursor-glow{position:fixed;z-index:-1;width:360px;height:360px;border-radius:50%;pointer-events:none;opacity:.6;transform:translate3d(-50%,-50%,0);background:radial-gradient(circle,#ff543222 0%,#ff54320c 32%,transparent 68%);filter:blur(8px)}#nav{position:fixed;z-index:10;top:22px;left:50%;width:min(1180px,calc(100% - 34px));height:58px;display:flex;align-items:center;gap:25px;padding:7px 9px 7px 20px;border:1px solid #ffffff20;border-radius:18px;background:#16090b80;backdrop-filter:blur(22px) saturate(125%);transform:translate(-50%,0);transform-origin:top center;transition:transform .6s var(--ease),opacity .45s var(--ease),background .45s var(--ease)}#nav.is-quiet{transform:translate(-50%,-72px) scale(.94);opacity:.22;pointer-events:none}#nav.is-compact{background:#16090b5c}.brand{margin-right:auto;font:italic 27px/1 Georgia,serif;letter-spacing:-.05em}.brand span{color:var(--red)}nav{display:flex;align-items:center;gap:29px}nav a{position:relative;color:#e5d7d3;font-size:13px;transition:color .25s var(--ease)}nav a:after{position:absolute;right:0;bottom:-7px;left:0;height:1px;content:"";background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}nav a:hover{color:#fff}nav a:hover:after{transform:scaleX(1);transform-origin:left}#lang{border:1px solid #ffffff28;border-radius:999px;background:#ffffff12;color:#fff3f0;padding:8px 11px;font:inherit;font-size:12px;cursor:pointer}.reserve,.primary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fff7f5;color:#210a0b;font-size:13px;font-weight:700;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.reserve{padding:11px 15px}.primary{padding:14px 18px}.reserve:hover,.primary:hover{transform:translateY(-2px);box-shadow:0 15px 36px #ff72511f}.scene{scroll-snap-align:start}.hero{position:relative;display:grid;min-height:100svh;place-items:center;padding:135px 24px 70px;overflow:hidden}.hero-core{width:min(920px,100%);text-align:center}.notice{display:inline-block;margin:0;border:1px solid #ffffff26;border-radius:999px;background:#ffffff0c;padding:8px 13px;color:#eadad5;font-size:12px}.hero h1{margin:25px 0 18px;font:clamp(58px,8vw,112px)/.89 Georgia,"Songti SC",serif;letter-spacing:-.055em}.hero em{font-style:normal;color:#ffb19f}.lede{max-width:650px;margin:0 auto;color:var(--muted);font-size:clamp(16px,1.5vw,19px);line-height:1.65}.actions{display:flex;justify-content:center;gap:20px;align-items:center;margin-top:28px}.quiet-link{border-bottom:1px solid #ffffff55;padding-bottom:5px;color:#e8d7d1;font-size:13px}.scroll-cue{position:absolute;bottom:22px;margin:0;color:#b79c95;font-size:11px;letter-spacing:.08em}.chapter{width:min(1090px,calc(100% - 44px));min-height:80svh;margin:auto;padding:120px 0 100px;border-top:1px solid var(--line)}.chapter-head p{margin:0;color:#ff9c86;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.chapter h2{max-width:850px;margin:16px 0 52px;font:clamp(42px,5vw,72px)/.94 Georgia,"Songti SC",serif;letter-spacing:-.045em}.work-list{border-top:1px solid #ffffff20}.work-list article{display:grid;grid-template-columns:245px minmax(0,1fr) auto;gap:24px;align-items:start;padding:25px 0;border-bottom:1px solid #ffffff1b;transition:padding .35s var(--ease),background .35s var(--ease)}.work-list article:hover{padding-left:14px;padding-right:14px;background:#ffffff05}.work-list b{font-size:17px;font-weight:600}.work-list p{max-width:59ch;margin:0;color:var(--muted);font-size:15px;line-height:1.7}.work-list article div{display:flex;gap:15px;white-space:nowrap}.work-list article a{border-bottom:1px solid #ffffff45;padding-bottom:4px;font-size:13px}footer{display:flex;justify-content:space-between;width:min(1090px,calc(100% - 44px));margin:auto;padding:25px 0 34px;color:#a68c85;font-size:12px}@media(max-width:720px){#nav{top:12px;width:calc(100% - 22px);gap:8px;padding:8px 10px 8px 14px;height:52px}.brand{font-size:23px}nav{display:none}.reserve{padding:9px 11px;font-size:11px}.hero{padding-top:104px}.hero h1{font-size:clamp(48px,14vw,68px)}.actions{flex-direction:column;gap:15px}.chapter{width:calc(100% - 32px);min-height:auto;padding:88px 0}.chapter h2{margin-bottom:36px;font-size:clamp(38px,12vw,56px)}.work-list article{grid-template-columns:1fr;gap:12px}.cursor-glow{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}*,*:before,*:after{transition-duration:.01ms!important}#orbit,.cursor-glow{display:none}#nav.is-quiet{transform:translate(-50%,0);opacity:1;pointer-events:auto}}.brand{border:0;background:transparent;color:var(--ink);cursor:pointer}.hero{min-height:82svh;padding-bottom:72px}.hero h1{font-size:clamp(50px,7.3vw,94px);margin:20px 0 14px}.name-trigger{cursor:pointer;transition:background .25s var(--ease),border-color .25s var(--ease)}.name-trigger:hover{border-color:#ff9e8d88;background:#ff76521c}.hero-facts{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:21px 0 0}.hero-facts span{border:1px solid #ffffff1c;border-radius:999px;background:#12090b57;padding:6px 10px;color:#e8d5cf;font-size:11px}.quiet-link{border:0;border-bottom:1px solid #ffffff55;background:transparent;padding:0 0 5px;color:#e8d7d1;font-size:13px;cursor:pointer}.work-chapter{padding:78px 0 72px}.chapter-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,370px);align-items:end;gap:40px;margin-bottom:33px}.chapter-head h2{margin:0}.chapter-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid #ffffff1e;background:#ffffff1e}.project-card{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:0 14px;min-height:140px;padding:22px;background:#11090b92;transition:background .35s var(--ease),transform .35s var(--ease)}.project-card:hover{z-index:1;background:#32100fbd;transform:translateY(-3px)}.project-card span{grid-row:span 3;color:#ffad9b;font-size:11px}.project-card strong{font-size:19px;font-weight:600}.project-card p{max-width:40ch;margin:8px 0 14px;color:var(--muted);font-size:13px;line-height:1.55}.project-card i{color:#fff0ed;font-size:12px;font-style:normal}.project-card.featured{background:#28100fbd}dialog{width:min(800px,calc(100% - 32px));max-height:min(760px,calc(100svh - 48px));border:1px solid #ffffff32;border-radius:20px;background:#210d10d9;color:var(--ink);box-shadow:0 30px 120px #000b;backdrop-filter:blur(34px) saturate(155%);padding:0;overflow:auto}dialog::backdrop{background:#070304b9;backdrop-filter:blur(8px)}dialog article{padding:58px clamp(25px,6vw,76px) 52px}.sheet-close{position:fixed;z-index:1;top:15px;right:17px;width:34px;height:34px;border:1px solid #ffffff32;border-radius:50%;background:#ffffff12;color:#fff;cursor:pointer;font-size:24px;line-height:1}.sheet-overline{margin:0 0 16px;color:#ffab99;font-size:11px;letter-spacing:.14em}.sheet-close:focus-visible,.brand:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:4px}.about-copy{max-width:65ch;color:#f2ddda;font-size:15px;line-height:1.78}.about-copy p{margin:0 0 1.18em}.about-copy p:first-child{font-size:18px;color:#fff7f5}dialog h2{margin:0 0 30px;font:clamp(38px,6vw,64px)/.94 Georgia,"Songti SC",serif;letter-spacing:-.045em}@media(max-width:720px){.hero{min-height:80svh;padding:104px 18px 62px}.hero h1{font-size:clamp(45px,13vw,64px)}.chapter{padding:60px 0}.chapter-head{grid-template-columns:1fr;gap:16px;margin-bottom:26px}.project-grid{grid-template-columns:1fr}.project-card{min-height:122px}}

.footer-profile{margin:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.profile-link{text-decoration-line:underline;text-decoration-style:dashed;text-decoration-color:#ffb09c9c;text-decoration-thickness:1px;text-underline-offset:5px}.brand.profile-link{text-decoration:none}.brand.profile-link::after{display:block;width:calc(100% - .15em);height:1px;margin-top:3px;content:"";background:linear-gradient(90deg,#ffb09ca8,transparent);opacity:.8}.profile-link:hover{text-decoration-color:#fff4f0}.project-card{cursor:pointer}

.atlas-entry{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:20px;align-items:center;margin:0 0 1px;padding:25px 22px;border:1px solid #ffffff1e;background:linear-gradient(105deg,#36100fbd,#17090aa8);transition:transform .35s var(--ease),background .35s var(--ease)}.atlas-entry:hover{background:#4a1614cf;transform:translateY(-3px)}.atlas-entry span{color:#ffb19f;font-size:11px;letter-spacing:.12em}.atlas-entry strong{font-size:clamp(18px,2.2vw,27px);font-weight:500;letter-spacing:-.035em}.atlas-entry i{border-bottom:1px solid #ffffff75;padding-bottom:5px;color:#fff1ed;font-size:12px;font-style:normal}@media(max-width:720px){.atlas-entry{grid-template-columns:1fr;gap:12px;padding:20px}.atlas-entry i{justify-self:start}}

/* Additive homepage extension: keeps the existing signal field and glass language. */
.hero-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.48fr);gap:clamp(36px,7vw,112px);align-items:center;width:min(1120px,100%)}.hero-layout .hero-core{text-align:left}.hero-layout .lede{margin:0;max-width:58ch}.hero-layout .hero-facts,.hero-layout .actions{justify-content:flex-start}.portrait-card{position:relative;display:block;justify-self:end;width:min(100%,342px);padding:10px;border:1px solid #ffffff2d;border-radius:18px;background:#230c0e8a;box-shadow:0 28px 70px #0501018f;overflow:hidden;cursor:pointer;backdrop-filter:blur(28px) saturate(145%);transition:transform .55s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}.portrait-card:hover{border-color:#ffb7a099;box-shadow:0 36px 88px #ff301426;transform:translateY(-7px) rotate(1deg)}.portrait-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:11px;filter:saturate(.83) contrast(1.06)}.portrait-card span{position:absolute;right:22px;bottom:22px;left:22px;padding:10px 12px;border:1px solid #ffffff26;border-radius:10px;background:#1606078c;color:#fff7f5;font-size:12px;text-align:left;backdrop-filter:blur(16px)}.chapter{width:min(1120px,calc(100% - 48px));min-height:min(84svh,900px);padding:clamp(94px,12vw,172px) 0;border-top-color:#ffffff1c}.chapter-head{grid-template-columns:minmax(0,1.08fr) minmax(260px,.55fr);gap:clamp(34px,8vw,110px);margin-bottom:clamp(38px,5vw,66px)}.chapter h2{font-size:clamp(44px,5.6vw,78px)}.featured-projects{display:grid;grid-template-columns:1.18fr .91fr .91fr;gap:10px}.feature-project{position:relative;display:flex;min-height:270px;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:26px;border:1px solid #ffffff24;border-radius:16px;background:linear-gradient(145deg,#32100faf,#120709c7);box-shadow:0 18px 55px #00000052;overflow:hidden;transition:transform .55s var(--ease),border-color .45s var(--ease),background .45s var(--ease)}.feature-project:before{position:absolute;inset:auto -10% 67% 30%;height:150px;content:"";border-radius:50%;background:#ff472c2e;filter:blur(28px);pointer-events:none}.feature-project:hover{border-color:#ffb19f85;background:#491411cb;transform:translateY(-8px)}.feature-project>*{position:relative}.feature-index{margin-bottom:auto;color:#ffb5a5;font-size:12px;letter-spacing:.12em}.feature-project strong{max-width:14ch;font-size:clamp(22px,2.4vw,33px);font-weight:500;letter-spacing:-.04em}.feature-project p{max-width:34ch;margin:12px 0 22px;color:#e7ccc5;font-size:14px;line-height:1.6}.feature-project i{border-bottom:1px solid #ffffff75;padding-bottom:5px;color:#fff7f5;font-size:12px;font-style:normal}.atlas-entry{margin-top:10px;border-radius:14px}.education-chapter{position:relative}.timeline{display:grid;grid-template-columns:1fr 1fr;gap:14px}.glass-panel{position:relative;min-height:280px;padding:30px;border:1px solid #ffffff2b;border-radius:16px;background:#260b0e88;box-shadow:0 24px 70px #00000055;overflow:hidden;backdrop-filter:blur(26px) saturate(150%)}.glass-panel:after{position:absolute;top:-90px;right:-70px;width:250px;height:250px;border:1px solid #ffb1a645;border-radius:50%;content:"";box-shadow:0 0 85px #ff4f3326}.timeline-year{margin:0 0 58px;color:#ffb3a2;font-size:12px;letter-spacing:.12em}.glass-panel h3{max-width:17ch;margin:0;font:clamp(27px,3vw,39px)/1 Georgia,"Songti SC",serif;letter-spacing:-.04em}.glass-panel>p:last-child{max-width:32ch;margin:18px 0 0;color:#e3c8c0;font-size:15px;line-height:1.65}.practice-grid{border-top:1px solid #ffffff28}.practice-line{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);gap:54px;padding:27px 2px;border-bottom:1px solid #ffffff1d}.practice-line b{font-size:20px;font-weight:500;letter-spacing:-.025em}.practice-line p{max-width:59ch;margin:0;color:#dec5bf;font-size:15px;line-height:1.7}.contact-scene{display:grid;min-height:78svh;place-items:center;padding:108px 24px 88px}.contact-inner{width:min(900px,100%);padding:clamp(36px,7vw,82px);border:1px solid #ffffff2d;border-radius:22px;background:#210a0c95;box-shadow:0 34px 100px #0000008a;backdrop-filter:blur(34px) saturate(155%)}.contact-inner>p:first-child{margin:0;color:#ffb19f;font-size:13px}.contact-inner h2{margin:20px 0 38px;font:clamp(48px,7vw,92px)/.9 Georgia,"Songti SC",serif;letter-spacing:-.055em}.contact-inner em{font-style:normal;color:#ffb19f}.contact-email{display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid #ffffff8a;padding-bottom:8px;font-size:clamp(19px,2.5vw,29px);letter-spacing:-.025em}.contact-email span{color:#ff9c86}.contact-note{max-width:52ch;margin:25px 0 0;color:#ddc2ba;font-size:14px;line-height:1.65}.reveal{opacity:0;filter:blur(12px);transform:translateY(28px);transition:opacity .72s var(--ease),transform .85s var(--ease),filter .7s var(--ease)}.reveal.is-visible{opacity:1;filter:none;transform:none}.scene:not(.hero){opacity:.55;transform:scale(.985);filter:blur(2px);transition:opacity .75s var(--ease),transform .9s var(--ease),filter .75s var(--ease)}.scene.is-visible{opacity:1;transform:none;filter:none}
@media(min-width:721px){#nav{grid-template-columns:minmax(92px,1fr) 414px 48px 132px;gap:15px}#nav nav{grid-template-columns:repeat(4,1fr);width:414px}#nav .reserve{width:132px}#nav.is-compact{width:780px}}
@media(max-width:720px){.hero{min-height:100svh}.hero-layout{grid-template-columns:1fr;gap:30px}.hero-layout .hero-core{text-align:center}.hero-layout .lede{margin:auto}.hero-layout .hero-facts,.hero-layout .actions{justify-content:center}.portrait-card{justify-self:center;width:min(250px,72vw)}.portrait-card img{aspect-ratio:1.12}.chapter{width:calc(100% - 32px);min-height:auto;padding:88px 0}.chapter-head{grid-template-columns:1fr;gap:16px}.featured-projects,.timeline{grid-template-columns:1fr}.feature-project{min-height:210px}.feature-project:first-child{min-height:245px}.glass-panel{min-height:220px}.timeline-year{margin-bottom:38px}.practice-line{grid-template-columns:1fr;gap:10px;padding:24px 0}.contact-scene{min-height:70svh;padding:72px 16px}.contact-inner{padding:34px 25px}#nav nav{display:none}.reserve{margin-left:auto}.scene:not(.hero){opacity:1;transform:none;filter:none}.reveal{filter:none;transform:translateY(18px)}}

.project-archive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;border-top:1px solid #ffffff20}.project-archive a{display:grid;gap:7px;min-height:112px;padding:20px 14px 18px 0;border-bottom:1px solid #ffffff18;color:#f8e7e2;transition:padding .35s var(--ease),color .3s var(--ease)}.project-archive a:nth-child(3n+2),.project-archive a:nth-child(3n+3){padding-left:16px;border-left:1px solid #ffffff16}.project-archive a:hover{padding-top:14px;color:#ffb19f}.project-archive b{font-size:17px;font-weight:500;letter-spacing:-.02em}.project-archive span{max-width:25ch;color:#d6bab2;font-size:13px;line-height:1.5}.internship-panel{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1fr);gap:clamp(34px,8vw,120px);align-items:end;padding:clamp(30px,5vw,56px);border:1px solid #ffffff2d;border-radius:16px;background:#270c0e8e;box-shadow:0 28px 76px #00000065;backdrop-filter:blur(30px) saturate(155%)}.internship-date{margin:0 0 42px;color:#ffb09f;font-size:12px;letter-spacing:.12em}.internship-panel h3{max-width:12ch;margin:0;font:clamp(32px,4vw,52px)/.98 Georgia,"Songti SC",serif;letter-spacing:-.05em}.internship-org{margin:18px 0 0;color:#f0d2ca;font-size:15px}.internship-detail{max-width:60ch;margin:0;color:#e1c7c0;font-size:16px;line-height:1.76}.internship-chapter{min-height:min(72svh,760px)}

.resume-project{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.56fr);gap:clamp(32px,7vw,104px);align-items:end;margin:14px 0 0;padding:clamp(31px,5vw,56px);border:1px solid #ffffff2c;border-radius:16px;background:#1d090c9c;box-shadow:0 24px 76px #0000005d;backdrop-filter:blur(28px) saturate(145%)}.resume-project p{margin:0;color:#e0c5be;font-size:15px;line-height:1.72}.resume-project>div:first-child>p{margin-bottom:26px;color:#ffb09f;font-size:12px;letter-spacing:.12em}.resume-project h3{max-width:15ch;margin:0;font:clamp(31px,4vw,54px)/.96 Georgia,"Songti SC",serif;letter-spacing:-.05em}.resume-project a{display:inline-block;margin-top:24px;border-bottom:1px solid #ffffff75;padding-bottom:5px;color:#fff6f2;font-size:13px;transition:color .25s var(--ease),transform .25s var(--ease)}.resume-project a:hover{color:#ffb19f;transform:translateX(4px)}.honors-list{border-top:1px solid #ffffff24}.honors-list article{display:grid;grid-template-columns:92px minmax(230px,.85fr) minmax(0,1fr);gap:26px;align-items:baseline;padding:22px 0;border-bottom:1px solid #ffffff1a}.honors-list span{color:#ffb19f;font-size:12px;letter-spacing:.1em}.honors-list b{font-size:18px;font-weight:500;letter-spacing:-.025em}.honors-list p{max-width:42ch;margin:0;color:#dac0b9;font-size:14px;line-height:1.6}.honors-chapter{min-height:min(78svh,860px)}
@media(min-width:921px){#nav{grid-template-columns:minmax(82px,1fr) 600px 48px 100px;gap:11px}#nav nav{grid-template-columns:repeat(6,1fr);width:600px}#nav .reserve{width:100px;font-size:12px}#nav.is-compact{width:910px}}
@media(min-width:721px) and (max-width:920px){#nav{grid-template-columns:minmax(86px,1fr) 48px 112px;gap:14px}#nav nav{display:none}#nav.is-compact{width:calc(100% - 34px)}}
@media(max-width:720px){.project-archive{grid-template-columns:1fr}.project-archive a,.project-archive a:nth-child(3n+2),.project-archive a:nth-child(3n+3){min-height:0;padding:17px 0;border-left:0}.internship-panel,.resume-project{grid-template-columns:1fr;gap:28px;padding:28px 23px}.internship-date{margin-bottom:28px}.internship-detail{font-size:15px}.honors-list article{grid-template-columns:1fr;gap:8px;padding:22px 0}.honors-list b{font-size:18px}}

/* Four-part information architecture and calmer editorial reading rhythm. */
dialog{scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}
dialog::-webkit-scrollbar{display:none;width:0;height:0}
.about-copy{max-width:66ch;font-size:16px;line-height:1.92;letter-spacing:.008em}
.about-copy p{margin:0 0 1.45em}.about-copy p:first-child{font-size:18px;line-height:1.78}
.profile-education{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 34px}.profile-education>div{display:grid;gap:8px;min-height:128px;padding:18px 19px;border:1px solid #ffffff2a;border-radius:14px;background:linear-gradient(135deg,#ffffff12,#ffffff06);box-shadow:inset 0 1px #ffffff18}.profile-education span{color:#ffb19f;font-size:10px;letter-spacing:.13em}.profile-education b{font-size:15px;font-weight:500;line-height:1.42;letter-spacing:-.018em}.profile-education small{margin-top:auto;color:#d6bab3;font-size:12px;line-height:1.55}.profile-highlights{max-width:66ch;margin-top:34px;padding:20px 0 0;border-top:1px solid #ffffff2a;color:#e7cbc4;font-size:15px;line-height:1.82}.profile-highlights p{margin:0}.profile-highlights strong{color:#fff5f1;font-weight:500}
.chapter-head p,.feature-project p,.resume-project p,.project-archive span,.honors-list p,.practice-line p,.contact-note{line-height:1.82}.chapter-head p{font-size:15px;letter-spacing:.005em;text-transform:none}.feature-project p{margin-top:14px;margin-bottom:25px}.project-archive a{gap:9px;min-height:124px;padding-top:23px;padding-bottom:22px}.project-archive span{font-size:13px}.honors-list article{padding:28px 0}.practice-line{padding:33px 2px}.practice-line p{font-size:16px}.contact-note{font-size:15px}
@media(min-width:921px){#nav{grid-template-columns:minmax(112px,1fr) 414px 48px 112px;gap:14px}#nav nav{grid-template-columns:repeat(4,minmax(0,1fr));width:414px}#nav nav a{font-size:12px;letter-spacing:.005em;white-space:nowrap}#nav .reserve{width:112px}#nav.is-compact{width:760px}}
@media(min-width:721px) and (max-width:920px){#nav{grid-template-columns:minmax(88px,1fr) 380px 48px 96px;gap:9px}#nav nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:380px}#nav nav a{font-size:11px;white-space:nowrap}#nav .reserve{width:96px;padding-inline:10px;font-size:11px}#nav.is-compact{width:min(690px,calc(100% - 34px))}}
@media(max-width:720px){.profile-education{grid-template-columns:1fr;margin-bottom:26px}.profile-education>div{min-height:0;padding:16px}.about-copy{font-size:15px;line-height:1.85}.profile-highlights{margin-top:27px;font-size:14px}.chapter-head p,.practice-line p{font-size:14px;line-height:1.8}.project-archive a{min-height:0;padding-top:20px;padding-bottom:20px}.honors-list article{padding:24px 0}}

/* Deep-blue signal palette: one cohesive world for glass, light and active states. */
:root{--bg:#030713;--ink:#f4f8ff;--muted:#bacbe4;--line:#bcd8ff28;--red:#72bcff}
body{background:var(--bg);color:var(--ink)}
::selection{background:#63adff;color:#031020}
.brand span,.hero em,.chapter-head p,.feature-index,.atlas-entry span,.profile-education span,.contact-inner>p:first-child{color:#82c7ff}
.lede,.chapter-head p,.feature-project p,.resume-project p,.project-archive span,.honors-list p,.practice-line p,.contact-note{color:#b9cbe5}
.notice,.hero-facts span{border-color:#c6e3ff2e;background:#0b1c3b96;color:#dceeff}
.primary{background:#e9f5ff;color:#06162f;box-shadow:0 13px 34px #2c92ff2b}.reserve:hover,.primary:hover{box-shadow:0 17px 44px #479cff45}
.quiet-link,.feature-project i,.resume-project a,.atlas-entry i{color:#dceeff;border-color:#bfe1ff9c}
.profile-link{text-decoration-color:#9bd0ff9c}.brand.profile-link::after{background:linear-gradient(90deg,#a9dcffb5,transparent)}.profile-link:hover{color:#f5fbff;text-decoration-color:#f5fbff}
.portrait-card{border-color:#b9ddff3d;background:#071a3b9e;box-shadow:0 28px 76px #010511a8}.portrait-card:hover{border-color:#b7e4ffb8;box-shadow:0 38px 92px #298fff35}.portrait-card span{border-color:#c9e9ff32;background:#06152f9a}
.feature-project{border-color:#b5d8ff30;background:linear-gradient(145deg,#102f699f,#061126d4);box-shadow:0 18px 58px #00071a88}.feature-project:before{background:#4ba8ff3d}.feature-project:hover{border-color:#a8ddff9c;background:#154684d1;box-shadow:0 28px 76px #146de433}
.resume-project{border-color:#b9dcff36;background:#081b3da6;box-shadow:0 26px 80px #010716a8}.resume-project>div:first-child>p,.resume-project a:hover{color:#8acbff}
.atlas-entry{border-color:#b8dcff32;background:linear-gradient(105deg,#103a78bd,#06152da8)}.atlas-entry:hover{background:#16519ad4}
.project-archive{border-top-color:#bddcff36}.project-archive a{border-bottom-color:#bddcff24;color:#eef7ff}.project-archive a:nth-child(3n+2),.project-archive a:nth-child(3n+3){border-left-color:#bddcff20}.project-archive a:hover{color:#9ed7ff}
.honors-list{border-top-color:#bddcff36}.honors-list article{border-bottom-color:#bddcff22}.honors-list span{color:#83c8ff}.practice-grid{border-top-color:#bddcff35}.practice-line{border-bottom-color:#bddcff22}
.contact-inner{border-color:#c3e2ff3b;background:#071b3fa8;box-shadow:0 36px 108px #010511b8}.contact-inner em,.contact-email span{color:#82c7ff}.contact-email{border-color:#bfe2ffa8}.sheet-overline{color:#85caff}.profile-education>div{border-color:#c4e4ff30;background:linear-gradient(135deg,#b8e0ff17,#78bfff08)}.profile-highlights{border-top-color:#c4e4ff2b;color:#c7d9ee}
dialog{border-color:#c3e6ff40;background:#071b3fe3;box-shadow:0 34px 126px #010511cf}dialog::backdrop{background:#020611c2}.sheet-close{border-color:#c5e4ff42;background:#b9e0ff14}.about-copy{color:#d5e5f7}.about-copy p:first-child,.profile-highlights strong{color:#f1f8ff}
@media(prefers-reduced-motion:no-preference){.feature-project:before{animation:signal-bloom 6.5s ease-in-out infinite}.atlas-entry{background-size:180% 100%;animation:atlas-current 10s ease-in-out infinite}}
@keyframes signal-bloom{0%,100%{transform:translate3d(-7%,0,0);opacity:.42}50%{transform:translate3d(8%,15%,0);opacity:.88}}
@keyframes atlas-current{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.custom-projects{display:contents}

/* Project search stays visually quiet until the visitor needs it. */
.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}.work-chapter .chapter-head{position:relative;padding-right:58px}.project-search{position:absolute;right:0;bottom:0;z-index:3;display:flex;align-items:center;width:42px;height:42px;border:1px solid #ffffff28;border-radius:16px;background:#16090b80;box-shadow:0 14px 34px #00000020;backdrop-filter:blur(22px) saturate(125%);overflow:visible;transition:width .6s var(--ease),border-color .35s var(--ease),background .35s var(--ease)}.project-search.is-open{width:min(310px,calc(100vw - 32px));border-color:#bfe6ff55;background:#16090be8}.project-search-toggle{display:grid;flex:0 0 40px;place-items:center;width:40px;height:40px;border:0;border-radius:15px;background:transparent;color:#f3f9ff;cursor:pointer}.project-search-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.project-search-toggle:hover{background:#ffffff12}.project-search-toggle:focus-visible,.project-search input:focus-visible,.project-search-field button:focus-visible{outline:2px solid #9fdbff;outline-offset:3px}.project-search-field{display:flex;align-items:center;min-width:0;flex:1;max-width:0;opacity:0;transform:translateX(8px);pointer-events:none;transition:max-width .6s var(--ease),opacity .25s var(--ease),transform .6s var(--ease)}.project-search.is-open .project-search-field{max-width:265px;opacity:1;transform:translateX(0);pointer-events:auto}.project-search input{width:100%;min-width:0;height:40px;border:0;background:transparent;color:#f3f9ff;padding:0 38px 0 2px;font:inherit;font-size:14px;outline:0}.project-search input::placeholder{color:#9bb1ca}.project-search-field button{position:absolute;right:6px;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:9px;background:#bfe6ff16;color:#dff2ff;font:20px/1 sans-serif;cursor:pointer}.project-search-field button[hidden]{display:none}.project-search-field button:hover{background:#bfe6ff2b}.project-search>p{position:absolute;top:49px;right:0;width:max-content;max-width:min(310px,calc(100vw - 32px));margin:0;border:1px solid #bddcff20;border-radius:9px;background:#081a35ee;padding:7px 10px;color:#c7daee;font-size:12px;line-height:1.45;box-shadow:0 10px 26px #0005}.project-archive a[hidden],.featured-projects>a[hidden],.resume-project[hidden]{display:none}@media(max-width:720px){.work-chapter .chapter-head{padding-right:50px}.project-search{bottom:0}.project-search.is-open{width:min(292px,calc(100vw - 32px))}.project-search input{height:42px;font-size:16px}.project-search-toggle{height:40px}.project-search>p{max-width:min(292px,calc(100vw - 32px))}}
.work-chapter .chapter-head>p{display:none}.work-chapter .chapter-head{padding-right:0}.project-search{right:133px;bottom:0;width:44px;height:44px;border-color:#ffffff20;border-radius:50%;background:#16090b80;box-shadow:none;transition:right .6s var(--ease),width .6s var(--ease),height .6s var(--ease),border-radius .6s var(--ease),border-color .35s var(--ease),background .35s var(--ease)}.project-search.is-open{right:0;width:310px;height:58px;border-color:#ffffff20;border-radius:18px;background:#16090b80}.project-search:has(input:focus-visible){border-color:#ffffff55;box-shadow:0 0 0 1px #ffffff20}.project-search-toggle{flex-basis:44px;width:44px;height:44px;border-radius:50%}.project-search-toggle:hover{background:#ffffff0c}.project-search-toggle:focus-visible,.project-search input:focus-visible,.project-search-field button:focus-visible{outline:0}.project-search-field{transform:translateX(0);transition:max-width .6s var(--ease),opacity .3s var(--ease)}.project-search.is-open .project-search-field{max-width:260px}.project-search input{height:56px;padding-left:4px;padding-right:40px}.project-search>p{top:65px;right:0}.project-search-field button{right:10px;background:#ffffff12}@media(max-width:720px){.work-chapter .chapter-head{padding-right:0}.project-search{right:124px}.project-search.is-open{right:0;width:292px;height:58px}.project-search input{height:56px}.project-search-toggle{width:44px;height:44px}.project-search>p{max-width:292px;top:65px}}
.work-chapter .chapter-head{display:block;padding:0 0 68px;margin-bottom:28px}.work-chapter .chapter-head>p{display:block;max-width:46ch;margin:17px 0 0;color:var(--muted);font-size:15px;line-height:1.7}.project-search{right:0;bottom:0;width:44px;height:44px;border-radius:50%;background:#16090b80;box-shadow:inset 0 1px 0 #ffffff14;transition:width .48s var(--ease),height .48s var(--ease),border-radius .48s var(--ease),background .3s var(--ease)}.project-search.is-open{right:0;width:306px;height:52px;border-radius:18px;background:#16090b80}.project-search-toggle{order:2;flex-basis:44px;width:44px;height:44px}.project-search-field{position:relative;order:1}.project-search.is-open .project-search-field{max-width:252px}.project-search input{height:50px;padding:0 38px 0 15px}.project-search-field button{right:8px}.project-search>p{top:59px}.project-search:has(input:focus-visible){border-color:#ffffff45;box-shadow:inset 0 1px 0 #ffffff1c}@media(max-width:720px){.work-chapter .chapter-head{padding-bottom:66px;margin-bottom:24px}.work-chapter .chapter-head>p{max-width:34ch;font-size:14px;line-height:1.75}.project-search{right:0}.project-search.is-open{right:0;width:min(292px,calc(100vw - 32px));height:52px}.project-search input{height:50px}.project-search>p{top:59px;max-width:min(292px,calc(100vw - 32px))}}
