@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800;900&family=Noto+Serif+SC:wght@400;500;600&family=Cormorant+Garamond:wght@400;500;600&display=swap');
:root{--red:#7d2938;--ink:#161616;--paper:#ffffff;--white:#fff;--gray:#68686a;--line:#e5e4e4;--font:'Manrope','Noto Sans SC',sans-serif;--display:'Barlow Condensed','Arial Narrow',sans-serif;--pad:clamp(24px,6.1vw,104px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.7 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}::selection{background:var(--red);color:white}h1,h2,h3,h4,p,figure{margin:0}button{border:0}img{display:block;max-width:100%}.skip{position:fixed;top:-80px;left:20px;z-index:1000;padding:12px;background:var(--ink);color:white}.skip:focus{top:12px}
.header{height:88px;position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:35px;padding:0 var(--pad);background:rgba(250,249,246,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.wordmark{display:flex;align-items:center;font-weight:900;font-size:25px;letter-spacing:-1px;white-space:nowrap}.brand-star{font-size:40px;line-height:1;color:var(--red);margin-right:10px}.brand-dot{color:var(--red)}.header nav{display:flex;gap:clamp(16px,2vw,33px);margin:auto;font-size:14px;font-weight:600;white-space:nowrap}.header nav a{position:relative;padding:32px 0;transition:color .2s}.header nav a:hover,.header nav a.active{color:var(--red)}.header nav a.active:after{content:'';position:absolute;bottom:22px;left:0;right:0;height:2px;background:var(--red)}.resume-link{border:1px solid var(--ink);padding:9px 17px;font-size:13px;white-space:nowrap;font-weight:700}.resume-link span{margin-left:15px;font-size:18px}.menu-toggle{display:none}.hero{padding:0 var(--pad);overflow:hidden}.hero-overline{display:flex;justify-content:space-between;padding:20px 0 0;font-size:11px;letter-spacing:1.4px;font-weight:700}.hero-grid{min-height:659px;display:grid;grid-template-columns:1.08fr 1fr;gap:32px;align-items:center;padding:47px 0 57px}.eyebrow{display:flex;gap:10px;align-items:center;font-size:12px;letter-spacing:1px;font-weight:700}.red-tick{width:22px;height:2px;background:var(--red)}h1{margin:27px 0 24px;font-weight:900;letter-spacing:-5px;line-height:1.13}.hello{display:block;font-size:clamp(38px,4.4vw,68px);letter-spacing:-2px;font-weight:700;margin-bottom:9px}.name{font-size:clamp(72px,7.8vw,124px);white-space:nowrap}.red-period{color:var(--red);margin-left:2px}.role{font-size:clamp(17px,1.8vw,26px);display:flex;gap:18px;align-items:center;font-weight:700}.role>span:first-child{color:var(--red)}.role-plus{font-weight:400;color:#999}.role>span:last-child{font-size:1.05em;letter-spacing:-.5px}.hero-description{color:var(--gray);font-size:15px;line-height:1.95;margin:25px 0 18px}.tags{display:flex;gap:9px;flex-wrap:wrap}.tags span{font-size:12px;padding:3px 11px;border:1px solid #cccac5;border-radius:2px}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:38px;padding:13px 23px;font-weight:600;font-size:14px;min-height:50px;border:1px solid transparent;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button>span{font-size:22px;font-weight:400;line-height:1}.button-red{color:white;background:var(--red)}.button-red:hover{background:#65212e}.text-link{font-size:14px;font-weight:700;display:inline-flex;gap:25px;align-items:center;padding:8px 0;border-bottom:1px solid var(--ink)}.text-link>span{font-size:22px}.portrait-stage{height:545px;position:relative;margin-left:15px;margin-right:30px}.portrait-red{position:absolute;inset:17px -6px 16px 30px;background:var(--red);transform:rotate(5deg)}.portrait-outline{position:absolute;inset:27px 12px 0 6px;border:1px solid var(--ink);transform:rotate(-5deg)}.portrait{position:absolute;inset:0 16px 26px 25px;background:white;border:8px solid white;transform:rotate(-4deg);box-shadow:0 8px 25px #0000000c;overflow:hidden}.portrait>img{width:100%;height:calc(100% - 29px);object-fit:cover;object-position:50% 34%;filter:none;transition:filter .6s}.portrait:hover>img{filter:none}.portrait figcaption{height:29px;display:flex;align-items:center;justify-content:space-between;padding:8px 3px 0;font-size:9px;letter-spacing:.7px;font-weight:700;gap:10px}.portrait-star{position:absolute;left:-6px;top:-20px;font-size:103px;line-height:1;color:var(--red);transform:rotate(-12deg);text-shadow:2px 2px 0 var(--paper)}.now-label{position:absolute;right:-38px;bottom:57px;padding:17px 22px;background:var(--ink);color:white;transform:rotate(3deg);min-width:207px;box-shadow:5px 5px 0 var(--paper)}.now-label>span{font-size:10px;letter-spacing:1px;color:#d8d8d8}.now-label strong{display:flex;justify-content:space-between;align-items:center;font-size:24px;letter-spacing:-.5px;line-height:1.8}.now-label strong span{color:#7d2938}.now-label small{font-size:11px;color:#bdbdbd}.portrait-side{position:absolute;right:-53px;top:21%;writing-mode:vertical-rl;font-size:10px;letter-spacing:1.6px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0;font-size:11px;letter-spacing:1px}.hero-bottom>a{font-size:12px;letter-spacing:0;display:flex;gap:20px;align-items:center}.hero-bottom>a span{font-size:22px;color:var(--red)}.hero-bottom>span:first-child{color:var(--gray)}.ticker{background:var(--ink);color:var(--paper);overflow:hidden;padding:16px 0;white-space:nowrap;border-bottom:6px solid var(--red)}.ticker>div{font:700 42px/1.2 var(--display);letter-spacing:-.3px;word-spacing:7px;animation:marquee 35s linear infinite;width:max-content}.ticker span{color:#7d2938}.ticker b{color:var(--red);font-size:40px;margin:0 32px}.section{padding:93px var(--pad) 102px;scroll-margin-top:0}.section-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:19px}.section-index{font-size:12px;font-weight:700;letter-spacing:1.3px}.section-index:before{content:'+';font-size:18px;margin-right:13px;color:var(--red)}.micro{font-size:11px;letter-spacing:1px;color:var(--gray)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:38px 0 49px}h2{font-weight:800;font-size:clamp(34px,4.2vw,66px);line-height:1.28;letter-spacing:-2px}h2 span{color:var(--red)}.section-heading>p{font-size:14px;color:var(--gray);line-height:1.9;padding-bottom:5px}.school-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.school-card{border-bottom:1px solid var(--line);padding-bottom:25px}.school-photo{height:285px;position:relative;overflow:hidden;background:#e8e7e2}.school-photo>img:first-child{height:100%;width:100%;object-fit:cover;filter:none;transition:filter .5s,transform .7s}.school-card:hover .school-photo>img:first-child{filter:none;transform:scale(1.03)}.school-number{position:absolute;top:14px;left:17px;background:var(--paper);width:35px;height:35px;display:grid;place-items:center;font-size:12px;font-weight:700}.school-photo .school-seal{position:absolute;bottom:18px;right:20px;width:60px;height:60px;object-fit:contain;border-radius:50%;background:white;border:7px solid white;filter:none}.school-body{position:relative;padding:25px 0 0}.date{font-size:12px;letter-spacing:.4px;font-weight:600;color:var(--red)}.school-body h3{font-size:29px;font-weight:700;margin-top:8px;letter-spacing:-.8px}.school-en{font-size:11px;color:var(--gray);letter-spacing:1.7px}.school-body p{font-size:12px;color:var(--gray);margin-top:15px}.experience{background:#ffffff}.experience .section-heading{margin-bottom:45px}.career-row{display:grid;grid-template-columns:24% 1fr 17%;gap:35px;border-top:1px solid #e5e4e4;padding:40px 0}.career-row:last-child{border-bottom:1px solid #e5e4e4}.career-no{display:block;color:#92908b;font-size:12px;margin-bottom:20px}.career-meta h3{font-size:29px;margin:8px 0 5px;letter-spacing:-.5px}.career-meta p{font-size:13px;color:var(--gray)}.career-detail{padding-top:32px}.career-detail h4{font-size:18px;font-weight:600;line-height:1.65;margin-bottom:13px}.career-detail>p{font-size:14px;color:var(--gray);line-height:1.95;max-width:530px}.career-tags{display:flex;gap:20px;font-size:11px;font-weight:500;margin-top:17px}.career-tags span:before{content:'#';color:var(--red);margin-right:4px}.career-result{padding-top:28px;text-align:right}.career-result strong{font:600 86px/1.1 var(--display);color:var(--red);letter-spacing:-2px;white-space:nowrap}.career-result strong span{font-size:27px;margin-left:5px;letter-spacing:-1px}.career-result p{font-size:12px;font-weight:600;margin-top:7px}.career-result small{font-size:11px;color:var(--gray)}details{margin-top:23px}summary{display:flex;align-items:center;gap:20px;list-style:none;cursor:pointer;font-size:12px;font-weight:600;width:fit-content}summary::-webkit-details-marker{display:none}summary>span{color:var(--red);font-size:18px;transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}.career-expanded{font-size:14px;color:var(--gray);padding-top:17px}.career-expanded p+p{margin-top:10px}.work{background:var(--ink);color:var(--paper)}.work .section-top{border-color:#40403e}.work .micro{color:#999}.work .text-link{border-color:#777}.project{display:grid;grid-template-columns:1.06fr 1fr;gap:65px;align-items:center;margin-top:57px}.project-visual{background:#272726;padding:32px;position:relative}.project-poster{background:var(--red);color:var(--paper);padding:27px 34px;transform:rotate(-3deg);box-shadow:9px 9px 0 #121212}.poster-top{display:flex;justify-content:space-between;font-size:10px;align-items:center;letter-spacing:.5px}.poster-top>span:last-child{font-size:32px;line-height:1}.project-poster h3{font-size:clamp(52px,6.2vw,94px);font-weight:900;line-height:1.15;letter-spacing:-4px;margin:25px 0 11px}.project-poster h3 span{color:var(--ink)}.project-poster>p{font-size:17px;letter-spacing:3px;font-weight:500}.poster-divider{height:1px;background:#ffffff70;margin:28px 0 15px}.poster-flow{display:flex;justify-content:space-between;align-items:center;gap:10px}.poster-flow>span{font-size:10px;display:flex;flex-direction:column}.poster-flow strong{font:600 48px/1 var(--display);letter-spacing:-1px;margin-bottom:7px}.poster-flow i{font-style:normal}.poster-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:26px;font-size:10px;letter-spacing:.5px}.poster-bottom>span:last-child{font-size:33px}.project-copy>.section-index{color:#d0d0cb}.project-copy h3{font-size:39px;font-weight:700;letter-spacing:-1px;margin:20px 0 9px}.project-subtitle{color:white!important;font-size:17px!important;margin-bottom:20px}.project-copy>p{color:#b4b4ae;font-size:14px;line-height:1.9;max-width:450px}.project-tech{display:flex;gap:10px;margin:22px 0}.project-tech>span{font-size:11px;border:1px solid #50504d;padding:3px 10px}.project-features{padding:0;list-style:none;margin:25px 0 29px;font-size:12px;color:#b4b4ae}.project-features li{margin:9px 0;display:flex;gap:10px}.project-features li:before{content:'+';color:#7d2938}.button-white{background:var(--paper);color:var(--ink)}.project-caption{display:block;font-size:10px;color:#999;margin-top:14px}.skills-table{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:50px 90px 22px;border:1px solid var(--line);background:#fcfbfb}.deck-side{display:flex;align-items:center;flex-direction:column;justify-content:center}.deck{position:relative;width:240px;height:322px;margin-bottom:47px}.deck>div{position:absolute;inset:0;background:var(--red);border:1px solid var(--ink)}.deck>div:nth-child(1){transform:rotate(-13deg);background:#6b2632}.deck>div:nth-child(2){transform:rotate(9deg);background:#a26973}.deck>div:nth-child(3){transform:rotate(-3deg);padding:22px;display:flex;flex-direction:column;color:white;box-shadow:3px 5px 0 #16161625}.deck>div:nth-child(3):after{content:'';position:absolute;inset:9px;border:1px solid #ffffff60;pointer-events:none}.deck span{font-size:11px;letter-spacing:1px}.deck b{font-size:92px;line-height:1.35;font-weight:400;align-self:center;margin-top:12px}.deck strong{font:700 43px/.95 var(--display);letter-spacing:-.5px;align-self:center;text-align:center}.deck small{font-size:9px;letter-spacing:1px;text-align:center;margin-top:auto}.button-dark{background:var(--ink);color:white}.deck-caption{font-size:11px;margin-top:13px;color:var(--gray)}.drawn-side{max-width:355px;width:100%;justify-self:center}.drawn-card{padding:0;background:transparent;position:relative;width:100%;height:452px;text-align:left;perspective:1200px}.card-front,.card-back{padding:25px;position:absolute;inset:0;background:var(--paper);border:1px solid var(--ink);box-shadow:7px 7px 0 var(--ink);display:flex;flex-direction:column;transition:transform .65s;backface-visibility:hidden}.card-front{transform:rotateY(0deg)}.card-back{transform:rotateY(180deg);background:var(--red);color:white}.drawn-card.flipped .card-front{transform:rotateY(-180deg)}.drawn-card.flipped .card-back{transform:rotateY(0)}.card-top{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:1px;font-weight:600}.card-symbol{position:relative;display:flex;align-items:center;justify-content:center;margin:22px 0 17px;min-height:190px;font-family:var(--display);font-weight:700;font-size:128px;letter-spacing:-8px;color:var(--red);border-bottom:1px solid var(--line);line-height:1.3}.card-symbol>span{font-family:var(--font);font-size:51px;letter-spacing:0;align-self:flex-start;margin-top:8px}.card-title{font-size:27px;font-weight:700;margin-top:auto;line-height:1.4}.card-tags{font-size:11px;color:var(--gray);margin-top:7px}.card-hint{font-size:11px;color:var(--gray);display:flex;justify-content:space-between;margin-top:28px}.card-hint>span{font-size:20px}.card-back>strong{font-size:30px;line-height:1.5;margin:45px 0 23px}.card-back>span:nth-last-child(2){font-size:16px;line-height:1.9}.card-back .card-hint{margin-top:auto;color:white}.card-pagination{display:flex;align-items:center;gap:17px;justify-content:center;font-size:12px;margin:28px 0}.card-pagination>div{width:80px;height:1px;background:#c4c2bd}.card-pagination i{display:block;width:16.666%;height:2px;background:var(--red);transition:width .3s}.contact{margin:0;padding:45px var(--pad) 0;background:var(--red);color:white}.contact-top{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff50;padding-bottom:20px}.contact .section-index:before{color:white}.contact-top>span{font-size:10px;letter-spacing:1px}.contact-main{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:46px 0 38px}.contact h2{font-size:clamp(43px,6.3vw,99px);line-height:1.22;letter-spacing:-4px;font-weight:800}.contact h2 span{color:var(--ink)}.contact-arrow{font-size:150px;line-height:1;width:160px;height:160px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:50%;transition:background .25s,transform .3s}.contact-arrow:hover{background:var(--ink);transform:rotate(45deg)}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:40px 0 65px}.contact-bottom>p{font-size:14px;line-height:1.95}.contact-bottom>div{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.button-outline{background:transparent;color:white;border:1px solid #ffffff70}.contact-resume{font-size:12px;margin-left:8px}.footer{border-top:1px solid #ffffff50;display:flex;justify-content:space-between;padding:22px 0;font-size:11px;letter-spacing:.5px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);z-index:150;color:white;background:var(--ink);padding:12px 24px;font-size:14px;opacity:0;pointer-events:none;transition:.25s;box-shadow:4px 4px 0 var(--red);max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes marquee{to{transform:translateX(-50%)}}@media(min-width:1650px){.hero-grid{min-height:760px}.portrait-stage{height:600px;max-width:510px;width:100%;justify-self:center}.hero{padding-top:8px}.hero-description{font-size:17px}.tags span{font-size:13px}.hero-overline{font-size:12px}.hero-copy{padding-bottom:15px}}@media(max-width:1150px){:root{--pad:40px}.header{gap:20px}.header nav{gap:18px;font-size:12px}.wordmark{font-size:22px}.brand-star{font-size:34px;margin-right:8px}.resume-link{font-size:11px;padding:7px 12px}.hero-grid{gap:15px;min-height:620px;padding:50px 0}.portrait-stage{height:480px;margin-right:23px}.name{font-size:80px}.now-label{min-width:185px;right:-20px}.portrait-side{right:-37px}.hero-description{font-size:14px}.career-row{gap:26px;grid-template-columns:24% 1fr 17%}.career-result strong{font-size:72px}.project{gap:40px}.project-visual{padding:25px}.project-poster{padding:25px}.skills-table{padding:50px 40px 20px;gap:60px}.contact-bottom{align-items:flex-start;flex-direction:column;gap:25px}}
@media(max-width:900px){.header{height:75px}.header nav{display:none;position:absolute;top:74px;left:0;right:0;padding:20px var(--pad);background:var(--paper);border-bottom:1px solid var(--ink);grid-template-columns:repeat(3,1fr);gap:5px 20px;font-size:14px}.header nav.open{display:grid}.header nav a{padding:12px 0}.header nav a.active:after{bottom:8px;width:22px}.resume-link{margin-left:auto}.menu-toggle{display:flex;background:transparent;gap:12px;align-items:center;font-size:13px}.menu-toggle span{font-size:21px}.hero-grid{gap:25px;min-height:580px;grid-template-columns:1.1fr 1fr;padding:45px 0}.name{font-size:66px}.hello{font-size:39px}.role{font-size:16px;gap:10px}.eyebrow{font-size:10px}.hero-overline{font-size:9px}.portrait-stage{height:410px;margin-left:0;margin-right:10px}.portrait{left:0;right:0;border-width:5px}.portrait-red{inset:20px -9px 20px 3px}.portrait-outline{inset:25px 0 8px -10px}.portrait-star{font-size:74px;left:-20px;top:-10px}.now-label{min-width:166px;right:-12px;bottom:20px;padding:11px 15px}.now-label strong{font-size:20px}.now-label>span{font-size:9px}.now-label small{font-size:9px}.portrait figcaption{font-size:7px}.portrait-side{right:-26px;font-size:8px}.hero-description{font-size:13px}.hero-actions{gap:20px}.button{gap:25px;padding:12px 18px;font-size:13px}.section{padding-top:70px;padding-bottom:75px}.section-heading>p{font-size:12px}.school-photo{height:235px}.school-grid{gap:25px}.career-row{grid-template-columns:1fr 2fr;gap:20px}.career-detail{padding-top:29px}.career-result{grid-column:2;text-align:left;padding:0;display:flex;gap:20px;align-items:center}.career-result strong{font-size:52px}.career-result strong span{font-size:22px}.career-result p{margin:0}.career-meta h3{font-size:24px}.career-detail h4{font-size:16px}.career-detail>p{font-size:13px}.project{gap:30px}.project-copy h3{font-size:30px}.project-copy>p{font-size:13px}.project-poster{padding:20px}.poster-top{font-size:8px}.project-poster h3{font-size:66px}.poster-flow strong{font-size:36px}.poster-flow>span{font-size:8px}.poster-bottom{font-size:8px}.project-visual{padding:20px}.skills-table{gap:40px;padding:50px 30px 15px}.deck{width:200px;height:290px}.drawn-card{height:430px}.card-front,.card-back{padding:20px}.card-symbol{min-height:177px}.contact-arrow{font-size:104px;width:117px;height:117px}.contact-top>span{display:none}.ticker>div{font-size:34px}}
@media(max-width:640px){:root{--pad:23px}html{scroll-padding-top:74px}.header{height:70px;gap:18px}.wordmark{font-size:22px}.brand-star{font-size:31px}.resume-link{font-size:10px;padding:6px 10px}.resume-link span{margin-left:7px}.menu-toggle{font-size:0;gap:0}.menu-toggle span{font-size:24px}.header nav{top:69px}.hero-overline{padding-top:18px;font-size:8px;letter-spacing:.6px}.hero-overline>span:last-child{display:none}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:48px;padding:30px 0 37px}.eyebrow{font-size:10px}h1{margin:23px 0 20px;letter-spacing:-3px}.hello{font-size:42px;margin-bottom:6px;letter-spacing:-1px}.name{font-size:clamp(70px,19vw,107px)}.role{font-size:20px;gap:15px}.hero-description{font-size:14px;margin:20px 0 18px;line-height:1.9}.tags{gap:7px}.tags span{font-size:10px;padding:3px 9px}.hero-actions{margin-top:26px}.button{font-size:13px;min-height:47px}.portrait-stage{height:437px;max-width:337px;width:calc(100% - 30px);align-self:center;margin:0 15px 3px 0}.portrait{left:5px;right:5px;inset-block:0 20px;border-width:7px}.portrait>img{object-position:center 30%}.portrait figcaption{font-size:8px;letter-spacing:.3px}.portrait-star{top:-20px;left:-10px;font-size:82px}.portrait-red{inset:20px -6px 13px 7px}.now-label{bottom:27px;right:-22px;min-width:171px}.portrait-side{right:-30px;font-size:9px}.hero-bottom{font-size:9px;padding:14px 0}.hero-bottom>span:last-child{display:none}.ticker{padding:15px 0;border-bottom-width:4px}.ticker>div{font-size:29px}.ticker b{font-size:30px;margin:0 20px}.section{padding-top:55px;padding-bottom:60px}.section-top{padding-bottom:14px}.section-index{font-size:10px;letter-spacing:1px}.section-index:before{margin-right:8px}.micro{display:none}.section-heading{margin:27px 0 31px;display:block}h2{font-size:38px;letter-spacing:-1.7px;line-height:1.3}.section-heading>p{font-size:13px;margin-top:18px}.school-grid{grid-template-columns:1fr;gap:35px}.school-photo{height:228px}.school-body{padding-top:18px}.school-body h3{font-size:25px}.school-body p{font-size:12px}.school-photo .school-seal{width:55px;height:55px}.school-card{padding-bottom:24px}.career-row{grid-template-columns:1fr;padding:29px 0;gap:0}.career-meta{position:relative}.career-no{position:absolute;right:0;top:0;font-size:22px;font-family:var(--display)}.career-meta h3{font-size:25px;margin-top:7px}.career-meta p{font-size:12px}.career-detail{padding-top:22px}.career-detail h4{font-size:17px}.career-detail>p{font-size:14px}.career-tags{font-size:10px;gap:15px}.career-result{grid-column:auto;padding-top:22px;gap:15px}.career-result strong{font-size:58px}.career-result p{font-size:11px}.career-result small{font-size:10px}.career-expanded{font-size:13px}.work .section-heading>.text-link{margin-top:21px;font-size:12px;gap:20px}.project{display:flex;flex-direction:column;align-items:stretch;gap:37px;margin-top:32px}.project-visual{padding:28px}.project-poster{padding:24px 25px}.project-poster h3{font-size:80px}.poster-top{font-size:9px}.poster-flow strong{font-size:43px}.poster-flow>span{font-size:9px}.poster-bottom{font-size:9px}.project-copy h3{font-size:34px;margin-top:13px}.project-copy>p{font-size:14px}.project-features{font-size:12px}.project-copy .project-subtitle{font-size:16px!important}.skills-table{display:flex;flex-direction:column;gap:38px;padding:38px 23px 16px}.deck{width:176px;height:240px;margin-bottom:33px}.deck>div:nth-child(3){padding:18px}.deck span{font-size:9px}.deck b{font-size:66px;margin-top:5px}.deck strong{font-size:35px}.deck small{font-size:7px}.deck-caption{font-size:10px}.drawn-card{height:415px;max-width:310px}.drawn-side{width:100%;text-align:center}.card-symbol{min-height:170px;font-size:109px;line-height:1.2}.card-top{font-size:9px}.card-title{font-size:27px}.card-front,.card-back{padding:22px}.card-back>strong{font-size:26px;margin-top:34px}.card-back>span:nth-last-child(2){font-size:15px}.contact{padding-top:34px}.contact-top{padding-bottom:16px}.contact-main{margin:32px 0 28px;gap:10px}.contact h2{font-size:clamp(36px,10vw,55px);letter-spacing:-2px}.contact-arrow{width:65px;height:65px;font-size:56px;flex-shrink:0}.contact-bottom{margin:26px 0 43px;gap:26px}.contact-bottom>p{font-size:13px}.contact-bottom>div{gap:11px}.contact-bottom .button{font-size:12px;padding:11px 16px;gap:24px}.contact-resume{display:block;flex-basis:100%;margin:8px 0 0;font-size:12px}.footer{font-size:9px;letter-spacing:0;padding:18px 0}.footer>a:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* OYLA-inspired direction: white space, wine accents, full-color photography. */
:root{--serif:'Noto Serif SC','Songti SC','SimSun',serif;--editorial:'Cormorant Garamond',Georgia,serif;--ink:#19191b}
.header{background:rgba(255,255,255,.97);border-color:#efeeee;backdrop-filter:blur(12px)}
.wordmark{font-family:var(--editorial);font-weight:500;font-size:32px;color:var(--red);letter-spacing:-1.5px}
.brand-star{font-size:27px;font-weight:400;margin-right:11px}
.header nav{font-weight:500}.header nav a.active:after{height:1px}
.resume-link{border-color:#e2d8da;color:var(--red);font-weight:500;border-radius:24px}
.hero-overline{color:#89858a;font-weight:400;letter-spacing:1.3px}
.eyebrow{color:var(--red);font-weight:500}
h1{font-family:var(--serif);font-weight:500;letter-spacing:-3px;margin-top:31px;margin-bottom:28px}
.hello{font-family:var(--editorial),var(--serif);font-weight:400;font-size:clamp(38px,4vw,60px);letter-spacing:-1px;line-height:1.35}
.name{font-size:clamp(70px,7.3vw,116px);font-weight:500;letter-spacing:-3px}
.red-period{font-family:var(--editorial);font-weight:400}
.role{font-size:clamp(17px,1.55vw,23px);font-weight:500;gap:16px}
.role>span:first-child{color:var(--ink)}.role>span:last-child{font-weight:400;letter-spacing:.8px;font-size:.8em}.role-plus{color:#bbb3b5;font-size:18px}
.hero-description{font-size:16px;color:#68666a;line-height:2;margin-top:28px}
.tags{gap:0}.tags span{border:0;border-right:1px solid #d9d1d3;padding:0 13px;border-radius:0;font-size:12px;color:#767174;line-height:1.2}.tags span:first-child{padding-left:0}.tags span:last-child{border:0}
.hero-actions{margin-top:34px}.button{border-radius:30px;font-weight:500}.button:hover{transform:translateY(-2px)}
.button-red{background:var(--red);color:white}.button-red:hover{background:#65212e}
.text-link{font-weight:500;border-color:#cec4c7}
.portrait-red,.portrait-outline,.portrait-star{display:none}
.portrait{inset:0 8px 23px 15px;border:0;transform:none;box-shadow:none;background:#fff;overflow:visible}
.portrait>img{height:calc(100% - 29px);object-position:50% 34%;filter:none;border-radius:2px}
.portrait figcaption{color:#8b8487;font-weight:400;font-size:10px;letter-spacing:.4px;padding-top:13px}
.portrait-side{font-weight:400;color:#95898d;letter-spacing:1.4px}
.now-label{background:rgba(255,255,255,.96);color:var(--ink);transform:none;box-shadow:none;border:1px solid #ece5e7;right:-14px;bottom:45px;padding:17px 22px}
.now-label>span{color:var(--red);font-size:10px;letter-spacing:1.2px}.now-label strong{font-family:var(--editorial);font-size:30px;font-weight:500}.now-label small{color:#787074}
.ticker{background:#fff;color:#868083;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0}
.ticker>div{font-family:var(--editorial);font-weight:400;font-size:31px;animation:none;letter-spacing:.4px;word-spacing:10px}
.ticker span,.ticker b{color:var(--red)}.ticker b{font-size:25px;font-weight:400;margin:0 34px}
.section{background:white}.section-top{border-color:var(--line)}.section-index{color:var(--red);font-weight:500}
h2{font-family:var(--serif);font-weight:500;letter-spacing:-1.7px;font-size:clamp(34px,3.9vw,60px);line-height:1.4}
h2 span{color:var(--ink)}.section-heading>p{font-size:15px;line-height:1.9}
.school-photo>img:first-child,.school-card:hover .school-photo>img:first-child,.school-photo .school-seal{filter:none}
.school-body h3,.career-meta h3{font-family:var(--serif);font-weight:500}.school-body p{font-size:14px}.date{color:var(--red);font-weight:400}
.career-row{border-color:var(--line);padding-top:45px;padding-bottom:45px}.career-no{color:#a79a9f}.career-detail h4{font-weight:500}.career-detail>p,.career-expanded{font-size:16px}.career-tags{font-size:12px;color:#83767b}
.career-result strong{font-family:var(--editorial);font-weight:400;letter-spacing:-3px;color:var(--red)}.career-result strong span{font-size:25px;letter-spacing:-.5px}
.work{background:white;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.work .section-top{border-color:var(--line)}.work .micro{color:var(--gray)}.work .text-link{border-color:#cec4c7}
.project-visual{background:#faf7f8;border:1px solid #efe6e8;padding:34px}.project-poster{background:white;color:var(--ink);border:1px solid #e1cfd4;transform:none;box-shadow:none;padding:29px 34px}
.poster-top{color:var(--red)}.project-poster h3{font-family:var(--serif);font-size:clamp(52px,5.4vw,82px);font-weight:500;color:var(--red);line-height:1.3;letter-spacing:-3px}
.project-poster h3 span{color:var(--red)}.project-poster>p{font-family:var(--serif);font-weight:400;color:#746267;font-size:17px;letter-spacing:2px}.poster-divider{background:#e5d7db}
.poster-flow{color:#75676b}.poster-flow strong{font-family:var(--editorial);font-weight:400;color:var(--red)}.poster-bottom{color:var(--red)}
.project-copy>.section-index{color:var(--red)}.project-copy h3{font-family:var(--serif);font-weight:500}.project-copy>p{color:var(--gray);font-size:16px;line-height:1.95}.project-subtitle{color:var(--ink)!important;font-weight:500}
.project-tech>span{color:#827177;border-color:#e2d7db;border-radius:3px;font-size:12px}.project-features{color:var(--gray);font-size:14px}.project-features li:before{color:var(--red)}.project-caption{color:#908489;font-size:12px}
.button-white{background:white;color:var(--ink);border-color:#ddd4d7}.button-white:hover{background:#faf7f8}.project .button-white{color:var(--red);border-color:#b2959e}
.skills-table{border-color:#eee6e8;background:#fff;padding-top:62px;padding-bottom:30px}
.deck>div{border-color:#86505d}.deck>div:nth-child(1){background:#eadfe2;transform:rotate(-9deg)}.deck>div:nth-child(2){background:#d0aeb8;transform:rotate(6deg)}.deck>div:nth-child(3){background:var(--red);box-shadow:none;transform:rotate(-2deg)}
.deck b{font-size:75px;font-weight:400}.deck strong{font-family:var(--editorial);font-weight:400;font-size:38px;line-height:1.05;letter-spacing:0}
.button-dark{background:var(--red);color:white}.card-front,.card-back{border-color:#d9c9ce;box-shadow:none;background:white}.card-top{color:var(--red);font-weight:500}.card-symbol{font-family:var(--editorial);font-weight:400;border-color:#eee6e8;letter-spacing:-5px}
.card-symbol>span{font-size:36px;color:#bca1a9;font-weight:400}.card-title{font-family:var(--serif);font-weight:500}.card-tags{font-size:12px}.card-back{background:#faf6f7;color:var(--ink)}.card-back>strong{font-family:var(--serif);font-weight:500;color:var(--red)}.card-back .card-hint{color:var(--gray)}
.contact{background:white;color:var(--ink);border-top:1px solid var(--line);padding-top:62px}.contact-top{border-color:var(--line)}.contact .section-index:before{color:var(--red)}.contact-top>span{color:#998b90}
.contact h2{font-family:var(--serif);font-weight:500;font-size:clamp(43px,5.7vw,88px);letter-spacing:-2px;line-height:1.4}.contact h2 span{color:var(--red)}
.contact-arrow{font-weight:300;color:var(--red);border-color:#e2d4d8;width:130px;height:130px;font-size:105px}.contact-arrow:hover{color:white;background:var(--red);transform:rotate(0deg)}
.contact-bottom>p{color:var(--gray);font-size:16px}.contact .button-white{color:white;background:var(--red);border-color:var(--red)}.button-outline{color:var(--red);background:white;border-color:#ddcdd2}.contact-resume{color:#78666d}.footer{border-color:var(--line);color:#908187}.footer>a{color:var(--red)}
.toast{background:var(--red);box-shadow:none;border-radius:6px}
@media(min-width:1650px){.hero-grid{min-height:790px}.portrait-stage{height:635px}.hero-copy{padding-bottom:5px}}
@media(max-width:1150px){.wordmark{font-size:28px}.name{font-size:77px}.hero-description{font-size:16px}.project-poster{padding:26px}.now-label{right:-5px}}
@media(max-width:900px){.name{font-size:64px}.hello{font-size:40px}.hero-description{font-size:15px}.role{font-size:17px;gap:10px}.project-poster{padding:21px}.project-visual{padding:23px}.project-poster h3{font-size:60px}.career-detail>p,.project-copy>p{font-size:15px}.contact-arrow{width:105px;height:105px;font-size:85px}}
@media(max-width:640px){.wordmark{font-size:28px}.brand-star{font-size:24px}.hero-grid{gap:40px}.hello{font-size:42px}.name{font-size:clamp(66px,18vw,100px);letter-spacing:-2px}h1{margin-top:22px;margin-bottom:20px}.hero-description{font-size:15px;margin-top:23px}.role{font-size:19px}.tags span{font-size:11px;padding:0 9px}.hero-actions{margin-top:28px}.portrait{inset:0 0 23px 0;border:0}.portrait-stage{margin:0 auto;width:calc(100% - 22px);height:460px}.portrait figcaption{font-size:9px}.portrait-side{right:-22px;font-size:8px}.now-label{bottom:42px;right:-14px;padding:12px 15px;min-width:165px}.now-label strong{font-size:26px}.now-label small{font-size:10px}.ticker{padding:16px 0;border-bottom-width:1px}.ticker>div{font-size:26px}.ticker b{font-size:20px;margin:0 24px}h2{font-size:36px;letter-spacing:-1px}.section-heading>p{font-size:14px}.career-row{padding:32px 0}.career-detail>p,.career-expanded,.project-copy>p{font-size:15px}.career-result strong{font-size:59px}.project-visual{padding:22px}.project-poster{padding:24px}.project-poster h3{font-size:74px}.project-features{font-size:13px}.skills-table{padding:38px 23px 18px}.deck b{font-size:59px}.deck strong{font-size:30px}.card-symbol{font-size:112px}.card-title{font-size:26px}.contact{padding-top:35px}.contact h2{font-size:clamp(33px,9.2vw,52px);letter-spacing:-1.8px}.contact-arrow{width:58px;height:58px;font-size:48px}.contact-bottom>p{font-size:15px}}
