:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;--shell: min(1700px, calc(100vw - 72px) )}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#f5f6f8}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}.app{min-height:100vh;position:relative;overflow-x:hidden;color:var(--text);background:radial-gradient(circle at 14% 8%,var(--glow-a),transparent 32rem),radial-gradient(circle at 88% 4%,var(--glow-b),transparent 34rem),linear-gradient(180deg,var(--bg),var(--bg-soft) 42%,var(--bg));--bg: #f7f8fa;--bg-soft: #eef1f5;--panel: rgba(255, 255, 255, .72);--panel-strong: rgba(255, 255, 255, .9);--line: rgba(17, 24, 39, .11);--line-strong: rgba(17, 24, 39, .18);--text: #10151d;--muted: #607082;--muted-strong: #354254;--accent: #10151d;--accent-soft: rgba(16, 21, 29, .08);--accent-line: rgba(16, 21, 29, .22);--warm: #8b6f2e;--dot: rgba(16, 24, 40, .105);--dot-strong: rgba(16, 21, 29, .14);--shadow: 0 28px 90px rgba(33, 43, 63, .12);--hero-filter: saturate(.42) contrast(.92) brightness(1.6);--hero-overlay: linear-gradient(180deg, rgba(247, 248, 250, .86), rgba(247, 248, 250, .48) 46%, #f7f8fa 100%), linear-gradient(90deg, rgba(247, 248, 250, .92), rgba(247, 248, 250, .5) 52%, rgba(247, 248, 250, .92));--glow-a: rgba(16, 21, 29, .1);--glow-b: rgba(74, 95, 130, .12)}.app[data-theme=dark]{color-scheme:dark;--bg: #05070b;--bg-soft: #080d14;--panel: rgba(12, 18, 27, .72);--panel-strong: rgba(13, 22, 34, .92);--line: rgba(165, 199, 255, .16);--line-strong: rgba(165, 199, 255, .26);--text: #eef4ff;--muted: #93a4b8;--muted-strong: #c2cede;--accent: #6ee7d8;--accent-soft: rgba(110, 231, 216, .1);--accent-line: rgba(110, 231, 216, .24);--warm: #e6c47d;--dot: rgba(219, 234, 254, .11);--dot-strong: rgba(110, 231, 216, .18);--shadow: 0 30px 120px rgba(0, 0, 0, .42);--hero-filter: saturate(.88) contrast(1.06) brightness(.64);--hero-overlay: linear-gradient(180deg, rgba(5, 7, 11, .72), rgba(5, 7, 11, .26) 45%, #05070b 100%), linear-gradient(90deg, rgba(5, 7, 11, .84), rgba(5, 7, 11, .34) 52%, rgba(5, 7, 11, .86));--glow-a: rgba(110, 231, 216, .1);--glow-b: rgba(157, 184, 255, .1)}.app>*{position:relative;z-index:1}.floating-nav-wrap{position:fixed;top:22px;left:50%;z-index:20;width:min(calc(100vw - 32px),520px);pointer-events:none;opacity:0;transform:translate(-50%,-18px) scale(.98);transition:opacity .22s ease,transform .22s ease}.floating-nav-wrap.is-visible{pointer-events:auto;opacity:1;transform:translate(-50%) scale(1)}.floating-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center;gap:4px;min-height:54px;padding:6px;border:1px solid rgba(83,98,118,.16);border-radius:999px;color:#303d4ec7;background:#ebeff4bd;box-shadow:0 22px 70px #1f2a3a29;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.floating-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:999px;font-size:15px;font-weight:760;white-space:nowrap;transition:color .18s ease,background .18s ease}.floating-nav a:hover{color:#10151d;background:#ffffff85}.floating-nav .floating-contact{padding:0 20px;color:#10151d;background:#fff;box-shadow:0 10px 28px #1f2a3a1f}.floating-nav .floating-contact:hover{color:#10151d;background:#ffffffeb}.app[data-theme=dark] .floating-nav{border-color:#dae5f424;color:#e0e9f6c7;background:#202732ad;box-shadow:0 22px 70px #00000047}.app[data-theme=dark] .floating-nav a:hover{color:#fff;background:#ffffff1a}.app[data-theme=dark] .floating-nav .floating-contact{color:#081016;background:#ffffffeb}.reactive-dots{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.82;mix-blend-mode:multiply}.app[data-theme=dark] .reactive-dots{opacity:.62;mix-blend-mode:screen}.shell{width:var(--shell);margin:0 auto}.section-full{min-height:100vh;position:relative;overflow:hidden}.section-band{padding:132px 0;position:relative}.hero{display:flex;flex-direction:column}.hero-video,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}.hero-video{object-fit:cover;filter:var(--hero-filter)}.hero-overlay{background:var(--hero-overlay)}.site-nav{z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:30px 0}.brand,.nav-contact,.site-nav nav,.theme-toggle{border:1px solid rgba(138,155,179,.18);background:#f2f6fa94;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 18px 52px #1f2a3a14}.app[data-theme=dark] .brand,.app[data-theme=dark] .nav-contact,.app[data-theme=dark] .site-nav nav,.app[data-theme=dark] .theme-toggle{border-color:#dae5f421;background:#0d15208f;box-shadow:0 20px 64px #00000038}.brand{display:inline-flex;align-items:center;gap:12px;width:max-content;padding:10px 14px 10px 10px;border-radius:999px;font-size:15px;font-weight:760}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--accent-soft),rgba(120,133,154,.12)),#ffffff5c;color:var(--accent);font-size:12px}.site-nav nav{justify-self:center;display:flex;align-items:center;gap:2px;padding:6px;border-radius:999px}.site-nav nav a{min-width:66px;padding:10px 16px;border-radius:999px;color:color-mix(in srgb,var(--muted-strong) 76%,transparent);font-size:14.5px;font-weight:760;text-align:center;transition:color .18s ease,background .18s ease,box-shadow .18s ease}.site-nav nav a:hover{color:var(--text);background:#ffffff85;box-shadow:inset 0 0 0 1px #8a9bb31f}.app[data-theme=dark] .site-nav nav a:hover{color:#fff;background:#ffffff14;box-shadow:inset 0 0 0 1px #dae5f414}.nav-actions{display:flex;align-items:center;gap:10px;justify-self:end}.nav-contact,.primary-action,.secondary-action,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:999px;font-weight:740;white-space:nowrap}.primary-action,.secondary-action,.nav-contact{border:1px solid var(--accent-line);background:color-mix(in srgb,var(--panel-strong) 62%,transparent);color:var(--accent);box-shadow:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.primary-action:hover,.secondary-action:hover,.nav-contact:hover{transform:translateY(-1px);border-color:var(--accent);background:var(--accent);color:var(--bg);box-shadow:0 18px 54px color-mix(in srgb,var(--accent) 18%,transparent)}.app[data-theme=dark] .nav-contact:hover{color:#fff}.theme-toggle{padding:0 16px;color:var(--muted-strong);cursor:pointer}.nav-contact{padding:0 18px;color:var(--accent)}.nav-contact,.theme-toggle{transition:transform .18s ease,border-color .18s ease,background .18s ease}.theme-toggle:hover{transform:translateY(-1px);border-color:var(--accent-line);background:color-mix(in srgb,var(--panel-strong) 78%,transparent)}.hero-content{z-index:1;flex:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.58fr);align-items:end;gap:64px;padding:9vh 0 10vh}.hero-copy{max-width:1120px}.eyebrow,.section-kicker{margin:0 0 18px;color:var(--accent);font-size:13px;font-weight:820;text-transform:uppercase;letter-spacing:.16em}h1,h2,h3,p{margin-top:0}h1{max-width:980px;margin-bottom:28px;font-size:clamp(64px,6vw,112px);line-height:.98;font-weight:790;letter-spacing:0}.hero-lead{max-width:860px;color:var(--muted-strong);font-size:clamp(18px,1.3vw,23px);line-height:1.75}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}.primary-action{padding:0 24px}.secondary-action{padding:0 22px}.hero-panel{align-self:end;border:1px solid var(--line);border-radius:8px;padding:26px;background:color-mix(in srgb,var(--panel-strong) 78%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow)}.panel-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;color:var(--muted);font-size:13px}.signal-grid,.strength-grid{display:grid;gap:14px}.signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-grid div,.strength-card,.project-card{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.signal-grid div{padding:22px}.signal-grid strong{display:block;margin-bottom:8px;color:var(--text);font-size:34px}.signal-grid span{color:var(--muted);font-size:14px}.profile{background:linear-gradient(180deg,var(--bg),var(--bg-soft) 52%,var(--bg))}.profile-grid{display:grid;grid-template-columns:430px minmax(0,1fr);align-items:center;gap:72px}.portrait-wrap{position:relative;aspect-ratio:4 / 5;overflow:hidden;border:1px solid var(--accent-line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.portrait-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,color-mix(in srgb,var(--bg) 54%,transparent)),linear-gradient(90deg,var(--accent-soft),transparent 38%);pointer-events:none}.portrait-wrap img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:saturate(.86) contrast(1.02)}.profile-copy h2,.section-heading h2,.contact h2{margin-bottom:24px;font-size:clamp(42px,4vw,72px);line-height:1.05;letter-spacing:0}.profile-lines{max-width:860px}.profile-lines p,.section-heading p,.strength-card p,.project-body p,.contact p{color:var(--muted-strong);font-size:17px;line-height:1.85}.contact-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.contact-grid a,.contact-grid span,.resume-entry{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 16px;border:1px solid var(--accent-line);border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--panel-strong) 62%,transparent)}.resume-entry{font:inherit;cursor:pointer}.contact-grid a,.resume-entry{transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.contact-grid a:hover,.resume-entry:hover{transform:translateY(-1px);border-color:var(--accent);background:var(--accent);color:var(--bg)}.projects{background:linear-gradient(180deg,var(--bg),var(--bg-soft))}.section-heading{max-width:940px;margin-bottom:52px}.section-heading.compact{margin-bottom:36px}.project-heading-row{display:flex;align-items:end;justify-content:space-between;gap:32px}.project-heading-row .section-heading{margin-bottom:52px}.project-pager{display:inline-flex;align-items:center;gap:10px;margin-bottom:58px;padding:6px;border:1px solid var(--accent-line);border-radius:999px;background:color-mix(in srgb,var(--panel-strong) 66%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.project-pager button{display:grid;width:42px;height:42px;place-items:center;border:1px solid transparent;border-radius:50%;color:var(--accent);background:transparent;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.project-pager button:hover{transform:translateY(-1px);background:var(--accent);color:var(--bg)}.project-pager span{min-width:42px;color:var(--muted-strong);font-size:13px;font-weight:760;text-align:center}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;animation:projectRowIn .36s ease both}@keyframes projectRowIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.project-card{position:relative;overflow:hidden;min-height:560px;background:color-mix(in srgb,var(--panel-strong) 86%,transparent);box-shadow:0 18px 58px #212b3f14;transition:transform .22s ease,border-color .22s ease,background .22s ease}.project-card:hover{transform:translateY(-6px);border-color:var(--accent-line);background:var(--panel-strong)}.project-card.is-clickable{cursor:pointer}.project-card.is-clickable:focus-visible{outline:3px solid var(--accent-line);outline-offset:4px}.project-card img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block;filter:saturate(.82) contrast(.98)}.project-body{padding:28px}.project-type{display:flex;align-items:center;gap:9px;margin-bottom:18px;color:var(--accent);font-size:13px;font-weight:820;text-transform:uppercase;letter-spacing:.08em}.project-body h3,.strength-card h3{margin-bottom:14px;font-size:26px;line-height:1.2}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.tag-row span{padding:8px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted-strong);font-size:12px;background:#7f8b9e14}.project-more{display:inline-flex;align-items:center;gap:8px;margin-top:24px;color:var(--accent);font-size:14px;font-weight:800}.project-modal{position:fixed;inset:0;z-index:50;overflow-y:auto;padding:36px;background:#070a0fad;scrollbar-gutter:stable both-edges}.modal-backdrop{position:fixed;inset:0;border:0;background:#070a0fad;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer}.project-dialog{position:relative;z-index:1;width:min(1180px,100%);margin:0 auto;overflow:hidden;border:1px solid var(--line-strong);border-radius:12px;background:color-mix(in srgb,var(--panel-strong) 94%,transparent);box-shadow:0 34px 120px #00000052}.modal-close{position:absolute;top:24px;right:24px;z-index:2;display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted-strong);background:color-mix(in srgb,var(--panel-strong) 82%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;transition:color .18s ease,border-color .18s ease,transform .18s ease}.modal-close:hover{transform:translateY(-1px);border-color:var(--accent-line);color:var(--accent)}.project-gallery{position:relative}.project-dialog-cover{display:block;width:100%;aspect-ratio:16 / 7;object-fit:cover;filter:saturate(.88) contrast(1.02);animation:coverFade .42s ease}@keyframes coverFade{0%{opacity:.82}to{opacity:1}}.gallery-open{position:absolute;right:24px;bottom:24px;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#ffffffe0;font-size:14px;font-weight:760;background:#06080c8f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;transition:transform .18s ease,background .18s ease}.gallery-open:hover{transform:translateY(-1px);background:#06080cad}.gallery-viewer{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:42px;background:#030508c7}.gallery-viewer-backdrop{position:absolute;inset:0;border:0;background:#030508bd;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);cursor:pointer}.gallery-viewer-panel{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:18px;width:min(1420px,100%);min-height:min(780px,calc(100vh - 84px));align-items:center}.gallery-main{position:relative;display:grid;min-width:0;place-items:center}.gallery-main>img{max-width:100%;max-height:calc(100vh - 230px);border-radius:10px;object-fit:contain;box-shadow:0 32px 120px #0000006b}.gallery-caption{width:min(860px,100%);margin-top:14px;padding:16px 18px;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:#ffffffc7;background:#080a0e7a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.gallery-caption strong{display:block;margin-bottom:6px;color:#fffffff0;font-size:15px;line-height:1.45}.gallery-caption p{margin:0;font-size:13px;line-height:1.7}.gallery-viewer-close{position:absolute;top:0;right:0;z-index:2;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#ffffffdb;background:#ffffff1a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer}.gallery-controls{position:absolute;right:50%;bottom:-70px;display:flex;align-items:center;gap:12px;padding:8px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#06080c8f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translate(50%)}.gallery-controls span{min-width:44px;color:#ffffffd1;font-size:13px;font-weight:760;text-align:center}.gallery-controls>button{border:0;cursor:pointer}.gallery-controls>button{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:#ffffffd1;background:#ffffff1a}.gallery-thumbs{display:grid;max-height:calc(100vh - 150px);gap:12px;overflow-y:auto;padding:4px 4px 4px 0;scrollbar-width:thin}.gallery-thumbs button{position:relative;width:100%;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff14;cursor:pointer;opacity:.58;transition:opacity .18s ease,border-color .18s ease,transform .18s ease}.gallery-thumbs button:hover,.gallery-thumbs button.is-active{transform:translate(-2px);border-color:#ffffffe0;opacity:1}.gallery-thumbs img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.resume-modal{position:fixed;inset:0;z-index:80;overflow-y:auto;padding:36px;background:#070a0fb8}.resume-backdrop{position:fixed;inset:0;border:0;background:#070a0fb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer}.resume-panel{position:relative;z-index:1;width:min(1080px,100%);margin:0 auto}.resume-panel img{display:block;width:100%;border-radius:10px;box-shadow:0 34px 120px #00000061}.resume-close{position:fixed;top:28px;right:32px;z-index:2;display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted-strong);background:color-mix(in srgb,var(--panel-strong) 86%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer}.project-dialog-body{padding:48px}.project-dialog-body h2{max-width:880px;margin-bottom:22px;font-size:clamp(42px,5vw,78px);line-height:1.02}.project-dialog-intro{max-width:920px;color:var(--muted-strong);font-size:19px;line-height:1.85}.detail-metric-row{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 42px}.detail-metric-row span{padding:11px 14px;border:1px solid var(--accent-line);border-radius:999px;color:var(--accent);font-size:13px;font-weight:780;background:var(--accent-soft)}.detail-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-section{min-height:220px;padding:26px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 82%,transparent)}.detail-section h3{margin-bottom:14px;font-size:23px}.detail-section p{color:var(--muted-strong);font-size:16px;line-height:1.85}.strengths{background:linear-gradient(180deg,var(--bg-soft),var(--bg))}.strength-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.strength-card{min-height:300px;padding:28px}.strength-icon{display:grid;width:54px;height:54px;place-items:center;margin-bottom:30px;border:1px solid var(--accent-line);border-radius:8px;color:var(--accent);background:var(--accent-soft)}.award-strip{display:flex;flex-wrap:nowrap;gap:10px;margin-top:34px;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 0 10px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.award-strip::-webkit-scrollbar{display:none}.award-strip span{flex:0 0 auto;scroll-snap-align:start;padding:12px 14px;border:1px solid color-mix(in srgb,var(--warm) 30%,transparent);border-radius:999px;color:var(--warm);background:color-mix(in srgb,var(--warm) 8%,transparent);white-space:nowrap}.award-strip:hover span,.award-strip:focus span{animation:awardFloat .32s ease both}@keyframes awardFloat{0%{opacity:.76;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.contact{display:grid;place-items:center;background:linear-gradient(180deg,transparent,var(--bg) 28%),radial-gradient(circle at 50% 16%,var(--glow-a),transparent 32rem),radial-gradient(circle at 78% 78%,var(--glow-b),transparent 28rem)}.contact-inner{position:relative;z-index:1;max-width:1100px;text-align:center}.contact p{max-width:760px;margin-right:auto;margin-left:auto}.contact-actions{justify-content:center;align-items:center}.muted-link{display:inline-flex;margin-top:28px;color:var(--muted);font-size:14px;transition:color .18s ease}.muted-link:hover{color:var(--accent)}.site-note{max-width:760px;margin:44px auto 0;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);text-align:center}.site-note span{display:inline-flex;margin-bottom:10px;font-size:13px;font-weight:760}.site-note p{margin-bottom:0;color:var(--muted);font-size:14px;line-height:1.9}@media(max-width:1180px){:root{--shell: min(100% - 36px, 1080px)}.site-nav{grid-template-columns:1fr auto}.site-nav nav{display:none}.floating-nav-wrap{width:min(calc(100vw - 28px),460px)}.floating-nav a{padding:0 10px;font-size:14px}.hero-content,.profile-grid{grid-template-columns:1fr}.hero-panel{max-width:640px}.portrait-wrap{width:min(420px,100%)}.project-grid,.strength-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-heading-row{align-items:flex-start;flex-direction:column;gap:0}.project-pager{margin:-24px 0 36px}}@media(max-width:720px){:root{--shell: min(100% - 28px, 680px)}.section-band{padding:84px 0}.brand{padding-right:12px}.nav-actions{gap:8px}.theme-toggle{width:48px;padding:0}.theme-toggle span,.nav-contact{display:none}.floating-nav-wrap{top:14px}.floating-nav{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.floating-nav a[href="#strengths"]{display:none}.hero-content{padding-top:4vh}h1{font-size:48px}.signal-grid,.project-grid,.strength-grid{grid-template-columns:1fr}.project-card{min-height:auto}.project-modal{padding:18px}.project-dialog-cover{aspect-ratio:16 / 10}.modal-close{top:14px;right:14px}.gallery-open{right:14px;bottom:14px}.gallery-viewer{padding:18px}.gallery-viewer-panel{grid-template-columns:1fr;min-height:calc(100vh - 36px)}.resume-modal{padding:18px}.resume-close{top:14px;right:14px}.gallery-thumbs{grid-auto-flow:column;grid-auto-columns:88px;max-height:none;overflow-x:auto;overflow-y:hidden;padding:0 0 6px}.gallery-thumbs button:hover,.gallery-thumbs button.is-active{transform:translateY(-2px)}.project-dialog-body{padding:30px 22px}.detail-section-grid{grid-template-columns:1fr}.hero-video{display:none}}
