:root{--bg: oklch(95.7% 0 0);--surface: oklch(99% .002 95);--fg: oklch(24.4% 0 0);--muted: oklch(52% 0 0);--border: oklch(84% 0 0);--accent: oklch(72% .16 135);--tone-mono-filter: grayscale(1) saturate(0) contrast(1.08);--font-display: "Arial Narrow", "Helvetica Neue Condensed", "Helvetica Neue", system-ui, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", Menlo, ui-monospace, monospace}*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--fg);line-height:1.55;letter-spacing:0}button,a{font:inherit;color:inherit}a{text-decoration:none}button{border-radius:0}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3{text-wrap:balance}.tone-mono,[data-tone=mono]{filter:var(--tone-mono-filter)}.tone-mono-blend,[data-tone=mono-blend]{filter:var(--tone-mono-filter);mix-blend-mode:multiply}.icon-mono,[data-icon-tone=mono]{color:var(--fg);filter:var(--tone-mono-filter)}.shell,.case-page{min-height:100vh;position:relative;background:var(--bg)}.topbar{position:absolute;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:flex-start;padding:28px 32px 0;mix-blend-mode:multiply}.brand,.brand-button{--brand-logo-height: clamp(24px, 2.4vw, 31px);display:inline-flex;align-items:center;line-height:0}.brand.compact{--brand-logo-height: 28px}.brand-logo{display:block;width:auto;height:var(--brand-logo-height);max-width:min(36vw,124px);aspect-ratio:481 / 124;object-fit:contain}.brand-button{border:0;background:transparent;padding:0;cursor:pointer}.nav{display:flex;align-items:center;gap:28px;font-size:13px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.nav a{border-bottom:1px solid transparent}.nav a:hover{border-color:var(--fg);color:var(--fg)}.contact{max-width:1200px;margin:90px auto 0;padding:34px 0 0;border-top:2px solid var(--fg);display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:start;position:relative;overflow:clip;opacity:0;transform:translateY(28px);transition:opacity .68s cubic-bezier(.2,.8,.2,1),transform .78s cubic-bezier(.2,.8,.2,1)}.contact:before,.contact:after{content:"";position:absolute;pointer-events:none}.contact:before{left:0;right:0;top:-2px;height:2px;background:var(--fg);opacity:.24;transform:scaleX(.16);transform-origin:left center;transition:opacity .68s ease,transform .82s cubic-bezier(.2,.8,.2,1)}.contact:after{inset:0;z-index:0;background:linear-gradient(180deg,color-mix(in oklch,var(--bg),var(--fg) 8%) 0%,color-mix(in oklch,var(--bg),transparent 18%) 42%,transparent 100%);opacity:0;transform:translateY(-100%)}.contact>*{position:relative;z-index:1}.contact h2{margin:0;font-family:var(--font-display);font-size:clamp(42px,6.5vw,78px);line-height:.9;letter-spacing:-.03em;text-transform:uppercase;opacity:0;transform:translateY(-18px)}.contact p{margin:0;color:var(--fg);word-break:keep-all;opacity:0;transform:translateY(-10px)}.contact a{border-bottom:2px solid var(--fg);font-weight:650}.contact-visible{opacity:1;transform:translateY(0)}.contact-visible:before{opacity:.82;transform:scaleX(1)}.contact-visible:after{animation:contact-reveal-wipe .92s cubic-bezier(.2,.8,.2,1) .05s both}.contact-visible h2{animation:contact-title-reveal .78s cubic-bezier(.2,.8,.2,1) .08s both}.contact-visible p{animation:contact-body-reveal .82s cubic-bezier(.2,.8,.2,1) .16s both}.contact-exiting{animation:contact-exit-up .58s cubic-bezier(.2,.8,.2,1) both}.contact-exiting:before{animation:contact-line-exit .58s cubic-bezier(.2,.8,.2,1) both}.contact-exiting:after{animation:contact-exit-wipe .58s cubic-bezier(.2,.8,.2,1) both}.contact-exiting h2{animation:contact-title-exit .52s cubic-bezier(.2,.8,.2,1) both}.contact-exiting p{animation:contact-body-exit .52s cubic-bezier(.2,.8,.2,1) .04s both}.link-btn,.ghost-btn,.mail-action{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid var(--fg);background:var(--fg);color:var(--bg);cursor:pointer;font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:transform .16s ease,background .16s ease}.ghost-btn{background:transparent;color:var(--fg)}.link-btn:hover,.ghost-btn:hover,.mail-action:hover{transform:translateY(-2px)}.toast{position:fixed;right:24px;bottom:24px;padding:12px 14px;background:var(--fg);color:var(--bg);font-size:13px;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:40}.toast.show{opacity:1;transform:translateY(0)}@keyframes contact-reveal-wipe{0%{opacity:.78;transform:translateY(-100%)}52%{opacity:.34;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes contact-title-reveal{0%{opacity:0;filter:blur(8px);transform:translateY(-18px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes contact-body-reveal{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes contact-exit-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-22px)}}@keyframes contact-line-exit{0%{opacity:.82;transform:scaleX(1)}to{opacity:.18;transform:scaleX(.12)}}@keyframes contact-exit-wipe{0%{opacity:0;transform:translateY(100%)}48%{opacity:.26;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes contact-title-exit{0%{opacity:1;filter:blur(0);transform:translateY(0)}to{opacity:0;filter:blur(7px);transform:translateY(-18px)}}@keyframes contact-body-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media(prefers-reduced-motion:reduce){.contact,.contact:before,.contact:after,.contact-visible,.contact-visible h2,.contact-visible p,.contact-exiting,.contact-exiting h2,.contact-exiting p{animation:none;transition:none;filter:none;transform:none;opacity:1}.contact:before{transform:scaleX(1)}}.hero{--hero-pull: 0;--hero-footer-lift: 10svh;box-sizing:border-box;min-height:110svh;display:grid;place-items:center;padding:130px 32px 110px;position:relative;overflow:hidden;border-bottom:2px solid var(--fg)}.hero:after{content:"";position:absolute;left:50%;bottom:calc(76px + var(--hero-footer-lift));width:1px;height:calc(22px + (var(--hero-pull) * .46px));background:color-mix(in oklch,var(--fg),transparent 55%);opacity:calc(.24 + (var(--hero-pull) * .008));transform:translate(-50%);transform-origin:top;pointer-events:none;transition:height .5s cubic-bezier(.2,.8,.2,1),opacity .46s ease}.hero-copy{width:min(1120px,100%);text-align:center;transform:translateY(calc(var(--hero-pull) * -.42px));transition:opacity .62s cubic-bezier(.2,.8,.2,1),filter .62s cubic-bezier(.2,.8,.2,1),transform .72s cubic-bezier(.2,.8,.2,1);will-change:opacity,filter,transform}.hero-leaving .hero-copy{opacity:0;filter:blur(10px);transform:translateY(-56px) scale(.985)}.hero-leaving:after{height:82px;opacity:.72;transition:height .54s cubic-bezier(.2,.8,.2,1),opacity .5s ease}.eyebrow{display:block;width:fit-content;margin:0 auto 22px;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);position:relative;overflow:hidden}.eyebrow:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;opacity:.5;transform:translate(-102%);animation:portfolio-line-scan .86s cubic-bezier(.25,.8,.25,1) .18s forwards}.eyebrow-letter{display:inline-block;opacity:0;transform:translateY(11px) rotateX(72deg);transform-origin:50% 80%;animation:portfolio-letter-in .58s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(45ms * var(--letter-index))}.hero h1{margin:0;font-family:"Noto Sans KR",var(--font-display);font-size:clamp(64px,11vw,143px);line-height:.86;letter-spacing:-.03em;font-weight:800}.hero-note{max-width:44rem;margin:30px auto 0;font-size:clamp(16px,1.25vw,18px);color:#3d3d3d;font-weight:350;word-break:keep-all;white-space:pre-line}.typewriter{display:inline-block;min-height:4.65em;white-space:pre-line}.typewriter-cursor{display:inline-block;width:1px;height:1.05em;margin-left:3px;background:var(--fg);vertical-align:-.14em;animation:typewriter-cursor-blink .88s steps(2,start) infinite}.sns{position:absolute;left:32px;bottom:calc(28px + var(--hero-footer-lift));display:flex;gap:14px;align-items:center;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase;transition:opacity .46s ease,filter .46s ease,transform .52s cubic-bezier(.2,.8,.2,1)}.sns a{color:var(--fg);border-bottom:1px solid var(--fg)}.hero-index{position:absolute;right:32px;bottom:calc(28px + var(--hero-footer-lift));font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.12em;transition:opacity .46s ease,filter .46s ease,transform .52s cubic-bezier(.2,.8,.2,1)}.hero-leaving .sns,.hero-leaving .hero-index{opacity:0;filter:blur(6px);transform:translateY(-18px)}.main{padding:80px 32px 120px}.section-switcher{width:min(1200px,100%);min-height:1138px;margin:0 auto;position:relative;padding-top:0}.section-rail{--rail-item-width: 131px;--rail-item-half: 65.5px;--rail-dot-size: 13px;width:100%;height:116px;position:absolute;left:0;top:135px;overflow:visible}.section-rail:before{content:"";position:absolute;left:0;right:0;top:28px;height:1px;background:color-mix(in oklch,var(--fg),transparent 74%)}.section-rail-item{position:absolute;left:clamp(var(--rail-item-half),var(--rail-center),calc(100% - var(--rail-item-half)));top:-8px;width:var(--rail-item-width);height:106px;transform:translate(-50%);z-index:1;display:block;border:0;background:transparent;padding:0;cursor:pointer;color:var(--muted);transition:color .18s ease}.section-rail-item:after{content:"";position:absolute;left:calc(50% + 11px);top:50px;width:42px;height:1px;background:color-mix(in oklch,var(--fg),transparent 58%);transform-origin:left center;transform:rotate(50deg)}.section-rail-item:focus-visible{outline:1px solid color-mix(in oklch,var(--fg),transparent 52%);outline-offset:12px}.section-rail-dot{position:absolute;left:calc(50% - (var(--rail-dot-size) / 2));top:29.5px;width:var(--rail-dot-size);height:var(--rail-dot-size);border:1px solid color-mix(in oklch,var(--fg),transparent 46%);background:var(--bg);transform:rotate(45deg);transition:background .2s ease,border-color .2s ease,transform .2s cubic-bezier(.22,1,.36,1)}.section-rail-dot:after{content:none}.section-rail-label{position:absolute;left:calc(50% + 27px);top:88px;white-space:nowrap;font-size:12px;line-height:16px;letter-spacing:.08em;color:inherit;transition:color .18s ease,transform .18s cubic-bezier(.22,1,.36,1)}.section-rail-item:hover,.section-rail-item[aria-current=true]{color:var(--fg)}.section-rail-item:hover .section-rail-label{transform:translateY(-2px)}.section-rail-item:not([aria-current=true]):hover .section-rail-dot{border-color:color-mix(in oklch,var(--fg),transparent 32%);background:color-mix(in oklch,var(--fg),transparent 82%);transform:rotate(45deg) scale(1.08)}.section-rail-item[aria-current=true] .section-rail-dot{border-color:var(--fg);background:var(--fg);transform:rotate(45deg) scale(1.08)}.section-head{max-width:1200px;margin:0;display:flex;justify-content:space-between;gap:24px;align-items:end;border-bottom:0;padding-bottom:0}.section-head h2{margin:0;font-family:var(--font-display);font-size:clamp(46px,5.2vw,76px);line-height:.95;letter-spacing:-.02em;text-transform:uppercase;width:fit-content;will-change:clip-path,opacity,transform}.section-head[data-title-direction=forward] h2{animation:section-title-reveal-forward .54s cubic-bezier(.2,.8,.2,1) both}.section-head[data-title-direction=backward] h2{animation:section-title-reveal-backward .54s cubic-bezier(.2,.8,.2,1) both}.section-head[data-title-direction=down] h2{animation:section-title-reveal-down .54s cubic-bezier(.2,.8,.2,1) both}.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid color-mix(in oklch,var(--fg),transparent 80%);background:transparent;min-height:38px;padding:0 13px;cursor:pointer;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.filter[aria-pressed=true]{background:var(--fg);color:var(--bg)}.section-content-reveal{position:relative;overflow:clip}.section-content-reveal:not(:empty){animation:section-content-reveal .62s cubic-bezier(.2,.8,.2,1) both}.section-content-reveal:not(:empty):before{content:"";position:absolute;left:0;right:0;top:242px;height:2px;background:var(--fg);opacity:.34;z-index:3;pointer-events:none;animation:section-fill-edge .62s cubic-bezier(.2,.8,.2,1) both}.card-list{max-width:1200px;margin:242px auto 0;border-top:1px solid transparent}.info-card{display:grid;grid-template-columns:.7fr 1.45fr .85fr;gap:36px;min-height:175px;padding:38px 0;border-bottom:1px solid color-mix(in oklch,var(--fg),transparent 82%);align-items:center}.meta{display:flex;flex-direction:column;gap:10px;font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.06em}.tag{width:fit-content;border:1px solid color-mix(in oklch,var(--fg),transparent 72%);padding:3px 8px;text-transform:uppercase;color:var(--fg);letter-spacing:.08em}.info-card h3{margin:0 0 12px;font-family:var(--font-display);font-size:clamp(30px,3.2vw,42px);line-height:1;letter-spacing:-.02em;text-transform:uppercase}.info-card p{margin:0;color:var(--muted);max-width:56ch;word-break:keep-all}.card-actions{justify-self:end;display:flex;flex-direction:column;gap:12px;align-items:flex-end}.stack-grid{max-width:1200px;margin:242px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.stack-item{min-height:156px;padding:22px;border:1px solid color-mix(in oklch,var(--fg),transparent 82%);display:flex;flex-direction:column;justify-content:space-between;background:color-mix(in oklch,var(--surface),transparent 35%)}.stack-item strong{font-size:15px;font-weight:600}.stack-item span,.node span{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.career-timeline{--career-axis-x: 96px;--career-dot-slot: 24px;--career-dot-slot-half: 12px;max-width:1200px;margin:242px auto 0;padding:0;list-style:none;position:relative;display:grid;gap:0}.career-timeline:before{content:"";position:absolute;left:var(--career-axis-x);top:10px;height:calc(100% - 20px);width:1px;background:var(--fg)}.career-timeline-item{display:grid;grid-template-columns:var(--career-dot-slot) 104px minmax(0,1fr);gap:28px;min-height:112px;align-items:start;position:relative;padding-left:calc(var(--career-axis-x) - var(--career-dot-slot-half))}.career-timeline-dot{width:12px;height:12px;margin-top:3px;justify-self:center;border:1px solid var(--fg);border-radius:50%;background:var(--bg);display:block;position:relative;z-index:1}.career-timeline-dot[data-active=true]{background:var(--fg)}.career-timeline-year{font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.04em;line-height:18px;white-space:nowrap}.career-timeline p{margin:0;color:var(--fg);font-size:16px;line-height:1.55;font-weight:600;word-break:keep-all}.career-timeline-archive{max-width:1200px;margin:242px auto 0;padding:0;list-style:none;position:relative}.career-timeline-archive:before{content:"";position:absolute;left:clamp(128px,17vw,208px);top:0;bottom:0;width:2px;background:color-mix(in oklch,var(--fg),transparent 82%)}.career-timeline-archive-item{display:grid;grid-template-columns:clamp(128px,17vw,208px) minmax(0,1fr);gap:clamp(28px,5vw,72px);min-height:176px;position:relative}.career-timeline-archive-item+.career-timeline-archive-item{margin-top:10px}.career-timeline-archive-marker{display:grid;grid-template-columns:1fr 18px;align-items:start;gap:18px;padding-top:7px;position:relative;z-index:1}.career-timeline-archive-index{font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.06em;line-height:1;text-align:right}.career-timeline-archive-dot{width:18px;height:18px;border:2px solid var(--fg);background:var(--bg);display:block;transform:translate(50%);box-shadow:0 0 0 8px var(--bg)}.career-timeline-archive-entry{padding:0 0 44px;border-bottom:1px solid color-mix(in oklch,var(--fg),transparent 82%)}.career-timeline-archive-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.career-timeline-archive-meta span:first-child{color:var(--fg);border:1px solid color-mix(in oklch,var(--fg),transparent 76%);padding:2px 7px}.career-timeline-archive-entry h3{margin:0 0 10px;font-family:var(--font-display);font-size:clamp(34px,4.2vw,58px);line-height:1;letter-spacing:-.02em;text-transform:uppercase}.career-timeline-archive-entry p{max-width:60ch;margin:0;color:var(--muted);word-break:keep-all}@keyframes portfolio-letter-in{0%{opacity:0;filter:blur(5px);transform:translateY(11px) rotateX(72deg)}to{opacity:1;filter:blur(0);transform:translateY(0) rotateX(0)}}@keyframes portfolio-line-scan{0%{transform:translate(-102%)}to{transform:translate(102%)}}@keyframes typewriter-cursor-blink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes section-title-reveal-forward{0%{clip-path:inset(0 100% 0 0);opacity:0;transform:translate(-22px)}62%{opacity:1}to{clip-path:inset(0 0 0 0);opacity:1;transform:translate(0)}}@keyframes section-title-reveal-backward{0%{clip-path:inset(0 0 0 100%);opacity:0;transform:translate(22px)}62%{opacity:1}to{clip-path:inset(0 0 0 0);opacity:1;transform:translate(0)}}@keyframes section-title-reveal-down{0%{clip-path:inset(0 0 100% 0);opacity:0;transform:translateY(-18px)}62%{opacity:1}to{clip-path:inset(0 0 0 0);opacity:1;transform:translateY(0)}}@keyframes section-content-reveal{0%{clip-path:inset(0 0 100% 0);opacity:.45}to{clip-path:inset(0 0 0 0);opacity:1}}@keyframes section-fill-edge{0%{transform:translateY(-18px) scaleX(.08);transform-origin:left center;opacity:.5}72%{opacity:.34}to{transform:translateY(520px) scaleX(1);transform-origin:left center;opacity:0}}@media(prefers-reduced-motion:reduce){.hero:after,.hero-copy,.eyebrow:after,.eyebrow-letter,.typewriter-cursor,.section-rail-fill,.section-rail-dot,.section-rail-label,.section-head h2,.section-content-reveal,.section-content-reveal:before{animation:none;transition:none}.hero-copy,.eyebrow-letter,.section-head h2,.section-content-reveal{opacity:1;filter:none;transform:none;clip-path:none}}.case-topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:24px 32px;background:color-mix(in oklch,var(--bg),transparent 8%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in oklch,var(--fg),transparent 86%)}.back{min-height:40px;border:0;border-bottom:1px solid var(--fg);background:transparent;cursor:pointer;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.case-hero{min-height:625px;padding:90px 32px 70px;display:grid;align-items:end;border-bottom:2px solid var(--fg)}.case-hero-inner{width:min(1200px,100%);margin:0 auto;display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:end}.case-hero .eyebrow{margin:0 0 22px}.case-hero h1{margin:0;font-family:var(--font-display);font-size:clamp(58px,10vw,119px);line-height:.86;letter-spacing:-.03em;text-transform:uppercase;max-width:100%;overflow-wrap:anywhere}.summary{color:#3d3d3d;font-size:clamp(16px,1.35vw,17px);max-width:38ch;margin:0;word-break:keep-all}.case-main{padding:80px 32px 120px}.content{width:min(1200px,100%);margin:0 auto;display:grid;grid-template-columns:.62fr 1.38fr;gap:60px}.toc{position:sticky;top:92px;align-self:start;display:grid;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.toc button{width:fit-content;border:0;border-bottom:1px solid transparent;background:transparent;padding:6px 0;cursor:pointer;text-transform:uppercase}.toc button[aria-selected=true]{color:var(--fg);border-color:var(--fg)}.panel{border-top:2px solid var(--fg);padding-top:30px}.panel h2{margin:0 0 20px;font-family:var(--font-display);font-size:clamp(38px,4.8vw,57px);line-height:.95;letter-spacing:-.02em;text-transform:uppercase;word-break:keep-all;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}.panel p{max-width:66ch;color:var(--muted);font-size:17px;word-break:keep-all}.rule-list{margin:32px 0 0;padding:0;list-style:none;border-top:1px solid color-mix(in oklch,var(--fg),transparent 82%)}.rule-list li{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid color-mix(in oklch,var(--fg),transparent 82%)}.rule-list code{font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.08em}.diagram{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--fg);border-left:1px solid var(--fg)}.node{min-height:134px;padding:18px;border-right:1px solid var(--fg);border-bottom:1px solid var(--fg);display:flex;flex-direction:column;justify-content:space-between;background:var(--surface)}.node strong{font-size:18px}.mail-action{width:fit-content;margin-top:28px;text-decoration:none}.case-contact{margin-bottom:110px}.resume-page{min-height:100vh;background:#f7f7f4;color:#151515}.resume-page{word-break:keep-all;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}.resume-topbar{height:74px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d5d5cf;background:#f7f7f4e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.resume-back,.resume-text-action,.resume-export{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;cursor:pointer;min-height:40px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.resume-back{border-bottom:1px solid #151515}.resume-topbar-actions{display:flex;gap:12px;align-items:center}.resume-export{padding:0 15px;background:#151515;color:#fff}.resume-shell{width:min(1320px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.5fr);gap:clamp(42px,7vw,110px);padding:72px 32px 112px;align-items:start}.resume-picker{position:sticky;top:112px}.resume-kicker{display:block;font-family:var(--font-mono);font-size:11px;line-height:1.2;letter-spacing:.1em;color:#62625d;text-transform:uppercase}.resume-picker h1{margin:16px 0 14px;font-family:var(--font-display);font-size:clamp(42px,4.2vw,62px);font-weight:700;line-height:1.12;letter-spacing:-.035em;text-transform:uppercase;word-break:keep-all}.resume-picker>div>p{margin:0;color:#62625d;font-size:14px;max-width:30ch;word-break:keep-all}.resume-options{display:grid;gap:8px;margin-top:42px}.resume-option{text-align:left;padding:15px 14px;border:1px solid #d5d5cf;background:transparent;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.resume-option:hover{transform:translate(3px);border-color:#151515}.resume-option[aria-pressed=true]{background:#151515;color:#fff;border-color:#151515}.resume-option span,.resume-option small{display:block}.resume-option span{font-size:14px;font-weight:700}.resume-option small{margin-top:4px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;opacity:.74}.ats-card{margin-top:48px;padding-top:20px;border-top:2px solid #151515}.ats-card strong{display:block;margin-top:12px;font-size:18px}.ats-card p{margin:8px 0 14px;color:#62625d;font-size:13px;line-height:1.55}.ats-card ul{display:grid;gap:7px;padding:0;margin:0;list-style:none;font-family:var(--font-mono);font-size:10px;letter-spacing:.03em}.ats-card li{display:flex;align-items:center;gap:7px}.resume-document{width:min(100%,790px);padding:clamp(36px,5vw,66px);background:#fff;box-shadow:0 12px 48px #14140f14}.resume-documents{display:grid;gap:28px;min-width:0}.resume-document-footer{display:flex;justify-content:space-between;gap:16px;margin-top:24px;padding-top:10px;border-top:1px solid #d5d5cf;color:#62625d;font-size:10px}.resume-story-header{padding-bottom:24px;border-bottom:2px solid #151515}.resume-story-header h2{margin:18px 0;font-size:clamp(26px,3vw,34px);line-height:1.3;letter-spacing:-.04em;white-space:pre-line;word-break:keep-all}.resume-story-header>p{margin:0;font-size:12px;line-height:1.7;color:#62625d;white-space:pre-line;word-break:keep-all}.resume-story-section{margin-top:26px}.resume-story-section h3{margin:0 0 10px;font-size:15px;line-height:1.5;word-break:keep-all}.resume-story-section p{margin:0;color:#343430;font-size:13px;line-height:1.8}.resume-story-section p+p{margin-top:10px}.resume-header{display:flex;justify-content:space-between;gap:32px;align-items:flex-start;padding-bottom:27px;border-bottom:2px solid #151515}.resume-header h2{margin:11px 0 3px;font-family:var(--font-display);font-size:clamp(44px,5vw,68px);line-height:.82;letter-spacing:-.04em;text-transform:uppercase}.resume-header p{margin:10px 0 0;font-size:15px;color:#4f4f4a}.resume-header address{display:grid;gap:7px;font-style:normal;text-align:right;font-family:var(--font-mono);font-size:10px;letter-spacing:.03em}.resume-header address a{display:inline-flex;justify-content:flex-end;align-items:center;gap:4px;text-decoration:underline;text-underline-offset:3px}.resume-draft-note{display:flex;gap:8px;align-items:flex-start;margin-top:24px;padding:12px 14px;background:#f1f1ed;color:#4f4f4a;font-size:12px;line-height:1.5}.resume-draft-note code{font-family:var(--font-mono);font-size:.92em}.resume-section{padding:30px 0 0}.resume-section>h2{margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid #d5d5cf;font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase}.resume-summary{margin:0;max-width:72ch;color:#343430;font-size:14px;line-height:1.68}.resume-entry+.resume-entry{margin-top:22px}.resume-entry-heading{display:flex;justify-content:space-between;gap:18px;align-items:baseline}.resume-entry h3,.resume-education h3{margin:0;font-size:15px;line-height:1.35}.resume-entry-heading p{margin:2px 0 0;color:#62625d;font-size:13px}.resume-entry time,.resume-education time{flex:0 0 auto;color:#62625d;font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;white-space:nowrap}.resume-entry ul{margin:10px 0 0;padding-left:18px;color:#343430;font-size:13px;line-height:1.6}.resume-entry li+li{margin-top:4px}.resume-project-summary{margin:10px 0 0;color:#343430;font-size:13px;line-height:1.6}.resume-keywords{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.resume-keywords span{padding:3px 6px;border:1px solid #d5d5cf;font-family:var(--font-mono);font-size:9px;letter-spacing:.04em}.resume-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 28px;margin:0}.resume-skills div{display:grid;gap:4px}.resume-skills dt{font-family:var(--font-mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase}.resume-skills dd{margin:0;color:#4f4f4a;font-size:13px;line-height:1.55}.resume-education{padding-bottom:4px}@media(max-width:850px){.resume-topbar{padding:0 20px}.resume-shell{grid-template-columns:1fr;padding:44px 20px 72px}.resume-picker{position:static}.resume-picker h1{max-width:12ch}.ats-card{display:none}.resume-options{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.resume-document{width:100%}}@media(max-width:560px){.resume-topbar{height:auto;min-height:64px;padding:12px 16px;align-items:flex-start}.resume-text-action{display:none}.resume-export{min-height:36px;padding:0 10px;font-size:10px}.resume-shell{padding-inline:12px}.resume-options{grid-template-columns:1fr}.resume-document{padding:30px 22px}.resume-header{display:block}.resume-header address{margin-top:22px;text-align:left}.resume-header address a{justify-content:flex-start}.resume-entry-heading{align-items:flex-start;flex-direction:column;gap:6px}.resume-skills{grid-template-columns:1fr}}@page{size:A4;margin:12mm}@media print{html,body,#root,.resume-page{background:#fff!important}.no-print,.resume-topbar{display:none!important}.resume-shell{display:block;width:auto;margin:0;padding:0}.resume-document{width:100%;max-width:none;padding:0;box-shadow:none}.resume-documents{display:block}.resume-document+.resume-document{break-before:page}.resume-document-footer{margin-top:16px;padding-top:8px;break-inside:avoid}.resume-story-header{padding-bottom:16px}.resume-story-header h2{font-size:28px;margin-block:12px}.resume-story-section{margin-top:22px;break-inside:avoid}.resume-story-section h3{margin-bottom:8px}.resume-story-section p{line-height:1.75}.resume-story-section p+p{margin-top:8px}.resume-section{break-inside:avoid;padding-top:14px}.resume-entry{break-inside:avoid}.resume-header h2{font-size:34pt}.resume-header{padding-bottom:12px}.resume-section>h2{margin-bottom:8px;padding-bottom:6px}.resume-entry+.resume-entry{margin-top:16px}.resume-entry ul,.resume-project-summary,.resume-keywords{margin-top:8px}.resume-skills{grid-template-columns:1fr;gap:5px}.resume-skills div{grid-template-columns:90px minmax(0,1fr);align-items:baseline;gap:10px}a{color:#151515!important;text-decoration:none!important}}.resume-workspace{min-width:0}.resume-create{display:block;width:100%;min-height:48px;margin-top:28px;padding:12px 16px;border:1px solid #151515;background:#151515;color:#fff;text-align:left;font-size:14px;font-weight:600;cursor:pointer}.resume-storage-note{font-size:12px;color:#62625d;line-height:1.7;margin:12px 0}.resume-library-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.resume-secondary,.resume-import{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid #d5d5cf;background:transparent;color:#343430;font-size:12px;cursor:pointer}.resume-import{position:relative;overflow:hidden}.resume-import input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.resume-import:focus-within{outline:2px solid #151515;outline-offset:3px}.resume-page button:disabled,.resume-import:has(input:disabled){opacity:.45;cursor:not-allowed}.resume-page button:focus-visible,.resume-field :focus-visible{outline:2px solid #666c4d;outline-offset:3px}.resume-local-actions{margin-top:12px}.resume-options{max-height:320px;overflow-y:auto;margin-top:24px}.resume-option span,.resume-option small{overflow-wrap:anywhere}.resume-notice{padding:16px;margin:0 0 16px;background:#fff1df;border:1px solid #c49859;line-height:1.6;font-size:14px}.resume-editor{background:#fff;border:1px solid #deded7;padding:clamp(20px,4vw,40px)}.resume-editor-heading h2{margin:12px 0;font-size:28px;letter-spacing:-.04em}.resume-editor-heading p{font-size:13px;color:#62625d;line-height:1.7;margin-bottom:24px}.resume-field{display:grid;gap:8px;margin-bottom:18px;font-size:13px;color:#343430}.resume-field input,.resume-field textarea,.resume-field select{width:100%;min-width:0;padding:11px 12px;border:1px solid #cecec7;border-radius:0;background:#fff;color:#151515;font:inherit;line-height:1.6}.resume-field textarea{resize:vertical}.resume-editor details{border-top:1px solid #deded7;padding:16px 0}.resume-editor summary{cursor:pointer;font-size:15px;font-weight:600;padding:4px 0 16px}.resume-editor fieldset{min-width:0;margin:8px 0 20px;padding:16px;border:1px solid #deded7}.resume-editor legend{padding:0 6px;font-size:12px;color:#62625d}.resume-editor-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:20px;border-top:1px solid #deded7}.resume-editor-actions span{font-size:12px;color:#62625d}.resume-preview-hidden{display:none}@media(min-width:851px){.resume-picker{position:static}}@media(max-width:560px){.resume-field input,.resume-field textarea,.resume-field select{font-size:16px}}.resume-picker h1{font-size:clamp(32px,3.2vw,44px);max-width:none}.resume-editor{scroll-margin-top:94px}@media print{.resume-document-footer span:last-child{display:none}}@media(max-width:900px){.topbar{padding:22px 20px 0}.case-topbar{padding:20px}.brand{--brand-logo-height: 23px}.nav{gap:14px;font-size:11px}.hero{--hero-footer-lift: 8svh;min-height:108svh;padding-inline:20px}.sns{left:20px;bottom:calc(22px + var(--hero-footer-lift))}.hero-index{display:none}.main,.case-main{padding:56px 20px 90px}.section-switcher{min-height:auto;padding-top:0}.section-rail{--rail-item-width: 72px;--rail-item-half: 36px;position:relative;left:auto;top:auto;width:100%;height:86px;margin-top:42px;margin-bottom:42px}.section-rail:before{top:28px}.section-rail-item{height:92px}.section-rail-dot{left:29.5px;top:29.5px}.section-rail-item:after{display:none}.section-rail-label{left:50%;top:70px;width:max-content;margin-top:0;font-size:11px;transform:translate(-50%)}.section-rail-item:hover .section-rail-label{transform:translate(-50%) translateY(-2px)}.section-head{display:block}.filters{margin-top:22px;justify-content:flex-start}.card-list,.stack-grid,.career-timeline,.career-timeline-archive{margin-top:0}.section-content-reveal:not(:empty):before{top:0}.info-card{grid-template-columns:1fr;gap:18px;padding:32px 0}.card-actions{justify-self:start;align-items:flex-start;flex-direction:row;flex-wrap:wrap}.stack-grid{grid-template-columns:repeat(2,1fr)}.career-timeline{--career-axis-x: 8px;--career-dot-slot: 16px;--career-dot-slot-half: 8px;padding-left:0}.career-timeline:before{left:var(--career-axis-x);top:8px;height:calc(100% - 16px)}.career-timeline-item{grid-template-columns:var(--career-dot-slot) 92px minmax(0,1fr);gap:10px;padding-left:calc(var(--career-axis-x) - var(--career-dot-slot-half));min-height:96px}.career-timeline p{font-size:15px}.career-timeline-archive:before{left:8px}.career-timeline-archive-item{grid-template-columns:1fr;gap:18px;padding-left:34px;min-height:0}.career-timeline-archive-marker{display:flex;gap:12px;align-items:center;padding-top:0;position:static}.career-timeline-archive-index{text-align:left}.career-timeline-archive-dot{order:-1;width:16px;height:16px;position:absolute;left:0;top:0;z-index:1;transform:none}.career-timeline-archive-entry{padding-bottom:34px}.contact{grid-template-columns:1fr}.case-hero{padding:70px 20px 56px;min-height:560px}.case-hero-inner,.content{grid-template-columns:1fr;gap:34px}.toc{position:static;display:flex;flex-wrap:wrap;gap:16px}.rule-list li{grid-template-columns:1fr;gap:8px}.diagram{grid-template-columns:1fr}}@media(max-width:520px){.nav a:nth-child(2),.nav a:nth-child(3){display:none}.hero h1{font-size:clamp(58px,18vw,86px)}.section-rail-label{font-size:10px}.case-hero h1{font-size:clamp(44px,15vw,62px);letter-spacing:-.04em}.sns{right:20px;flex-wrap:wrap}.stack-grid{grid-template-columns:1fr}.career-timeline-archive-entry h3{font-size:clamp(34px,12vw,52px)}.career-timeline-archive-meta{gap:8px}.contact{margin-top:70px}}
