.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-scale{opacity:0;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transform:scale(.92)}.reveal-scale.is-visible{opacity:1;transform:scale(1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#111;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit}ul{list-style:none}:root{--bg:#fff;--bg-2:#f8f8f8;--bg-3:#f2f2f2;--text:#111;--text-2:#555;--text-3:#999;--border:#e8e8e8;--border-2:#d0d0d0;--radius:14px;--radius-sm:8px;--shadow:0 4px 24px #00000014;--max-w:1120px;--nav-h:68px}.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 32px}@media (width<=768px){.container{padding:0 20px}}.page{padding-top:var(--nav-h)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:600;line-height:1.15}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:13px 26px;font-family:inherit;font-size:15px;font-weight:500;transition:all .18s;display:inline-flex}.btn-dark{background:var(--text);color:#fff}.btn-dark:hover{background:#333;transform:translateY(-1px)}.btn-outline{color:var(--text);border:1.5px solid var(--border-2);background:0 0}.btn-outline:hover{border-color:var(--text);background:var(--bg-2)}.nav{z-index:100;height:var(--nav-h);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#ffffffeb;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:space-between;align-items:center;width:100%;display:flex}.nav-logo{letter-spacing:-.01em;font-size:15px;font-weight:600}.nav-links{align-items:center;gap:32px;display:flex}.nav-links a{color:var(--text-2);font-size:14px;font-weight:450;transition:color .15s}.nav-links a:hover,.nav-links a.active{color:var(--text)}.nav-cta{padding:9px 20px!important;font-size:14px!important}.nav-ham{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.nav-ham span{background:var(--text);width:22px;height:1.5px;display:block}.mobile-nav{top:var(--nav-h);border-bottom:1px solid var(--border);z-index:99;background:#fff;flex-direction:column;gap:0;padding:12px 32px 24px;display:none;position:fixed;left:0;right:0}.mobile-nav.open{display:flex}.mobile-nav a{color:var(--text-2);border-bottom:1px solid var(--border);padding:12px 0;font-size:16px}.mobile-nav a:last-child{border-bottom:none}@media (width<=768px){.nav-links,.nav-cta{display:none}.nav-ham{display:flex}}.section{padding:96px 0}.section-sm{padding:64px 0}.section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:16px;font-size:11px;font-weight:600;display:block}.hero{min-height:calc(100vh - var(--nav-h));border-bottom:1px solid var(--border);align-items:center;padding:80px 0;display:flex;position:relative;overflow:hidden}.hero-content{max-width:700px}.hero-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hb{will-change:transform;position:absolute}.hb-1{background:radial-gradient(at 40% 40%,#4f46e51a 0%,#6366f10f 40%,#0000 75%);border-radius:58% 42% 36% 64%/54% 40% 60% 46%;width:700px;height:700px;top:-200px;right:-180px}.hb-2{background:radial-gradient(at 60% 60%,#7c3aed14 0%,#8b5cf60a 45%,#0000 75%);border-radius:42% 58% 64% 36%/48% 56% 44% 52%;width:500px;height:500px;bottom:-120px;left:-140px}.hb-3{background:radial-gradient(#4f46e512 0%,#0000 70%);border-radius:64% 36% 44% 56%/42% 60% 40% 58%;width:280px;height:280px;top:30%;left:52%}.hb-4{background:radial-gradient(#a78bfa0f 0%,#0000 70%);border-radius:50%;width:360px;height:360px;bottom:0;right:15%}.hb-dots{opacity:.45;background-image:radial-gradient(circle,#4f46e52e 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 75% at 72% 30%,#000 10%,#0000 80%);mask-image:radial-gradient(75% 75% at 72% 30%,#000 10%,#0000 80%)}.hb-lines{opacity:1;width:55%;height:100%;position:absolute;top:0;right:0}.hero-badge{background:var(--bg-2);border:1px solid var(--border);color:var(--text-2);border-radius:100px;align-items:center;gap:8px;margin-bottom:28px;padding:6px 14px;font-size:13px;display:inline-flex}.hero-badge-dot{background:#22c55e;border-radius:50%;width:6px;height:6px}.hero-avatar-row{align-items:center;gap:12px;margin-bottom:24px;display:flex}.hero-avatar{object-fit:cover;object-position:top;border:2px solid var(--border);border-radius:50%;width:52px;height:52px}.hero-avatar-name{color:var(--text-2);font-size:15px;font-weight:500}.hero h1{letter-spacing:-.03em;margin-bottom:24px;font-size:clamp(40px,6vw,68px);font-weight:700;line-height:1.05}.hero-sub{color:var(--text-2);max-width:540px;margin-bottom:40px;font-size:18px;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.featured-header{justify-content:space-between;align-items:flex-end;margin-bottom:40px;display:flex}.featured-heading{font-size:28px;font-weight:600}.projects-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (width<=768px){.projects-grid{grid-template-columns:1fr}.featured-header{flex-direction:column;align-items:flex-start;gap:16px}}.project-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);transition:all .2s;display:block;overflow:hidden}.project-card:hover{border-color:var(--border-2);box-shadow:var(--shadow);transform:translateY(-2px)}.project-thumb{aspect-ratio:16/9;justify-content:center;align-items:center;font-size:52px;display:flex}.project-body{padding:22px 24px}.project-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:8px;font-size:11px;font-weight:600}.project-title{color:var(--text);margin-bottom:8px;font-size:17px;font-weight:600}.project-desc{color:var(--text-2);font-size:14px;line-height:1.6}.project-link{align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:500;display:inline-flex}.project-link svg{transition:transform .15s}.project-card:hover .project-link svg{transform:translate(3px)}.diff-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;display:grid}@media (width<=768px){.diff-grid{grid-template-columns:1fr}}.diff-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:28px}.diff-icon{color:var(--text-1);margin-bottom:14px;line-height:1}.diff-title{margin-bottom:8px;font-size:16px;font-weight:600}.diff-body{color:var(--text-2);font-size:14px;line-height:1.65}.cta-banner{text-align:center;background:var(--bg-2);border-top:1px solid var(--border);padding:80px 0}.cta-banner h2{margin-bottom:12px;font-size:30px;font-weight:700}.cta-banner p{color:var(--text-2);margin-bottom:32px;font-size:16px}.page-header{border-bottom:1px solid var(--border);margin-bottom:64px;padding:60px 0 48px}.page-header h1{margin-bottom:12px;font-size:clamp(32px,5vw,48px)}.page-header p{color:var(--text-2);max-width:500px;font-size:17px;line-height:1.65}.case-back{color:var(--text-2);align-items:center;gap:8px;margin-bottom:32px;font-size:14px;transition:color .15s;display:inline-flex}.case-back:hover{color:var(--text)}.case-header{border-bottom:1px solid var(--border);margin-bottom:64px;padding:60px 0 48px}.case-header h1{margin-bottom:16px;font-size:clamp(32px,5vw,52px)}.case-header>p{color:var(--text-2);max-width:600px;font-size:17px;line-height:1.65}.case-meta{flex-wrap:wrap;gap:40px;margin-top:36px;display:flex}.case-meta-item dt{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:4px;font-size:11px;font-weight:600}.case-meta-item dd{font-size:14px;font-weight:500}.case-body{max-width:680px;margin:0 auto;padding-bottom:96px}.case-section{margin-bottom:56px}.case-section-num{text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:8px;font-size:11px;font-weight:600}.case-section h2{margin-bottom:14px;font-size:20px}.case-section p{color:var(--text-2);font-size:16px;line-height:1.75}.case-placeholder{aspect-ratio:16/9;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-3);justify-content:center;align-items:center;margin-top:20px;font-size:14px;display:flex}.case-video{aspect-ratio:16/9;border-radius:var(--radius);background:#000;margin:20px 0;overflow:hidden}.case-video iframe{border:none;width:100%;height:100%}.outcome-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;display:grid}@media (width<=480px){.outcome-grid{grid-template-columns:1fr}}.outcome-item{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;padding:20px}.outcome-num{letter-spacing:-.02em;font-size:28px;font-weight:700}.outcome-label{color:var(--text-2);margin-top:4px;font-size:13px}.divider{background:var(--border);height:1px;margin:40px 0}.video-list{flex-direction:column;gap:40px;padding-bottom:96px;display:flex}.video-item{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.video-embed{aspect-ratio:16/9;background:var(--bg-3);color:var(--text-3);justify-content:center;align-items:center;font-size:14px;display:flex}.video-embed iframe{border:none;width:100%;height:100%;display:block}.video-info{padding:28px 32px}.video-context-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:8px;font-size:11px;font-weight:600}.video-title{margin-bottom:16px;font-size:19px;font-weight:600}.video-details{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:24px;padding-top:20px;display:grid}@media (width<=640px){.video-details{grid-template-columns:1fr}.video-info{padding:20px}}.video-detail-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:6px;font-size:11px;font-weight:600}.video-detail-body{color:var(--text-2);font-size:14px;line-height:1.6}.about-grid{grid-template-columns:260px 1fr;align-items:start;gap:80px;padding-bottom:96px;display:grid}@media (width<=768px){.about-grid{grid-template-columns:1fr;gap:40px}}.about-photo{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius);object-fit:cover;object-position:top;width:100%;display:block}.about-name{letter-spacing:-.02em;margin-bottom:6px;font-size:30px;font-weight:700}.about-role{color:var(--text-2);margin-bottom:28px;font-size:15px}.about-bio{color:var(--text-2);font-size:16px;line-height:1.75}.about-bio p+p{margin-top:16px}.skills-group{margin-top:32px}.skills-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:12px;font-size:11px;font-weight:600;display:block}.skills-tags{flex-wrap:wrap;gap:8px;display:flex}.skill-tag{background:var(--bg-2);border:1px solid var(--border);color:var(--text-2);border-radius:100px;padding:6px 14px;font-size:13px}.exp-section{border-top:1px solid var(--border);max-width:var(--max-w);margin:0 auto;padding:64px 32px 96px}.exp-heading{letter-spacing:-.02em;margin-bottom:32px;font-size:22px;font-weight:600}.exp-list{flex-direction:column;display:flex}.exp-item{border-bottom:1px solid var(--border);grid-template-rows:auto auto auto;grid-template-columns:1fr 160px;column-gap:24px;padding:20px 0;display:grid}.exp-item:first-child{border-top:1px solid var(--border)}.exp-main{grid-area:1/1;align-items:center;gap:8px;display:flex}.exp-company{color:var(--text);font-size:14px;font-weight:600}.exp-badge{color:#16a34a;letter-spacing:.02em;background:#dcfce7;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:500}.exp-role{color:var(--text-2);grid-area:2/1;margin-top:2px;font-size:14px}.exp-desc{color:var(--text-3);grid-area:3/1;margin-top:6px;font-size:13px;line-height:1.65}.exp-period{color:var(--text-3);text-align:right;white-space:nowrap;grid-area:1/2;padding-top:1px;font-size:12px}@media (width<=640px){.exp-section{padding:48px 20px 72px}.exp-item{grid-template-columns:1fr}.exp-period{text-align:left;grid-area:4/1;margin-top:8px}}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:80px;padding-bottom:96px;display:grid}@media (width<=768px){.contact-grid{grid-template-columns:1fr;gap:40px}}.contact-info h2{letter-spacing:-.02em;margin-bottom:14px;font-size:28px;font-weight:700}.contact-info p{color:var(--text-2);margin-bottom:28px;font-size:16px;line-height:1.65}.contact-email{border-bottom:1.5px solid var(--text);align-items:center;gap:8px;padding-bottom:2px;font-size:15px;font-weight:500;transition:opacity .15s;display:inline-flex}.contact-email:hover{opacity:.55}.contact-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{font-size:13px;font-weight:500}.form-field{border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--bg);resize:vertical;outline:none;padding:12px 16px;font-family:inherit;font-size:15px;transition:border-color .15s}.form-field:focus{border-color:var(--text)}textarea.form-field{min-height:140px}.form-success{border-radius:var(--radius-sm);color:#166534;background:#f0fdf4;border:1px solid #86efac;padding:14px 18px;font-size:14px}.footer{border-top:1px solid var(--border);padding:28px 0}.footer-inner{justify-content:space-between;align-items:center;display:flex}.footer-copy{color:var(--text-3);font-size:13px}.footer-links{gap:20px;display:flex}.footer-links a{color:var(--text-3);font-size:13px;transition:color .15s}.footer-links a:hover{color:var(--text)}@media (width<=640px){.footer-inner{text-align:center;flex-direction:column;gap:12px}}
