:root{--navy:#17223b;--bg:#e4e4df;--ink:#14161c;--muted:#5d6677;--steel:#7186a8;--accent:#2f4a7a;--line:#cfd0c9;--mono:ui-monospace, SFMono-Regular, Menlo, monospace;--nav-h:58px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif;line-height:1.65;overflow-x:hidden}a{color:inherit}h1,h2,h3,p{margin:0}.wrap{max-width:1100px;margin:0 auto;padding:0 24px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav{z-index:20;height:var(--nav-h);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:#dedfdbeb;position:sticky;top:0}.nav-in{justify-content:space-between;align-items:center;height:100%;display:flex}.mark{letter-spacing:-.01em;color:var(--navy);font-size:22px;font-weight:800;text-decoration:none}.nav nav{gap:28px;display:flex}.nav nav a{color:var(--navy);font-size:15px;font-weight:500;text-decoration:none}.nav nav a:hover{color:var(--accent)}.hero{min-height:calc(100vh - var(--nav-h));min-height:calc(100svh - var(--nav-h));color:#e8e8e3;background-color:var(--navy);background-image:radial-gradient(#0000 55%,#080c1873 100%),linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:auto,56px 56px,56px 56px;align-items:center;display:flex;position:relative}.hero-in{width:100%;padding-top:40px;padding-bottom:80px}.hello{font-family:var(--mono);color:var(--steel);align-items:center;gap:14px;margin-bottom:18px;font-size:18px;font-weight:600;display:flex}.rule{background:var(--steel);width:42px;height:1px;display:inline-block}.hero h1{letter-spacing:-.03em;color:#ecece7;font-size:clamp(44px,8vw,84px);font-weight:800;line-height:1.08}.role{letter-spacing:-.02em;color:var(--steel);margin-top:6px;font-size:clamp(34px,6vw,62px);font-weight:700;line-height:1.15}.lines{color:#d6d8dd;max-width:640px;margin-top:32px;font-size:18px;line-height:1.7}.lines span{display:block}.btn{letter-spacing:.04em;border:1px solid;border-radius:3px;margin-top:32px;padding:13px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.btn-light{color:#aab6cc;border-color:#5e6c8a}.btn-light:hover{color:#fff;background:#ffffff14}.btn-dark{color:var(--navy);border-color:var(--navy);margin-top:0}.btn-dark:hover{background:var(--navy);color:#fff}.mouse{border:1.5px solid #7886a3;border-radius:12px;width:22px;height:36px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.mouse i{background:#9aa7c0;border-radius:2px;width:3px;height:6px;margin-left:-1.5px;animation:1.8s ease-in-out infinite wheel;position:absolute;top:7px;left:50%}@keyframes wheel{0%{opacity:0;transform:translateY(0)}40%{opacity:1}to{opacity:0;transform:translateY(12px)}}.sec{padding:96px 0 24px}.sec-title{letter-spacing:-.02em;color:var(--navy);align-items:center;gap:20px;margin-bottom:40px;font-size:30px;font-weight:800;display:flex}.sec-title:after{content:"";background:#bfc1ba;flex:1;height:1px}.about{grid-template-columns:300px 1fr;align-items:start;gap:48px;display:grid}.photo{aspect-ratio:1/1.05;object-fit:cover;border-radius:6px;width:100%;display:block;box-shadow:0 6px 22px #14161c2e}.about p{margin-bottom:14px;font-size:16.5px}.links{flex-wrap:wrap;gap:8px 22px;margin-top:20px;display:flex}.links a{font-family:var(--mono);color:var(--accent);text-underline-offset:3px;font-size:14px}.tl{grid-template-columns:200px 1fr;gap:40px;margin-top:72px;display:grid}.tl-tabs{border-left:2px solid var(--line);flex-direction:column;align-self:start;display:flex}.tl-tab{text-align:left;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;margin-left:-2px;padding:11px 18px;font-size:15px}.tl-tab:hover{color:var(--navy);background:#fff6}.tl-tab.on{color:var(--navy);border-left-color:var(--accent);background:#ffffff8c;font-weight:700}.tl-item{padding-bottom:28px}.tl-item+.tl-item{border-top:1px solid var(--line);padding-top:24px}.tl-head{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.tl-head h3{font-size:18px;font-weight:700;line-height:1.4}.org{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-top:2px;font-size:12.5px;font-weight:600}.period{font-family:var(--mono);color:var(--muted);text-align:right;white-space:nowrap;font-size:13px}.bul{margin:12px 0 0;padding:0;list-style:none}.bul li{color:#2b2f38;margin-bottom:5px;padding-left:20px;font-size:14.5px;position:relative}.bul li:before{content:"▷";color:var(--accent);font-size:12px;position:absolute;top:1px;left:0}.chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.chip{color:#3b404b;font-size:12px;font-family:var(--mono);background:#d9dad4;border-radius:999px;padding:3px 10px}.pills{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.pill{font:inherit;color:var(--navy);cursor:pointer;background:0 0;border:1px solid #b9bbb3;border-radius:999px;padding:7px 16px;font-size:14px}.pill:hover{background:#fff9}.pill.on{background:var(--navy);color:#fff;border-color:var(--navy)}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.card{background:#fff;border:1px solid #d6d7d0;border-radius:6px;flex-direction:column;padding:24px;display:flex;box-shadow:0 1px 3px #14161c14}.cat{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11.5px}.card h3,.modal h3{margin-top:8px;font-size:18px;font-weight:700;line-height:1.4}.ctx{color:var(--muted);margin-top:4px;font-size:13px}.sum{margin-top:12px;font-size:14.5px}.card .chips{margin-top:auto;padding-top:16px}.card-foot{border-top:1px solid #ecece7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:16px;padding-top:14px;display:flex}.card-foot:empty{display:none}.plinks{flex-wrap:wrap;gap:6px 16px;display:flex}.plinks a{color:var(--accent);text-underline-offset:3px;font-size:13px}.more{font:inherit;color:var(--navy);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:13px;font-weight:600}.more:hover{color:var(--accent);text-decoration:underline}.backdrop{z-index:50;background:#0c111e99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;width:100%;max-width:680px;max-height:calc(100vh - 40px);padding:32px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000059}.modal-x{cursor:pointer;width:36px;height:36px;color:var(--muted);background:0 0;border:0;font-size:26px;line-height:1;position:absolute;top:10px;right:12px}.modal h3{padding-right:30px;font-size:22px}.detail{border-top:1px solid #e6e6e0;margin-top:18px;padding-top:16px}.detail p{margin-bottom:10px;font-size:14.5px}.modal .plinks{margin-top:18px}.resume{grid-template-columns:340px 1fr;align-items:start;gap:40px;display:grid}.sg{margin-top:24px}.sg h3{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12.5px;font-weight:600}.sg .chips{margin-top:8px}.embed{background:#fff;border:1px solid #d6d7d0;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #14161c14}.embed object{width:100%;height:720px;display:block}.embed a{padding:24px;display:block}.foot{border-top:1px solid var(--line);color:var(--muted);margin-top:96px;padding:28px 0 40px;font-size:13px}.foot a{color:var(--accent)}@media (max-width:960px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resume{grid-template-columns:1fr}}@media (max-width:720px){.wrap{padding:0 16px}.nav nav{gap:16px}.nav nav a{font-size:14px}.mark{font-size:19px}.sec{padding-top:64px}.sec-title{margin-bottom:28px;font-size:24px}.hello,.lines{font-size:16px}.about{grid-template-columns:1fr;gap:24px}.photo{max-width:280px}.tl{grid-template-columns:1fr;gap:20px;margin-top:48px}.tl-tabs{border-left:0;border-bottom:2px solid var(--line);flex-direction:row;overflow-x:auto}.tl-tab{border-bottom:2px solid #0000;border-left:0;margin:0 0 -2px;padding:10px 14px}.tl-tab.on{border-bottom-color:var(--accent)}.tl-head{flex-direction:column;gap:4px}.period{text-align:left;white-space:normal}.grid{grid-template-columns:1fr}.embed{display:none}.modal{padding:24px 20px}}.tl-panel{min-width:0}
