:root{--ink:#111;--blue:#2377ff;--paper:#fbfbfa;--soft:#f3f5f6;--line:#dedede}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans","Noto Sans KR",sans-serif}a{color:inherit;text-decoration:none}header{height:72px;padding:0 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);font-size:13px;position:sticky;top:0;background:rgba(251,251,250,.94);backdrop-filter:blur(12px);z-index:10}.logo{font-weight:700;letter-spacing:.02em}nav{display:flex;gap:34px}.locale{justify-self:end}.hero{min-height:660px;padding:40px 7vw 0;display:grid;grid-template-columns:54% 46%;border-bottom:1px solid var(--line);overflow:hidden}.hero-copy{padding:30px 0 55px;align-self:center}.mini-label,.section-label{font-size:11px;color:var(--blue);font-weight:700;letter-spacing:.08em}.hero h1{font-size:clamp(72px,9.3vw,142px);line-height:.76;letter-spacing:-.075em;margin:36px 0 22px;font-weight:700}.role{font-size:clamp(24px,3vw,43px);color:var(--blue);margin:0 0 20px;letter-spacing:-.04em}.intro{font-size:16px;line-height:1.7;color:#555}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:34px;font-size:14px}.primary{background:#111;color:#fff;padding:15px 20px;border-radius:3px}.hero-visual{position:relative;min-height:580px;align-self:end;display:flex;justify-content:center}.hero-visual img{position:absolute;bottom:0;height:95%;max-width:100%;object-fit:contain;filter:grayscale(100%);z-index:2}.portrait-shape{position:absolute;width:79%;height:79%;border-radius:50% 50% 0 0;background:#e8edf4;bottom:0}.name-strip{position:absolute;right:0;top:45%;z-index:3;background:#111;color:white;padding:10px 16px;font-size:11px;letter-spacing:.16em}.about,.impact,.projects,.skills{padding:72px 6vw;border-bottom:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1.05fr 1.35fr .95fr;gap:6vw;margin-top:26px;align-items:start}.about h2{font-size:clamp(35px,4.5vw,66px);line-height:1.03;letter-spacing:-.055em;margin:0}.about-grid>p{font-size:16px;line-height:1.8;margin:4px 0;color:#444}.strength-list{display:flex;flex-direction:column;gap:18px;font-size:14px}.strength-list span{padding-bottom:15px;border-bottom:1px solid var(--line)}.impact{padding-top:42px;padding-bottom:42px}.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:25px}.impact-grid div{display:flex;align-items:flex-end;justify-content:center;gap:18px;border-right:1px solid var(--line);padding:12px 24px}.impact-grid div:last-child{border:0}.impact strong{font-size:clamp(44px,5vw,76px);line-height:.9;letter-spacing:-.07em}.impact span{font-size:12px;color:#666;line-height:1.45}.section-top{display:flex;justify-content:space-between}.section-top>span{font-size:12px;color:#666}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}.card-grid article{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff;transition:.25s}.card-grid article:hover{transform:translateY(-6px);box-shadow:0 16px 35px rgba(0,0,0,.08)}.thumb{height:220px;background:#eef2f5;border-radius:5px;overflow:hidden;margin-bottom:14px}.thumb img{width:100%;height:100%;object-fit:cover}.num{font-size:11px}.card-grid h3{font-size:18px;margin:8px 0 10px}.tags{display:flex;gap:5px}.tags span{font-size:10px;background:#f1f1f1;padding:4px 8px;border-radius:20px}.card-grid article>p{font-size:13px;line-height:1.6;color:#666;margin:18px 0 5px}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7vw;margin-top:28px}.skill-grid>div{padding-right:30px;border-right:1px solid var(--line)}.skill-grid>div:last-child{border:0}.skill-grid b{font-size:16px}.skill-grid ul{font-size:13px;line-height:2;margin:16px 0 0;padding-left:22px;color:#444}footer{min-height:400px;padding:65px 6vw 28px;display:grid;grid-template-columns:1.6fr 1fr 180px;align-items:center;position:relative}footer p{font-size:clamp(45px,5.5vw,80px);font-weight:700;line-height:.9;letter-spacing:-.06em;margin:0 0 18px}footer p em{font-style:normal;color:var(--blue)}footer>div>span{font-size:13px;color:#666}.contact{display:flex;flex-direction:column;gap:18px;font-size:15px}.circle{width:150px;height:150px;border:1px solid #999;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:13px;transition:.25s}.circle:hover{background:#111;color:#fff;border-color:#111}footer small{position:absolute;bottom:24px;left:6vw;color:#777}@media(max-width:900px){header{grid-template-columns:1fr auto}nav{display:none}.locale{grid-column:2}.hero{grid-template-columns:1fr;padding:35px 22px 0}.hero-copy{padding-bottom:20px}.hero-visual{min-height:430px}.hero h1{font-size:22vw}.about,.impact,.projects,.skills{padding:58px 22px}.about-grid{grid-template-columns:1fr}.impact-grid{grid-template-columns:1fr 1fr;gap:25px}.impact-grid div:nth-child(2){border-right:0}.card-grid{grid-template-columns:1fr 1fr}.skill-grid{grid-template-columns:1fr;gap:30px}.skill-grid>div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:25px}footer{grid-template-columns:1fr;gap:45px;padding:60px 22px 80px}.circle{width:120px;height:120px}footer small{left:22px}}@media(max-width:560px){.hero{min-height:auto}.hero h1{font-size:23vw}.hero-visual{min-height:360px}.impact-grid,.card-grid{grid-template-columns:1fr}.impact-grid div{border-right:0;border-bottom:1px solid var(--line);justify-content:flex-start}.thumb{height:250px}}
:where(.card-grid article){position:relative}.card-hit{position:absolute;inset:0;z-index:3;border-radius:8px}.view-case{display:inline-block;margin:12px 0 4px;font-size:12px;font-weight:600;color:var(--blue)}
.impact-grid>.impact-stack{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:14px}.impact-grid>.impact-stack .impact-line{display:flex;align-items:flex-end;justify-content:center;gap:18px;border:0!important;padding:0}.impact-grid>.impact-stack .impact-line.secondary{padding-top:14px;border-top:1px solid var(--line)!important}.impact-grid>.impact-stack .impact-line.secondary strong{font-size:clamp(30px,3.2vw,50px)}.impact-grid>.impact-stack .impact-line span{white-space:nowrap}
.about-copy{word-break:keep-all;overflow-wrap:break-word}
.impact-heading .section-label{margin:0}.impact-caption{margin:8px 0 0;color:#777;font-size:13px;line-height:1.5;word-break:keep-all}.impact-grid{margin-top:22px}.impact-grid>.impact-metric{min-width:0;min-height:118px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:13px;padding:14px clamp(18px,2vw,32px)}.impact-grid>.impact-metric strong,.impact-grid>.impact-stack strong{white-space:nowrap}.impact-grid>.impact-metric span,.impact-grid>.impact-stack span{font-size:13px;white-space:nowrap;word-break:keep-all}.impact-grid>.impact-stack{min-width:0;min-height:118px;padding:14px clamp(16px,1.8vw,28px)}.impact-grid>.impact-stack .impact-line{width:100%;justify-content:flex-start;gap:14px}.impact-grid>.impact-stack .impact-line strong{font-size:clamp(34px,3.3vw,52px)}.impact-grid>.impact-stack .impact-line.secondary strong{font-size:clamp(30px,3vw,46px)}.impact-grid>.impact-metric:nth-child(3) strong{font-size:clamp(38px,4vw,62px);letter-spacing:-.075em}@media(max-width:900px){.impact-grid>.impact-metric,.impact-grid>.impact-stack{min-height:145px}.impact-grid>.impact-metric span,.impact-grid>.impact-stack span{font-size:14px}}@media(max-width:560px){.impact-grid{gap:0}.impact-grid>.impact-metric,.impact-grid>.impact-stack{min-height:132px;padding:22px 8px}.impact-grid>.impact-stack .impact-line{justify-content:flex-start}.impact-grid>.impact-metric span,.impact-grid>.impact-stack span{white-space:nowrap}}
.projects .card-grid{align-items:stretch}.projects .card-grid article{display:flex;flex-direction:column;height:100%;cursor:pointer;transition:transform .28s ease,box-shadow .28s ease}.projects .card-grid article:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.04)}.projects .card-grid article:has(.card-hit:focus-visible){outline:2px solid var(--blue);outline-offset:3px}.projects .thumb img{transform:scale(var(--crop-scale));object-position:var(--crop-position);scale:1;transition:scale .35s ease}.projects .card-grid article:hover .thumb img{scale:1.03}.projects .card-grid article:nth-child(1){--crop-scale:1.58;--crop-position:73% 68%}.projects .card-grid article:nth-child(2){--crop-scale:1.48;--crop-position:54% 76%}.projects .card-grid article:nth-child(3){--crop-scale:1.38;--crop-position:73% 52%}.projects .card-grid article:nth-child(4){--crop-scale:1.4;--crop-position:72% 61%}.projects .num{margin-top:0}.projects .card-grid h3{min-height:44px;line-height:1.25;word-break:keep-all}.projects .tags{min-height:24px;align-items:flex-start;flex-wrap:wrap}.projects .card-grid article>p{flex:1;min-height:84px;word-break:keep-all}.projects .view-case{display:flex;align-items:center;gap:5px;margin-top:auto}.projects .case-arrow{display:inline-block;transition:transform .25s ease}.projects .card-grid article:hover .case-arrow{transform:translateX(3px)}@media(max-width:900px){.projects .card-grid article>p{min-height:62px}}@media(max-width:560px){.projects .card-grid h3,.projects .card-grid article>p{min-height:0}}
@media(min-width:901px){footer .contact{justify-self:center;align-items:center;text-align:center}}
