@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";:root{--ink:#09090b;--charcoal:#111114;--paper:#e9e4d8;--muted:#9b9790;--crimson:#a91832;--line:#e9e4d829;--soft-line:#e9e4d814;color:var(--paper);background:var(--ink);font-synthesis:none;font-family:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);margin:0;overflow-x:hidden}button,a{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}.site-shell{min-height:100vh;position:relative}.atmosphere{z-index:0;pointer-events:none;opacity:.8;position:fixed;inset:0}.progress-line{background:var(--crimson);transform-origin:0;z-index:20;width:100%;height:3px;position:fixed;top:0;left:0}.topbar{z-index:10;letter-spacing:.13em;background:linear-gradient(#09090be6,#0000);justify-content:space-between;align-items:center;width:100%;height:88px;padding:28px 4.5vw;font-family:DM Mono,monospace;font-size:10px;display:flex;position:fixed;top:0;left:0}.wordmark{text-align:left;letter-spacing:.08em;align-items:center;gap:12px;font-size:9px;line-height:1.15;display:flex}.wordmark span{border:1px solid var(--crimson);color:#d9a3a9;border-radius:50%;place-items:center;width:28px;height:28px;font-family:Playfair Display,serif;font-size:12px;display:grid}.wordmark b{font-weight:500}.topbar-meta{color:var(--muted);align-items:center;gap:14px;display:flex}.status-dot{background:#c83c4c;border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px #c83c4c}.topbar-rule{background:var(--line);width:44px;height:1px}.menu-toggle{letter-spacing:.13em;color:var(--paper)}.menu-toggle i{color:var(--crimson);margin-left:8px;font-size:18px;font-style:normal}.chapter-nav{z-index:9;flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed;top:50%;right:4.5vw;transform:translateY(-50%)}.chapter-nav button{letter-spacing:.12em;color:#6f6c68;align-items:center;gap:10px;font-family:DM Mono,monospace;font-size:9px;transition:color .3s;display:flex}.chapter-nav button span{opacity:.6;font-size:8px}.chapter-nav button.active{color:var(--paper)}.chapter-nav button.active span{color:var(--crimson)}.nav-caption{display:none}.skip-link{z-index:30;background:var(--paper);color:var(--ink);padding:10px 15px;font-size:12px;position:fixed;top:0;left:16px;transform:translateY(-120%)}.skip-link:focus{transform:none}main{z-index:1;position:relative}.section-wrap{width:min(1160px,100% - 16vw);margin:auto}.hero{align-items:center;min-height:100vh;padding:150px 0 90px;display:flex;position:relative}.hero-copy{max-width:720px;margin-left:8%}.kicker,.eyebrow,.section-index,.date,.project-meta,.tech-list,.exp-aside,.skill-note,.contact-links span,footer,.visual-code,.visual-label,.history-note span,.course span,.education-fact small{text-transform:uppercase;letter-spacing:.12em;font-family:DM Mono,monospace;font-size:10px}.kicker{color:var(--muted);margin-bottom:30px}.kicker span{color:var(--crimson);padding:0 8px}.hero h1{letter-spacing:-.08em;margin:0 0 38px;font-size:clamp(66px,11vw,152px);font-weight:500;line-height:.82}.hero h1 .line-accent{position:relative}.hero h1 .line-accent:after{content:"";background:var(--crimson);width:67%;height:1px;position:absolute;bottom:5px;left:3px}h1 em,h2 em{letter-spacing:-.06em;font-family:Playfair Display,serif;font-weight:500}.hero-intro{color:#bcb7ac;max-width:480px;font-size:clamp(16px,1.8vw,21px);line-height:1.55}.hero-intro strong{color:var(--paper);font-weight:600}.hero-actions{align-items:center;gap:28px;margin-top:42px;display:flex}.button-primary{background:var(--crimson);letter-spacing:.1em;text-transform:uppercase;padding:15px 20px;font-family:DM Mono,monospace;font-size:10px;transition:background .25s,transform .25s}.button-primary:hover{background:#c32946;transform:translateY(-2px)}.button-primary span{margin-left:25px;font-size:16px}.text-link{color:#bcb7ac;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line);padding-bottom:8px;font-family:DM Mono,monospace;font-size:10px}.text-link span{color:var(--crimson);margin-left:10px}.hero-mark{color:#a9183257;border:1px solid #a9183266;border-radius:50%;place-items:center;width:250px;height:250px;font-family:Playfair Display,serif;font-size:56px;line-height:.7;display:grid;position:absolute;top:25%;right:14%;transform:rotate(-24deg)}.hero-mark:before,.hero-mark:after{content:"";border:1px solid #a918323d;border-radius:50%;position:absolute}.hero-mark:before{inset:25px}.hero-mark:after{border-style:dashed;inset:-28px}.hero-footer{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;font-family:DM Mono,monospace;font-size:9px;display:flex;position:absolute;bottom:38px;left:0;right:0}.hero-footer i{color:var(--crimson);padding:0 8px;font-style:normal}.scroll-arrow{color:var(--crimson);font-size:17px}.section-wrap:not(.hero){padding:150px 0}.section-heading{align-items:flex-start;gap:26px;margin-bottom:72px;display:flex}.section-index{color:var(--crimson);padding-top:7px}.section-heading h2{letter-spacing:-.06em;margin:10px 0 0;font-size:clamp(34px,5vw,64px);font-weight:500;line-height:1}.eyebrow{color:var(--crimson);margin:0}.about{border-top:1px solid var(--soft-line)}.about-grid{grid-template-columns:1.2fr .8fr;gap:10%;padding-left:8%;display:grid}.statement{letter-spacing:-.05em;margin:0;font-size:clamp(30px,4.2vw,56px);line-height:1.13}.statement span{color:#c8c1b2;font-family:Playfair Display,serif;font-style:italic}.about-detail{border-left:1px solid var(--crimson);color:#a7a199;padding:7px 0 0 30px;font-size:14px;line-height:1.7}.about-detail p{margin:0 0 20px}.signature{color:var(--paper);margin-top:40px;font-family:Playfair Display,serif;font-size:27px}.signature span{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:6px;font:10px DM Mono,monospace;display:block}.experience{background:linear-gradient(90deg,#0000 0 9%,#ffffff05 9% 9.15%,#0000 9.15%)}.experience-card{border-top:1px solid var(--line);grid-template-columns:130px 1fr;max-width:900px;margin-left:8%;padding-top:30px;display:grid}.exp-aside{color:var(--muted);flex-direction:column;align-items:flex-start;gap:16px;display:flex}.exp-aside .exp-year:first-child{color:var(--crimson)}.exp-line{background:var(--line);width:1px;height:60px;margin-left:4px}.exp-body{max-width:680px}.exp-heading{position:relative}.exp-heading h3{letter-spacing:-.05em;margin:8px 0;font-size:30px}.date{color:var(--muted)}.exp-body>p,.exp-body li{color:#aaa69d;font-size:14px;line-height:1.65}.exp-body ul{gap:12px;margin:30px 0;padding:0;list-style:none;display:grid}.exp-body li{padding-left:25px;position:relative}.exp-body li:before{content:"—";color:var(--crimson);position:absolute;left:0}.project-list{gap:120px;display:grid}.project{grid-template-columns:1fr 1fr;align-items:center;gap:9%;display:grid}.project:nth-child(2n){direction:rtl}.project:nth-child(2n)>*{direction:ltr}.project-visual{border:1px solid var(--soft-line);background:#151519;height:370px;position:relative;overflow:hidden}.project-visual:before{content:"";aspect-ratio:1;filter:blur(8px);opacity:.75;background:radial-gradient(circle,#a91832 0%,#a9183240 35%,#0000 67%);border-radius:50%;width:58%;position:absolute;top:10%;left:22%}.project-violet .project-visual:before{background:radial-gradient(circle,#60457d,#60457d29 40%,#0000 68%)}.project-gold .project-visual:before{background:radial-gradient(circle,#b08d4a,#b08d4a26 40%,#0000 68%)}.project-blue .project-visual:before{background:radial-gradient(circle,#375773,#37577329 40%,#0000 68%)}.project-ember .project-visual:before{background:radial-gradient(circle,#8f4a31,#8f4a312b 40%,#0000 68%)}.visual-ring{border:1px solid #e9e4d840;border-radius:50%;position:absolute;inset:17%;box-shadow:0 0 0 28px #e9e4d806,0 0 0 56px #e9e4d805}.visual-grid{background-color:#0000;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000,#0000);mask-image:linear-gradient(#0000,#000,#0000)}.visual-code{color:var(--paper);position:absolute;top:22px;left:22px}.visual-label{color:var(--muted);text-align:right;line-height:1.5;position:absolute;bottom:22px;right:22px}.project-copy h3{letter-spacing:-.07em;margin:13px 0 20px;font-size:clamp(32px,4vw,52px);font-weight:500;line-height:.95}.project-copy>p:not(.eyebrow):not(.project-role){color:#aaa69d;max-width:420px;font-size:14px;line-height:1.7}.project-role{text-transform:uppercase;letter-spacing:.1em;color:var(--paper);margin:28px 0;font-family:DM Mono,monospace;font-size:9px}.project-meta{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;padding-bottom:12px;display:flex}.project-meta span:first-child{color:var(--crimson)}.tech-list{flex-wrap:wrap;gap:8px;display:flex}.tech-list span{border:1px solid var(--line);color:#8e8b85;padding:7px 9px;font-size:8px}.skills{border-top:1px solid var(--soft-line)}.skills-grid{grid-template-columns:1.1fr 1fr 1.5fr;gap:45px;padding-left:8%;display:grid}.skill-hero{border-right:1px solid var(--line);grid-row:span 2;padding-right:45px}.big-quote{color:var(--crimson);font-family:Playfair Display,serif;font-size:100px;line-height:.5}.skill-hero p{font:italic 29px/1.25 Playfair Display,serif}.skill-note{color:var(--muted)}.skill-group h3{margin:0 0 18px;font-size:16px;font-weight:500}.skill-group>div{flex-wrap:wrap;gap:8px;display:flex}.skill-group span{color:#a9a49a;border-bottom:1px solid var(--soft-line);margin-right:6px;padding:6px 0;font-family:DM Mono,monospace;font-size:10px}.learning{border-top:1px solid var(--soft-line)}.learning-grid{grid-template-columns:1fr 1.2fr;gap:12%;padding-left:8%;display:grid}.award{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:28px 0;display:flex}.award-badge{border:1px solid var(--crimson);width:52px;height:52px;color:var(--crimson);place-items:center;font-size:24px;display:grid}.award h3{margin:0;font:italic 29px Playfair Display,serif}.award p{margin:5px 0;font-size:14px}.award span:last-child{color:var(--muted);font:10px DM Mono,monospace}.history-note{border-left:1px solid var(--line);color:#aaa69d;margin-top:40px;padding:18px 0 0 20px;font-size:13px;line-height:1.6}.history-note span{color:var(--muted)}.coursework{grid-template-columns:1fr 1fr;gap:0 28px;display:grid}.coursework>.eyebrow{grid-column:1/-1;margin-bottom:10px}.course{border-top:1px solid var(--line);padding:17px 0 14px}.course h3{margin:0 0 8px;font-size:13px;font-weight:600;line-height:1.3}.course span{color:var(--crimson);font-size:8px}.course p{color:#85817b;margin:8px 0;font-size:11px;line-height:1.5}.education{color:var(--ink);background:#ded9ce;width:100%;max-width:none;padding-left:12vw!important;padding-right:12vw!important}.education-inner{justify-content:space-between;align-items:center;max-width:1160px;margin:auto;display:flex}.education .eyebrow{color:#8e1a2d}.education h2{letter-spacing:-.07em;margin:17px 0 0;font-size:clamp(45px,7vw,92px);font-weight:500;line-height:.9}.education-fact{text-align:right}.education-fact>span{color:#8e1a2d;font:10px DM Mono,monospace}.education-fact p{margin:5px 0 20px;font:italic 25px Playfair Display,serif}.education-fact strong{letter-spacing:-.08em;font-size:50px;font-weight:500}.education-fact strong span{color:#8b867c;font-size:20px}.education-fact small{color:#8b867c;margin-top:4px;display:block}.contact{padding-bottom:35px!important}.contact-top{justify-content:space-between;display:flex}.contact-kanji{color:#a9183280;font:150px/.7 Playfair Display,serif}.contact-lede{letter-spacing:-.05em;max-width:780px;margin:0 0 70px;padding-left:8%;font-size:clamp(27px,4vw,52px);line-height:1.1}.contact-links{border-top:1px solid var(--line);max-width:780px;margin-left:8%}.contact-links a{border-bottom:1px solid var(--line);color:#c2bdb2;grid-template-columns:110px 1fr 30px;padding:17px 0;font-size:14px;transition:color .2s,padding .2s;display:grid}.contact-links a:hover{color:var(--paper);padding-left:8px}.contact-links span{color:var(--crimson);font-size:9px}.contact-links b{color:var(--crimson);font-weight:400}footer{border-top:1px solid var(--soft-line);color:#65625d;justify-content:space-between;margin-top:120px;padding-top:23px;display:flex}footer button{color:#aaa69d;text-transform:uppercase;letter-spacing:.12em;font-size:9px}@media (width<=800px){.topbar{height:72px;padding:20px 5vw}.topbar-meta{display:none}.chapter-nav{border:1px solid var(--line);background:#111114f7;gap:13px;padding:18px 22px;display:none;top:72px;right:5vw;transform:none}.chapter-nav.is-open{display:flex}.nav-caption{color:var(--crimson);text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px;font:9px DM Mono,monospace;display:block}.section-wrap{width:min(100% - 10vw,600px)}.hero{min-height:740px;padding-top:130px}.hero-copy{margin-left:0}.hero-mark{opacity:.6;width:220px;height:220px;top:22%;right:-70px}.hero h1{font-size:clamp(63px,19vw,125px)}.hero-intro{max-width:340px}.hero-footer{bottom:25px}.section-wrap:not(.hero){padding:100px 0}.section-heading{gap:14px;margin-bottom:45px}.section-heading h2{font-size:42px}.about-grid,.learning-grid{grid-template-columns:1fr;gap:40px;padding-left:0}.about-detail{padding-left:20px}.experience-card{grid-template-columns:65px 1fr;margin-left:0}.project-list{gap:75px}.project,.project:nth-child(2n){direction:ltr;grid-template-columns:1fr;gap:28px}.project-visual{height:280px}.project-copy h3{font-size:40px}.skills-grid{grid-template-columns:1fr 1fr;gap:28px 20px;padding-left:0}.skill-hero{border-right:0;border-bottom:1px solid var(--line);grid-area:auto/1/auto/-1;padding:0 0 25px}.coursework{gap:0 16px}.education{padding-left:5vw!important;padding-right:5vw!important}.education-inner{align-items:flex-start;gap:30px}.education h2{font-size:47px}.education-fact strong{font-size:36px}.contact-lede,.contact-links{margin-left:0;padding-left:0}.contact-kanji{font-size:100px}.contact-links a{grid-template-columns:80px 1fr 20px;font-size:12px}footer{flex-wrap:wrap;gap:15px;margin-top:80px}.atmosphere{opacity:.5}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.atmosphere{display:none}*{transition:none!important}}:focus-visible{outline-offset:4px;outline:2px solid #dc5366}
