/* Scoped personal homepage. Existing Barlow Condensed / Manrope typography. */
.hp-page{--ink:#111315;--paper:#eeece6;--red:#e10600;--muted:#afb0b2;background:#0a0b0d;color:var(--paper);font-family:Manrope,sans-serif}
.hp-page *{box-sizing:border-box}.hp-page a{color:inherit;text-decoration:none}.hp-page a:focus-visible,.hp-page button:focus-visible{outline:3px solid var(--red);outline-offset:6px}
.hp-page h1,.hp-page h2,.hp-page h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;margin:0;font-weight:700;letter-spacing:-.025em}
.hp-page em{font-style:normal}.hp-page p{line-height:1.8}.hp-page [hidden]{display:none!important}
.hp-skip{position:absolute;top:-200px}.hp-skip:focus{position:fixed;top:90px;left:24px;background:var(--paper);color:var(--ink);padding:16px;z-index:999}
.hp-hero,.hp-section{padding:0 max(28px,5.5vw)}.hp-hero{padding-top:30px}
.hp-overline,.hp-section-label{display:flex;justify-content:space-between;gap:24px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;padding:24px 0;border-bottom:1px solid #ffffff24}
.hp-overline span:first-child{color:#ff5c54}.hp-opening{display:grid;grid-template-columns:1.35fr 1fr;gap:30px;align-items:center;min-height:660px;padding:66px 0}
.hp-kicker{font-size:11px;letter-spacing:.07em;color:var(--muted)}
.hp-intro h1{font-size:clamp(68px,8.4vw,150px);line-height:.88;margin:28px 0 30px;position:relative;z-index:2}
.hp-intro h1 em{color:var(--red)}.hp-intro p{font-size:16px;max-width:520px;color:#c1c3c7}
.hp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:30px;margin-top:34px;font-size:12px}
.hp-button{display:inline-flex;justify-content:space-between;gap:40px;padding:18px 24px;background:var(--red);color:white!important;font-size:12px;min-height:54px;transition:background .2s}.hp-button:hover{background:#b80602}
.hp-art{aspect-ratio:1/1.12;position:relative;border:1px solid #ffffff25;overflow:hidden;background:#101214;isolation:isolate}
.hp-art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:40px 40px}
.hp-art-monogram{font-family:"Barlow Condensed",sans-serif;font-size:clamp(140px,24vw,410px);line-height:1;letter-spacing:-.1em;font-weight:800;position:absolute;top:50%;left:47%;transform:translate(-50%,-50%);color:#eeece6;z-index:2;mix-blend-mode:screen}
.hp-art-caption{position:absolute;left:22px;top:24px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#999}
.hp-art-cross{position:absolute;right:20px;top:13px;font-size:28px;color:var(--red)}
.hp-art-bottom{position:absolute;bottom:20px;left:22px;right:22px;display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.13em}
.hp-orbit{position:absolute;left:50%;top:50%;width:84%;height:84%;border:1px solid #e10600;border-radius:50%;transform:translate(-50%,-50%) rotate(-30deg) scaleX(.55);animation:hp-orbit 24s linear infinite}
.hp-orbit-two{width:65%;height:96%;animation-delay:-8s;border-color:#777}.hp-orbit-three{width:96%;height:65%;animation-delay:-16s;border-width:2px}
@keyframes hp-orbit{to{transform:translate(-50%,-50%) rotate(330deg) scaleX(.55)}}
.hp-path{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff25}.hp-path a{font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding:22px 0}.hp-path a:hover{color:#ff5c54}
.hp-section{padding-top:36px;padding-bottom:90px;scroll-margin-top:90px}.hp-section h2{font-size:clamp(45px,5.8vw,90px);line-height:.95}.hp-section h2 em{color:#777b80}
.hp-practice{background:var(--paper);color:var(--ink)}.hp-practice .hp-section-label,.hp-work .hp-section-label{border-color:#11131533}
.hp-practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:64px}.hp-section-intro{max-width:360px;color:#555;font-size:14px;margin-top:30px}
.hp-tabs{display:flex;gap:0;border-bottom:1px solid #11131540;overflow-x:auto}.hp-tabs button{font:inherit;font-size:11px;padding:18px 14px;background:none;color:#555;border:0;border-bottom:3px solid transparent;cursor:pointer}.hp-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--red)}
.hp-panel{padding-top:32px;position:relative;min-height:250px}.hp-number{font-family:"Barlow Condensed";font-size:75px;color:#11131520;position:absolute;right:0;top:20px}
.hp-panel h3{font-size:34px;max-width:85%;position:relative}.hp-panel p{font-size:14px;max-width:420px;color:#505256}.hp-panel a{display:inline-block;font-size:11px;border-bottom:1px solid #888;padding-bottom:6px;margin-top:10px}
.hp-work{background:#dedcd5;color:var(--ink)}.hp-work-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;padding:56px 0}.hp-work-heading p{max-width:250px;color:#555;font-size:13px}
.hp-project{position:relative;overflow:hidden;display:grid;grid-template-columns:.6fr 1.2fr 1fr;align-items:center;gap:30px;border-top:1px solid #11131550;min-height:215px;padding:30px 24px;transition:background .3s,padding .3s}
.hp-project:hover{background:var(--paper);padding-left:36px}.hp-project-no{font-size:10px;text-transform:uppercase;letter-spacing:.12em;align-self:start;padding-top:16px}
.hp-project h3{font-size:clamp(45px,5.8vw,88px);z-index:1}.hp-project p{font-size:13px;max-width:330px;position:relative;z-index:1}
.hp-project-link{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-top:22px}
.hp-project-mark{position:absolute;right:20%;bottom:-70px;font-family:"Barlow Condensed";font-size:320px;line-height:1;color:#11131506;transition:transform .5s}.hp-project:hover .hp-project-mark{transform:rotate(-8deg)}
.hp-project-koryo h3{color:#b91510}.hp-project-taek h3{color:#405249}.hp-project-mytaek h3{color:#384759}
.hp-research{background:#101214}.hp-research-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;margin-top:60px}.hp-research-layout>div>p{color:#9c9fa5;max-width:350px;font-size:14px}
.hp-text-link{display:inline-block;margin-top:25px;border-bottom:1px solid #666;padding-bottom:8px;font-size:11px}
.hp-records>a{display:block;border-bottom:1px solid #ffffff25;padding:24px 55px 28px 0;position:relative}.hp-records>a:first-child{padding-top:0}
.hp-records span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#d77d76}.hp-records h3{font-size:32px;margin:12px 0}.hp-records p{color:#8e949c;font-size:12px;margin:0}.hp-records b{position:absolute;right:10px;top:40px;font-size:28px;font-weight:400}.hp-records a:hover h3{color:#ff5c54}
.hp-contact{background:var(--red)}.hp-contact h2{font-size:clamp(72px,12vw,180px);line-height:.83;margin:66px 0 45px}.hp-contact h2 em{color:#111315}
.hp-contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.hp-contact-bottom p{max-width:440px;font-size:14px}.hp-contact .hp-button{background:var(--paper);color:var(--ink)!important;min-width:220px}.hp-contact .hp-button:hover{background:white}
@media(max-width:950px){.hp-opening{min-height:560px;gap:20px}.hp-intro h1{font-size:9vw}.hp-practice-grid,.hp-research-layout{gap:40px}.hp-project{grid-template-columns:.45fr 1fr 1fr}.hp-path a{font-size:9px;letter-spacing:.04em}.hp-tabs button{padding:15px 9px}}
@media(max-width:680px){.hp-overline{font-size:8px}.hp-overline span:last-child{max-width:100px;text-align:right}.hp-opening{grid-template-columns:1fr;padding:42px 0;gap:40px}.hp-intro h1{font-size:clamp(62px,13vw,92px)}.hp-intro p{font-size:14px}.hp-kicker{font-size:9px}.hp-art{aspect-ratio:1.5;height:auto}.hp-art-monogram{font-size:180px}.hp-path{grid-template-columns:1fr 1fr}.hp-path a{padding:15px 0}.hp-section{padding-bottom:56px}.hp-section-label{font-size:8px}.hp-section-label span:last-child{text-align:right}.hp-practice-grid,.hp-research-layout{grid-template-columns:1fr;margin-top:40px;gap:26px}.hp-section h2{font-size:52px}.hp-panel{min-height:230px}.hp-work-heading{display:block;padding:40px 0}.hp-work-heading p{margin-top:24px}.hp-project{grid-template-columns:1fr;gap:8px;padding:26px 0;min-height:280px}.hp-project:hover{padding-left:10px}.hp-project-no{padding-top:0}.hp-project h3{font-size:65px}.hp-project p{margin:0}.hp-project-link{margin-top:15px}.hp-research-layout{gap:42px}.hp-contact h2{font-size:20vw;margin:40px 0}.hp-contact-bottom{align-items:start;flex-direction:column}.hp-contact .hp-button{width:100%}}
@media(prefers-reduced-motion:reduce){.hp-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
