*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}:root{color:#20282b;font-synthesis:none;--text:#20282b;--muted:#5d686b;--accent:#21655b;--border:#dce2df;--surface:#fff;--soft:#f2f5f3;--content:1120px;background:#fbfcfb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{-webkit-font-smoothing:antialiased;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{background:0 0;border:0}img{max-width:100%;display:block}button,a,input{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:#d7eae2}section[id]{scroll-margin-top:100px}.section,.hero{width:min(var(--content), calc(100% - 80px));margin-inline:auto}.section{border-top:1px solid var(--border);padding-block:80px}.section-label,.hero-tag{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;margin-bottom:14px;font-size:11px;font-weight:650}.section-heading{letter-spacing:-.035em;text-wrap:balance;margin-bottom:20px;font-size:clamp(27px,3.2vw,38px);font-weight:600;line-height:1.2}.section-intro,.lab-intro,.gallery-intro,.contact-sub{max-width:720px;color:var(--muted);margin-bottom:36px;font-size:15px;line-height:1.8}.text-link{color:var(--accent);text-underline-offset:4px;align-items:center;gap:8px;font-size:13px;font-weight:550;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.text-link:hover{text-decoration-color:currentColor}.skip-link{border:1px solid var(--accent);z-index:500;background:#fff;padding:10px 18px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.navbar{z-index:100;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbfcfbf5;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;gap:28px;width:min(1200px,100% - 80px);min-height:76px;margin:auto;display:flex}.navbar-name{letter-spacing:-.03em;flex-shrink:0;font-size:14px;font-weight:650;line-height:1.6}.navbar-name span{color:var(--muted);letter-spacing:.01em;font-size:10px;font-weight:450;display:block}.navbar-links{align-items:center;gap:22px;display:flex}.navbar-links a{color:var(--muted);border-bottom:2px solid #0000;padding-block:26px;font-size:12px;transition:color .2s,border-color .2s}.navbar-links a:hover,.navbar-links a.active{color:var(--accent);border-bottom-color:var(--accent)}.nav-toggle{border:1px solid var(--border);border-radius:6px;padding:8px 15px;font-size:13px;display:none}.hero{grid-template-columns:minmax(0,1fr) 280px;align-items:center;column-gap:72px;padding-block:84px 52px;display:grid}.hero-name{letter-spacing:-.055em;margin-bottom:22px;font-size:clamp(40px,4.9vw,64px);font-weight:600;line-height:1.1}.hero-sub{letter-spacing:-.025em;max-width:570px;margin-bottom:14px;font-size:23px;line-height:1.45}.hero-description{color:var(--muted);max-width:590px;font-size:15px;line-height:1.85}.hero-pills{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.pill,.cv-download-btn{border:1px solid var(--border);background:var(--surface);border-radius:6px;justify-content:center;align-items:center;gap:18px;min-height:44px;padding:10px 18px;font-size:13px;font-weight:500;transition:background .2s,border-color .2s;display:inline-flex}.pill:hover,.cv-download-btn:hover{background:var(--soft);border-color:#aabbb3}.pill-primary{background:var(--text);color:#fff;border-color:var(--text)}.pill-primary:hover{background:var(--accent);border-color:var(--accent)}.hero-socials{color:var(--muted);flex-wrap:wrap;gap:24px;margin-top:23px;font-size:12px;display:flex}.hero-socials a:hover{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.hero-aside{border-left:1px solid var(--border);padding-left:30px}.hero-status{color:var(--accent);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.status-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.hero-facts{gap:21px;margin-block:27px;display:grid}.hero-facts dt{color:var(--muted);margin-bottom:4px;font-size:11px}.hero-facts dd{font-size:13px;font-weight:500;line-height:1.6}.hero-aside .text-link{font-size:12px;line-height:1.6}.hero-metrics{border-top:1px solid var(--border);grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:54px;padding-top:28px;display:grid}.metric-card{align-items:center;gap:17px;display:flex}.metric-number{letter-spacing:-.045em;font-size:29px;font-weight:550}.metric-label{max-width:170px;color:var(--muted);font-size:12px;line-height:1.5}.cv-wrapper{margin-top:30px}.cv-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.cv-preview-hint{color:var(--muted);font-size:13px}.cv-downloads{flex-wrap:wrap;gap:10px;display:flex}.cv-drive-preview{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:100%;height:min(780px,82vh);min-height:500px;display:block}.company-header{justify-content:space-between;align-items:baseline;gap:20px;margin-top:32px;padding:24px 0;display:flex}.company-name{letter-spacing:-.02em;font-size:18px;font-weight:550;display:inline-block}.company-name:hover{color:var(--accent)}.company-meta{color:var(--muted);margin-top:5px;font-size:13px;display:block}.company-period{color:var(--accent);white-space:nowrap;font-size:12px}.experience-summary{color:var(--muted);margin-bottom:34px;padding-left:19px;font-size:14px}.experience-summary li+li{margin-top:6px}.exp-proj-card{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:48px;padding-block:32px;display:grid}.exp-proj-card:last-child{padding-bottom:0}.project-number{color:var(--accent);margin-bottom:12px;font-size:11px;display:block}.proj-card-name{letter-spacing:-.025em;font-size:20px;font-weight:550;line-height:1.4}.proj-card-sub{color:var(--muted);letter-spacing:0;margin-top:4px;font-size:13px;font-weight:400;display:block}.proj-card-tech{color:var(--accent);max-width:330px;margin-top:14px;font-size:12px;line-height:1.8}.proj-card-list{color:var(--muted);padding-left:17px;font-size:14px;line-height:1.8}.proj-card-list li+li{margin-top:9px}.proj-card-list li::marker{color:#8fa59b}.agent-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;display:grid}.agent-capability{border-top:1px solid var(--border);padding-top:24px}.agent-index{color:var(--accent);margin-bottom:16px;font-size:11px;display:block}.agent-capability h3{letter-spacing:-.02em;margin-bottom:10px;font-size:16px;font-weight:550}.agent-capability p{color:var(--muted);font-size:14px;line-height:1.8}.agent-workflow{background:var(--soft);border-radius:8px;margin-top:38px;padding:28px 30px}.agent-workflow h3{margin-bottom:22px;font-size:14px;font-weight:550}.agent-workflow ol{counter-reset:workflow;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;list-style:none;display:grid}.agent-workflow li{counter-increment:workflow}.agent-workflow li:before{content:counter(workflow, decimal-leading-zero);color:var(--accent);margin-bottom:10px;font-size:10px;display:block}.agent-workflow strong{margin-bottom:5px;font-size:12px;font-weight:550;display:block}.agent-workflow span{color:var(--muted);font-size:12px;line-height:1.6;display:block}.project-filters{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.filter-btn{border:1px solid var(--border);min-height:40px;color:var(--muted);border-radius:5px;padding:8px 14px;font-size:12px}.filter-btn:hover{background:var(--soft)}.filter-btn.active{background:var(--text);color:#fff;border-color:var(--text)}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.project-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:12px;height:100%;padding:25px;transition:border-color .2s;display:flex}.project-card:hover{border-color:#9bafa4}.project-card-top{justify-content:space-between;align-items:center;display:flex}.project-icon{color:var(--accent);display:flex}.project-arrow{width:36px;height:36px;color:var(--muted);border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.project-arrow:hover{background:var(--soft);color:var(--accent)}.project-name{letter-spacing:-.02em;font-size:17px;font-weight:550}.project-name a:hover{text-underline-offset:4px;text-decoration:underline}.project-desc{color:var(--muted);flex:1;font-size:13px;line-height:1.8}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag{color:#52615a;background:var(--soft);border-radius:4px;padding:4px 8px;font-size:10px;line-height:1.5}.skills-blocks{grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 28px;display:grid}.skill-block{border-top:1px solid var(--border);padding-top:21px}.skill-block h3{margin-bottom:14px;font-size:14px;font-weight:550}.skill-list{gap:8px;list-style:none;display:grid}.skill-line{color:var(--muted);font-size:13px;line-height:1.7}.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.lab-card{border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-start;gap:15px;padding:28px;display:flex}.lab-card-header{justify-content:space-between;align-items:center;width:100%;display:flex}.lab-icon-wrap{color:var(--accent);display:flex}.lab-badge{color:var(--accent);background:var(--soft);border-radius:4px;padding:3px 8px;font-size:10px;font-weight:500}.lab-title{letter-spacing:-.02em;font-size:17px;font-weight:550;line-height:1.5}.lab-desc{color:var(--muted);flex:1;font-size:14px;line-height:1.8}.gallery-cases{gap:32px;display:grid}.gallery-case{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);align-items:center;gap:36px;padding:28px;display:grid}.gallery-visual{min-width:0}.gallery-image-button{border:1px solid var(--border);background:var(--soft);cursor:zoom-in;border-radius:6px;width:100%;display:block;overflow:hidden}.gallery-image-button img{object-fit:contain;width:100%;height:auto;transition:opacity .2s}.gallery-image-button:hover img{opacity:.92}.gallery-shot figcaption{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding-top:10px;font-size:11px;display:flex}.gallery-shot figcaption .text-link{min-height:28px;font-size:11px}.gallery-project-type{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:13px;font-size:10px;font-weight:500}.gallery-project-type span{color:var(--accent);margin-right:6px}.gallery-case-info h3{letter-spacing:-.03em;margin-bottom:14px;font-size:26px;font-weight:550;line-height:1.2}.gallery-description{color:var(--muted);margin-bottom:18px;font-size:13px;line-height:1.8}.gallery-case-info>.text-link{margin-top:23px;font-size:12px}.gallery-shot-switcher{gap:6px;margin-bottom:12px;display:flex}.gallery-shot-switcher button{border:1px solid var(--border);min-height:34px;color:var(--muted);border-radius:5px;padding:6px 12px;font-size:11px}.gallery-shot-switcher button[aria-pressed=true]{border-color:var(--text);background:var(--text);color:#fff}.gallery-phone-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:440px;margin-inline:auto;padding:16px 0;display:grid}.gallery-phone-pair .gallery-image-button{background:#111;border-radius:14px}.gallery-phone-pair figcaption{flex-direction:column;align-items:flex-start;gap:0}body:has(.gallery-dialog[open]){overflow:hidden}.gallery-dialog{color:#edf2ef;background:#171c1b;border:1px solid #414847;border-radius:12px;width:min(1380px,100% - 48px);max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;overflow:auto}.gallery-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f1613d4}.gallery-viewer{flex-direction:column;max-height:calc(100dvh - 50px);display:flex}.gallery-toolbar{border-bottom:1px solid #343c38;flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;padding:16px 22px;display:flex}.gallery-toolbar p{font-size:14px;font-weight:550}.gallery-toolbar p span{color:#b5c2bb;margin-top:2px;font-size:11px;font-weight:400;display:block}.gallery-toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.gallery-toolbar-actions button,.gallery-toolbar-actions a,.gallery-viewer-footer button{color:#edf2ef;border:1px solid #45514a;border-radius:5px;justify-content:center;align-items:center;gap:10px;min-height:40px;padding:8px 12px;font-size:12px;display:inline-flex}.gallery-toolbar-actions button:hover,.gallery-toolbar-actions a:hover,.gallery-viewer-footer button:hover,.gallery-toolbar-actions button[aria-pressed=true]{background:#354139}.gallery-stage{overscroll-behavior:contain;min-height:0;padding:22px;overflow:auto}.gallery-stage img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 230px);margin:auto}.gallery-stage.is-zoomed img{max-width:none;max-height:none;margin:0}.gallery-viewer-footer{border-top:1px solid #343c38;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 22px;display:flex}.gallery-viewer-footer span{color:#b5c2bb;font-size:12px}.gallery-dialog :focus-visible{outline-color:#aed6c4}.contact-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.contact-item{border:1px solid var(--border);background:var(--surface);border-radius:7px;align-items:center;gap:20px;padding:22px;display:flex}.contact-link{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.contact-icon{color:var(--accent);flex-shrink:0;display:flex}.contact-text{min-width:0}.contact-label{color:var(--muted);margin-bottom:3px;font-size:11px}.contact-val{overflow-wrap:anywhere;font-size:14px;font-weight:450}.contact-link:hover .contact-val{text-underline-offset:4px;text-decoration:underline}.copy-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--muted);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.copy-btn:hover,.copy-btn.copied{background:var(--soft);color:var(--accent)}.about-section{grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:64px;display:grid}.about-heading .section-heading{max-width:330px}.about-location{color:var(--muted);font-size:12px}.about-copy{color:var(--muted);gap:19px;font-size:14px;line-height:1.9;display:grid}.about-copy .about-lead{color:var(--text);letter-spacing:-.015em;font-size:19px;line-height:1.65}.about-copy .text-link{justify-self:start;margin-top:6px}footer{width:min(var(--content), calc(100% - 80px));border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:20px;margin-inline:auto;padding-block:24px 36px;font-size:10px;display:flex}footer a:hover{color:var(--accent);text-decoration:underline}.scroll-to-top{border:1px solid var(--border);background:var(--surface);width:42px;height:42px;color:var(--accent);z-index:90;visibility:hidden;opacity:0;border-radius:7px;place-items:center;transition:opacity .2s;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 3px 10px #17271c09}.scroll-to-top.visible{visibility:visible;opacity:1}.scroll-to-top:hover{background:var(--soft)}@media (width<=1080px){.navbar-inner{width:calc(100% - 48px)}.nav-toggle{display:block}.navbar-links{display:none}.navbar-links.is-open{background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:0 20px;padding:16px 24px;display:grid;position:absolute;inset:76px 0 auto;box-shadow:0 12px 18px #15251a08}.navbar-links a{padding:13px 4px}.hero{grid-template-columns:minmax(0,1fr) 240px;gap:36px}.hero-name{font-size:49px}.hero-aside{padding-left:24px}.projects-grid,.skills-blocks{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-case{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:26px;padding:22px}}@media (width<=760px){.section,.hero,footer{width:calc(100% - 40px)}.section{padding-block:54px}.hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:48px 38px}.hero-name{max-width:570px;font-size:clamp(39px,8vw,55px)}.hero-sub{font-size:21px}.hero-description{font-size:14px}.hero-aside{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.hero-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-block:20px}.hero-facts dd{font-size:12px}.hero-metrics{gap:16px;margin-top:0;padding-top:24px}.metric-card{display:block}.metric-number{margin-bottom:3px;font-size:27px;display:block}.metric-label{font-size:11px;display:block}.cv-meta{gap:14px;display:grid}.cv-download-btn{min-height:42px;padding:8px 13px;font-size:12px}.cv-drive-preview{height:70vh;min-height:460px}.company-header{flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px;padding-top:0}.company-name{font-size:17px}.exp-proj-card{grid-template-columns:minmax(0,1fr);gap:20px}.proj-card-tech{max-width:none;margin-top:10px}.agent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.agent-workflow{padding:23px}.agent-workflow ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.lab-grid{grid-template-columns:minmax(0,1fr)}.gallery-case{grid-template-columns:minmax(0,1fr);gap:22px;padding:18px}.gallery-case-info h3{font-size:24px}.gallery-case-info>.text-link{margin-top:18px}.gallery-phone-pair{gap:16px;max-width:400px;padding:0}.gallery-description{font-size:14px}.contact-links{grid-template-columns:minmax(0,1fr)}.about-section{grid-template-columns:minmax(0,1fr);gap:28px}.about-heading .section-heading{max-width:440px}.about-copy{font-size:14px}footer{flex-direction:column;gap:8px}.gallery-dialog{border-radius:8px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.gallery-viewer{max-height:calc(100dvh - 22px)}.gallery-toolbar{flex-direction:column;align-items:flex-start;gap:12px;padding:12px}.gallery-toolbar-actions{gap:6px;width:100%}.gallery-toolbar-actions button,.gallery-toolbar-actions a{padding-inline:9px;font-size:11px}.gallery-toolbar-actions button:last-child{margin-left:auto}.gallery-stage{padding:12px}.gallery-stage img{max-height:calc(100dvh - 260px)}.gallery-viewer-footer{padding:10px 12px}.scroll-to-top{bottom:16px;right:16px}}@media (width<=480px){.navbar-inner{width:calc(100% - 40px);min-height:68px}.navbar-links.is-open{grid-template-columns:repeat(2,1fr);top:68px}.hero-name{max-width:290px}.hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-facts>div:last-child{grid-column:1/-1}.agent-grid,.projects-grid{grid-template-columns:minmax(0,1fr)}.skills-blocks{gap:25px 18px}.skill-block h3{font-size:14px}.skill-line{font-size:13px}.gallery-case{padding:14px}.gallery-phone-pair{gap:12px}.gallery-shot figcaption .text-link{font-size:10px}.gallery-phone-pair .gallery-image-button{border-radius:8px}.contact-item{gap:12px;padding:18px 15px}.contact-val{font-size:13px}.contact-link{gap:12px}.hero-socials{gap:22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{.navbar,.skip-link,.scroll-to-top,.cv-drive-preview,.gallery-dialog,.copy-btn{display:none!important}.section,.hero,footer{width:100%}.section{padding-block:24px}.gallery-case,.project-card,.exp-proj-card{break-inside:avoid}}
