:root{color-scheme:dark;font-family:Manrope,Noto Sans KR,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;--bg: #0a0e19;--surface: #111725;--surface-2: #171e2e;--line: #252d3e;--line-strong: #3d465a;--text: #eef1f8;--muted: #97a1b4;--muted-strong: #c7cede;--muted-soft: #7b869a;--primary: #8c83ff;--on-primary: #0b0f1b;--header-bg: rgba(10,14,25,.86);--overlay-1: rgba(108,99,255,.12);--overlay-2: rgba(37,194,160,.05);--cta-bg: #756cff;--cta-text: #0a0e19;--cta-eyebrow: #29234f;--header-height: 72px}:root[data-theme=dark]{color-scheme:dark;--bg: #0a0e19;--surface: #111725;--surface-2: #171e2e;--line: #252d3e;--line-strong: #3d465a;--text: #eef1f8;--muted: #97a1b4;--muted-strong: #c7cede;--muted-soft: #7b869a;--primary: #8c83ff;--on-primary: #0b0f1b;--header-bg: rgba(10,14,25,.86);--overlay-1: rgba(108,99,255,.12);--overlay-2: rgba(37,194,160,.05);--cta-bg: #756cff;--cta-text: #0a0e19;--cta-eyebrow: #29234f}:root[data-theme=white]{color-scheme:light;--bg: #ffffff;--surface: #f6f7fb;--surface-2: #eef0f7;--line: #e1e4ee;--line-strong: #c7cce0;--text: #12141f;--muted: #5b6376;--muted-strong: #333a4d;--muted-soft: #687185;--primary: #5d54e8;--on-primary: #ffffff;--header-bg: rgba(255,255,255,.86);--overlay-1: rgba(108,99,255,.08);--overlay-2: rgba(37,194,160,.06);--cta-bg: #5d54e8;--cta-text: #ffffff;--cta-eyebrow: #e3e0ff}:root[data-theme=pink]{color-scheme:light;--bg: #fff6f9;--surface: #ffeef4;--surface-2: #ffe3ee;--line: #f7d2e2;--line-strong: #f0b7d1;--text: #3a1626;--muted: #87566d;--muted-strong: #5c2e42;--muted-soft: #875f72;--primary: #c42f78;--on-primary: #ffffff;--header-bg: rgba(255,246,249,.86);--overlay-1: rgba(236,72,153,.1);--overlay-2: rgba(255,182,213,.18);--cta-bg: #c42f78;--cta-text: #ffffff;--cta-eyebrow: #ffd9ea}:root[data-theme=green]{color-scheme:light;--bg: #f3fbf6;--surface: #e9f7ee;--surface-2: #dcf1e5;--line: #c9e7d4;--line-strong: #a9d8bc;--text: #0e2318;--muted: #4d7a63;--muted-strong: #123322;--muted-soft: #527764;--primary: #167a50;--on-primary: #ffffff;--header-bg: rgba(243,251,246,.86);--overlay-1: rgba(30,163,107,.1);--overlay-2: rgba(112,225,180,.16);--cta-bg: #167a50;--cta-text: #ffffff;--cta-eyebrow: #d3f3e3}:root[data-theme=blue]{color-scheme:light;--bg: #f2f7ff;--surface: #e8f0ff;--surface-2: #dbe8ff;--line: #c7daf9;--line-strong: #a8c7f2;--text: #0c1c30;--muted: #4c6690;--muted-strong: #0f2c4d;--muted-soft: #567093;--primary: #2f6fed;--on-primary: #ffffff;--header-bg: rgba(242,247,255,.86);--overlay-1: rgba(47,111,237,.1);--overlay-2: rgba(112,178,245,.16);--cta-bg: #2f6fed;--cta-text: #ffffff;--cta-eyebrow: #d6e6ff}*{box-sizing:border-box}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,.84,.44,1),transform .7s cubic-bezier(.16,.84,.44,1);transition-delay:var(--reveal-delay,0s)}.reveal.is-visible{opacity:1;transform:translateY(0)}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 28px)}.section-scroll-button{appearance:none;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.section-scroll-button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);transition:background .2s,color .2s}body:before{content:"";position:fixed;inset:-10%;pointer-events:none;background:radial-gradient(circle at 80% 4%,var(--overlay-1),transparent 31%),radial-gradient(circle at 10% 42%,var(--overlay-2),transparent 24%);z-index:-1;animation:bg-drift 24s ease-in-out infinite alternate}@keyframes bg-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-2.5%,2%,0) scale(1.06)}}a{color:inherit;text-decoration:none}button,input{font:inherit}img{display:block;max-width:100%}p{line-height:1.75;color:var(--muted)}h1,h2,h3,p{margin-top:0}.site-shell{min-height:100vh;display:flex;flex-direction:column}main{flex:1;padding-top:var(--header-height);animation:page-fade-in .55s cubic-bezier(.16,.84,.44,1) both}@keyframes page-fade-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.container{width:min(1180px,calc(100% - 48px));margin:0 auto}.section{padding:112px 0}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-inner{height:var(--header-height);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center}.brand img{width:123px;height:38px;object-fit:contain;object-position:left center}.header-actions{display:flex;align-items:center;gap:26px}.theme-switcher{display:flex;align-items:center;gap:8px}.theme-switcher button{position:relative;width:20px;height:20px;padding:0;border:2px solid transparent;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px #7f89a059;transition:transform .15s,border-color .15s}.theme-switcher button:hover{transform:scale(1.14)}.theme-switcher button.active{border-color:var(--primary)}.nav{display:flex;align-items:center;gap:34px}.nav a{position:relative;color:var(--muted);font-size:.86rem;font-weight:600}.nav a:hover,.nav a.active{color:var(--text)}.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-27px;height:2px;background:var(--primary)}.menu-button{display:none;background:none;border:0;padding:8px}.menu-button span{display:block;width:22px;height:1px;margin:6px 0;background:var(--text)}.scroll-top-button{position:fixed;right:24px;bottom:24px;z-index:30;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--text);font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:0 14px 34px #00000047;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .25s,transform .25s,border-color .2s,background .2s,color .2s}.scroll-top-button.visible{opacity:1;transform:translateY(0);pointer-events:auto}.scroll-top-button:hover{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.eyebrow,.section-number{font:500 .75rem/1 DM Mono,monospace;letter-spacing:.14em;color:var(--primary)}.hero{position:relative;overflow:hidden;min-height:640px;padding-top:94px}.hero-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:flex-end;padding:10px 0 40px}.hero-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-backdrop-track{display:flex;width:100%;height:100%;transition:transform 1.1s cubic-bezier(.65,0,.35,1)}.hero-backdrop-slide{flex:0 0 100%;height:100%}.hero-backdrop-slide img{width:100%;height:100%;object-fit:cover;display:block}.hero-backdrop-scrim{position:absolute;inset:0;background:linear-gradient(100deg,color-mix(in srgb,var(--bg) 30%,transparent),color-mix(in srgb,var(--bg) 16%,transparent) 45%,color-mix(in srgb,var(--bg) 10%,transparent)),linear-gradient(to top,color-mix(in srgb,var(--bg) 40%,transparent),transparent 45%)}.hero-backdrop-dots{position:absolute;right:24px;bottom:20px;z-index:1;display:flex;gap:8px}.hero-backdrop-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--text) 30%,transparent);cursor:pointer;transition:background .2s,transform .2s}.hero-backdrop-dots button.active{background:var(--primary);transform:scale(1.3)}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-band{position:absolute;left:0;right:0;bottom:0;z-index:1;border-top:1px solid rgba(255,255,255,.1);background:color-mix(in srgb,var(--bg) 62%,transparent);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2)}.hero-band-inner{display:flex;flex-wrap:wrap;align-items:center;gap:16px 40px;padding:26px 0}.hero-band-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;flex:0 0 auto;animation:fade-up .7s cubic-bezier(.16,.84,.44,1) both}.hero-band-heading .eyebrow{white-space:nowrap}.hero-band h1{margin:0;font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.25;letter-spacing:-.03em;white-space:nowrap}.hero-band h1 span{color:transparent;-webkit-text-stroke:1px var(--primary)}.hero-description{flex:1 1 300px;max-width:440px;margin:0;font-size:.86rem;animation:fade-up .8s cubic-bezier(.16,.84,.44,1) .1s both}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin:0;flex:0 0 auto;animation:fade-up .8s cubic-bezier(.16,.84,.44,1) .2s both}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 21px;border:1px solid var(--line);border-radius:9px;font-size:.88rem;font-weight:700;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.button:hover{transform:translateY(-2px);border-color:var(--line-strong)}.button.primary{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.button.secondary{background:var(--surface-2)}.button.ghost{border-color:transparent;color:var(--muted-strong)}.button.light{background:#fff;color:#111523;border-color:#fff}.hero-panel{width:100%;max-width:300px;padding:0 20px 18px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:linear-gradient(145deg,#141b2a,#0d121e);box-shadow:0 24px 60px #00000047;animation:panel-in .9s cubic-bezier(.16,.84,.44,1) .25s both,panel-float 6s ease-in-out 1.3s infinite}.hero-panel-profile{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}.hero-panel-profile img{flex:0 0 auto;width:44px;height:44px;border-radius:10px;object-fit:cover;border:1px solid rgba(255,255,255,.15)}.hero-panel-profile strong{display:block;font-size:.85rem;color:#eef1f8}.hero-panel-profile span{display:block;margin-top:2px;font-size:.68rem;color:#8d97a9}@keyframes panel-in{0%{opacity:0;transform:rotate(1deg) translateY(30px) scale(.97)}to{opacity:1;transform:rotate(1deg) translateY(0) scale(1)}}@keyframes panel-float{0%,to{transform:rotate(1deg) translateY(0)}50%{transform:rotate(1deg) translateY(-10px)}}.code-dots{height:40px;display:flex;align-items:center;gap:6px;border-bottom:1px solid rgba(255,255,255,.08)}.code-dots span{width:7px;height:7px;border-radius:50%;background:#3a4253}.code-dots span:first-child{background:#ff6e79}.code-dots span:nth-child(2){background:#f4bf4f}.code-dots span:last-child{background:#4fd18b}.hero-code{padding:18px 0 14px;font:.72rem/1.65 DM Mono,monospace;color:#c4cada}.hero-code p{margin:0;color:inherit;line-height:inherit}.code-key{color:#bd83ff}.code-value{color:#7ed9c4}.availability{padding-top:14px;border-top:1px solid rgba(255,255,255,.08);font-size:.68rem;color:#8d97a9}.availability span{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#4fd18b;box-shadow:0 0 0 4px #4fd18b1a}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:46px}.section-heading .eyebrow{grid-column:1 / -1;margin-bottom:17px}.section-heading h2{margin:0;font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.04em}.section-heading p{max-width:480px;margin:0 0 4px auto}.section-heading-single{grid-template-columns:1fr}.section-heading-single h2{max-width:640px;font-size:clamp(1.9rem,3.4vw,2.7rem);text-wrap:balance}.section-heading-single p{max-width:560px;margin:16px 0 0;text-align:left}.projects-preview{background:color-mix(in srgb,var(--surface) 55%,transparent);border-block:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{position:relative;min-height:460px;display:flex;flex-direction:column;padding:27px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(155deg,var(--surface-2),var(--surface));transition:border-color .3s,transform .3s,box-shadow .3s}.project-card:before{content:"";position:absolute;width:180px;height:180px;top:-80px;right:-80px;border-radius:50%;background:var(--accent);filter:blur(75px);opacity:.16;transition:opacity .3s}.project-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-6px);box-shadow:0 24px 48px #00000038}.project-card:hover:before{opacity:.26}.card-topline{display:flex;justify-content:space-between;color:var(--muted-soft);font:.68rem DM Mono,monospace;letter-spacing:.08em}.card-topline span:first-child{color:var(--accent)}.project-card-image{position:relative;margin:-27px -27px 18px;aspect-ratio:16/9;overflow:hidden;border-radius:14px 14px 0 0;background:var(--surface-2)}.project-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.project-card:hover .project-card-image img{transform:scale(1.06)}.project-card h3{margin:14px 0 10px;font-size:2rem;letter-spacing:-.04em}.card-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.card-title-row .status-badge{margin-top:14px}.tagline{min-height:54px;margin-bottom:38px;font-size:.9rem}.highlight-row{display:flex;flex-wrap:wrap;gap:6px;margin:-20px 0 24px}.tech-icon{width:1em;height:1em;margin-right:5px;vertical-align:-.14em;flex:0 0 auto}.chip,.highlight-chip,.skill-chip,.side-project-tag,.large-chip-row span{display:inline-flex;align-items:center}.highlight-chip{padding:5px 10px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:.68rem;font-weight:700}.project-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}.project-filter button{padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted-strong);font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,color .2s,transform .2s}.project-filter button:hover{transform:translateY(-2px);border-color:var(--line-strong)}.project-filter button.active{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.card-meta{display:grid;gap:23px;margin-bottom:28px}.card-meta p{margin:8px 0 0;font-size:.8rem;line-height:1.55}.meta-label{color:var(--muted-soft);font:.65rem DM Mono,monospace;letter-spacing:.12em}.chip-row,.large-chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.chip{padding:5px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:.68rem}.card-footer{display:flex;flex-direction:column;gap:10px;margin-top:auto}.text-link{display:flex;justify-content:space-between;padding-top:19px;border-top:1px solid var(--line);font-size:.8rem;font-weight:600}.text-link span{color:var(--accent)}.deploy-link{display:flex;justify-content:space-between;font-size:.78rem;font-weight:600;color:var(--muted)}.deploy-link:hover,.deploy-link span{color:var(--accent)}.center-action{margin-top:40px;text-align:center}.in-progress-section{border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 45%,transparent)}.side-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.side-project-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,var(--surface-2),var(--surface));transition:border-color .2s}.side-project-image{margin:-24px -24px 18px;aspect-ratio:16/9;overflow:hidden;border-radius:12px 12px 0 0;background:var(--surface-2)}.side-project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.side-project-card:hover .side-project-image img{transform:scale(1.06)}.side-project-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}.side-project-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.side-project-head h3{margin:0;font-size:1.1rem;letter-spacing:-.02em}.status-badge{flex:0 0 auto;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,#ffbe70 20%,transparent);color:#ffbe70;font-size:.68rem;font-weight:700;white-space:nowrap}.side-project-card p{margin:0 0 14px;font-size:.82rem;color:var(--muted)}.side-project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.side-project-tag{padding:4px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted-soft);font-size:.68rem}.side-project-link{margin-top:auto;font-size:.78rem;font-weight:600;color:var(--primary)}.side-project-carousel{display:flex;align-items:center;gap:12px}.side-project-track{display:flex;flex:1;min-width:0;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 2px 10px;scrollbar-width:none}.side-project-track::-webkit-scrollbar{display:none}.side-project-track .side-project-card{flex:0 0 calc((100% - 32px) / 3);scroll-snap-align:start}.carousel-arrow{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--text);font-size:1.4rem;line-height:1;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.carousel-arrow:hover{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:36px}.pagination>button{padding:9px 18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted-strong);font-size:.8rem;cursor:pointer;transition:border-color .2s,color .2s}.pagination>button:disabled{opacity:.35;cursor:not-allowed}.pagination>button:not(:disabled):hover{border-color:var(--primary);color:var(--primary)}.pagination-pages{display:flex;gap:6px}.pagination-pages button{width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted-strong);font-size:.78rem;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.pagination-pages button.active{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.compact-cta{padding-block:68px}.cta-box{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:50px;border-radius:16px;background:var(--cta-bg);color:var(--cta-text)}.cta-box .eyebrow{color:var(--cta-eyebrow)}.cta-box h2{margin:12px 0 0;font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.04em}.home-main{animation:none}.home-hero{position:relative;min-height:calc(100svh - 72px);display:flex;align-items:center;overflow:hidden;padding:60px 0 76px;background:linear-gradient(130deg,color-mix(in srgb,var(--primary) 7%,var(--bg)),var(--bg) 48%,color-mix(in srgb,var(--surface-2) 70%,var(--bg)));isolation:isolate}.home-hero:before{content:"";position:absolute;inset:0;z-index:-2;opacity:.48;background-image:linear-gradient(color-mix(in srgb,var(--line) 54%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 54%,transparent) 1px,transparent 1px),radial-gradient(circle,color-mix(in srgb,var(--text) 18%,transparent) .7px,transparent .9px);background-size:44px 44px,44px 44px,5px 5px;-webkit-mask-image:linear-gradient(to bottom,#000 15%,transparent 92%);mask-image:linear-gradient(to bottom,#000 15%,transparent 92%)}.home-hero:after{content:"";position:absolute;z-index:-1;width:720px;height:720px;right:-160px;top:-170px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 17%,transparent),transparent 68%);animation:hero-glow-shift 6s ease-in-out infinite alternate;will-change:transform,opacity}@keyframes hero-glow-shift{0%{opacity:.65;transform:translateZ(0) scale(.96)}to{opacity:1;transform:translate3d(-34px,28px,0) scale(1.07)}}.home-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.98fr) minmax(500px,1.02fr);align-items:center;gap:clamp(36px,4vw,56px)}.home-hero-copy{min-width:0}.home-hero-copy .eyebrow{display:block;margin-bottom:24px;animation:home-stagger-in .42s cubic-bezier(.16,.84,.44,1) both}.home-hero h1{max-width:760px;margin:0;font-size:clamp(3.9rem,5.5vw,5.6rem);line-height:.92;letter-spacing:-.045em;overflow-wrap:anywhere}.home-hero h1{font-size:clamp(3.65rem,5.15vw,5.2rem)}.hero-title-line{display:block}.home-hero h1 .hero-title-accent{color:var(--primary)}.home-hero-description{max-width:570px;margin:36px 0 0;color:var(--muted-strong);font-size:1rem;line-height:1.8;animation:hero-fade-in .42s ease-out .1s both}@keyframes hero-fade-in{0%{opacity:0}to{opacity:1}}.home-hero-tech{display:flex;flex-wrap:wrap;gap:7px;margin-top:30px}.home-hero-tech .chip{border-color:color-mix(in srgb,var(--primary) 32%,var(--line));background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--muted-strong);transition:border-color .25s,box-shadow .25s,transform .25s}.home-hero-tech .chip{opacity:0;animation:hero-chip-in .36s cubic-bezier(.16,.84,.44,1) forwards}.home-hero-tech .chip:nth-child(1){animation-delay:.14s}.home-hero-tech .chip:nth-child(2){animation-delay:.17s}.home-hero-tech .chip:nth-child(3){animation-delay:.2s}.home-hero-tech .chip:nth-child(4){animation-delay:.23s}.home-hero-tech .chip:nth-child(5){animation-delay:.26s}.home-hero-tech .chip:nth-child(6){animation-delay:.29s}.home-hero-tech .chip:nth-child(7){animation-delay:.32s}.home-hero-tech .chip:nth-child(8){animation-delay:.35s}@keyframes hero-chip-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.home-hero-tech .chip:hover,.home-expertise-card .chip:hover{border-color:color-mix(in srgb,var(--primary) 68%,var(--line));box-shadow:0 0 18px color-mix(in srgb,var(--primary) 15%,transparent);transform:translateY(-2px)}.home-hero-actions{margin-top:36px;animation:hero-fade-in .45s ease-out .28s both}@keyframes home-stagger-in{0%{transform:translate3d(0,18px,0)}to{transform:none}}.hero-scroll-indicator{position:absolute;z-index:2;left:50%;bottom:17px;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--muted-soft);transform:translate(-50%);font:.52rem DM Mono,monospace;letter-spacing:.16em}.hero-scroll-indicator i{position:relative;width:1px;height:24px;overflow:hidden;background:var(--line-strong)}.hero-scroll-indicator b{position:absolute;left:0;top:0;width:1px;height:9px;background:var(--primary);animation:scroll-indicator 1.8s ease-in-out infinite}@keyframes scroll-indicator{0%{opacity:0;transform:translateY(-8px)}30%{opacity:1}to{opacity:0;transform:translateY(24px)}}.ai-pipeline-panel{position:relative;overflow:hidden;padding:22px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:18px;background:linear-gradient(155deg,color-mix(in srgb,var(--surface-2) 94%,transparent),var(--surface));box-shadow:0 30px 76px #00000042;animation:pipeline-panel-in .65s cubic-bezier(.16,.84,.44,1) .12s both}.ai-pipeline-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 20%,color-mix(in srgb,var(--primary) 5%,transparent),transparent 72%);transform:translate(-100%);animation:panel-scan 5s ease-in-out infinite}@keyframes pipeline-panel-in{0%{opacity:0;transform:translate3d(28px,18px,0) scale(.98)}to{opacity:1;transform:none}}@keyframes panel-scan{0%,20%{transform:translate(-100%)}65%,to{transform:translate(100%)}}.pipeline-panel-head,.pipeline-panel-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px}.pipeline-panel-head{padding-bottom:17px;border-bottom:1px solid var(--line)}.pipeline-panel-head strong{display:block;margin-top:5px;font-size:.84rem;letter-spacing:.04em}.pipeline-kicker{color:var(--muted-soft);font:.58rem DM Mono,monospace;letter-spacing:.14em}.pipeline-live{color:#4fd18b;font:600 .58rem DM Mono,monospace}.pipeline-live i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:currentColor;animation:node-pulse 1.8s ease-in-out infinite}.pipeline-overview{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}.pipeline-status-card{min-width:0;height:64px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:2px 5px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--bg) 62%,transparent)}.pipeline-status-card>span{grid-column:1/-1;color:var(--muted-soft);font:.48rem DM Mono,monospace;letter-spacing:.08em}.pipeline-status-card>strong{align-self:end;color:var(--text);font:800 .84rem/1 DM Mono,monospace}.pipeline-status-card>small{align-self:end;color:var(--muted-soft);font:.44rem/1 DM Mono,monospace}.pipeline-count{position:relative;height:.9rem;overflow:hidden}.pipeline-count-reel{display:flex;flex-direction:column;animation:pipeline-count-cycle 4.8s cubic-bezier(.16,.84,.44,1) infinite}.pipeline-count b{height:.9rem;font:inherit}.pipeline-count-readable{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes pipeline-count-cycle{0%,25%{transform:translateY(0)}34%,58%{transform:translateY(-.9rem)}67%,92%{transform:translateY(-1.8rem)}to{transform:translateY(0)}}.pipeline-processing-card>i{grid-column:1/-1;height:3px;margin-top:4px;overflow:hidden;border-radius:3px;background:var(--line)}.pipeline-processing-card>i b{display:block;width:82%;height:100%;border-radius:inherit;background:var(--primary);transform-origin:left;animation:processing-progress 3.2s ease-in-out infinite}@keyframes processing-progress{0%,to{transform:scaleX(.72)}50%{transform:scaleX(1)}}.pipeline-status-text{color:#4fd18b!important;font-size:.61rem!important}.pipeline-status-text i{display:inline-block;width:5px;height:5px;margin-right:3px;border-radius:50%;background:currentColor;animation:node-pulse 1.8s ease-in-out infinite}.pipeline-node-list{position:relative;z-index:1;display:grid;gap:7px;margin:14px 0;padding:0;list-style:none}.pipeline-node{position:relative;min-height:49px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 10px 6px 6px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface-2) 76%,transparent);animation:pipeline-node-in .45s cubic-bezier(.16,.84,.44,1) both,pipeline-node-active 4.2s ease-in-out infinite}.pipeline-node:nth-child(2){animation-delay:.08s}.pipeline-node:nth-child(3){animation-delay:.14s}.pipeline-node:nth-child(4){animation-delay:.2s}.pipeline-node:nth-child(5){animation-delay:.26s}.pipeline-node:nth-child(6){animation-delay:.32s}@keyframes pipeline-node-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes pipeline-node-active{0%,18%,to{border-color:var(--line)}28%,42%{border-color:color-mix(in srgb,var(--primary) 54%,var(--line));box-shadow:inset 2px 0 var(--primary)}}.pipeline-node-visual{position:relative;width:40px;height:35px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line-strong);border-radius:7px;background:var(--bg);color:var(--primary);font:600 .58rem DM Mono,monospace}.pipeline-node-copy strong,.pipeline-node-copy span{display:block}.pipeline-node-copy strong{font-size:.74rem}.pipeline-node-copy span{margin-top:3px;color:var(--muted-soft);font:.58rem DM Mono,monospace}.pipeline-node-state{color:var(--muted-soft);font:600 .48rem DM Mono,monospace;letter-spacing:.06em}.pipeline-connector{position:absolute;z-index:2;left:25px;top:calc(100% + 1px);width:1px;height:7px;overflow:visible;background:var(--line-strong)}.pipeline-connector i{position:absolute;left:-2px;width:5px;height:5px;border-radius:50%;background:var(--primary);box-shadow:0 0 8px var(--primary);animation:data-flow 1.4s linear infinite}@keyframes data-flow{0%{opacity:0;transform:translateY(-2px)}35%{opacity:1}to{opacity:0;transform:translateY(7px)}}@keyframes node-pulse{0%,to{opacity:.55;transform:scale(.82)}50%{opacity:1;transform:scale(1.12)}}.pipeline-bbox{position:absolute;inset:7px 9px;border:1px solid var(--primary);animation:bbox-focus 2.2s ease-in-out infinite}.pipeline-target{width:5px;height:5px;border-radius:50%;background:var(--primary)}@keyframes bbox-focus{0%,to{opacity:.55;transform:scale(.88)}50%{opacity:1;transform:scale(1)}}.pipeline-method{color:var(--primary)}.pipeline-request-dot{position:absolute;left:5px;bottom:5px;width:4px;height:4px;border-radius:50%;background:#4fd18b;animation:api-request 1.8s ease-in-out infinite}@keyframes api-request{0%{opacity:0;transform:translate(0)}20%{opacity:1}to{opacity:0;transform:translate(28px)}}.pipeline-braces{font-size:.78rem}.pipeline-node-processing .pipeline-node-visual{display:flex;align-items:flex-end;justify-content:center;gap:3px;padding-bottom:8px}.pipeline-node-processing .pipeline-node-visual span{width:5px;border-radius:2px 2px 0 0;background:var(--primary);animation:processing-bars .6s ease-in-out infinite alternate}.pipeline-node-processing .pipeline-node-visual span:first-child{height:8px}.pipeline-node-processing .pipeline-node-visual span:nth-child(2){height:17px;animation-delay:.12s}.pipeline-node-processing .pipeline-node-visual span:last-child{height:12px;animation-delay:.24s}@keyframes processing-bars{to{transform:scaleY(.55);opacity:.55}}.pipeline-node-database .pipeline-node-visual{display:flex;flex-direction:column;justify-content:center;gap:2px}.pipeline-node-database .pipeline-node-visual span{width:20px;height:5px;border:1px solid var(--primary);border-radius:50%}.pipeline-node-dashboard .pipeline-node-visual{grid-template-columns:repeat(3,7px);align-items:end;gap:3px;padding-bottom:9px}.pipeline-node-dashboard .pipeline-node-visual span{display:block;background:var(--primary);border-radius:2px 2px 0 0}.pipeline-node-dashboard .pipeline-node-visual span:first-child{height:8px}.pipeline-node-dashboard .pipeline-node-visual span:nth-child(2){height:15px}.pipeline-node-dashboard .pipeline-node-visual span:last-child{height:11px}.pipeline-panel-foot{padding-top:14px;border-top:1px solid var(--line);color:var(--muted-soft);font:.58rem DM Mono,monospace}.pipeline-panel-foot strong{color:var(--muted-strong)}@media(min-width:901px){.ai-pipeline-panel{min-height:571px}}.home-competencies{--core-grid-gap: 20px;--core-row-primary: 460px;--core-row-secondary: 380px}.home-card-grid{display:grid;gap:var(--core-grid-gap)}.home-competencies #core-competencies-title{scroll-margin-top:calc(var(--header-height) + 28px)}.home-bento-grid{grid-template-columns:repeat(12,1fr);align-items:stretch}.home-info-card{min-height:0;padding:28px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(155deg,var(--surface-2),var(--surface));transition:border-color .3s,transform .3s,box-shadow .3s}.home-bento-card{display:grid;height:100%;align-items:center;gap:26px}.home-bento-card.reveal{transform:translateY(18px) scale(.975)}.home-bento-card.reveal.is-visible{transform:none}.home-bento-1{grid-column:span 7;grid-template-columns:minmax(0,42fr) minmax(310px,58fr)}.home-bento-2,.home-bento-3{grid-column:span 5}.home-bento-4{grid-column:span 7;grid-template-columns:minmax(0,45fr) minmax(300px,55fr)}.home-bento-2,.home-bento-3{grid-template-columns:1fr;grid-template-rows:auto auto;gap:16px}.home-bento-2 .competency-tags,.home-bento-3 .competency-tags{padding-top:16px}@media(min-width:901px){.home-bento-1,.home-bento-2{min-height:var(--core-row-primary)}.home-bento-3,.home-bento-4{min-height:var(--core-row-secondary)}}.home-info-card:hover{border-color:color-mix(in srgb,var(--primary) 50%,var(--line));transform:translateY(-3px);box-shadow:0 18px 38px #00000021}.home-bento-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start}.home-info-card h3{margin:24px 0 14px;font-size:clamp(1.2rem,1.7vw,1.48rem);letter-spacing:-.03em}.home-info-card p{max-width:520px;margin:0;font-size:.84rem;line-height:1.75}.competency-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:0;padding-top:20px}.competency-tags span{padding:6px 9px;border:1px solid var(--line);border-radius:6px;color:var(--muted-soft);background:color-mix(in srgb,var(--surface-2) 72%,transparent);font:.6rem DM Mono,monospace;white-space:nowrap}.competency-visual{min-width:0;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--bg) 62%,transparent);transition:border-color .3s,box-shadow .3s,background .3s}.home-info-card:hover .competency-visual{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));background:color-mix(in srgb,var(--primary) 3%,var(--bg));box-shadow:0 10px 26px color-mix(in srgb,var(--primary) 9%,transparent)}.competency-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid var(--line)}.competency-panel-label{color:var(--muted-soft);font:600 .64rem DM Mono,monospace;letter-spacing:.1em}.panel-live-status{display:flex;align-items:center;gap:6px;color:#4fd18b;font:600 .62rem DM Mono,monospace;white-space:nowrap}.panel-live-status i,.integration-connected>i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,#4fd18b 10%,transparent);animation:node-pulse 2.4s ease-in-out infinite}.service-flow-panel{display:grid;grid-template-rows:auto auto auto auto;align-content:center;gap:12px;padding:14px}.service-flow{display:flex;width:100%;min-width:0;align-items:center;justify-content:center;padding-block:2px}.service-flow-step{display:flex;min-width:0;flex:1 1 0;align-items:center}.service-flow-step:last-child{flex:0 0 auto}.service-flow-node{position:relative;display:grid;place-content:center;flex:0 0 auto;width:44px;aspect-ratio:1;border:1px solid var(--line-strong);border-radius:9px;text-align:center;background:color-mix(in srgb,var(--surface-2) 80%,transparent)}.service-flow-node strong{color:var(--primary);font:700 .56rem DM Mono,monospace}.service-flow-node small{margin-top:3px;color:var(--muted-soft);font:500 .46rem DM Mono,monospace}.service-flow-node>i{position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:#4fd18b}.service-flow-line{position:relative;flex:1 1 auto;width:auto;min-width:6px;max-width:14px;height:1px;background:var(--line-strong)}.service-flow-line:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-top:1px solid var(--muted-soft);border-right:1px solid var(--muted-soft);transform:rotate(45deg)}.service-flow-line i{position:absolute;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--primary);animation:integration-signal 1.5s ease-in-out infinite}.service-flow-step:nth-child(2) .service-flow-line i{animation-delay:.35s}.service-flow-step:nth-child(3) .service-flow-line i{animation-delay:.7s}@keyframes integration-signal{0%{opacity:0;transform:translate(0)}45%{opacity:1}to{opacity:0;transform:translate(10px)}}.integration-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.competency-metric{display:block;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--surface-2) 74%,transparent)}.competency-metric small,.competency-metric strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.competency-metric small{color:var(--muted-soft);font:.56rem DM Mono,monospace}.competency-metric strong{margin-top:4px;color:var(--muted-strong);font:700 .75rem DM Mono,monospace}.competency-metric strong.is-status{color:#4fd18b}.integration-connected{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;color:#4fd18b;font:600 .63rem DM Mono,monospace}.integration-connected small{margin-left:auto;color:var(--muted-soft);font-size:.54rem}.detection-panel{display:grid;grid-template-rows:auto 132px auto;padding:10px}.detection-head{margin-bottom:7px}.detection-preview{position:relative;min-width:0;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.detection-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(5,9,20,.38));pointer-events:none}.detection-preview img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 43%;transform:scale(1.09);filter:saturate(.78) contrast(1.04);transition:transform .3s,filter .3s}.home-info-card:hover .detection-preview img{transform:scale(1.105);filter:saturate(.9) contrast(1.06)}.detection-image-badge{position:absolute;z-index:1;left:8px;bottom:7px;padding:4px 6px;border:1px solid rgba(255,255,255,.2);border-radius:5px;color:#eef2ff;background:#050914a6;font:600 .56rem DM Mono,monospace;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.detection-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-top:6px}.detection-metrics .competency-metric{padding:6px 7px;border-radius:0;border-right:0}.detection-metrics .competency-metric strong{margin-top:3px}.detection-metrics .competency-metric:first-child{border-radius:7px 0 0 7px}.detection-metrics .competency-metric:last-child{border-right:1px solid var(--line);border-radius:0 7px 7px 0}.api-response-panel{display:grid;grid-template-rows:auto auto auto;align-content:center;gap:8px;padding:10px}.endpoint-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.endpoint-head span,.endpoint-head i{padding:6px 8px;border-radius:5px;font:700 .63rem DM Mono,monospace}.endpoint-head span{background:color-mix(in srgb,var(--primary) 17%,transparent);color:var(--primary)}.endpoint-head code{overflow:hidden;color:var(--muted-strong);font:.72rem DM Mono,monospace;text-overflow:ellipsis}.endpoint-head i{background:color-mix(in srgb,#4fd18b 14%,transparent);color:#4fd18b;font-style:normal}.endpoint-json{display:grid;grid-template-columns:1fr;align-content:center;gap:4px;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--surface-2) 70%,transparent);font:.68rem/1.4 DM Mono,monospace}.endpoint-json>small{color:var(--muted-soft)}.endpoint-json>span{display:grid;grid-template-columns:68px auto;justify-content:start;gap:6px;min-width:0;padding-left:10px}.endpoint-json b{color:var(--primary);font-weight:500}.endpoint-json i{color:var(--muted-strong);font-style:normal}.service-status-panel{display:grid;grid-template-rows:auto auto;align-content:center;gap:8px;padding:14px}.service-status-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;column-gap:14px}.service-status-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:9px 3px;border-bottom:1px solid var(--line);font-family:DM Mono,monospace}.service-status-row:nth-last-child(-n+2){border-bottom:0}.service-status-row>i{width:7px;height:7px;border-radius:2px;background:#4fd18b;box-shadow:0 0 0 3px color-mix(in srgb,#4fd18b 9%,transparent)}.service-status-row strong{overflow:hidden;color:var(--muted-strong);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.service-status-row small{color:#4fd18b;font-size:.6rem}.service-status-row b{display:none}.service-status-row b i{width:4px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}.projects-preview .section-heading{margin-bottom:56px;align-items:end}.projects-preview .section-heading h2{letter-spacing:-.025em}.projects-preview #featured-projects-title{scroll-margin-top:calc(var(--header-height) + 28px)}.featured-showcase{display:grid;grid-template-columns:minmax(0,52fr) minmax(0,48fr);align-items:center;gap:26px;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface-2),var(--surface));transition:border-color .35s,box-shadow .35s,transform .35s}.featured-showcase.reveal{transform:translateY(22px)}.featured-showcase.reveal.is-visible{transform:none}.featured-showcase:hover{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));box-shadow:0 24px 58px #0003}.featured-showcase.reveal.is-visible:hover{transform:translateY(-3px)}.featured-browser{min-width:0;align-self:center;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--bg);box-shadow:0 14px 34px #0000002e;opacity:0;transform:translateY(14px) scale(.99);transition:border-color .35s,box-shadow .35s,opacity .55s ease-out .1s,transform .65s cubic-bezier(.16,.84,.44,1) .1s}.featured-showcase.is-visible .featured-browser{opacity:1;transform:none}.featured-browser-bar{height:34px;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--surface)}.featured-browser-bar span{width:7px;height:7px;border-radius:50%;background:var(--line-strong)}.featured-browser-bar span:first-child{background:#ff6e79}.featured-browser-bar span:nth-child(2){background:#f4bf4f}.featured-browser-bar span:nth-child(3){background:#4fd18b}.featured-browser-bar small{display:flex;align-items:center;gap:6px;min-width:0;margin-left:8px;padding:4px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted-soft);background:color-mix(in srgb,var(--bg) 58%,transparent);font:.53rem DM Mono,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.featured-browser-bar small i{flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:#4fd18b}.featured-browser>img,.featured-browser>.img-fallback{display:block;width:100%;height:clamp(300px,27vw,340px);min-height:0;object-fit:cover;object-position:center top;transition:transform .35s cubic-bezier(.16,.84,.44,1)}.featured-showcase:hover .featured-browser{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:0 18px 42px #00000038}.featured-showcase:hover .featured-browser>img{transform:scale(1.02)}.featured-showcase-copy{min-width:0;padding:22px 20px 22px 10px}.featured-showcase-copy h3{margin:18px 0 14px;font-size:clamp(2.2rem,3.8vw,3.2rem);font-weight:800;line-height:1.02;letter-spacing:-.05em;text-wrap:balance}.featured-tagline{max-width:420px;margin:0 0 22px;font-size:.88rem;line-height:1.7}.featured-facts{display:grid;gap:0;margin:0}.featured-facts div{padding:13px 0;border-top:1px solid var(--line)}.featured-facts dt{color:var(--accent);font:.58rem DM Mono,monospace;letter-spacing:.12em}.featured-facts dd{margin:6px 0 0;color:var(--muted-strong);font-size:.72rem;line-height:1.6}.featured-result{border-block:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent);padding-inline:12px}.featured-result div{border-top:0}.featured-role dd{color:var(--muted)}.featured-tech-block{padding-top:14px;border-top:1px solid var(--line)}.featured-tech{margin-top:10px}.featured-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.featured-actions .button{min-height:44px}.featured-actions .button span,.cta-arrow-button span{display:inline-block;transition:transform .3s}.featured-actions .button:hover span,.featured-showcase:hover .featured-actions .button span,.cta-arrow-button:hover span{transform:translate3d(5px,-1px,0)}.home-secondary-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;margin-top:24px}.home-project-card{height:100%;min-height:0;padding:0}.home-project-card.reveal:nth-child(1){transform:translate(-22px)}.home-project-card.reveal:nth-child(2){transform:translate(22px)}.home-project-card.reveal.is-visible{transform:none}.home-project-card.reveal.is-visible:hover{transform:translateY(-3px)}.home-project-card:before{z-index:0;opacity:.1}.home-project-preview{position:relative;z-index:1;flex:0 0 180px;height:180px;overflow:hidden;border-bottom:1px solid var(--line);background:var(--surface-2)}.home-project-preview>img,.home-project-preview>.img-fallback{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center top;transition:transform .35s cubic-bezier(.16,.84,.44,1),filter .35s;filter:saturate(.86) contrast(1.02)}.home-secondary-project:hover .home-project-preview>img{transform:scale(1.02);filter:saturate(.98) contrast(1.04)}.home-secondary-project:nth-child(2) .home-project-preview>img{object-position:center 18%}.home-project-card-body{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;min-width:0;padding:22px 24px 24px}.home-project-card h3{margin:12px 0 11px;font-size:clamp(1.55rem,2.6vw,2rem);letter-spacing:-.04em}.home-project-card .tagline{min-height:3.4em;margin:0 0 22px;line-height:1.7}.home-project-card .card-meta{gap:20px;margin:0 0 22px}.home-project-card .card-footer{margin-top:auto;padding-top:18px}.home-project-card .text-link span{display:inline-block;transition:transform .3s}.home-project-card:hover .text-link span{transform:translate3d(5px,-1px,0)}.home-secondary-project .card-topline span:last-child{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projects-preview .center-action{margin-top:36px}.home-expertise{overflow:hidden;border-bottom:1px solid var(--line)}.home-expertise .section-heading{align-items:end;margin-bottom:56px}.home-expertise #ai-expertise-title{scroll-margin-top:calc(var(--header-height) + 28px)}.home-expertise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden}.home-expertise-card{position:relative;display:flex;height:100%;min-width:0;flex-direction:column;padding:34px;background:linear-gradient(155deg,var(--surface-2),var(--surface));transition:border-color .35s,background .35s,box-shadow .35s,transform .35s}.home-expertise-card+.home-expertise-card{border-left:1px solid var(--line)}.home-expertise-card:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-135px;top:-135px;background:var(--primary);filter:blur(90px);opacity:.07;pointer-events:none}.home-expertise-card h3{position:relative;margin:26px 0 14px;font-size:clamp(1.75rem,2.6vw,2.35rem);line-height:1.08;letter-spacing:-.05em;text-wrap:balance}.home-expertise-card>p{position:relative;max-width:520px;min-height:3.5em;margin:0;font-size:.86rem}.home-expertise-card.reveal{transform:translateY(20px)}.home-expertise-card.reveal.is-visible{transform:none}.home-expertise-card.reveal.is-visible:hover{z-index:1;transform:translateY(-3px)}.home-expertise-card:hover{background:linear-gradient(155deg,color-mix(in srgb,var(--surface-2) 94%,var(--primary)),var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 48%,var(--line)),0 22px 52px #00000029}.home-expertise-card:first-child:hover{border-right-color:color-mix(in srgb,var(--primary) 52%,var(--line))}.home-expertise-card+.home-expertise-card:hover{border-left-color:color-mix(in srgb,var(--primary) 52%,var(--line))}.expertise-tags{position:relative;min-height:60px;margin:22px 0 26px;align-content:flex-start}.expertise-tags .chip{min-height:27px}.expertise-main-visual{position:relative;display:flex;min-width:0;flex:1;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 68%,transparent);transition:border-color .35s,box-shadow .35s,background .35s}.home-expertise-card:hover .expertise-main-visual{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));background:color-mix(in srgb,var(--bg) 75%,var(--primary));box-shadow:inset 0 0 24px color-mix(in srgb,var(--primary) 5%,transparent)}.expertise-panel-header{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-bottom:1px solid var(--line)}.expertise-panel-header span{color:var(--muted-strong);font:700 .63rem DM Mono,monospace;letter-spacing:.08em}.expertise-panel-header small{color:var(--primary);font:600 .52rem DM Mono,monospace;letter-spacing:.06em}.expertise-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted-strong)}.expertise-cta span{display:inline-block;transition:transform .3s}.home-expertise-card:hover .expertise-cta{color:var(--text)}.home-expertise-card:hover .expertise-cta span,.expertise-cta:hover span{transform:translate3d(5px,-1px,0)}.vision-pipeline-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:12px}.vision-pipeline-step{position:relative;min-width:0;padding:9px 7px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--surface-2) 78%,transparent);opacity:0;transform:translateY(8px);transition:opacity .4s ease calc(var(--expertise-step) * 70ms + .12s),transform .4s ease calc(var(--expertise-step) * 70ms + .12s),border-color .3s}.home-expertise-card.is-visible .vision-pipeline-step{opacity:1;transform:none}.vision-pipeline-step:after{content:"";position:absolute;z-index:2;right:-7px;top:50%;width:7px;height:1px;background:var(--line-strong)}.vision-pipeline-step:last-child:after{display:none}.vision-pipeline-step span,.vision-pipeline-step strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vision-pipeline-step span{color:var(--primary);font:600 .46rem DM Mono,monospace;letter-spacing:.05em}.vision-pipeline-step strong{margin-top:5px;color:var(--muted-strong);font:600 .5rem DM Mono,monospace}.home-expertise-card:hover .vision-pipeline-step{border-color:color-mix(in srgb,var(--primary) 30%,var(--line))}.vision-detection-preview{position:relative;height:190px;margin:0 12px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);opacity:0;transform:translateY(8px);transition:opacity .55s ease .32s,transform .55s ease .32s,border-color .35s}.home-expertise-card.is-visible .vision-detection-preview{opacity:1;transform:none}.vision-detection-preview>img,.vision-detection-preview>.img-fallback{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 8%;filter:saturate(.75) contrast(1.05);transition:transform .35s,filter .35s}.vision-detection-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(5,9,20,.56));pointer-events:none}.home-expertise-card:hover .vision-detection-preview{border-color:color-mix(in srgb,var(--primary) 48%,var(--line))}.home-expertise-card:hover .vision-detection-preview>img{transform:scale(1.012);filter:saturate(.92) contrast(1.08)}.vision-detection-preview figcaption{position:absolute;z-index:1;left:10px;right:10px;bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#eef1f8;font-family:DM Mono,monospace}.vision-detection-preview figcaption span{font-size:.5rem;letter-spacing:.06em}.vision-detection-preview figcaption strong{font-size:.55rem}.expertise-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:12px}.expertise-metric-grid div{min-width:0;padding:9px;border:1px solid var(--line);border-right:0;background:color-mix(in srgb,var(--surface-2) 72%,transparent);opacity:0;transform:translateY(6px);transition:opacity .4s ease .48s,transform .4s ease .48s}.home-expertise-card.is-visible .expertise-metric-grid div{opacity:1;transform:none}.expertise-metric-grid div:first-child{border-radius:7px 0 0 7px}.expertise-metric-grid div:last-child{border-right:1px solid var(--line);border-radius:0 7px 7px 0}.expertise-metric-grid dt{overflow:hidden;color:var(--muted-soft);font:.48rem DM Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.expertise-metric-grid dd{overflow:hidden;margin:5px 0 0;color:var(--muted-strong);font:700 .61rem DM Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.expertise-metric-grid div:last-child dd{color:#4fd18b}.llm-workflow-flow{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:13px 12px}.llm-workflow-flow:before{content:"";position:absolute;left:12%;right:12%;top:50%;height:1px;background:var(--primary);transform:scaleX(0);transform-origin:left;opacity:.3;transition:transform .65s ease .18s,opacity .35s}.home-expertise-card.is-visible .llm-workflow-flow:before{transform:scaleX(1)}.home-expertise-card:hover .llm-workflow-flow:before{opacity:.7}.llm-workflow-step{position:relative;z-index:1;min-width:0;padding:11px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);opacity:0;transform:translateY(8px);transition:opacity .4s ease calc(var(--expertise-step) * 80ms + .12s),transform .4s ease calc(var(--expertise-step) * 80ms + .12s),border-color .3s}.home-expertise-card.is-visible .llm-workflow-step{opacity:1;transform:none}.home-expertise-card:hover .llm-workflow-step{border-color:color-mix(in srgb,var(--primary) 42%,var(--line))}.llm-workflow-step span,.llm-workflow-step strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.llm-workflow-step span{color:var(--primary);font:600 .48rem DM Mono,monospace}.llm-workflow-step strong{margin-top:6px;color:var(--muted-strong);font:600 .54rem DM Mono,monospace}.llm-output-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);flex:1;gap:10px;padding:0 12px 12px;opacity:0;transform:translateY(9px);transition:opacity .55s ease .4s,transform .55s ease .4s}.home-expertise-card.is-visible .llm-output-layout{opacity:1;transform:none}.llm-output-preview,.llm-capability-list{min-width:0;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-2) 74%,transparent)}.llm-output-preview{padding:12px}.llm-output-preview>span{display:block;margin-bottom:10px;color:var(--muted-soft);font:600 .51rem DM Mono,monospace;letter-spacing:.06em}.llm-output-preview code{display:grid;gap:6px;color:var(--muted-strong);font:.59rem/1.45 DM Mono,monospace;white-space:nowrap}.llm-output-preview code i,.llm-output-preview code em{display:block;overflow:hidden;text-overflow:ellipsis;font-style:normal}.llm-output-preview code em{padding-left:8px}.llm-output-preview code b{color:var(--primary);font-weight:600}.llm-capability-list{display:flex;flex-direction:column;justify-content:center;gap:0;margin:0;padding:7px 10px;list-style:none}.llm-capability-list li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:7px 0;border-bottom:1px solid var(--line);color:var(--muted-strong);font:.55rem DM Mono,monospace}.llm-capability-list li:last-child{border-bottom:0}.llm-capability-list li i{color:#4fd18b;font-style:normal}.llm-capability-list li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-career{background:color-mix(in srgb,var(--surface) 38%,transparent)}.home-career-timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:6px}.home-career-timeline:before{content:"";position:absolute;left:16.66%;right:16.66%;top:25px;height:1px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.16,.84,.44,1)}.home-career-timeline.is-visible:before{transform:scaleX(1)}.home-career-card{position:relative;min-height:260px;padding:0 24px 28px;border:0;background:transparent;opacity:0;transform:translateY(18px);transition:opacity .45s,transform .45s;transition-delay:calc(var(--journey-index) * .12s)}.home-career-timeline.is-visible .home-career-card{opacity:1;transform:none}.career-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:13px;color:var(--primary);font:.65rem DM Mono,monospace}.career-node i{display:block;width:20px;height:20px;border:6px solid var(--surface);border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--primary)}.home-career-card h3{margin:38px 0 14px;text-align:center;font-size:1.28rem;letter-spacing:-.03em}.home-career-card p{margin:0;text-align:center;font-size:.84rem}.compact-cta{position:relative;overflow:hidden}.compact-cta .cta-box{position:relative;overflow:hidden;min-height:260px;padding:58px 64px;border:1px solid color-mix(in srgb,var(--primary) 38%,transparent);background:linear-gradient(120deg,var(--cta-bg),color-mix(in srgb,var(--cta-bg) 72%,var(--surface-2)));box-shadow:0 30px 80px color-mix(in srgb,var(--primary) 18%,transparent)}.compact-cta .cta-box:after{content:"";position:absolute;width:340px;height:340px;right:-120px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 68%);pointer-events:none}.compact-cta .cta-box.reveal{transform:scale(.97)}.compact-cta .cta-box.reveal.is-visible{transform:none}.compact-cta .cta-box>div,.compact-cta .cta-box>.button{position:relative;z-index:1}.compact-cta .cta-box p{max-width:640px;margin:14px 0 0;color:inherit;opacity:.82}.cta-arrow-button{gap:12px;white-space:nowrap}.site-footer{border-top:1px solid var(--line)}.footer-inner{min-height:92px;display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.footer-inner p{margin:0}.footer-inner a{color:var(--muted)}.page-section{padding-top:92px;min-height:70vh}.projects-page{overflow:hidden}.projects-page .section-heading{align-items:end;margin-bottom:56px}.projects-page-hero{position:relative;overflow:hidden;padding:100px 0 112px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 62%,transparent),transparent)}.projects-page-hero:after{content:"";position:absolute;width:520px;height:520px;right:-210px;top:-260px;border-radius:50%;background:var(--primary);filter:blur(150px);opacity:.07;pointer-events:none}.projects-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);align-items:end;gap:72px}.projects-hero-copy h1{max-width:760px;margin:24px 0;font-size:clamp(3.3rem,6vw,5.7rem);line-height:.98;letter-spacing:-.065em}.projects-hero-copy>p{max-width:660px;margin:0;font-size:1rem;line-height:1.85}.projects-hero-keywords{display:flex;flex-wrap:wrap;gap:7px;margin-top:28px}.projects-hero-keywords span{padding:6px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted-soft);background:color-mix(in srgb,var(--surface-2) 70%,transparent);font:600 .58rem DM Mono,monospace;letter-spacing:.04em}.projects-hero-link{display:inline-flex;align-items:center;gap:12px;margin-top:34px;color:var(--primary);font:.7rem DM Mono,monospace;letter-spacing:.08em}.projects-hero-link span{transition:transform .3s}.projects-hero-link:hover span{transform:translateY(4px)}.projects-summary-panel{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(150deg,var(--surface-2),var(--surface));box-shadow:0 24px 55px #00000029}.projects-summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line);font-family:DM Mono,monospace}.projects-summary-head span{color:var(--muted-strong);font-size:.65rem;letter-spacing:.08em}.projects-summary-head small{color:#4fd18b;font-size:.52rem}.projects-summary-panel dl{display:grid;grid-template-columns:repeat(2,1fr);margin:0}.projects-summary-panel dl div{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.projects-summary-panel dl div:nth-child(2n){border-right:0}.projects-summary-panel dl div:nth-last-child(-n+2){border-bottom:0}.projects-summary-panel dt{color:var(--muted-soft);font:.55rem DM Mono,monospace;letter-spacing:.06em}.projects-summary-panel dd{margin:8px 0 0;color:var(--text);font:700 2rem DM Mono,monospace}.projects-case-section{background:color-mix(in srgb,var(--surface) 38%,transparent);border-bottom:1px solid var(--line)}.projects-case-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.projects-case-study{position:relative;display:flex;min-width:0;height:100%;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:linear-gradient(150deg,var(--surface-2),var(--surface));transition:border-color .35s,box-shadow .35s,transform .35s}.projects-case-study.is-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(400px,.88fr);align-items:center}.projects-case-study.reveal.is-visible:hover{transform:translateY(-3px)}.projects-case-study:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));box-shadow:0 26px 62px #0003}.case-study-preview{min-width:0;overflow:hidden;background:var(--bg)}.case-study-window-bar{height:34px;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--surface)}.case-study-window-bar>span{width:7px;height:7px;border-radius:50%;background:var(--line-strong)}.case-study-window-bar>span:first-child{background:#ff6e79}.case-study-window-bar>span:nth-child(2){background:#f4bf4f}.case-study-window-bar>span:nth-child(3){background:#4fd18b}.case-study-window-bar small{margin-left:auto;color:var(--muted-soft);font:.5rem DM Mono,monospace;letter-spacing:.07em}.case-study-preview>img,.case-study-preview>.img-fallback{width:100%;aspect-ratio:16/9;min-height:0;object-fit:cover;object-position:center top;transition:transform .35s,filter .35s}.projects-case-study.is-featured .case-study-preview{align-self:center;width:100%}.projects-case-study.is-featured .case-study-preview>img,.projects-case-study.is-featured .case-study-preview>.img-fallback{aspect-ratio:16/10}.projects-case-study:nth-child(3) .case-study-preview>img{object-position:center 16%}.projects-case-study:hover .case-study-preview>img{transform:scale(1.02);filter:saturate(1.03)}.case-study-body{display:flex;min-width:0;flex:1;flex-direction:column;padding:28px}.projects-case-study.is-featured .case-study-body{padding:34px}.case-study-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted-soft);font:.56rem DM Mono,monospace;letter-spacing:.05em}.case-study-topline span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-study-topline strong{flex:0 0 auto;color:#4fd18b;font-size:.52rem}.case-study-body h3{margin:18px 0 10px;font-size:clamp(1.8rem,3.3vw,3rem);line-height:1.04;letter-spacing:-.05em;text-wrap:balance}.projects-case-study:not(.is-featured) .case-study-body h3{font-size:clamp(1.7rem,2.7vw,2.25rem)}.case-study-subtitle{margin:0 0 11px;color:var(--primary);font:.64rem DM Mono,monospace;letter-spacing:.04em}.case-study-tagline{margin:0 0 18px;font-size:.78rem;line-height:1.65}.case-study-facts{display:grid;gap:0;margin:0}.case-study-facts div{padding:13px 0;border-top:1px solid var(--line)}.case-study-facts dt{color:var(--primary);font:600 .54rem DM Mono,monospace;letter-spacing:.08em}.case-study-facts dd{margin:6px 0 0;color:var(--muted-strong);font-size:.7rem;line-height:1.6}.case-study-tech{margin-top:16px}.case-study-tech .chip-row{margin-top:9px}.case-study-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:auto;padding-top:22px}.case-study-actions a{display:inline-flex;align-items:center;gap:7px;color:var(--muted-strong);font:600 .6rem DM Mono,monospace;letter-spacing:.05em}.case-study-actions a span{display:inline-block;transition:transform .3s}.case-study-actions a:hover span,.projects-case-study:hover .case-study-primary span{transform:translate(4px)}.case-study-actions .case-study-primary{padding:11px 14px;border:1px solid var(--primary);border-radius:7px;color:var(--text);background:color-mix(in srgb,var(--primary) 13%,transparent)}.projects-all-section{border-bottom:1px solid var(--line)}.projects-filter-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:34px}.projects-page .project-filter{margin:0}.projects-page .project-filter button{font-family:DM Mono,monospace;font-size:.65rem}.projects-page .project-filter button.active{box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 18%,transparent)}.projects-page .project-filter a{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;color:var(--primary);font:600 .65rem DM Mono,monospace}.projects-result-count{flex:0 0 auto;margin:0;color:var(--muted-soft);font:.62rem DM Mono,monospace}.projects-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.projects-compact-card{height:100%;min-height:0;padding:0}.projects-compact-card:before{display:none}.projects-compact-card.reveal.is-visible:hover{transform:translateY(-3px)}.projects-compact-card .project-card-image{flex:0 0 auto;margin:0;border-radius:14px 14px 0 0}.projects-compact-card .project-card-image img{transition:transform .35s,filter .35s}.projects-compact-card:hover .project-card-image img{transform:scale(1.018);filter:saturate(1.04)}.projects-compact-body{display:flex;min-width:0;flex:1;flex-direction:column;padding:22px}.projects-compact-card .card-title-row{align-items:flex-start;margin-top:14px}.projects-compact-card .card-title-row h3{margin:0;font-size:clamp(1.45rem,2.2vw,1.85rem);line-height:1.08}.project-state-badge{flex:0 0 auto;padding:4px 7px;border:1px solid color-mix(in srgb,#4fd18b 34%,var(--line));border-radius:999px;color:#4fd18b;font:600 .49rem DM Mono,monospace}.project-state-badge.is-progress{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));color:var(--primary)}.project-card-subtitle{margin:8px 0 0;color:var(--primary);font:.57rem DM Mono,monospace}.projects-compact-card .tagline{min-height:4.8em;margin:13px 0 19px;font-size:.72rem;line-height:1.6}.compact-project-facts,.project-progress-facts{display:grid;gap:0;margin:0}.compact-project-facts div,.project-progress-facts div{padding:12px 0;border-top:1px solid var(--line)}.compact-project-facts dt,.project-progress-facts dt{color:var(--primary);font:600 .51rem DM Mono,monospace;letter-spacing:.07em}.compact-project-facts dd,.project-progress-facts dd{margin:6px 0 0;color:var(--muted-strong);font-size:.66rem;line-height:1.55}.compact-project-tech{margin-top:18px}.compact-project-tech .chip-row{margin-top:9px}.compact-project-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:auto;padding-top:22px}.compact-project-actions a{display:inline-flex;align-items:center;gap:5px;color:var(--muted-soft);font:600 .57rem DM Mono,monospace}.compact-project-actions a span{display:inline-block;transition:transform .3s}.compact-project-actions a:hover span,.projects-compact-card:hover .compact-project-primary span{transform:translate(4px)}.compact-project-actions .compact-project-primary{color:var(--primary)}.project-preview-status{position:absolute;z-index:2;left:12px;top:12px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--primary) 48%,transparent);border-radius:5px;color:#eef1f8;background:#0a0e19b8;font:600 .5rem DM Mono,monospace;letter-spacing:.06em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.projects-compact-card.is-in-progress{border-style:dashed;background:linear-gradient(150deg,color-mix(in srgb,var(--surface-2) 84%,transparent),var(--surface))}.project-card-status-preview{display:flex;aspect-ratio:16/9;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:22px;border-bottom:1px dashed var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--surface-2)),var(--bg));font-family:DM Mono,monospace}.project-card-status-preview span{color:var(--primary);font-size:.53rem;letter-spacing:.08em}.project-card-status-preview strong{margin-top:8px;color:var(--muted-strong);font-size:1rem}.project-card-status-preview small{margin-top:5px;color:var(--muted-soft);font-size:.55rem}.projects-side-section{background:color-mix(in srgb,var(--surface) 50%,transparent);border-bottom:1px solid var(--line)}.projects-side-grid{align-items:stretch}.projects-side-card{height:100%;padding:0;overflow:hidden;transition:border-color .35s,background .35s,box-shadow .35s,transform .35s}.projects-side-card.reveal.is-visible:hover{transform:translateY(-3px)}.projects-side-card .side-project-image{position:relative;flex:0 0 auto;margin:0;border-radius:12px 12px 0 0}.projects-side-card .side-project-image img{transition:transform .35s,filter .35s}.projects-side-card:hover .side-project-image img{transform:scale(1.018);filter:saturate(1.04)}.projects-side-card-body{display:flex;min-width:0;flex:1;flex-direction:column;padding:22px}.projects-side-card .side-project-head{align-items:flex-start;margin-bottom:12px}.projects-side-card .side-project-head h3{font-size:1.25rem;line-height:1.15}.projects-side-description{min-height:5.1em}.side-project-proof{padding:14px 0;border-top:1px solid var(--line)}.side-project-proof p{margin:7px 0 0;font-size:.68rem;line-height:1.55}.projects-side-card .side-project-tags{margin-top:16px;margin-bottom:0}.projects-side-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:20px}.projects-side-actions a{display:inline-flex;align-items:center;gap:5px;color:var(--muted-soft);font:600 .57rem DM Mono,monospace}.projects-side-actions a:first-child{color:var(--primary)}.projects-side-actions a span{display:inline-block;transition:transform .3s}.projects-side-actions a:hover span,.projects-side-card:hover .projects-side-actions a:first-child span{transform:translate(4px)}.projects-side-card.is-in-progress{border-style:dashed}.side-progress-facts{margin-top:2px}.projects-progress-section{background:color-mix(in srgb,var(--surface) 34%,transparent)}.projects-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px}.projects-progress-grid>.reveal{height:100%}.projects-contact-section{padding-top:80px}.projects-contact-panel{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:44px 48px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line));border-radius:16px;background:linear-gradient(120deg,var(--cta-bg),color-mix(in srgb,var(--cta-bg) 72%,var(--surface-2)));color:var(--cta-text)}.projects-contact-panel h2{margin:12px 0 10px;font-size:clamp(1.8rem,3.5vw,3rem);letter-spacing:-.05em}.projects-contact-panel p{margin:0;color:inherit;opacity:.78}.projects-contact-panel .button{flex:0 0 auto}.projects-page :is(a,button):focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media(max-width:1100px){.projects-hero-grid{gap:42px}.projects-case-study.is-featured{grid-template-columns:minmax(0,1fr) minmax(370px,.9fr)}.projects-compact-grid,.projects-side-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.projects-page-hero{padding:82px 0 94px}.projects-hero-grid{grid-template-columns:1fr;align-items:start}.projects-summary-panel{width:min(100%,560px)}.projects-case-study.is-featured{grid-template-columns:1fr}.projects-case-study.is-featured .case-study-preview>img,.projects-case-study.is-featured .case-study-preview>.img-fallback{aspect-ratio:16/9}.projects-case-study.is-featured .case-study-body{padding:28px}.projects-filter-wrap{align-items:flex-start;flex-direction:column;gap:14px}.projects-contact-panel{align-items:flex-start;flex-direction:column}}@media(max-width:820px){.projects-case-layout,.projects-progress-grid{grid-template-columns:1fr}.projects-case-study.is-featured{grid-column:auto}.projects-side-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.projects-page .section-heading{margin-bottom:44px}.projects-page-hero{padding:68px 0 78px}.projects-hero-copy h1{margin:20px 0;font-size:clamp(2.65rem,13vw,3.7rem)}.projects-hero-copy>p{font-size:.88rem}.projects-hero-copy>p br{display:none}.projects-hero-keywords{margin-top:24px}.projects-summary-panel dl div{padding:16px}.projects-summary-panel dd{font-size:1.65rem}.case-study-body,.projects-case-study.is-featured .case-study-body{padding:22px}.case-study-body h3,.projects-case-study:not(.is-featured) .case-study-body h3{font-size:clamp(1.7rem,8vw,2.2rem)}.case-study-actions{align-items:stretch;flex-direction:column}.case-study-actions a{justify-content:space-between}.projects-page .project-filter{gap:7px}.projects-page .project-filter button,.projects-page .project-filter a{padding:8px 11px;font-size:.58rem}.projects-compact-grid,.projects-side-grid{grid-template-columns:1fr}.projects-compact-card .tagline,.projects-side-description{min-height:0}.projects-compact-body,.projects-side-card-body{padding:20px}.compact-project-actions,.projects-side-actions{row-gap:10px}.project-card-status-preview{padding:20px}.projects-contact-section{padding-top:64px}.projects-contact-panel{padding:34px 26px}.projects-contact-panel .button{width:100%}}.detail-hero{padding:72px 0 80px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 45%)}.back-link{display:inline-block;margin-bottom:65px;color:var(--muted);font-size:.8rem}.detail-title{display:flex;justify-content:space-between;align-items:end;gap:50px}.detail-title h1{margin:18px 0 14px;font-size:clamp(3.4rem,8vw,7rem);letter-spacing:-.07em;overflow-wrap:anywhere}.detail-title p{margin:0;font-size:1.05rem}.detail-actions{display:flex;gap:10px}.detail-actions .resource-link{min-width:150px}.detail-layout{display:grid;grid-template-columns:190px 1fr;gap:60px;padding-top:80px;padding-bottom:120px}.detail-nav{position:sticky;top:110px;align-self:start;display:grid;gap:4px}.detail-nav>span{margin-bottom:10px;color:var(--muted-soft);font:.62rem DM Mono,monospace}.detail-nav button{display:flex;align-items:baseline;gap:9px;width:100%;padding:6px 0;border:0;background:transparent;text-align:left;color:var(--muted-soft);cursor:pointer}.detail-nav button:hover{color:var(--accent)}.detail-nav-index{flex:0 0 auto;font:.68rem DM Mono,monospace;opacity:.7}.detail-nav-label{font-size:.78rem;line-height:1.35;color:var(--muted)}.detail-nav button:hover .detail-nav-label{color:var(--accent)}.detail-content{max-width:900px;min-width:0}.detail-section{padding:0 0 90px;margin-bottom:90px;border-bottom:1px solid var(--line)}.detail-section h2,.resume-block h2{margin:18px 0 28px;font-size:clamp(1.8rem,3vw,2.55rem);letter-spacing:-.035em}.detail-section>p{max-width:760px;font-size:1rem}.lead-copy{font-size:1.2rem!important;color:var(--muted-strong)!important}.side-detail-layout{padding-top:80px;padding-bottom:120px}.side-detail-layout .detail-content{margin:0 auto}.side-detail-image{margin-bottom:10px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface-2)}.side-detail-image img{width:100%;display:block}.role-summary-card{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px;padding:26px 28px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:12px;background:var(--surface)}.role-summary-card p{margin:8px 0 0;font-size:.88rem;color:var(--muted-strong);line-height:1.65}.team-note{display:inline-block;margin-bottom:16px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:600}.check-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0;list-style:none;min-width:0}.check-list li{min-width:0}.check-list li{padding:17px 18px;border:1px solid var(--line);border-radius:8px;color:var(--muted-strong);font-size:.87rem;overflow-wrap:anywhere}.check-list li:before{content:"✓";margin-right:10px;color:var(--accent)}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.feature-grid>div{padding:25px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.feature-grid span{color:var(--accent);font:.7rem DM Mono,monospace}.feature-grid h3{margin:28px 0 0;font-size:1rem}.large-chip-row{gap:10px}.large-chip-row span{padding:10px 14px;border:1px solid var(--line);border-radius:7px;color:var(--muted-strong);font-size:.8rem;background:var(--surface)}.trouble-card{padding:30px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.experiment-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:18px}.experiment-gallery figure{margin:0}.experiment-gallery img{width:100%;display:block;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:zoom-in;transition:border-color .2s}.experiment-gallery img:hover{border-color:var(--accent, var(--primary))}.experiment-gallery figcaption{margin-top:7px;font-size:.66rem;color:var(--muted-soft);line-height:1.5}.trouble-list{display:grid;gap:14px}.trouble-card h3{font-size:1.2rem}.trouble-card dl{margin:26px 0 0}.trouble-card dl div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.trouble-card dt{color:var(--accent);font:.7rem DM Mono,monospace;text-transform:uppercase}.trouble-card dd{margin:0;color:var(--muted);font-size:.87rem;line-height:1.7}.screenshot-group{margin-bottom:40px}.screenshot-group:last-child{margin-bottom:0}.screenshot-group-label{margin:0 0 16px;color:var(--accent, var(--primary));font:700 .78rem DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.screenshots{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.screenshots figure{margin:0}.screenshots img,.screenshots .img-fallback{width:100%;aspect-ratio:16/9;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.screenshots figcaption{margin-top:11px;color:var(--muted-soft);font-size:.75rem}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.resource-link{display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:0 17px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:.8rem}.resource-link:hover{border-color:var(--line-strong)}.resource-link.disabled{color:var(--muted-soft);cursor:not-allowed}.resource-link small{font-size:.65rem;color:var(--muted-soft)}blockquote{margin:0;padding:30px 32px;border-left:3px solid var(--accent);background:var(--surface);color:var(--muted-strong);font-size:1.05rem;line-height:1.85}.detail-bottom{display:flex;justify-content:center}.system-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.flow-step{position:relative;min-height:170px;display:flex;flex-direction:column;justify-content:space-between;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.flow-step:not(:last-child):after{content:"→";position:absolute;z-index:2;right:-17px;top:50%;width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--accent);background:var(--bg);font-size:.7rem;transform:translateY(-50%)}.flow-step>span{color:var(--accent);font:.68rem DM Mono,monospace}.flow-step h3{margin:0 0 9px;font-size:.9rem}.flow-step p{margin:0;font-size:.72rem;line-height:1.55}.security-note{margin-top:18px;padding:12px 15px;border:1px solid var(--line);border-radius:7px;color:var(--muted-soft)!important;font-size:.72rem!important}.model-evidence-note{border-left:3px solid var(--accent, var(--primary));color:var(--muted-strong)!important;font-size:.82rem!important;line-height:1.7}.dataset-summary-card{max-width:480px;margin:26px 0 22px}.pipeline-evidence{display:flex;align-items:center;gap:28px;margin-top:30px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.pipeline-evidence p{flex:1 1 320px;margin:0;font-size:.88rem;line-height:1.75;color:var(--muted-strong)}.pipeline-evidence-image{flex:0 0 auto;width:260px;margin:0}.pipeline-evidence-image img,.pipeline-evidence-image .img-fallback{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.pipeline-evidence-image figcaption{margin-top:8px;font-size:.68rem;color:var(--muted-soft);line-height:1.5}.resume-header{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:32px}.resume-heading{flex:1 1 auto;min-width:0}.resume-name{margin:0 0 8px;font-size:clamp(1.9rem,3.2vw,2.6rem);letter-spacing:-.03em}.resume-primary-role{margin:0 0 6px;font-size:1.05rem;font-weight:700;color:var(--primary)}.resume-secondary-role{margin:0 0 18px;font-size:.85rem;color:var(--muted-strong)}.resume-summary-lines{max-width:560px}.resume-photo-card{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;gap:12px}.resume-photo-card img{width:140px;aspect-ratio:3/4;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.availability-badge{padding:7px 13px;border:1px solid var(--line-strong);border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:.66rem;font-weight:700;text-align:center;line-height:1.4}.resume-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:20px}.resume-links a{color:var(--muted-strong);font-size:.82rem;text-decoration:none;border-bottom:1px solid var(--line)}.resume-links a:hover{color:var(--primary);border-color:var(--primary)}.resume-desired-roles{margin:0 0 40px}.resume-subheading{margin:0 0 18px;font-size:.95rem;color:var(--muted-strong)}.resume-edu-cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.resume-edu-cert-grid .cert-list{grid-template-columns:1fr}.resume-inline-link{display:inline-block;margin-top:18px;color:var(--primary);font-size:.82rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}.resume-inline-link:hover{border-color:var(--primary)}.resume-more-details summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;margin:0;font-size:1.02rem;font-weight:700;color:var(--text)}.resume-more-details summary::-webkit-details-marker{display:none}.resume-more-details summary:after{content:"더 보기 +";margin-left:auto;flex:0 0 auto;color:var(--primary);font-size:.72rem;font-weight:600}.resume-more-details[open] summary:after{content:"접기 −"}.resume-more-content{margin-top:26px}.resume-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.resume-block{padding:34px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.resume-block.full{grid-column:1/-1}.resume-block>p{margin:0}.timeline-item{display:grid;grid-template-columns:120px 1fr;gap:25px}.timeline-item>span{color:var(--muted-soft);font-size:.75rem}.timeline-item h3{margin:0 0 8px}.timeline-item p{margin:0;font-size:.85rem}.summary-table{margin:26px 0 0}.summary-table div{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:16px 0;border-top:1px solid var(--line)}.summary-table div:first-child{border-top:0}.summary-table dt{margin:0;color:var(--muted-soft);font:.7rem DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.summary-table dd{margin:0;font-size:.88rem;color:var(--muted-strong);line-height:1.6}.about-text p{margin:0 0 16px;font-size:.92rem}.about-text p:last-child{margin-bottom:0}.work-list{display:grid;gap:34px;margin-top:26px}.work-item{padding-top:26px;border-top:1px solid var(--line)}.work-item:first-child{padding-top:0;border-top:0}.work-item-head{display:grid;grid-template-columns:120px 1fr;gap:25px;margin-bottom:20px}.work-item-head>span{color:var(--muted-soft);font-size:.75rem}.work-item-head h3{margin:0 0 8px;font-size:1.15rem}.work-item-head p{margin:0;font-size:.85rem}.work-tasks{margin-bottom:18px}.work-takeaway{margin:0;padding:16px 18px;border-left:3px solid var(--primary);border-radius:0 8px 8px 0;background:var(--surface-2);color:var(--muted);font-size:.85rem!important;line-height:1.7}.cert-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:26px}.cert-item{padding:20px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);transition:border-color .2s}.cert-item.has-image{padding-top:0;overflow:hidden}.cert-item h3{margin:0 0 6px;font-size:1rem}.cert-item p{margin:0;font-size:.8rem;color:var(--muted-soft)}.cert-image{display:block;margin:0 -20px 16px;border-bottom:1px solid var(--line);overflow:hidden;cursor:zoom-in}.cert-image img{width:100%;max-height:260px;object-fit:cover;object-position:top;transition:transform .35s}.cert-item:hover .cert-image img{transform:scale(1.04)}.role-strength-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:26px}.role-strength-card{padding:24px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(155deg,var(--surface-2),var(--surface))}.role-strength-card h3{margin:0 0 16px;font-size:1.05rem;letter-spacing:-.01em}.role-strength-card .check-list li{font-size:.82rem;padding:13px 15px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.skills-grid h3{font-size:.9rem}.skill-category{padding:22px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(155deg,var(--surface-2),var(--surface));transition:border-color .2s,transform .2s}.skill-category:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-3px)}.skill-category-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.skill-category-head h3{margin:0}.skill-icon-badge{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);transition:transform .3s}.skill-icon-badge svg{width:20px;height:20px}.skill-category:hover .skill-icon-badge{transform:rotate(-8deg) scale(1.08)}.skill-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.skill-chip{padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted-strong);font-size:.74rem;background:var(--surface);transition:transform .18s,border-color .18s,background .18s,color .18s}.skill-chip:hover{transform:translateY(-2px);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--text)}.skill-usage-list{display:grid;gap:8px;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);list-style:none}.skill-usage-list li{font-size:.76rem;color:var(--muted-soft);line-height:1.6}.skill-usage-list strong{margin-right:6px;color:var(--muted-strong)}.resume-projects{display:grid}.resume-projects a{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 0;border-top:1px solid var(--line)}.resume-projects span{color:var(--muted-soft);font-size:.68rem}.resume-projects h3{margin:5px 0;font-size:1.1rem}.resume-projects p{margin:0;font-size:.8rem}.resume-projects strong{flex:0 0 auto;color:var(--primary)}.resume-project-meta{display:grid;gap:4px;margin-top:12px}.resume-project-meta div{display:grid;grid-template-columns:70px 1fr;gap:12px}.resume-project-meta dt{margin:0;color:var(--muted-soft);font:.66rem DM Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.resume-project-meta dd{margin:0;font-size:.78rem;color:var(--muted-strong);line-height:1.6}.contact-page{overflow:hidden}.contact-page :is(a,button,summary):focus-visible{outline:2px solid var(--primary);outline-offset:3px}.contact-page .section-heading{margin-bottom:44px}.contact-hero{position:relative;min-height:0;padding:92px 0 88px;border-bottom:1px solid var(--line);background:linear-gradient(140deg,color-mix(in srgb,var(--surface) 58%,transparent),transparent)}.contact-hero:after{content:"";position:absolute;width:480px;height:480px;right:-180px;top:-220px;border-radius:50%;background:var(--primary);filter:blur(145px);opacity:.08;pointer-events:none}.contact-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);align-items:center;gap:70px}.contact-hero-copy h1{max-width:760px;margin:23px 0 27px;font-size:clamp(2.9rem,5.5vw,5.4rem);line-height:.98;letter-spacing:-.065em;text-wrap:balance}.contact-hero-lead{max-width:650px;margin:0;color:var(--muted-strong);font-size:1rem;line-height:1.75}.contact-hero-support{max-width:650px;margin:16px 0 0;color:var(--muted-soft);font-size:.82rem;line-height:1.75}.contact-email-address{display:inline-flex;min-height:44px;align-items:center;margin-top:31px;color:var(--text);font-size:clamp(1rem,1.8vw,1.35rem);font-weight:700;letter-spacing:-.02em;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--primary) 56%,transparent);text-underline-offset:7px}.contact-email-address:hover{color:var(--primary)}.contact-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.contact-hero-actions .button{min-height:46px;padding-inline:17px;font-size:.69rem;letter-spacing:.025em}.contact-hero-actions .button span{display:inline-block;margin-left:7px;transition:transform .25s}.contact-hero-actions .button:hover span{transform:translate(3px)}.contact-availability{overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:16px;background:linear-gradient(155deg,var(--surface-2),var(--surface));box-shadow:0 24px 60px #0000001f}.contact-panel-head{display:flex;min-height:55px;align-items:center;justify-content:space-between;gap:20px;padding:0 23px;border-bottom:1px solid var(--line)}.contact-panel-head span,.contact-panel-head small,.contact-availability-block>span,.contact-status-row span,.contact-stack>span{font-family:DM Mono,monospace;letter-spacing:.07em}.contact-panel-head span{color:var(--text);font-size:.68rem;font-weight:700}.contact-panel-head small{color:var(--primary);font-size:.55rem}.contact-availability-block{padding:25px 24px 21px}.contact-availability-block>span,.contact-status-row span,.contact-stack>span{display:block;color:var(--muted-soft);font-size:.55rem;font-weight:600}.contact-availability-block ul{display:grid;gap:11px;margin:18px 0 0;padding:0;list-style:none}.contact-availability-block li{display:flex;gap:10px;color:var(--muted-strong);font-size:.84rem;line-height:1.5}.contact-availability-block li:before{content:"→";color:var(--primary)}.contact-status-row{padding:0 24px}.contact-status-row>div{padding:18px 0;border-block:1px solid var(--line)}.contact-status-row strong{display:flex;align-items:center;gap:9px;margin-top:10px;color:var(--text);font-size:.86rem}.contact-status-row i{width:7px;height:7px;border-radius:50%;background:#4fd18b;box-shadow:0 0 0 4px color-mix(in srgb,#4fd18b 12%,transparent)}.contact-stack{padding:22px 24px 25px}.contact-stack>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.contact-stack .chip{min-height:29px;font-size:.62rem}.contact-section{padding:78px 0}.contact-channels{border-bottom:1px solid var(--line)}.contact-channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.contact-channel-grid>a{position:relative;display:flex;min-width:0;min-height:210px;flex-direction:column;padding:27px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(150deg,var(--surface-2),var(--surface));transition:border-color .25s,box-shadow .25s,transform .25s}.contact-channel-grid>a:hover{border-color:color-mix(in srgb,var(--primary) 50%,var(--line));box-shadow:0 18px 38px #0000001f;transform:translateY(-3px)}.contact-channel-grid>a>span,.contact-position-grid article>span{color:var(--primary);font:600 .6rem DM Mono,monospace;letter-spacing:.07em}.contact-channel-grid h2{display:flex;align-items:center;gap:8px;margin:auto 0 12px;font-size:1.18rem;letter-spacing:-.03em}.contact-channel-grid p{margin:0;color:var(--muted-soft);font-size:.76rem;line-height:1.55;overflow-wrap:anywhere}.contact-channel-grid strong{position:absolute;right:25px;top:24px;color:var(--primary);font-size:1rem}.contact-position{background:color-mix(in srgb,var(--surface) 34%,transparent);border-bottom:1px solid var(--line)}.contact-position-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--surface)}.contact-position-grid article{min-width:0;padding:30px}.contact-position-grid article+article{border-left:1px solid var(--line)}.contact-position-grid h3{margin:24px 0 18px;font-size:1.25rem;letter-spacing:-.03em}.contact-position-grid ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.contact-position-grid li{position:relative;padding-left:15px;color:var(--muted-strong);font-size:.8rem;line-height:1.6}.contact-position-grid li:before{content:"";position:absolute;width:4px;height:4px;left:0;top:.65em;border-radius:50%;background:var(--primary)}.contact-selected-links{padding:55px 0;border-bottom:1px solid var(--line)}.contact-selected-links .container{display:grid;grid-template-columns:minmax(210px,.35fr) minmax(0,1fr);align-items:center;gap:50px}.contact-selected-head h2{margin:10px 0 0;font-size:1.65rem;letter-spacing:-.04em}.contact-link-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.contact-link-list a{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);color:var(--muted-strong);font-size:.82rem;font-weight:700}.contact-link-list a:hover{color:var(--primary);border-color:var(--primary)}.contact-link-list span{color:var(--primary)}.contact-faq{padding-bottom:88px}.contact-page .faq-list{max-width:920px;margin-inline:auto}.contact-page .faq-item summary{min-height:58px}.contact-page .faq-item p{margin-bottom:14px}.contact-page .faq-related-links{padding-bottom:18px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:1180px){.contact-hero-grid{grid-template-columns:minmax(0,1fr) minmax(350px,.82fr);gap:48px}.contact-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-channel-grid>a{min-height:190px}}@media(max-width:900px){.contact-hero{padding:76px 0}.contact-hero-grid{grid-template-columns:1fr}.contact-availability{max-width:680px}.contact-position-grid{grid-template-columns:1fr}.contact-position-grid article+article{border-left:0;border-top:1px solid var(--line)}.contact-selected-links .container{grid-template-columns:1fr;gap:26px}}@media(max-width:640px){.contact-hero{padding:56px 0 62px}.contact-hero-copy h1{font-size:clamp(2.45rem,12vw,3.7rem)}.contact-hero-copy h1 br{display:none}.contact-hero-lead{font-size:.9rem}.contact-email-address{display:flex;width:100%;font-size:1rem}.contact-hero-actions{display:grid;grid-template-columns:1fr 1fr}.contact-hero-actions .button{width:100%;padding-inline:12px;font-size:.62rem}.contact-hero-actions .button.ghost{grid-column:1/-1}.contact-panel-head,.contact-availability-block,.contact-status-row,.contact-stack{padding-inline:19px}.contact-panel-head{min-height:50px}.contact-section{padding:58px 0}.contact-page .section-heading{margin-bottom:34px}.contact-channel-grid{grid-template-columns:1fr}.contact-channel-grid>a{min-height:168px;padding:23px}.contact-channel-grid strong{right:22px;top:21px}.contact-position-grid article{padding:24px 21px}.contact-selected-links{padding:50px 0}.contact-link-list{grid-template-columns:1fr}.contact-link-list a{min-height:52px}.contact-faq{padding-bottom:64px}.contact-page .faq-item{padding-inline:17px}.contact-page .faq-item summary{font-size:.84rem;line-height:1.45}.contact-page .faq-related-links{align-items:flex-start;flex-direction:column}}.faq-list{display:grid;gap:10px;margin-top:26px}.faq-item{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:0 22px;transition:border-color .2s}.faq-item:hover{border-color:var(--line-strong)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;cursor:pointer;list-style:none;font-size:.92rem;font-weight:700;color:var(--text)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";flex:0 0 auto;width:20px;text-align:center;color:var(--primary);font-size:1.15rem;font-weight:400}.faq-item[open] summary:after{content:"−"}.faq-item p{margin:0 0 20px;padding-top:16px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted);line-height:1.75}.contact-topic-list{display:flex;flex-wrap:wrap;gap:8px}.contact-topic-chip{padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:var(--muted-strong);font-size:.78rem;background:var(--surface)}.learning-header{display:flex;align-items:center;justify-content:space-between;gap:32px}.learning-header .section-heading{flex:1}.learning-header .button{flex:0 0 auto;margin-bottom:46px}.roadmap{position:relative;display:flex;justify-content:space-between;gap:4px;margin:12px 0 56px;padding:34px 12px 0}.roadmap-line{position:absolute;top:61px;left:6%;right:6%;height:2px;background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 30%,transparent));opacity:.4;z-index:0}.roadmap-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;flex:1;padding:0;border:0;background:transparent;cursor:pointer}.roadmap-node{width:54px;height:54px;display:grid;place-items:center;border:2px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--muted-strong);font:700 .85rem DM Mono,monospace;transition:border-color .2s,color .2s,transform .2s,background .2s}.roadmap-step:hover .roadmap-node{border-color:var(--primary);color:var(--primary);transform:translateY(-3px);background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.roadmap-title{font-size:.74rem;font-weight:700;color:var(--muted);text-align:center;line-height:1.3;max-width:92px}.roadmap-step:hover .roadmap-title{color:var(--text)}.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.learning-card{min-height:300px;padding:28px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,var(--surface-2),var(--surface))}.learning-number{color:var(--primary);font:.7rem DM Mono,monospace}.learning-card h3{margin:54px 0 14px;font-size:1.35rem;letter-spacing:-.025em}.learning-card p{min-height:76px;font-size:.82rem}.learning-block{margin-top:70px}.experiment-log{display:grid;gap:16px;margin-top:26px}.experiment-log-card h3{font-size:1.15rem}.experiment-log-gallery{margin-top:22px}.learning-subheading{margin:44px 0 10px;font-size:1.2rem;letter-spacing:-.02em}.learning-subheading-desc{margin:0 0 18px}.perf-chart{margin-top:22px;padding:26px 28px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.perf-legend{display:flex;gap:20px;margin-bottom:24px;font-size:.78rem;font-weight:700;color:var(--muted-strong)}.perf-legend-item{display:inline-flex;align-items:center;gap:8px}.perf-swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.perf-row{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.perf-row:first-child{padding-top:0;margin-top:0;border-top:0}.perf-row-label{margin-bottom:12px;font-size:.88rem;font-weight:700;color:var(--text)}.perf-bar-line{display:flex;align-items:center;gap:14px;margin-bottom:8px}.perf-bar-line:last-of-type{margin-bottom:0}.perf-bar-track{position:relative;flex:1 1 auto;min-width:0;height:16px;border-radius:4px;background:var(--surface-2);overflow:hidden}.perf-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:4px;transition:width .6s cubic-bezier(.16,.84,.44,1)}.perf-bar-range{position:absolute;inset:0;border-radius:4px;opacity:.5}.perf-bar-value{flex:0 0 auto;min-width:92px;text-align:right;font:700 .76rem DM Mono,monospace;color:var(--muted-strong)}.perf-row-note{margin:10px 0 0;font-size:.78rem;color:var(--muted-soft)}.perf-chart-title{margin:44px 0 14px;font-size:1rem;letter-spacing:-.01em;color:var(--muted-strong)}.perf-swatch-map50{background:#3987e5}.perf-swatch-f1{background:#d95926}.perf-swatch-map50-range{background:#3987e5}.perf-swatch-f1-range{background:#d95926}.perf-swatch-time{background:#3987e5}:root[data-theme=white] .perf-swatch-map50,:root[data-theme=pink] .perf-swatch-map50,:root[data-theme=green] .perf-swatch-map50,:root[data-theme=blue] .perf-swatch-map50,:root[data-theme=white] .perf-swatch-map50-range,:root[data-theme=pink] .perf-swatch-map50-range,:root[data-theme=green] .perf-swatch-map50-range,:root[data-theme=blue] .perf-swatch-map50-range,:root[data-theme=white] .perf-swatch-time,:root[data-theme=pink] .perf-swatch-time,:root[data-theme=green] .perf-swatch-time,:root[data-theme=blue] .perf-swatch-time{background:#2a78d6}:root[data-theme=white] .perf-swatch-f1,:root[data-theme=pink] .perf-swatch-f1,:root[data-theme=green] .perf-swatch-f1,:root[data-theme=blue] .perf-swatch-f1,:root[data-theme=white] .perf-swatch-f1-range,:root[data-theme=pink] .perf-swatch-f1-range,:root[data-theme=green] .perf-swatch-f1-range,:root[data-theme=blue] .perf-swatch-f1-range{background:#eb6834}.learning-note{margin-top:70px;padding:50px;border:1px solid var(--line-strong);border-radius:15px;background:radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--primary) 14%,transparent),transparent 35%),var(--surface)}.learning-note h2{max-width:760px;margin:18px 0 14px;font-size:clamp(1.7rem,3vw,2.7rem);letter-spacing:-.04em}.learning-note p{max-width:690px;margin:0}.empty-state{min-height:70vh;display:grid;place-content:center;justify-items:center;text-align:center}.empty-state h1{margin:20px 0 8px;font-size:3rem}.empty-state .button{margin-top:20px}.evidence-summary{border-block:1px solid var(--line);background:color-mix(in srgb,var(--surface) 45%,transparent)}.metric-card-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.metric-card{padding:20px 18px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(155deg,var(--surface-2),var(--surface));transition:border-color .2s,transform .2s}.metric-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));transform:translateY(-3px)}.metric-card-value{display:block;font:800 1.35rem/1.2 DM Mono,monospace;letter-spacing:-.02em;color:var(--primary)}.metric-card-label{display:block;margin-top:6px;font-size:.74rem;font-weight:700;color:var(--text)}.metric-card p{margin:8px 0 0;font-size:.72rem;line-height:1.55}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi-card{padding:22px 20px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(155deg,var(--surface-2),var(--surface));transition:border-color .2s,transform .2s}.kpi-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));transform:translateY(-3px)}.kpi-card-value{display:block;font:800 1.9rem/1.15 DM Mono,monospace;letter-spacing:-.02em;color:var(--primary)}.kpi-card-label{display:block;margin-top:8px;font-size:.8rem;font-weight:700;color:var(--text)}.kpi-card p{margin:6px 0 0;font-size:.74rem;line-height:1.55}.evidence-panels{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-top:16px}.evidence-panel{padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.evidence-panel-title{display:block;margin-bottom:20px;font:700 .74rem/1 DM Mono,monospace;letter-spacing:.12em;color:var(--muted-strong)}.pipeline-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pipeline-step{display:flex;align-items:center;gap:8px}.pipeline-step-box{display:flex;flex-direction:column;gap:3px;min-width:122px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:9px;background:linear-gradient(155deg,var(--surface-2),var(--surface))}.pipeline-step-box strong{font-size:.76rem;letter-spacing:-.01em}.pipeline-step-box span{font-size:.64rem;color:var(--muted-soft)}.pipeline-arrow{flex:0 0 auto;color:var(--primary);font-size:1rem}.performance-bars{display:flex;flex-direction:column;gap:18px}.performance-bar-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.performance-bar-label{white-space:nowrap;font-size:.78rem;font-weight:700;color:var(--text)}.performance-bar-track{position:relative;height:14px;border-radius:4px;background:var(--surface-2);overflow:hidden}.performance-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:4px;background:var(--primary);transition:width .6s cubic-bezier(.16,.84,.44,1)}.performance-bar-value{text-align:right;font:700 .78rem DM Mono,monospace;color:var(--muted-strong)}.supporting-evidence{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.supporting-evidence-item{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface) 70%,transparent)}.supporting-evidence-label{font:700 .64rem/1 DM Mono,monospace;letter-spacing:.1em;color:var(--primary)}.supporting-evidence-value{font-size:.78rem;color:var(--muted-strong)}.evidence-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.evidence-card{padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--surface);transition:border-color .2s,transform .2s}.evidence-card:hover{border-color:color-mix(in srgb,var(--accent, var(--primary)) 45%,var(--line));transform:translateY(-2px)}.evidence-card-label{display:block;color:var(--accent, var(--primary));font:.68rem DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.evidence-card strong{display:block;margin:12px 0 6px;font-size:1.25rem;letter-spacing:-.02em}.evidence-card p{margin:0;font-size:.78rem;line-height:1.6}.project-area-tabs{display:flex;gap:6px;margin-top:26px;overflow-x:auto;padding-bottom:2px;border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch;scrollbar-width:thin}.project-area-tab{flex:0 0 auto;padding:12px 20px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:.86rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:color .2s,border-color .2s}.project-area-tab:hover{color:var(--text)}.project-area-tab:focus-visible{outline:2px solid var(--accent, var(--primary));outline-offset:-2px;border-radius:4px}.project-area-tab.active{color:var(--accent, var(--primary));border-color:var(--accent, var(--primary))}.project-area-panel{margin-top:34px}.project-area-section{margin-top:40px}.project-area-section:first-child{margin-top:0}.project-area-section>.section-number{display:block;margin-bottom:16px}.project-area-summary{max-width:720px;font-size:.96rem}.project-area-stack,.project-area-architecture{margin-top:0}.project-area-evidence-grid{grid-template-columns:repeat(2,1fr)}.project-area-trouble-list{margin-top:0}.architecture-diagram{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px}.architecture-node{display:flex;align-items:center;gap:10px}.architecture-box{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:16px 18px;border:1px solid var(--line-strong);border-radius:10px;background:linear-gradient(155deg,var(--surface-2),var(--surface))}.architecture-box strong{font-size:.85rem;letter-spacing:-.01em}.architecture-box span{font-size:.68rem;color:var(--muted-soft)}.architecture-arrow{flex:0 0 auto;color:var(--accent, var(--primary));font-size:1.1rem}.experiment-table-wrap{margin-top:26px;overflow-x:auto;border:1px solid var(--line);border-radius:12px}.experiment-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.8rem}.experiment-table th,.experiment-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.experiment-table thead th{background:var(--surface-2);color:var(--muted-soft);font:.66rem DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.experiment-table tbody td{color:var(--muted-strong);line-height:1.6}.experiment-table tbody td:first-child{font-weight:700;color:var(--text);white-space:nowrap}.experiment-table tbody tr:last-child td{border-bottom:0}.evidence-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:26px}.evidence-gallery figure{margin:0}.evidence-gallery img,.evidence-gallery .img-fallback{width:100%;aspect-ratio:4/3;object-fit:contain;display:block;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:zoom-in;transition:border-color .2s}.evidence-gallery img:hover{border-color:var(--accent, var(--primary))}.evidence-gallery figcaption{margin-top:8px;font-size:.7rem;color:var(--muted-soft);line-height:1.5}.operation-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px}.operation-check-item{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:.82rem;color:var(--muted-strong)}.operation-check-item span{flex:0 0 auto;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,#4fd18b 22%,transparent);color:#4fd18b;font-size:.7rem}.project-proof-list{display:grid;gap:10px;margin:-10px 0 24px;padding:16px 18px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.project-proof-list p{margin:6px 0 0;font-size:.8rem;color:var(--muted-strong);line-height:1.5}.faq-related-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}.faq-related-links span:first-child{color:var(--muted-soft);font:.64rem DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.faq-related-link{padding:5px 11px;border:1px solid var(--line);border-radius:999px;color:var(--primary);font-size:.7rem;font-weight:600}.faq-related-link:hover{border-color:var(--primary)}.faq-related-link.is-text{color:var(--muted-soft);cursor:default}.img-fallback{display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;border:1px dashed var(--line-strong);border-radius:8px;background:var(--surface-2);color:var(--muted-soft);font-size:.7rem;line-height:1.5}:is(.project-grid,.side-project-grid,.learning-grid,.cert-list,.skills-grid,.resume-grid,.contact-grid,.system-flow,.feature-grid,.trouble-list,.detail-content)>.reveal:nth-child(2){transition-delay:.07s}:is(.project-grid,.side-project-grid,.learning-grid,.cert-list,.skills-grid,.resume-grid,.contact-grid,.system-flow,.feature-grid,.trouble-list,.detail-content)>.reveal:nth-child(3){transition-delay:.14s}:is(.project-grid,.side-project-grid,.learning-grid,.cert-list,.skills-grid,.resume-grid,.contact-grid,.system-flow,.feature-grid,.trouble-list,.detail-content)>.reveal:nth-child(4){transition-delay:.21s}:is(.project-grid,.side-project-grid,.learning-grid,.cert-list,.skills-grid,.resume-grid,.contact-grid,.system-flow,.feature-grid,.trouble-list,.detail-content)>.reveal:nth-child(5){transition-delay:.28s}:is(.project-grid,.side-project-grid,.learning-grid,.cert-list,.skills-grid,.resume-grid,.contact-grid,.system-flow,.feature-grid,.trouble-list,.detail-content)>.reveal:nth-child(6){transition-delay:.35s}@media(max-width:900px){.hero-top{justify-content:center}.hero-band h1{white-space:normal}.hero-panel{max-width:480px}.project-grid{grid-template-columns:1fr 1fr}.project-card:last-child{grid-column:1/-1}.section-heading{grid-template-columns:1fr}.section-heading p{margin:18px 0 0}.detail-title{display:block}.detail-actions{margin-top:35px}.skills-grid,.detail-layout{grid-template-columns:1fr}.detail-nav{display:none}.system-flow{grid-template-columns:1fr 1fr}.flow-step:not(:last-child):after{display:none}.learning-grid{grid-template-columns:1fr 1fr}.learning-header{align-items:flex-start;flex-direction:column}.learning-header .button{margin:-18px 0 45px}.side-project-grid{grid-template-columns:1fr 1fr}.side-project-track .side-project-card{flex-basis:calc(50% - 8px)}.carousel-arrow{display:none}.contact-grid{grid-template-columns:1fr 1fr}.role-strength-grid{grid-template-columns:1fr}.role-summary-card{grid-template-columns:1fr 1fr}.hero-backdrop-scrim{background:linear-gradient(to top,var(--bg),color-mix(in srgb,var(--bg) 70%,transparent) 30%,color-mix(in srgb,var(--bg) 45%,transparent) 60%,color-mix(in srgb,var(--bg) 22%,transparent))}.kpi-grid{grid-template-columns:1fr 1fr}.evidence-panels{grid-template-columns:1fr}.supporting-evidence{grid-template-columns:1fr 1fr}.metric-card-grid{grid-template-columns:repeat(3,1fr)}.evidence-grid{grid-template-columns:1fr 1fr}.operation-check-grid{grid-template-columns:1fr}}@media(max-width:900px){.menu-button{display:block}.nav{position:absolute;left:0;right:0;top:72px;display:none;flex-direction:column;align-items:flex-start;gap:0;padding:12px 15px 20px;border-bottom:1px solid var(--line);background:var(--surface)}.nav.open{display:flex}.nav a{width:100%;padding:14px}.nav a.active:after{display:none}}@media(max-width:640px){.container{width:min(100% - 30px,1180px)}.section{padding:78px 0}.menu-button{display:block}.header-actions{gap:14px}.theme-switcher{gap:6px}.nav{position:absolute;left:0;right:0;top:72px;display:none;flex-direction:column;align-items:flex-start;gap:0;padding:12px 15px 20px;border-bottom:1px solid var(--line);background:var(--surface)}.nav.open{display:flex}.nav a{width:100%;padding:14px}.nav a.active:after{display:none}.hero{display:flex;flex-direction:column;gap:18px;padding-top:70px;padding-bottom:32px;padding-inline:15px;min-height:0}.hero-backdrop{display:none}.hero-top,.hero-band,.hero-band-inner{display:contents}.hero-band-heading{order:1}.hero-band h1{font-size:1.35rem}.hero-description{order:2;max-width:none;flex:0 0 auto;margin:0}.hero-panel{order:3;align-self:flex-start;max-width:220px;padding-inline:14px}.button-row{order:4;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.hero-code{font-size:.6rem}.hero-panel-profile{padding:12px 0;gap:9px}.hero-panel-profile img{width:36px;height:36px}.project-grid{grid-template-columns:1fr}.project-card:last-child{grid-column:auto}.project-card{min-height:420px}.cta-box{align-items:flex-start;flex-direction:column;padding:34px 28px}.footer-inner{padding-block:25px;align-items:flex-start;flex-direction:column;justify-content:center;gap:12px}.page-section{padding-top:65px}.detail-hero{padding:48px 0 60px}.back-link{margin-bottom:45px}.detail-title h1{font-size:clamp(2.1rem,10vw,3.2rem)}.detail-actions{flex-direction:column}.detail-actions .resource-link{width:100%}.detail-layout{padding-top:60px;padding-bottom:80px}.detail-section{padding-bottom:65px;margin-bottom:65px}.check-list,.feature-grid,.resource-grid,.system-flow,.cert-list,.screenshots{grid-template-columns:1fr}.pipeline-evidence{flex-direction:column}.pipeline-evidence-image{width:100%;max-width:320px}.trouble-card{padding:21px}.trouble-card dl div{grid-template-columns:1fr;gap:8px}.resume-header{align-items:flex-start;flex-direction:column}.resume-grid{grid-template-columns:1fr}.resume-block.full{grid-column:auto}.resume-block{padding:25px}.timeline-item{grid-template-columns:1fr;gap:10px}.summary-table div{grid-template-columns:1fr;gap:6px}.work-item-head{grid-template-columns:1fr;gap:10px}.work-tasks{grid-template-columns:1fr}.resume-projects a{flex-direction:column}.resume-project-meta div{grid-template-columns:1fr;gap:2px}.contact-grid{grid-template-columns:1fr}.contact-grid>a{min-height:210px}.button-row .button{flex:1}.button-row .ghost{flex-basis:100%}.learning-grid{grid-template-columns:1fr}.roadmap{flex-direction:column;align-items:flex-start;gap:18px;padding-top:6px}.roadmap-line{display:none}.roadmap-step{flex-direction:row;justify-content:flex-start;gap:14px}.roadmap-node{width:40px;height:40px;font-size:.7rem}.roadmap-title{max-width:none;text-align:left}.learning-note{padding:32px 25px}.side-project-grid{grid-template-columns:1fr}.side-project-track .side-project-card{flex-basis:84%;min-width:230px}.pagination{gap:10px}.pagination>button{padding:8px 12px;font-size:.75rem}.role-summary-card{grid-template-columns:1fr;gap:16px}.kpi-grid{grid-template-columns:1fr}.metric-card-grid{grid-template-columns:1fr 1fr}.evidence-panel{padding:20px}.pipeline-flow{flex-direction:column;align-items:stretch}.pipeline-arrow{align-self:center;transform:rotate(90deg)}.pipeline-step-box{min-width:0}.performance-bar-row{gap:8px}.performance-bar-label,.performance-bar-value{font-size:.72rem}.supporting-evidence{grid-template-columns:1fr}.evidence-actions{gap:8px}.evidence-actions .button{flex:1 1 auto;min-width:0}.evidence-grid{grid-template-columns:1fr}.architecture-diagram{flex-direction:column;align-items:stretch}.architecture-arrow{align-self:center;transform:rotate(90deg)}.architecture-box{min-width:0}.experiment-table{min-width:560px}.project-area-tab{padding:10px 14px;font-size:.8rem}.project-area-section{margin-top:32px}.resume-name{font-size:1.5rem}.resume-edu-cert-grid{grid-template-columns:1fr;gap:30px}.resume-photo-card{align-self:flex-start}.resume-more-details summary{font-size:.9rem}}@media(max-width:900px){.home-hero{min-height:0}.home-hero-inner{grid-template-columns:1fr;gap:52px}.ai-pipeline-panel{width:min(100%,580px)}.home-bento-grid{grid-template-columns:1fr 1fr}.home-bento-1,.home-bento-2,.home-bento-3,.home-bento-4{grid-column:span 1;grid-template-columns:1fr}.featured-showcase{grid-template-columns:1fr;gap:0}.featured-browser>img,.featured-browser>.img-fallback{height:clamp(280px,43vw,360px)}.featured-showcase-copy{padding:30px 22px 24px}.home-project-preview{height:160px;flex-basis:160px}.home-expertise-grid{grid-template-columns:1fr}.home-expertise-card+.home-expertise-card{border-left:0;border-top:1px solid var(--line)}.home-career-timeline{gap:14px}.home-career-card{padding-inline:12px}.compact-cta .cta-box{padding:48px}}@media(min-width:641px)and (max-width:900px){.home-hero{min-height:calc(100svh - 72px);padding:46px 0 68px}.home-hero-inner{grid-template-columns:minmax(0,1fr) minmax(320px,.98fr);gap:26px}.home-hero h1{font-size:clamp(3.25rem,7vw,4rem)}.home-hero-description{font-size:.86rem;line-height:1.7}.home-hero-tech{gap:5px;margin-top:22px}.home-hero-tech .chip{padding:4px 7px;font-size:.6rem}.home-hero-actions{margin-top:27px}.home-hero-actions .button{min-height:44px;padding-inline:16px;font-size:.76rem}.ai-pipeline-panel{width:100%;padding:15px}.pipeline-overview{gap:4px}.pipeline-status-card{height:56px;padding:7px 6px}.pipeline-node-list{gap:6px;margin-block:12px}.pipeline-node{min-height:45px;grid-template-columns:42px minmax(0,1fr) auto;gap:7px;padding-block:5px}.pipeline-node-visual{width:36px;height:32px}.pipeline-node-copy strong{font-size:.66rem}.pipeline-node-copy span{font-size:.5rem}.pipeline-node-state{font-size:.42rem}.pipeline-connector{left:22px;height:6px}.pipeline-panel-head{padding-bottom:13px}.pipeline-panel-foot{padding-top:11px}}@media(max-width:640px){.home-hero{padding:72px 0 82px}.home-hero:after{width:460px;height:460px;right:-240px}.home-hero-inner{gap:38px}.home-hero h1{font-size:clamp(3rem,16vw,4.2rem);line-height:.92}.home-hero-description{font-size:.9rem}.home-hero-description br,.compact-cta .cta-box p br{display:none}.home-hero-tech{margin-top:24px}.home-hero-actions{display:grid;grid-template-columns:1fr;margin-top:31px}.ai-pipeline-panel{padding:15px;border-radius:14px}.pipeline-overview{grid-template-columns:repeat(2,1fr)}.pipeline-node{grid-template-columns:42px minmax(0,1fr) auto;gap:8px;padding-right:8px}.pipeline-node-visual{width:36px}.pipeline-node-state{font-size:.44rem}.pipeline-connector{left:23px}.home-bento-grid{grid-template-columns:1fr}.home-info-card{min-height:0;padding:24px}.home-bento-card{gap:24px}.home-secondary-projects{grid-template-columns:1fr}.home-project-card{min-height:0}.featured-showcase{padding:10px}.projects-preview .section-heading{margin-bottom:44px}.featured-browser>img,.featured-browser>.img-fallback{height:230px}.featured-showcase-copy{padding:25px 12px 18px}.featured-showcase-copy h3{font-size:clamp(2rem,11vw,2.55rem)}.featured-facts dd{font-size:.7rem}.featured-actions{display:grid}.featured-actions .button{width:100%}.home-project-preview{height:190px;flex-basis:190px}.home-project-card-body{padding:20px}.home-project-card .tagline{min-height:0}.projects-preview .center-action{margin-top:30px}.home-expertise-card{min-height:460px;padding:26px}.expertise-vision{grid-template-columns:1fr}.expertise-vision b{text-align:center}.expertise-llm{gap:7px}.expertise-llm span{min-width:0;height:46px;padding:0 7px}.expertise-llm i{width:12px}.home-career-timeline{grid-template-columns:1fr;gap:0;padding:4px 0 0 48px}.home-career-timeline:before{inset:12px auto 44px 10px;width:1px;height:auto;transform:scaleY(0);transform-origin:top}.home-career-timeline.is-visible:before{transform:scaleY(1)}.home-career-card{min-height:0;padding:0 0 42px;text-align:left}.career-node{position:absolute;left:-48px;top:0;flex-direction:row;gap:8px}.career-node i{width:20px;height:20px}.home-career-card h3{margin:0 0 12px;text-align:left}.home-career-card p{text-align:left}.compact-cta .cta-box{min-height:300px;padding:38px 28px}.compact-cta .cta-box .button{width:100%}}@media(max-width:640px){.home-hero{min-height:calc(100svh - 72px)}.hero-scroll-indicator{bottom:18px}}@media(max-width:900px){.home-competencies{--core-grid-gap:18px}.home-info-card{min-height:0;height:auto;padding:26px}.home-bento-copy,.competency-visual{min-height:0}.home-info-card h3{font-size:1.3rem}.service-flow-line i{animation-name:none}}@media(min-width:641px)and (max-width:820px){.home-bento-grid{grid-template-columns:1fr}.home-bento-1,.home-bento-2,.home-bento-3,.home-bento-4{grid-column:span 1;grid-template-columns:minmax(0,42fr) minmax(320px,58fr);grid-template-rows:auto;gap:24px}.home-bento-4{grid-template-columns:minmax(0,45fr) minmax(300px,55fr)}}@media(max-width:640px){.home-competencies{--core-grid-gap:16px}.home-info-card{padding:22px}.home-bento-copy{min-height:0}.home-bento-card{height:auto;gap:20px}.home-info-card h3{margin-top:22px}.competency-tags{padding-top:18px}.competency-visual{min-height:0}.competency-panel-head{align-items:flex-start}.service-flow-panel,.service-status-panel{padding:13px}.service-flow-panel{gap:11px}.service-flow-node{width:44px;border-radius:9px}.service-flow-node strong{font-size:.55rem}.service-flow-node small{font-size:.44rem}.service-flow-line{min-width:6px;max-width:12px}.integration-metrics{grid-template-columns:1fr 1fr}.integration-connected small{display:none}.detection-panel{grid-template-rows:auto 155px auto;padding:11px}.detection-metrics{grid-template-columns:1fr 1fr;gap:6px}.detection-metrics .competency-metric,.detection-metrics .competency-metric:first-child,.detection-metrics .competency-metric:last-child{border:1px solid var(--line);border-radius:6px}.api-response-panel{padding:12px}.endpoint-json{font-size:.65rem}.endpoint-json>span{grid-template-columns:64px auto;padding-left:8px}.service-status-list{grid-template-columns:1fr}.service-status-row,.service-status-row:nth-last-child(-n+2){grid-template-columns:auto minmax(80px,1fr) auto;border-bottom:1px solid var(--line)}.service-status-row:last-child{border-bottom:0}}@media(max-width:900px){.home-expertise-card{padding:28px}.home-expertise-card>p{min-height:0}.expertise-tags{min-height:0}.vision-detection-preview{height:210px}.home-expertise .section-heading{margin-bottom:52px}}@media(max-width:640px){.home-expertise .section-heading{margin-bottom:44px}.home-expertise-card{min-height:0;padding:23px}.home-expertise-card h3{margin:24px 0 14px;font-size:clamp(1.7rem,8vw,2.1rem)}.home-expertise-card>p{font-size:.82rem}.expertise-tags{margin:20px 0 24px}.expertise-panel-header{padding-inline:11px}.expertise-panel-header small{font-size:.47rem}.vision-pipeline-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px}.vision-pipeline-step:after{display:none}.vision-pipeline-step:last-child{grid-column:1/-1}.vision-detection-preview{height:180px;margin:0 10px}.vision-detection-preview figcaption{align-items:flex-start;flex-direction:column;gap:3px}.expertise-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px}.expertise-metric-grid div,.expertise-metric-grid div:first-child,.expertise-metric-grid div:last-child{border:1px solid var(--line);border-radius:7px}.llm-workflow-flow{grid-template-columns:repeat(2,minmax(0,1fr));padding:11px 10px}.llm-workflow-flow:before{display:none}.llm-output-layout{grid-template-columns:1fr;padding:0 10px 10px}.llm-output-preview code{font-size:.56rem}.llm-capability-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:7px 10px}.llm-capability-list li{border-bottom:1px solid var(--line)}.llm-capability-list li:nth-child(odd){padding-right:8px}.llm-capability-list li:nth-child(2n){padding-left:8px;border-left:1px solid var(--line)}.llm-capability-list li:last-child{grid-column:1/-1;border-bottom:0;border-left:0}.expertise-cta{margin-top:24px;padding-top:18px;font-size:.7rem}}@media(max-width:640px){.projects-page .projects-compact-card{min-height:0}}.computer-vision-page{overflow:hidden}.computer-vision-page :is(a,button,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:3px}.computer-vision-page .section-heading{align-items:end;margin-bottom:54px}.computer-vision-page :is(#vision-projects,[id^=experience-]){scroll-margin-top:calc(var(--header-height) + 28px)}.cv-hero{position:relative;padding:94px 0 108px;border-bottom:1px solid var(--line);background:linear-gradient(140deg,color-mix(in srgb,var(--surface) 56%,transparent),transparent)}.cv-hero:after{content:"";position:absolute;width:560px;height:560px;right:-220px;top:-280px;border-radius:50%;background:var(--primary);filter:blur(160px);opacity:.08;pointer-events:none}.cv-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,1fr);align-items:center;gap:72px}.cv-hero-copy h1{max-width:700px;margin:23px 0 25px;font-size:clamp(3.1rem,5.7vw,5.45rem);line-height:.98;letter-spacing:-.065em;text-wrap:balance}.cv-hero-copy>p{max-width:620px;margin:0;font-size:.98rem;line-height:1.85}.cv-hero-tech{margin-top:28px}.cv-hero-copy>.button{gap:12px;margin-top:34px}.cv-hero-evidence{overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line));border-radius:16px;background:linear-gradient(150deg,var(--surface-2),var(--surface));box-shadow:0 28px 68px #0003}.cv-panel-head,.cv-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;font:600 .58rem DM Mono,monospace;letter-spacing:.07em}.cv-panel-head{border-bottom:1px solid var(--line)}.cv-panel-head small,.cv-panel-foot strong{color:#4fd18b;font-size:.49rem}.cv-hero-preview{position:relative;overflow:hidden;margin:13px;border:1px solid var(--line);border-radius:10px;background:var(--bg);aspect-ratio:16/9}.cv-hero-preview img,.cv-hero-preview>.img-fallback{width:100%;height:100%;object-fit:cover}.cv-hero-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,11,20,.4),transparent 45%);pointer-events:none}.cv-detection-label{position:absolute;z-index:1;padding:5px 7px;border:1px solid var(--primary);color:#fff;background:#090c17c7;font:600 .5rem DM Mono,monospace}.cv-detection-label b{color:var(--primary)}.cv-detection-label.label-a{left:16%;top:26%}.cv-detection-label.label-b{right:12%;top:49%}.cv-hero-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:0 13px 13px;border:1px solid var(--line);border-radius:9px}.cv-hero-metrics div{padding:13px;border-right:1px solid var(--line)}.cv-hero-metrics div:last-child{border-right:0}.cv-hero-metrics dt{color:var(--muted-soft);font:.48rem DM Mono,monospace}.cv-hero-metrics dd{margin:6px 0 0;color:var(--text);font:700 1.12rem DM Mono,monospace}.cv-panel-foot{border-top:1px solid var(--line);color:var(--muted-soft);font-size:.5rem}.cv-panel-foot i{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#4fd18b;box-shadow:0 0 10px #4fd18b80}.cv-index-section{border-bottom:1px solid var(--line)}.cv-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cv-index-card{display:flex;min-width:0;min-height:390px;flex-direction:column;padding:27px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(150deg,var(--surface-2),var(--surface));transition:border-color .35s,box-shadow .35s,transform .35s}.cv-index-card.reveal.is-visible:hover{transform:translateY(-3px)}.cv-index-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));box-shadow:0 24px 52px #0000002b}.cv-index-topline,.cv-experience-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;font:600 .57rem DM Mono,monospace;letter-spacing:.07em}.cv-index-topline>span,.cv-experience-heading>span{color:var(--primary)}.cv-index-topline strong,.cv-experience-heading strong{color:#4fd18b;font-size:.49rem}.cv-index-topline strong.is-progress,.cv-experience-heading strong.is-progress{color:var(--primary)}.cv-index-card h3{margin:29px 0 13px;font-size:clamp(1.55rem,2.3vw,2.1rem);line-height:1.07;letter-spacing:-.045em}.cv-index-card>p{margin:0 0 18px;font-size:.73rem;line-height:1.65}.cv-index-card dl{margin:0}.cv-index-card dl div{padding:11px 0;border-top:1px solid var(--line)}.cv-index-card dt,.cv-fact-grid dt{color:var(--primary);font:600 .49rem DM Mono,monospace;letter-spacing:.06em}.cv-index-card dd{margin:5px 0 0;color:var(--muted-strong);font-size:.64rem;line-height:1.5}.cv-index-card>a{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:20px;color:var(--muted-strong);font:600 .59rem DM Mono,monospace}.cv-index-card>a span{transition:transform .3s}.cv-index-card:hover>a span{transform:translateY(4px)}.cv-experience-section{background:color-mix(in srgb,var(--surface) 35%,transparent);border-bottom:1px solid var(--line)}.cv-experience-list{display:grid;gap:24px}.cv-experience-card{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(340px,.86fr);overflow:hidden;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,var(--surface-2),var(--surface));transition:border-color .35s,box-shadow .35s,transform .35s}.cv-experience-card.reveal.is-visible:hover{transform:translateY(-3px)}.cv-experience-card:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 28px 64px #0000002e}.cv-experience-main{min-width:0;padding:34px}.cv-experience-main h3{margin:25px 0 8px;font-size:clamp(2rem,3.5vw,3.25rem);line-height:1;letter-spacing:-.055em}.cv-project-type{margin:0 0 24px;color:var(--muted-soft);font:.58rem DM Mono,monospace}.cv-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cv-scope-grid section{padding:15px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--bg) 52%,transparent)}.cv-scope-grid span,.cv-stack-grid>div>span{color:var(--primary);font:600 .5rem DM Mono,monospace;letter-spacing:.07em}.cv-scope-grid p{margin:8px 0 0;color:var(--muted-strong);font-size:.68rem;line-height:1.6}.cv-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 0}.cv-fact-grid div{padding:13px 0;border-top:1px solid var(--line)}.cv-fact-grid div:nth-child(odd){padding-right:18px}.cv-fact-grid div:nth-child(2n){padding-left:18px;border-left:1px solid var(--line)}.cv-fact-grid .wide{grid-column:1/-1;padding-inline:0;border-left:0}.cv-fact-grid dd{margin:6px 0 0;color:var(--muted-strong);font-size:.68rem;line-height:1.55}.cv-card-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;padding-top:18px;border-top:1px solid var(--line)}.cv-card-actions a{display:inline-flex;align-items:center;gap:7px;color:var(--muted-soft);font:600 .57rem DM Mono,monospace}.cv-card-actions a:first-child{color:var(--primary)}.cv-card-actions a span{transition:transform .3s}.cv-card-actions a:hover span,.cv-experience-card:hover .cv-card-actions a:first-child span{transform:translate(4px)}.cv-evidence-figure{display:flex;min-width:0;height:100%;flex-direction:column;margin:0;border-left:1px solid var(--line);background:var(--bg)}.cv-evidence-figure img,.cv-evidence-figure>.img-fallback{width:100%;height:100%;min-height:330px;object-fit:cover;object-position:center;transition:transform .4s}.cv-experience-card:hover .cv-evidence-figure img{transform:scale(1.015)}.cv-evidence-figure figcaption{padding:13px 16px;border-top:1px solid var(--line);color:var(--muted-soft);font:.52rem DM Mono,monospace;line-height:1.5}.cv-progress-visual{display:flex;min-height:360px;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:36px;border-left:1px dashed var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 10%,var(--surface-2)),var(--bg));font-family:DM Mono,monospace}.cv-progress-visual span{color:var(--primary);font-size:.55rem;letter-spacing:.08em}.cv-progress-visual strong{margin:16px 0;font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.05}.cv-progress-visual small{color:var(--muted-soft);line-height:1.5}.cv-workflow-section{border-bottom:1px solid var(--line)}.cv-workflow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.cv-workflow-step{position:relative;min-width:0;padding:25px 19px;border-right:1px solid var(--line)}.cv-workflow-step:last-child{border-right:0}.cv-workflow-step:not(:last-child):after{content:"→";position:absolute;z-index:1;right:-8px;top:31px;color:var(--primary);background:var(--surface);font:.7rem DM Mono,monospace}.cv-workflow-step>span{color:var(--primary);font:700 1.25rem DM Mono,monospace}.cv-workflow-step small{display:block;margin-top:24px;color:var(--muted-soft);font:.48rem DM Mono,monospace;letter-spacing:.07em}.cv-workflow-step h3{margin:9px 0 10px;font-size:1rem}.cv-workflow-step p{margin:0;font-size:.63rem;line-height:1.6}.cv-model-section{background:color-mix(in srgb,var(--surface) 38%,transparent);border-bottom:1px solid var(--line)}.cv-model-layout{display:grid;grid-template-columns:minmax(270px,.35fr) minmax(0,.65fr);overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.cv-model-summary{padding:30px;border-right:1px solid var(--line);background:linear-gradient(150deg,color-mix(in srgb,var(--primary) 9%,var(--surface-2)),var(--surface))}.cv-final-badge{display:inline-block;padding:5px 8px;border:1px solid color-mix(in srgb,#4fd18b 35%,var(--line));border-radius:999px;color:#4fd18b;font:600 .48rem DM Mono,monospace}.cv-model-summary h3{margin:22px 0 12px;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.04;letter-spacing:-.05em}.cv-model-summary>p{font-size:.69rem;line-height:1.65}.cv-final-metrics{display:grid;grid-template-columns:repeat(2,1fr);margin:22px 0;border:1px solid var(--line);border-radius:9px}.cv-final-metrics div{padding:13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cv-final-metrics div:nth-child(2n){border-right:0}.cv-final-metrics div:nth-last-child(-n+2){border-bottom:0}.cv-final-metrics span{display:block;color:var(--muted-soft);font:.47rem DM Mono,monospace}.cv-final-metrics strong{display:block;margin-top:6px;font:700 1.15rem DM Mono,monospace}.cv-model-summary .cv-selection-note{margin:0;color:var(--muted-soft);font-size:.62rem}.cv-model-table-wrap{min-width:0;overflow-x:auto}.cv-model-table{width:100%;min-width:760px;border-collapse:collapse;font-family:DM Mono,monospace}.cv-model-table th,.cv-model-table td{padding:17px 14px;border-bottom:1px solid var(--line);text-align:right;font-size:.58rem;white-space:nowrap}.cv-model-table thead th{color:var(--muted-soft);background:var(--surface-2);font-size:.48rem;letter-spacing:.05em}.cv-model-table th:first-child{text-align:left}.cv-model-table tbody th{color:var(--muted-strong)}.cv-model-table tr:last-child :is(th,td){border-bottom:0}.cv-model-table tr.is-final{background:color-mix(in srgb,var(--primary) 10%,transparent)}.cv-model-table tr.is-final :is(th,td:last-child){color:var(--primary);font-weight:700}.cv-data-note{margin:14px 0 0;padding:15px 18px;border-left:2px solid var(--primary);color:var(--muted-soft);background:color-mix(in srgb,var(--surface-2) 70%,transparent);font-size:.66rem;line-height:1.65}.cv-integration-section{border-bottom:1px solid var(--line)}.cv-matrix{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.cv-matrix-row{display:grid;grid-template-columns:1.05fr repeat(4,1fr);min-width:0}.cv-matrix-row>*{min-width:0;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere}.cv-matrix-row>*:last-child{border-right:0}.cv-matrix-row:last-child>*{border-bottom:0}.cv-matrix-head{color:var(--muted-soft);background:var(--surface-2);font:600 .5rem DM Mono,monospace;letter-spacing:.06em}.cv-matrix-row strong{color:var(--text);font-size:.7rem}.cv-matrix-row:not(.cv-matrix-head) span{color:var(--muted-strong);font-size:.64rem;line-height:1.5}.cv-stack-section{background:color-mix(in srgb,var(--surface) 35%,transparent);border-bottom:1px solid var(--line)}.cv-stack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.cv-stack-grid>div{padding:24px;border-right:1px solid var(--line)}.cv-stack-grid>div:last-child{border-right:0}.cv-stack-grid .chip-row{margin-top:16px}.cv-stack-grid .chip{background:color-mix(in srgb,var(--surface-2) 72%,transparent)}.cv-cta-section{padding-top:82px}.cv-cta-panel{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:48px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line));border-radius:17px;background:linear-gradient(120deg,var(--cta-bg),color-mix(in srgb,var(--cta-bg) 72%,var(--surface-2)));color:var(--cta-text)}.cv-cta-panel h2{margin:12px 0 10px;font-size:clamp(1.9rem,3.7vw,3.2rem);letter-spacing:-.05em}.cv-cta-panel p{max-width:650px;margin:0;color:inherit;opacity:.78}.cv-cta-actions{display:flex;flex:0 0 auto;gap:10px}.cv-cta-actions .button{white-space:nowrap}@media(max-width:1100px){.cv-hero-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:42px}.cv-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-index-card:last-child{grid-column:1/-1;min-height:330px}.cv-workflow{grid-template-columns:repeat(3,1fr)}.cv-workflow-step{border-bottom:1px solid var(--line)}.cv-workflow-step:nth-child(3){border-right:0}.cv-workflow-step:nth-child(n+4){border-bottom:0}.cv-model-layout{grid-template-columns:1fr}.cv-model-summary{border-right:0;border-bottom:1px solid var(--line)}.cv-stack-grid{grid-template-columns:repeat(2,1fr)}.cv-stack-grid>div:nth-child(2){border-right:0}.cv-stack-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:900px){.computer-vision-page .section-heading{margin-bottom:46px}.cv-hero{padding:72px 0 88px}.cv-hero-grid{grid-template-columns:1fr;gap:46px}.cv-hero-copy>p{max-width:680px}.cv-hero-evidence{width:min(100%,680px)}.cv-experience-card{grid-template-columns:1fr}.cv-evidence-figure,.cv-progress-visual{border-top:1px solid var(--line);border-left:0}.cv-evidence-figure img,.cv-evidence-figure>.img-fallback{height:auto;min-height:0;aspect-ratio:16/8;object-position:center}.cv-progress-visual{min-height:270px}.cv-matrix-head{display:none}.cv-matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;background:transparent;overflow:visible}.cv-matrix-row:not(.cv-matrix-head){display:block;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.cv-matrix-row>*{display:block;padding:14px;border-right:0;border-bottom:1px solid var(--line)}.cv-matrix-row strong{background:var(--surface-2)}.cv-matrix-row:not(.cv-matrix-head) span:before{content:attr(data-label);display:block;margin-bottom:6px;color:var(--primary);font:600 .47rem DM Mono,monospace}.cv-matrix-row:last-child>*{border-bottom:1px solid var(--line)}.cv-matrix-row>*:last-child{border-bottom:0}.cv-cta-panel{align-items:flex-start;flex-direction:column}.cv-cta-actions{width:100%}}@media(max-width:640px){.computer-vision-page .section-heading{margin-bottom:40px}.cv-hero{padding:62px 0 76px}.cv-hero-copy h1{font-size:clamp(2.65rem,13vw,3.75rem)}.cv-hero-copy>p{font-size:.86rem}.cv-hero-copy>.button{width:100%}.cv-hero-metrics{grid-template-columns:repeat(2,1fr)}.cv-hero-metrics div:nth-child(2){border-right:0}.cv-hero-metrics div:nth-child(-n+2){border-bottom:1px solid var(--line)}.cv-panel-foot{align-items:flex-start;flex-direction:column}.cv-index-grid{grid-template-columns:1fr}.cv-index-card,.cv-index-card:last-child{grid-column:auto;min-height:0;padding:23px}.cv-index-card>a{margin-top:20px}.cv-experience-main{padding:23px}.cv-experience-main h3{font-size:clamp(1.85rem,10vw,2.6rem)}.cv-scope-grid,.cv-fact-grid{grid-template-columns:1fr}.cv-fact-grid div,.cv-fact-grid div:nth-child(odd),.cv-fact-grid div:nth-child(2n),.cv-fact-grid .wide{grid-column:auto;padding-inline:0;border-left:0}.cv-evidence-figure img,.cv-evidence-figure>.img-fallback{aspect-ratio:16/10}.cv-progress-visual{min-height:240px;padding:25px}.cv-workflow{grid-template-columns:1fr}.cv-workflow-step,.cv-workflow-step:nth-child(n+4){border-right:0;border-bottom:1px solid var(--line)}.cv-workflow-step:last-child{border-bottom:0}.cv-workflow-step:not(:last-child):after{content:"↓";right:24px;top:auto;bottom:-8px}.cv-workflow-step small{margin-top:16px}.cv-model-summary{padding:23px}.cv-model-table-wrap{scrollbar-width:thin}.cv-matrix,.cv-stack-grid{grid-template-columns:1fr}.cv-stack-grid>div,.cv-stack-grid>div:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.cv-stack-grid>div:last-child{border-bottom:0}.cv-cta-section{padding-top:64px}.cv-cta-panel{padding:34px 25px}.cv-cta-actions{display:grid}.cv-cta-actions .button{width:100%}}.llm-page{overflow:hidden}.llm-page :is(a,button,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:3px}.llm-page :is(#overview,#status,#pipeline,#architecture,#implementation,#training,#quality,#roadmap,#documents){scroll-margin-top:calc(var(--header-height) + 42px)}.llm-page .section-heading{margin-bottom:54px}.llm-hero{position:relative;padding:92px 0 100px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 54%,transparent),transparent)}.llm-hero:after{content:"";position:absolute;width:520px;height:520px;right:-190px;top:-250px;border-radius:50%;background:var(--primary);filter:blur(150px);opacity:.08;pointer-events:none}.llm-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);align-items:center;gap:70px}.llm-hero-copy h1{margin:24px 0 20px;font-size:clamp(4.4rem,8vw,7.7rem);line-height:.82;letter-spacing:-.08em}.llm-hero-copy h1 span{color:var(--primary)}.llm-hero-copy h2{max-width:680px;margin:0 0 24px;font-size:clamp(1.45rem,2.7vw,2.25rem);line-height:1.28;letter-spacing:-.045em}.llm-hero-copy>p{max-width:650px;margin:0;font-size:.92rem}.llm-hero-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:28px}.llm-hero-tags span{padding:6px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted-strong);background:color-mix(in srgb,var(--surface-2) 72%,transparent);font:600 .55rem DM Mono,monospace;letter-spacing:.05em}.llm-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}.llm-hero-actions .button{min-height:44px;padding-inline:16px;font-size:.67rem;letter-spacing:.03em}.llm-hero-actions .button span,.llm-document-cta .button span{display:inline-block;margin-left:7px;transition:transform .3s}.llm-hero-actions .button:hover span,.llm-document-cta .button:hover span{transform:translate3d(3px,-2px,0)}.llm-hero-panel,.llm-card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:linear-gradient(150deg,var(--surface-2),var(--surface));box-shadow:0 26px 62px #00000029}.llm-panel-head,.llm-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.llm-panel-head{min-height:52px;padding:0 18px;border-bottom:1px solid var(--line)}.llm-panel-head>span,.llm-card-head>span{color:var(--muted-strong);font:600 .57rem DM Mono,monospace;letter-spacing:.08em}.llm-status{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:4px 7px;border:1px solid currentColor;border-radius:999px;font:700 .47rem DM Mono,monospace;letter-spacing:.06em;white-space:nowrap}.llm-status-verified{color:#4fd18b}.llm-status-in-progress{color:var(--primary)}.llm-status-planned{color:var(--muted-soft)}.llm-status-blocked{color:#ef8f79}.llm-hero-flow{padding:14px}.llm-hero-node{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:56px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--bg) 58%,transparent)}.llm-hero-node+.llm-hero-node{margin-top:8px}.llm-hero-node+.llm-hero-node:before{content:"";position:absolute;left:26px;top:-9px;width:1px;height:9px;background:var(--primary)}.llm-hero-node i{display:grid;width:32px;height:32px;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 55%,var(--line));border-radius:6px;color:var(--primary);font:600 .56rem DM Mono,monospace}.llm-hero-node strong{font-size:.74rem}.llm-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-top:1px solid var(--line);color:var(--muted-soft);font:600 .51rem DM Mono,monospace}.llm-panel-foot i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#4fd18b;box-shadow:0 0 0 4px color-mix(in srgb,#4fd18b 12%,transparent)}.llm-panel-foot strong{color:var(--text)}.llm-section-index{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 72%,transparent)}.llm-section-index .container{display:flex;gap:8px;overflow-x:auto;padding-block:14px;scrollbar-width:thin}.llm-section-index a{flex:0 0 auto;padding:7px 9px;border-radius:5px;color:var(--muted-soft);font:600 .52rem DM Mono,monospace;letter-spacing:.04em;transition:background .2s,color .2s}.llm-section-index a:hover{color:var(--text);background:var(--surface-2)}.llm-overview,.llm-architecture-section,.llm-training-section,.llm-roadmap-section{background:color-mix(in srgb,var(--surface) 34%,transparent);border-bottom:1px solid var(--line)}.llm-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.llm-overview-card{min-height:245px;padding:25px;box-shadow:none;transition:border-color .3s,transform .3s,box-shadow .3s}.llm-overview-card.reveal.is-visible:hover{transform:translateY(-3px)}.llm-overview-card:hover{border-color:color-mix(in srgb,var(--primary) 44%,var(--line));box-shadow:0 20px 45px #00000024}.llm-overview-card>span{color:var(--primary);font:600 .53rem DM Mono,monospace;letter-spacing:.08em}.llm-overview-card h3{margin:34px 0 13px;font-size:1.28rem;letter-spacing:-.035em}.llm-overview-card p{margin:0;font-size:.72rem;line-height:1.65}.llm-why{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px 28px;margin-top:18px;padding:27px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.llm-why>span{color:var(--primary);font:600 .59rem DM Mono,monospace;letter-spacing:.08em}.llm-why>p{margin:0;font-size:.78rem}.llm-why>div{grid-column:2;display:flex;flex-wrap:wrap;gap:7px}.llm-why b{padding:5px 8px;border:1px solid var(--line);border-radius:4px;color:var(--muted-soft);font:600 .5rem DM Mono,monospace}.llm-status-section{border-bottom:1px solid var(--line)}.llm-status-summary{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.llm-status-summary>div{padding:22px;border-right:1px solid var(--line)}.llm-status-summary>div:last-child{border-right:0}.llm-status-summary span,.llm-spec-list dt{display:block;color:var(--muted-soft);font:600 .52rem DM Mono,monospace;letter-spacing:.06em}.llm-status-summary strong{display:block;margin-top:8px;font-size:1rem}.llm-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);scrollbar-width:thin}.llm-table{width:100%;border-collapse:collapse;min-width:760px}.llm-table th,.llm-table td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left}.llm-table thead th{color:var(--muted-soft);background:var(--surface-2);font:600 .54rem DM Mono,monospace;letter-spacing:.07em}.llm-table tbody th{width:28%;font-size:.72rem}.llm-table tbody td{color:var(--muted);font-size:.68rem}.llm-table tbody td:nth-child(2){width:150px}.llm-table tbody tr:last-child>*{border-bottom:0}.llm-conflict-note{display:flex;align-items:flex-start;gap:16px;margin-top:18px;padding:20px;border:1px dashed color-mix(in srgb,var(--primary) 50%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.llm-conflict-note>div{min-width:0}.llm-conflict-note strong{font:600 .57rem DM Mono,monospace;letter-spacing:.06em}.llm-conflict-note p{margin:7px 0 0;font-size:.68rem;line-height:1.6}.llm-pipeline-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.llm-pipeline-node{position:relative;min-height:175px;padding:21px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,var(--surface-2),var(--surface));transition:border-color .3s,transform .3s}.llm-pipeline-node.reveal.is-visible:hover{transform:translateY(-3px)}.llm-pipeline-node.is-verified:hover{border-color:color-mix(in srgb,#4fd18b 50%,var(--line))}.llm-pipeline-node>span{color:var(--primary);font:600 .54rem DM Mono,monospace}.llm-pipeline-node h3{margin:27px 0 8px;font-size:.95rem;line-height:1.2}.llm-pipeline-node p{min-height:2.8em;margin:0 0 16px;font-size:.61rem;line-height:1.45}.llm-pipeline-node:nth-child(-n+5):after{content:"→";position:absolute;right:-11px;top:78px;z-index:2;color:var(--primary);font:600 .7rem DM Mono,monospace}.llm-pipeline-node:nth-child(5):after{content:"↓";right:50%;top:auto;bottom:-11px}.llm-pipeline-node:nth-child(n+6):not(:last-child):after{content:"←";position:absolute;left:-11px;top:78px;z-index:2;color:var(--muted-soft);font:600 .7rem DM Mono,monospace}.llm-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.llm-two-column>.reveal,.llm-training-layout>.reveal{height:100%}.llm-architecture-flow,.llm-spec-card,.llm-implementation-card,.llm-trainer-card,.llm-hardware-card,.llm-governance-card,.llm-roadmap-card{padding:27px}.llm-card-head{padding-bottom:18px;border-bottom:1px solid var(--line)}.llm-card-head>strong{color:var(--primary);font:700 .68rem DM Mono,monospace}.llm-linear-flow{margin-top:18px}.llm-linear-flow>div{position:relative;display:grid;grid-template-columns:35px minmax(0,1fr);align-items:center;gap:12px;min-height:45px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--bg) 55%,transparent)}.llm-linear-flow>div+div{margin-top:7px}.llm-linear-flow>div+div:before{content:"";position:absolute;left:26px;top:-8px;width:1px;height:8px;background:var(--primary)}.llm-linear-flow span{color:var(--primary);font:600 .5rem DM Mono,monospace}.llm-linear-flow strong{font:600 .62rem DM Mono,monospace}.llm-spec-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 0}.llm-spec-list>div{min-width:0;padding:14px 0;border-bottom:1px solid var(--line)}.llm-spec-list>div:nth-child(odd){padding-right:14px}.llm-spec-list>div:nth-child(2n){padding-left:14px;border-left:1px solid var(--line)}.llm-spec-list dd{margin:7px 0 0;color:var(--text);font:600 .69rem DM Mono,monospace;overflow-wrap:anywhere}.llm-implementation-card h3{margin:25px 0;font-size:clamp(2rem,3.8vw,3.1rem);line-height:.98;letter-spacing:-.055em}.llm-checks,.llm-feature-grid,.llm-governance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:22px}.llm-checks span,.llm-feature-grid span,.llm-governance-list span{padding:10px;border:1px solid var(--line);border-radius:6px;color:var(--muted-strong);font-size:.62rem;line-height:1.35}.llm-checks span:first-letter,.llm-feature-grid span:first-letter,.llm-governance-list span:first-letter{color:#4fd18b}.llm-scope-note{margin-top:18px;padding:16px;border-left:2px solid var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--bg))}.llm-scope-note strong{color:var(--primary);font:600 .52rem DM Mono,monospace}.llm-scope-note p{margin:7px 0 0;font-size:.64rem;line-height:1.55}.llm-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:22px}.llm-module-grid>div{padding:15px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--bg) 48%,transparent)}.llm-module-grid strong{display:block;margin-bottom:11px;color:var(--primary);font:600 .5rem DM Mono,monospace}.llm-module-grid span{display:block;color:var(--muted-strong);font-size:.61rem;line-height:1.7}.llm-training-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:18px}.llm-trainer-card .llm-feature-grid{margin-bottom:24px}.llm-training-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:0}.llm-training-flow>div{display:block;min-height:78px;padding:12px}.llm-training-flow>div+div{margin-top:0}.llm-training-flow>div+div:before{left:-8px;top:38px;width:8px;height:1px}.llm-training-flow span{display:block;margin-bottom:12px}.llm-training-flow strong{font-size:.54rem;line-height:1.45}.llm-card-note{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);font:.58rem/1.65 DM Mono,monospace}.llm-gate-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.llm-gate-card{position:relative;display:flex;min-height:160px;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.llm-gate-card:after{content:"";position:absolute;right:-10px;top:38px;width:10px;height:1px;background:#4fd18b}.llm-gate-card:last-child:after{display:none}.llm-gate-card>span:first-child{margin-bottom:12px;color:var(--primary);font:600 .54rem DM Mono,monospace}.llm-gate-card .llm-status{align-self:flex-start}.llm-gate-card>strong{margin-top:auto;font-size:.7rem;line-height:1.35}.llm-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:30px}.llm-metric-card{padding:25px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(145deg,var(--surface-2),var(--surface))}.llm-metric-card strong{display:block;font:700 clamp(1.65rem,3vw,2.6rem) "DM Mono",monospace;letter-spacing:-.05em}.llm-metric-card span{display:block;margin-top:10px;color:var(--muted-soft);font:600 .51rem DM Mono,monospace;letter-spacing:.05em}.llm-overfit-note{display:grid;grid-template-columns:220px minmax(0,1fr);gap:25px;margin-top:14px;padding:22px;border:1px solid color-mix(in srgb,#ef8f79 45%,var(--line));border-radius:10px;background:color-mix(in srgb,#ef8f79 4%,var(--surface))}.llm-overfit-note span{color:#ef8f79;font:700 .59rem DM Mono,monospace}.llm-overfit-note p{margin:0;font-size:.68rem;line-height:1.6}.llm-scope-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px}.llm-scope-list{padding:24px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.llm-scope-list>p{display:inline-flex;width:50%;margin:14px 0 0;color:var(--muted-strong);font-size:.65rem}.llm-scope-list.is-planned>p{color:var(--muted-soft)}.llm-governance-card>p{margin:22px 0 0;font-size:.74rem}.llm-boundary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px}.llm-boundary-grid>div{padding:15px;border:1px solid var(--line);border-radius:7px}.llm-boundary-grid strong{color:var(--primary);font:600 .5rem DM Mono,monospace}.llm-boundary-grid p{margin:7px 0 0;font-size:.61rem;line-height:1.5}.llm-roadmap-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:67px;border-bottom:1px solid var(--line)}.llm-roadmap-row:last-child{border-bottom:0}.llm-roadmap-row>span{color:var(--primary);font:600 .5rem DM Mono,monospace}.llm-roadmap-row>strong{font-size:.68rem}.llm-documents-section{padding-bottom:88px}.llm-document-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:13px;overflow:hidden}.llm-document-link{display:flex;min-height:145px;min-width:0;flex-direction:column;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);transition:background .3s,color .3s}.llm-document-link:nth-child(5n){border-right:0}.llm-document-link:nth-last-child(-n+5){border-bottom:0}.llm-document-link:hover{background:color-mix(in srgb,var(--surface-2) 82%,var(--primary))}.llm-document-link>span{color:var(--primary);font:600 .48rem DM Mono,monospace}.llm-document-link>strong{margin-top:22px;font-size:.73rem;line-height:1.35}.llm-document-link>small{margin-top:auto;color:var(--muted-soft);font:600 .47rem DM Mono,monospace}.llm-document-cta{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-top:24px;padding:38px 42px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line));border-radius:14px;background:linear-gradient(120deg,var(--cta-bg),color-mix(in srgb,var(--cta-bg) 72%,var(--surface-2)));color:var(--cta-text)}.llm-document-cta h2{margin:13px 0 8px;font-size:clamp(1.75rem,3vw,2.7rem);letter-spacing:-.05em}.llm-document-cta p{max-width:610px;margin:0;color:inherit;opacity:.78}.llm-document-cta>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:0 0 430px}.llm-document-cta .button{min-height:43px;padding-inline:13px;font-size:.62rem}.llm-document-cta .button.primary{background:var(--text);border-color:var(--text);color:var(--bg)}.llm-document-cta .button.secondary{background:color-mix(in srgb,var(--bg) 18%,transparent);border-color:color-mix(in srgb,var(--text) 30%,transparent);color:inherit}.llm-document-cta .button.ghost{color:inherit}@media(max-width:1100px){.llm-hero-grid{grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:42px}.llm-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.llm-overview-card{min-height:210px}.llm-pipeline-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.llm-pipeline-node:nth-child(n):after{display:none}.llm-gate-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.llm-gate-card:after{display:none}.llm-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.llm-document-link,.llm-document-link:nth-child(5n),.llm-document-link:nth-last-child(-n+5){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.llm-document-link:nth-child(2n){border-right:0}.llm-document-link:nth-last-child(-n+2){border-bottom:0}.llm-document-cta{align-items:flex-start;flex-direction:column}.llm-document-cta>div:last-child{width:100%;flex-basis:auto}}@media(max-width:900px){.llm-page .section-heading{margin-bottom:46px}.llm-hero{padding:72px 0 84px}.llm-hero-grid{grid-template-columns:1fr;gap:46px}.llm-hero-copy>p{max-width:700px}.llm-hero-panel{width:min(100%,680px)}.llm-two-column,.llm-training-layout{grid-template-columns:1fr}.llm-pipeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.llm-gate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.llm-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.llm-document-cta{padding:34px}.llm-status-summary strong{font-size:.86rem}}@media(max-width:640px){.llm-page .section-heading{margin-bottom:40px}.llm-hero{padding:62px 0 72px}.llm-hero-copy h1{font-size:clamp(3.75rem,21vw,5.6rem)}.llm-hero-copy h2{font-size:clamp(1.25rem,6.5vw,1.7rem)}.llm-hero-copy h2 br{display:none}.llm-hero-copy>p{font-size:.84rem}.llm-hero-actions{display:grid}.llm-hero-actions .button{width:100%}.llm-hero-node{grid-template-columns:32px minmax(0,1fr)}.llm-hero-node .llm-status{grid-column:2;justify-self:start}.llm-panel-head{align-items:flex-start;flex-direction:column;padding-block:14px}.llm-section-index .container{width:calc(100% - 24px)}.llm-overview-grid,.llm-pipeline-grid,.llm-gate-grid,.llm-scope-columns{grid-template-columns:1fr}.llm-overview-card{min-height:0}.llm-why{grid-template-columns:1fr}.llm-why>div{grid-column:auto}.llm-status-summary{grid-template-columns:1fr}.llm-status-summary>div{border-right:0;border-bottom:1px solid var(--line)}.llm-status-summary>div:last-child{border-bottom:0}.llm-conflict-note{flex-direction:column}.llm-pipeline-node{min-height:0;padding-left:42px}.llm-pipeline-node:before{content:"";position:absolute;left:21px;top:0;bottom:-13px;width:1px;background:var(--line)}.llm-pipeline-node:last-child:before{bottom:50%}.llm-pipeline-node>span{position:absolute;left:10px;top:21px;padding:3px;background:var(--surface-2)}.llm-pipeline-node h3{margin-top:0}.llm-architecture-flow,.llm-spec-card,.llm-implementation-card,.llm-trainer-card,.llm-hardware-card,.llm-governance-card,.llm-roadmap-card{padding:22px}.llm-spec-list{grid-template-columns:1fr}.llm-spec-list>div:nth-child(odd),.llm-spec-list>div:nth-child(2n){padding-inline:0;border-left:0}.llm-module-grid,.llm-checks,.llm-feature-grid,.llm-governance-list,.llm-boundary-grid{grid-template-columns:1fr}.llm-training-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.llm-training-flow>div+div:before{display:none}.llm-metrics-grid{gap:8px}.llm-metric-card{padding:19px}.llm-overfit-note{grid-template-columns:1fr;gap:9px}.llm-scope-list>p{width:100%}.llm-roadmap-row{grid-template-columns:1fr auto;gap:7px;padding:14px 0}.llm-roadmap-row>strong{grid-column:1/-1;grid-row:2}.llm-document-grid{grid-template-columns:1fr}.llm-document-link,.llm-document-link:nth-child(2n),.llm-document-link:nth-child(5n),.llm-document-link:nth-last-child(-n+5){min-height:120px;border-right:0;border-bottom:1px solid var(--line)}.llm-document-link:last-child{border-bottom:0}.llm-document-cta{padding:30px 24px}.llm-document-cta>div:last-child{grid-template-columns:1fr}.llm-document-cta .button{width:100%}}.cv-hero-tech-groups{display:grid;gap:10px;margin-top:30px}.cv-hero-tech-groups>div{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px}.cv-hero-tech-groups>div>span{color:var(--primary);font:600 .5rem DM Mono,monospace;letter-spacing:.08em}.cv-hero-tech-groups .chip-row{margin:0}.cv-development-section,.cv-pipeline-section{border-bottom:1px solid var(--line)}.cv-development-section{background:color-mix(in srgb,var(--surface) 34%,transparent)}.cv-development-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.cv-development-step{position:relative;min-width:0;min-height:225px;padding:24px 18px;border-right:1px solid var(--line)}.cv-development-step:last-child{border-right:0}.cv-development-step:not(:last-child):after{content:"→";position:absolute;z-index:2;right:-8px;top:28px;padding:2px;color:var(--primary);background:var(--surface);font:.65rem DM Mono,monospace}.cv-development-step>span{color:var(--primary);font:700 1rem DM Mono,monospace}.cv-development-step h3{margin:34px 0 12px;font-size:1rem;line-height:1.2}.cv-development-step p{margin:0;font-size:.63rem;line-height:1.65}.cv-development-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.cv-development-evidence figure{overflow:hidden;margin:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:border-color .3s,transform .3s,box-shadow .3s}.cv-development-evidence figure.reveal.is-visible:hover{transform:translateY(-3px)}.cv-development-evidence figure:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 20px 44px #00000026}.cv-development-evidence figure>div{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--bg)}.cv-development-evidence img,.cv-development-evidence .img-fallback{width:100%;height:100%;object-fit:cover;transition:transform .35s}.cv-development-evidence figure:hover img{transform:scale(1.012)}.cv-development-evidence figure>div>span{position:absolute;left:11px;bottom:10px;padding:5px 7px;border:1px solid color-mix(in srgb,var(--primary) 50%,var(--line));border-radius:4px;color:#fff;background:#080c16c7;font:600 .47rem DM Mono,monospace}.cv-development-evidence figcaption{padding:13px 15px;color:var(--muted-soft);font:.53rem DM Mono,monospace}.cv-project-problem{margin-bottom:12px;padding:15px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--bg) 52%,transparent)}.cv-project-problem>span,.cv-project-detail-grid section>span{color:var(--primary);font:600 .5rem DM Mono,monospace;letter-spacing:.07em}.cv-project-problem p{margin:8px 0 0;color:var(--muted-strong);font-size:.68rem;line-height:1.6}.cv-project-detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10px}.cv-project-detail-grid section{padding:15px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--bg) 52%,transparent)}.cv-project-detail-grid ul{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}.cv-project-detail-grid li{position:relative;padding-left:12px;color:var(--muted-strong);font-size:.63rem;line-height:1.5}.cv-project-detail-grid li:before{content:"";position:absolute;left:0;top:.58em;width:4px;height:4px;border-radius:50%;background:var(--primary)}.cv-evidence-policy{margin-top:14px;padding:17px 19px;border-left:2px solid var(--primary);background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.cv-evidence-policy>p{margin:0;color:var(--muted-strong);font-size:.72rem}.cv-evidence-policy details{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.cv-evidence-policy summary{cursor:pointer;color:var(--primary);font:600 .56rem DM Mono,monospace}.cv-evidence-policy details p{margin:11px 0 0;color:var(--muted-soft);font-size:.63rem;line-height:1.65}.cv-pipeline-section{background:color-mix(in srgb,var(--surface) 34%,transparent)}.cv-service-pipeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.cv-service-node{position:relative;min-height:205px;padding:23px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,var(--surface-2),var(--surface));transition:border-color .3s,transform .3s,box-shadow .3s}.cv-service-node:not(:last-child):after{content:"→";position:absolute;z-index:2;right:-11px;top:31px;color:var(--primary);font:.7rem DM Mono,monospace}.cv-service-node:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 18px 38px #00000021;transform:translateY(-2px)}.cv-service-node>span{color:var(--primary);font:700 .68rem DM Mono,monospace}.cv-service-node h3{margin:38px 0 12px;font-size:1.25rem}.cv-service-node p{margin:0;font-size:.65rem;line-height:1.6}.cv-pipeline-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.cv-pipeline-projects article{padding:22px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.cv-pipeline-projects article>div{display:flex;align-items:center;gap:13px}.cv-pipeline-projects article>div span{color:var(--primary);font:700 .67rem DM Mono,monospace}.cv-pipeline-projects h3{margin:0;font-size:1rem}.cv-pipeline-projects p{margin:17px 0;padding:15px 0;border-block:1px solid var(--line);font-size:.67rem;line-height:1.6}.cv-pipeline-projects a{display:flex;align-items:center;justify-content:space-between;color:var(--primary);font:600 .55rem DM Mono,monospace}.cv-pipeline-projects a span{transition:transform .3s}.cv-pipeline-projects article:hover a span{transform:translate(4px)}@media(max-width:1100px){.cv-development-flow{grid-template-columns:repeat(3,1fr)}.cv-development-step{border-bottom:1px solid var(--line)}.cv-development-step:nth-child(3){border-right:0}.cv-development-step:nth-child(n+4){border-bottom:0}.cv-service-pipeline{grid-template-columns:repeat(3,1fr)}.cv-service-node:nth-child(n+4){grid-column:span 1}.cv-service-node:after{display:none}}@media(max-width:900px){.cv-development-evidence{grid-template-columns:1fr 1fr}.cv-development-evidence figure:last-child{grid-column:1/-1}.cv-service-pipeline{grid-template-columns:repeat(2,1fr)}.cv-service-node:last-child{grid-column:1/-1}.cv-project-detail-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.cv-hero-tech-groups>div{grid-template-columns:1fr;gap:7px}.cv-development-flow{grid-template-columns:1fr}.cv-development-step{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.cv-development-step:nth-child(n+4){border-bottom:1px solid var(--line)}.cv-development-step:last-child{border-bottom:0}.cv-development-step:after{display:none}.cv-development-step h3{margin-top:19px}.cv-development-evidence{grid-template-columns:1fr}.cv-development-evidence figure:last-child{grid-column:auto}.cv-project-detail-grid,.cv-service-pipeline,.cv-pipeline-projects{grid-template-columns:1fr}.cv-project-detail-grid section{padding:14px}.cv-service-node,.cv-service-node:last-child{grid-column:auto;min-height:0}.cv-service-node h3{margin-top:22px}.cv-evidence-policy{padding:15px}.cv-pipeline-projects article{padding:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal,.home-career-card{opacity:1!important;transform:none!important}.home-career-timeline:before{transform:none!important}body:before{animation:none!important}.hero-backdrop-track{transition:none!important}}.llm-page section[id],.projects-page section[id],.computer-vision-page section[id]{scroll-margin-top:calc(var(--header-height) + 28px)}.llm-section-index-button{flex:0 0 auto;min-height:44px;padding:0 9px;border-radius:5px;color:var(--muted-soft);font:600 .52rem DM Mono,monospace;letter-spacing:.04em;transition:background .2s,color .2s}.llm-section-index-button:hover,.llm-section-index-button:focus-visible{color:var(--text);background:var(--surface-2)}.projects-hero-link{min-height:44px;padding:0}.projects-page .project-filter .projects-side-scroll{display:inline-flex;min-height:44px;align-items:center;gap:7px;padding:9px 14px;border:0;border-radius:0;background:transparent;color:var(--primary);font:600 .65rem DM Mono,monospace;transform:none}.projects-page .project-filter .projects-side-scroll:hover,.projects-page .project-filter .projects-side-scroll:focus-visible{border:0;background:transparent;color:var(--primary);transform:none}@media(max-width:640px){.projects-page .project-filter .projects-side-scroll{padding:8px 11px;font-size:.58rem}}.llm-hero{min-height:760px}.llm-hero-grid{align-items:start}@media(max-width:900px){.llm-hero{min-height:0}}.llm-section-index,.llm-section-index .container{min-height:58px}.llm-section-index .container{align-items:center;padding-block:0}.llm-hero{height:760px}@media(max-width:900px){.llm-hero{height:auto}}.resume-web{overflow:hidden}.resume-web :is(a,button):focus-visible{outline:2px solid var(--primary);outline-offset:3px}.resume-web .section-heading{margin-bottom:52px}.resume-web-hero{position:relative;padding:72px 0 82px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 55%,transparent),transparent)}.resume-web-hero:after{content:"";position:absolute;width:450px;height:450px;right:-170px;top:-220px;border-radius:50%;background:var(--primary);filter:blur(145px);opacity:.07;pointer-events:none}.resume-web-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);align-items:center;gap:74px}.resume-web-hero-copy h1{margin:22px 0 5px;font-size:clamp(3.4rem,6vw,5.6rem);line-height:1;letter-spacing:-.07em}.resume-web-role{margin:0;color:var(--primary);font:700 clamp(1.1rem,2vw,1.45rem) "DM Mono",monospace;letter-spacing:-.03em}.resume-web-specialty{margin:9px 0 34px;color:var(--muted-soft);font:.62rem DM Mono,monospace;letter-spacing:.05em}.resume-web-hero-copy h2{max-width:720px;margin:0 0 19px;font-size:clamp(1.65rem,3.3vw,2.75rem);line-height:1.22;letter-spacing:-.055em}.resume-web-transition{max-width:650px;margin:0;font-size:.84rem}.resume-web-tech{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.resume-web-tech span{padding:6px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted-strong);background:color-mix(in srgb,var(--surface-2) 72%,transparent);font:600 .55rem DM Mono,monospace}.resume-web-profile{display:grid;grid-template-columns:150px minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,var(--surface-2),var(--surface));box-shadow:0 24px 55px #00000029}.resume-web-photo{min-height:100%;background:var(--bg)}.resume-web-photo img{width:100%;height:100%;min-height:300px;object-fit:cover;object-position:center top}.resume-web-contact{display:flex;min-width:0;flex-direction:column;padding:23px}.resume-web-contact>span{color:var(--primary);font:600 .52rem DM Mono,monospace;letter-spacing:.07em}.resume-web-contact>strong{margin:9px 0 19px;font-size:.72rem}.resume-web-contact>a{display:flex;flex-direction:column;gap:5px;padding:12px 0;border-top:1px solid var(--line);color:var(--primary);font:600 .55rem DM Mono,monospace}.resume-web-contact>a small{overflow:hidden;color:var(--muted-strong);font-size:.58rem;text-overflow:ellipsis}.resume-web-contact .button{min-height:42px;margin-top:auto;padding-inline:12px;font-size:.61rem}.resume-summary-section,.resume-project-section,.resume-skills-section,.resume-education-section{background:color-mix(in srgb,var(--surface) 34%,transparent);border-bottom:1px solid var(--line)}.resume-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.resume-metric{min-width:0;padding:27px;border-right:1px solid var(--line)}.resume-metric:last-child{border-right:0}.resume-metric>span{color:var(--primary);font:600 .53rem DM Mono,monospace;letter-spacing:.07em}.resume-metric>strong{display:block;margin:19px 0 8px;font:700 clamp(1.5rem,2.7vw,2.4rem) "DM Mono",monospace;letter-spacing:-.055em;overflow-wrap:anywhere}.resume-metric>p{margin:0;font-size:.68rem}.resume-summary-copy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:18px;padding:25px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.resume-summary-copy p{margin:0;font-size:.75rem}.resume-competency-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.resume-competency-card{display:flex;min-height:315px;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(150deg,var(--surface-2),var(--surface));transition:border-color .3s,transform .3s,box-shadow .3s}.resume-competency-card.reveal.is-visible:hover{transform:translateY(-3px)}.resume-competency-card:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 20px 44px #00000021}.resume-competency-head{display:flex;align-items:center;justify-content:space-between}.resume-competency-head span{color:var(--primary);font:600 .57rem DM Mono,monospace}.resume-competency-head svg{width:22px;height:22px;color:var(--primary)}.resume-competency-card h3{margin:47px 0 14px;font-size:1.28rem;letter-spacing:-.035em}.resume-competency-card>p{margin:0 0 22px;font-size:.71rem;line-height:1.65}.resume-competency-card .chip-row{margin-top:auto}.resume-competency-card .chip{font-size:.57rem}.resume-project-list{display:grid;gap:14px}.resume-project-row{display:grid;grid-template-columns:90px minmax(230px,.72fr) minmax(380px,1.28fr);gap:0;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,var(--surface-2),var(--surface));transition:border-color .3s,box-shadow .3s,transform .3s}.resume-project-row.reveal.is-visible:hover{transform:translateY(-2px)}.resume-project-row:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 20px 48px #00000024}.resume-project-index{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:25px 12px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg) 42%,transparent)}.resume-project-index>span{color:var(--primary);font:700 1rem DM Mono,monospace}.resume-project-index>b{writing-mode:vertical-rl;color:#4fd18b;font:600 .47rem DM Mono,monospace;letter-spacing:.08em}.resume-project-index>b.is-progress{color:var(--primary)}.resume-project-main{padding:27px;border-right:1px solid var(--line)}.resume-project-main>span{color:var(--muted-soft);font:600 .5rem DM Mono,monospace}.resume-project-main h3{margin:22px 0 11px;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.05;letter-spacing:-.045em}.resume-project-main p{margin:0;font-size:.69rem;line-height:1.65}.resume-project-evidence{margin:0;padding:15px 25px}.resume-project-evidence>div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:13px;padding:10px 0;border-bottom:1px solid var(--line)}.resume-project-evidence>div:last-child{border-bottom:0}.resume-project-evidence dt{color:var(--primary);font:600 .49rem DM Mono,monospace;letter-spacing:.06em}.resume-project-evidence dd{margin:0;color:var(--muted-strong);font-size:.63rem;line-height:1.55}.resume-project-evidence .chip-row{margin:0}.resume-project-evidence .chip{padding:3px 6px;font-size:.52rem}.resume-project-link{grid-column:2/-1;display:flex;align-items:center;justify-content:space-between;padding:13px 25px;border-top:1px solid var(--line);color:var(--muted-strong);font:600 .58rem DM Mono,monospace}.resume-project-link span{color:var(--primary);transition:transform .3s}.resume-project-row:hover .resume-project-link span{transform:translate(4px)}.resume-career-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:28px;border:1px solid var(--line);border-radius:11px;background:var(--surface);overflow:hidden}.resume-career-bar>div{padding:22px;border-right:1px solid var(--line)}.resume-career-bar>div:last-child{border-right:0}.resume-career-bar span{display:block;color:var(--primary);font:600 .5rem DM Mono,monospace;letter-spacing:.06em}.resume-career-bar strong{display:block;margin-top:8px;font-size:.76rem}.resume-timeline{position:relative}.resume-timeline:before{content:"";position:absolute;left:27px;top:25px;bottom:25px;width:1px;background:var(--line)}.resume-job{position:relative;display:grid;grid-template-columns:55px 150px minmax(0,1fr);gap:25px;padding:0 0 30px}.resume-job:last-child{padding-bottom:0}.resume-job-marker{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;gap:7px}.resume-job-marker i{display:block;width:13px;height:13px;border:3px solid var(--bg);border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--primary)}.resume-job-marker span{color:var(--muted-soft);font:600 .49rem DM Mono,monospace}.resume-job-period{padding-top:2px;color:var(--primary);font:600 .58rem DM Mono,monospace}.resume-job-body{padding:22px 24px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.resume-job-body h3{margin:0 0 8px;font-size:1.15rem}.resume-job-body>p{margin:0;font-size:.69rem}.resume-job-body ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0;padding:0;list-style:none}.resume-job-body li{padding:9px;border:1px solid var(--line);border-radius:6px;color:var(--muted-strong);font-size:.61rem}.resume-job-body>strong{display:block;padding-top:15px;border-top:1px solid var(--line);color:var(--muted-strong);font-size:.65rem;line-height:1.55}.resume-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.resume-skill-group{min-height:220px;padding:27px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.resume-skill-group:nth-child(2n){border-right:0}.resume-skill-group:nth-last-child(-n+2){border-bottom:0}.resume-skill-group>span{color:var(--primary);font:600 .53rem DM Mono,monospace;letter-spacing:.07em}.resume-skill-group h3{max-width:450px;margin:22px 0 25px;font-size:.82rem;line-height:1.5}.resume-skill-group .chip{font-size:.62rem}.resume-service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.resume-service-step{position:relative;display:flex;min-height:310px;flex-direction:column;padding:21px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(150deg,var(--surface-2),var(--surface))}.resume-service-step:after{content:"→";position:absolute;right:-9px;top:34px;z-index:2;color:var(--primary);font:.7rem DM Mono,monospace}.resume-service-step:last-child:after{display:none}.resume-service-step>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.resume-service-step>div:first-child span{color:var(--primary);font:600 .55rem DM Mono,monospace}.resume-service-step>div:first-child b{color:var(--muted-soft);font:600 .42rem DM Mono,monospace}.resume-service-step h3{margin:33px 0 18px;font-size:1.05rem}.resume-service-tags{display:flex;flex-wrap:wrap;gap:5px}.resume-service-tags span{padding:5px 6px;border:1px solid var(--line);border-radius:4px;color:var(--muted-soft);font:.49rem DM Mono,monospace}.resume-service-step>p{margin:auto 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:.61rem;line-height:1.55}.resume-education-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.resume-education-column{padding:27px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.resume-education-column>h3{margin:0 0 22px;color:var(--primary);font:600 .58rem DM Mono,monospace;letter-spacing:.07em}.resume-education-column article{padding:18px 0;border-top:1px solid var(--line)}.resume-education-column article>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.resume-education-column article>div span{color:var(--muted-soft);font:600 .5rem DM Mono,monospace}.resume-education-column article>div b{padding:4px 6px;border:1px solid currentColor;border-radius:999px;color:var(--primary);font:600 .45rem DM Mono,monospace}.resume-education-column h4{margin:14px 0 8px;font-size:.93rem}.resume-education-column p{margin:0;font-size:.64rem;line-height:1.55}.resume-education-column article>a{display:inline-flex;align-items:center;gap:6px;margin-top:13px;color:var(--primary);font:600 .52rem DM Mono,monospace}.resume-education-column article>a span{transition:transform .3s}.resume-education-column article>a:hover span{transform:translate3d(2px,-2px,0)}.resume-contact-section{padding-top:80px}.resume-contact-panel{display:flex;align-items:center;justify-content:space-between;gap:38px;padding:44px 48px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line));border-radius:15px;background:linear-gradient(120deg,var(--cta-bg),color-mix(in srgb,var(--cta-bg) 72%,var(--surface-2)));color:var(--cta-text)}.resume-contact-panel h2{margin:13px 0 10px;font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.15;letter-spacing:-.05em}.resume-contact-panel p{margin:0;color:inherit;opacity:.78}.resume-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:0 0 390px}.resume-contact-actions .button{min-height:43px;padding-inline:12px;font-size:.62rem}.resume-contact-actions .button.primary{background:var(--text);border-color:var(--text);color:var(--bg)}.resume-contact-actions .button.secondary{background:color-mix(in srgb,var(--bg) 16%,transparent);border-color:color-mix(in srgb,var(--text) 28%,transparent);color:inherit}.resume-notion-link{grid-column:1/-1;padding-top:8px;color:inherit;font:600 .52rem DM Mono,monospace;text-align:center;opacity:.75}@media(max-width:1100px){.resume-web-hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:42px}.resume-competency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-competency-card{min-height:270px}.resume-project-row{grid-template-columns:75px minmax(220px,.72fr) minmax(320px,1.28fr)}.resume-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.resume-service-step:after{display:none}.resume-contact-panel{align-items:flex-start;flex-direction:column}.resume-contact-actions{width:100%;flex-basis:auto}}@media(max-width:900px){.resume-web .section-heading{margin-bottom:46px}.resume-web-hero{padding:64px 0 74px}.resume-web-hero-grid{grid-template-columns:1fr;gap:36px}.resume-web-profile{width:min(100%,650px);grid-template-columns:145px minmax(0,1fr)}.resume-web-photo img{min-height:275px}.resume-project-row{grid-template-columns:70px minmax(0,1fr)}.resume-project-main{border-right:0}.resume-project-evidence,.resume-project-link{grid-column:2}.resume-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-career-bar{grid-template-columns:1fr}.resume-career-bar>div{border-right:0;border-bottom:1px solid var(--line)}.resume-career-bar>div:last-child{border-bottom:0}}@media(max-width:640px){.resume-web .section-heading{margin-bottom:40px}.resume-web-hero{padding:56px 0 66px}.resume-web-hero-copy h1{font-size:clamp(3.1rem,16vw,4.6rem)}.resume-web-specialty{margin-bottom:27px}.resume-web-hero-copy h2{font-size:clamp(1.45rem,8vw,2rem)}.resume-web-hero-copy h2 br{display:none}.resume-web-transition{font-size:.78rem}.resume-web-profile{grid-template-columns:110px minmax(0,1fr)}.resume-web-photo img{min-height:250px}.resume-web-contact{padding:17px}.resume-web-contact>strong{font-size:.63rem}.resume-web-contact>a small{font-size:.52rem}.resume-web-contact .button{font-size:.54rem}.resume-metric-grid,.resume-summary-copy,.resume-competency-grid,.resume-skill-grid,.resume-service-grid,.resume-education-grid{grid-template-columns:1fr}.resume-metric{border-right:0;border-bottom:1px solid var(--line)}.resume-metric:last-child{border-bottom:0}.resume-summary-copy{gap:14px}.resume-competency-card{min-height:0}.resume-project-row{grid-template-columns:1fr}.resume-project-index{align-items:center;flex-direction:row;padding:14px 20px;border-right:0;border-bottom:1px solid var(--line)}.resume-project-index>b{writing-mode:horizontal-tb}.resume-project-main{padding:22px}.resume-project-evidence{grid-column:auto;padding:10px 22px}.resume-project-evidence>div{grid-template-columns:1fr;gap:6px}.resume-project-link{grid-column:auto;padding-inline:22px}.resume-job{grid-template-columns:40px minmax(0,1fr);gap:12px}.resume-job-period{grid-column:2}.resume-job-body{grid-column:2;padding:20px}.resume-job-body ul{grid-template-columns:1fr}.resume-timeline:before{left:19px}.resume-skill-group,.resume-skill-group:nth-child(2n),.resume-skill-group:nth-last-child(-n+2){min-height:0;border-right:0;border-bottom:1px solid var(--line)}.resume-skill-group:last-child{border-bottom:0}.resume-service-step{min-height:0}.resume-service-step>p{margin-top:20px}.resume-education-column{padding:22px}.resume-education-column article>div{align-items:flex-start;flex-direction:column}.resume-contact-panel{padding:32px 24px}.resume-contact-panel h2 br{display:none}.resume-contact-actions{grid-template-columns:1fr}.resume-notion-link{grid-column:auto}}.resume-web-contact .button{min-height:44px}@media(max-width:900px){.resume-summary-copy{grid-template-columns:1fr}}.resume-print-page{display:none}@page{size:A4;margin:12mm}@media print{.site-header,.site-footer,.theme-switcher,.menu-button,.center-action,.scroll-top-button,body:before{display:none!important}main{padding-top:0!important}*{box-shadow:none!important;text-shadow:none!important;background:#fff!important;color:#000!important;border-color:#ccc!important}body{background:#fff!important}a{color:#000!important;text-decoration:underline}.section,.page-section{padding:0!important;min-height:0!important}.resume-screen-only{display:none!important}.resume-print-page{display:block!important}.print-page{padding:0}.print-page-1{break-after:page;page-break-after:always}.print-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #000}.print-hero h1{margin:0 0 4px;font-size:1.5rem;letter-spacing:-.02em}.print-role{margin:0 0 4px;font-size:.92rem;font-weight:700}.print-contact{margin:0;font-size:.7rem}.print-hero img{width:64px;aspect-ratio:3/4;object-fit:cover;border:1px solid #ccc}.print-summary{margin:0 0 14px;padding-left:18px;font-size:.74rem;line-height:1.65}.print-section{margin-bottom:12px;break-inside:avoid;page-break-inside:avoid}.print-section h2{margin:0 0 8px;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #000;padding-bottom:4px}.print-list{margin:0;padding-left:18px;font-size:.74rem;line-height:1.75}.print-project{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #ccc;break-inside:avoid;page-break-inside:avoid}.print-project-head{display:flex;justify-content:space-between;gap:10px;font-size:.84rem;font-weight:700}.print-project p{margin:4px 0 0;font-size:.72rem;line-height:1.6}.print-project-tech{font-style:italic}.print-skills p{margin:0 0 6px;font-size:.72rem;line-height:1.6}.print-footer-links{margin-top:6px;font-size:.7rem}}.contact-hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr)}.contact-hero-copy h1{font-size:clamp(2.9rem,4.2vw,4rem);line-height:1;letter-spacing:-.06em}@media(max-width:1180px){.contact-hero-grid{grid-template-columns:minmax(0,1fr) minmax(350px,.82fr)}}@media(max-width:900px){.contact-hero-grid{grid-template-columns:1fr}}@media(max-width:640px){.contact-hero-copy h1{font-size:clamp(2.2rem,10.5vw,3.2rem)}}@media(max-width:640px){.home-hero h1{font-size:clamp(2.85rem,14.5vw,3.85rem)}}.unified-detail-page{overflow:clip}.unified-detail-page .detail-hero{padding:66px 0 82px}.detail-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:clamp(42px,6vw,82px)}.detail-hero-copy{min-width:0}.detail-status-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--muted-soft);font:600 .58rem DM Mono,monospace;letter-spacing:.07em}.detail-status-line span{padding:6px 9px;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line));border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.detail-hero-copy h1{margin:24px 0 18px;font-size:clamp(3rem,6.3vw,6rem);line-height:.94;letter-spacing:-.065em;overflow-wrap:anywhere}.detail-hero-copy>p{max-width:680px;margin:0;color:var(--muted-strong);font-size:1rem}.detail-hero-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:32px 0 0;border-block:1px solid var(--line)}.detail-hero-meta>div{min-width:0;padding:16px 16px 16px 0;border-bottom:1px solid var(--line)}.detail-hero-meta>div:nth-last-child(-n+2){border-bottom:0}.detail-hero-meta dt{color:var(--accent);font:600 .5rem DM Mono,monospace;letter-spacing:.08em}.detail-hero-meta dd{margin:7px 0 0;color:var(--muted-strong);font-size:.7rem;line-height:1.55;overflow-wrap:anywhere}.unified-detail-page .detail-actions{flex-wrap:wrap;margin-top:26px}.unified-detail-page .detail-actions .resource-link{min-width:0;min-height:46px}.detail-hero-visual{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface-2);box-shadow:0 24px 60px #0000002e}.detail-hero-visual>img,.detail-hero-visual>.img-fallback{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center top}.detail-hero-visual>span{display:block;padding:12px 15px;color:var(--muted-soft);font-size:.67rem;line-height:1.5}.detail-visual-fallback{display:flex;min-height:350px;flex-direction:column;justify-content:flex-end;padding:30px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 12%,var(--surface-2)),var(--bg))}.detail-visual-fallback span{color:var(--accent);font:.58rem DM Mono,monospace}.detail-visual-fallback strong{margin-top:10px;font-size:1.25rem}.unified-detail-page .detail-layout{grid-template-columns:190px minmax(0,1fr);gap:clamp(38px,5vw,68px)}.unified-detail-page .detail-content{width:100%;max-width:980px}.unified-detail-page .detail-section{scroll-margin-top:calc(var(--header-height) + 28px)}.detail-nav-track{display:grid;gap:3px}.unified-detail-page .detail-nav button{position:relative;padding:8px 9px;border-radius:6px}.unified-detail-page .detail-nav button.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.unified-detail-page .detail-nav button.active .detail-nav-label{color:var(--text)}.detail-overview-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:42px}.detail-overview-document{display:grid;gap:34px}.detail-overview-document span,.detail-overview-scope>span,.detail-stack-summary>span,.side-technical-note>span{color:var(--accent);font:600 .58rem DM Mono,monospace;letter-spacing:.08em}.detail-overview-document p{margin:12px 0 0;color:var(--muted-strong);font-size:.92rem}.detail-overview-scope{padding-left:32px;border-left:1px solid var(--line)}.detail-overview-scope>p{margin-top:14px}.detail-overview-scope ul{display:grid;gap:10px;margin:15px 0 0;padding:0;list-style:none}.detail-overview-scope li{position:relative;padding-left:14px;color:var(--muted-strong);font-size:.72rem;line-height:1.55}.detail-overview-scope li:before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--accent)}.detail-highlight{margin-top:23px;padding:18px 0 0;border-top:1px solid var(--line)}.detail-highlight small{display:block;color:var(--muted-soft);font-size:.56rem}.detail-highlight strong{display:block;margin-top:8px;font-size:.72rem;line-height:1.6}.detail-feature-grid>article{min-height:165px}.detail-feature-grid h3{margin-top:28px}.detail-feature-grid p{margin:9px 0 0;font-size:.7rem;line-height:1.55}.detail-stack-summary{padding:22px 0;border-block:1px solid var(--line)}.detail-stack-summary .large-chip-row{margin-top:15px}.detail-stack-summary details{margin-top:16px}.detail-stack-summary summary,.detail-more summary{cursor:pointer;color:var(--accent);font:600 .62rem DM Mono,monospace}.detail-stack-summary details .large-chip-row{padding-top:2px}.detail-architecture-block,.detail-area-block,.model-evidence-block,.detail-check-block,.detail-screens-block,.detail-resources-block{margin-top:44px}.detail-architecture-block>h3,.detail-area-block>h3,.model-evidence-block>h3,.detail-check-block>h3,.detail-screens-block>h3,.detail-resources-block>h3{margin:0 0 18px;font-size:1.1rem}.detail-architecture-block .architecture-diagram{margin-top:0}.detail-area-block{padding-top:38px;border-top:1px solid var(--line)}.dataset-condition{margin-top:32px;padding:20px 22px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--surface) 72%,transparent)}.dataset-condition span{color:var(--accent);font:600 .55rem DM Mono,monospace}.dataset-condition strong{display:block;margin-top:9px;font-size:.92rem}.dataset-condition p{margin:8px 0 0;font-size:.72rem}.experiment-table caption{padding:13px 16px;color:var(--muted-soft);background:var(--surface);font-size:.68rem;text-align:left;caption-side:top}.experiment-table tbody th{color:var(--text);font-weight:700;text-align:left}.experiment-table th:nth-child(n+2),.experiment-table td:nth-child(n+2):not(:last-child){text-align:right;font-variant-numeric:tabular-nums}.experiment-table td:not(:last-child){font-family:DM Mono,monospace;font-variant-numeric:tabular-nums}.experiment-table tbody tr.is-selected{background:color-mix(in srgb,var(--accent) 11%,var(--surface));box-shadow:inset 3px 0 0 var(--accent)}.experiment-table tbody tr.is-selected th,.experiment-table tbody tr.is-selected td{color:var(--text);font-weight:700}.model-selection-note{margin:15px 0 0;padding:16px 18px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:8px;color:var(--muted-strong);background:color-mix(in srgb,var(--accent) 5%,transparent);font-size:.74rem}.detail-evidence-image{margin:34px 0 0}.detail-evidence-image img,.detail-evidence-image .img-fallback{width:100%;max-height:560px;aspect-ratio:16/9;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.detail-evidence-image figcaption{margin-top:10px;color:var(--muted-soft);font-size:.7rem}.detail-more{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.detail-more .trouble-list{margin-top:18px}.unified-detail-page .trouble-card dt{text-transform:none}.unified-detail-page .screenshots img,.unified-detail-page .screenshots .img-fallback{height:260px;aspect-ratio:auto;object-fit:contain}.unified-detail-page .screenshots figcaption{min-height:3.2em}.unified-detail-page .screenshots figcaption span{display:block;margin-bottom:5px;color:var(--accent);font:600 .5rem DM Mono,monospace}.retrospective-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.retrospective-grid article{padding-top:17px;border-top:2px solid var(--accent)}.retrospective-grid span{color:var(--accent);font:600 .6rem DM Mono,monospace}.retrospective-grid p{margin:15px 0 0;color:var(--muted-strong);font-size:.82rem}.detail-pager{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:12px}.detail-pager-side,.detail-pager-all{min-height:88px;padding:17px 19px;border:1px solid var(--line);border-radius:9px;background:var(--surface);transition:border-color .25s,transform .25s}.detail-pager-side:hover,.detail-pager-all:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));transform:translateY(-2px)}.detail-pager-side{display:flex;min-width:0;flex-direction:column;justify-content:center}.detail-pager-side small{color:var(--muted-soft);font-size:.56rem}.detail-pager-side strong{overflow:hidden;margin-top:8px;color:var(--muted-strong);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.detail-pager-side.is-next{text-align:right}.detail-pager-all{display:grid;place-items:center;color:var(--accent);font:600 .62rem DM Mono,monospace}.detail-pager-side.is-empty{visibility:hidden}.side-technical-note{margin-top:28px;padding:20px 0 0;border-top:1px solid var(--line)}.side-technical-note p{margin:10px 0 0;color:var(--muted-strong)}@media(max-width:1024px){.detail-hero-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:38px}.detail-overview-grid{grid-template-columns:1fr 1fr;gap:30px}.unified-detail-page .detail-layout{grid-template-columns:165px minmax(0,1fr);gap:34px}}@media(max-width:900px){.detail-hero-grid{grid-template-columns:1fr}.detail-hero-visual{width:min(100%,680px)}.unified-detail-page .detail-layout{grid-template-columns:1fr;padding-top:0}.unified-detail-page .detail-nav{position:sticky;z-index:10;top:var(--header-height);display:block;width:100%;padding:11px 0;overflow:hidden;border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.unified-detail-page .detail-nav>span{display:none}.detail-nav-track{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.unified-detail-page .detail-nav button{flex:0 0 auto;width:auto;padding:8px 10px;white-space:nowrap}.unified-detail-page .detail-nav-label{font-size:.68rem}.detail-overview-grid{grid-template-columns:1fr}.detail-overview-scope{padding:28px 0 0;border-top:1px solid var(--line);border-left:0}}@media(max-width:640px){.unified-detail-page .detail-hero{padding:46px 0 60px}.unified-detail-page .back-link{margin-bottom:38px}.detail-hero-copy h1{font-size:clamp(2.45rem,12vw,3.55rem)}.detail-hero-copy>p{font-size:.88rem}.detail-hero-meta{grid-template-columns:1fr}.detail-hero-meta>div,.detail-hero-meta>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.detail-hero-meta>div:last-child{border-bottom:0}.detail-hero-visual>img,.detail-hero-visual>.img-fallback{aspect-ratio:16/11}.unified-detail-page .detail-actions{display:grid}.unified-detail-page .detail-actions .resource-link{width:100%;min-height:46px}.unified-detail-page .detail-section{margin-bottom:64px;padding-bottom:64px}.detail-feature-grid>article{min-height:0}.retrospective-grid{grid-template-columns:1fr;gap:22px}.detail-pager{grid-template-columns:1fr}.detail-pager-all{grid-row:1;min-height:54px}.detail-pager-side,.detail-pager-all{min-height:70px}.detail-pager-side.is-empty{display:none}.detail-pager-side.is-next{text-align:left}.unified-detail-page .screenshots img,.unified-detail-page .screenshots .img-fallback{height:auto;aspect-ratio:16/10}}@media(prefers-reduced-motion:reduce){.unified-detail-page *{scroll-behavior:auto!important}.detail-pager-side,.detail-pager-all{transition:none}}
