*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{margin:0;padding:0}:root{--bg:#f8f7f5;--bg-elevated:#eeece9;--bg-card:#fff;--border:#e7e3df;--border-strong:#d9d4ce;--text:#15161a;--text-muted:#5a5a63;--text-faint:#8a8a92;--accent:#da291c;--accent-hover:#b81f15;--accent-light:#fcebe9;--navy:#27455c;--radius-sm:10px;--radius:20px;--radius-lg:28px;--radius-pill:999px;--max-width:1120px;--shadow-sm:0 1px 2px #15161a0d;--shadow-md:0 2px 6px #15161a0d, 0 12px 28px #15161a12;--shadow-lg:0 8px 16px #15161a0f, 0 28px 56px #15161a1f;--ease:cubic-bezier(.16, 1, .3, 1)}body{background:radial-gradient(ellipse 900px 620px at 108% -12%, #da291c12, transparent 60%), radial-gradient(ellipse 620px 520px at -12% 108%, #27455c0d, transparent 60%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:Plus Jakarta Sans,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}button,input,textarea,select{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);will-change:opacity, transform;transform:translateY(20px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.page,.hero-image-frame{animation:none!important}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.site-header{z-index:50;-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--border);background:#f8f7f5d1;position:sticky;top:0}.site-header-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:18px 24px;display:flex}.brand{letter-spacing:-.02em;cursor:pointer;background-image:linear-gradient(135deg, var(--accent) 0%, #ff8a3d 100%);color:#0000;transition:background-size .3s var(--ease), filter .3s var(--ease);background-position:0 0;background-size:100% 100%;-webkit-background-clip:text;background-clip:text;border:none;padding:4px 0;font-size:1.25rem;font-weight:800}.brand:hover{filter:brightness(1.1)}.header{border:1px solid var(--border);border-radius:var(--radius-pill);background:#fff9;flex-wrap:wrap;gap:2px;padding:4px;display:flex}.header button{color:var(--text-muted);border-radius:var(--radius-pill);cursor:pointer;transition:color .2s var(--ease), background .2s var(--ease);background:0 0;border:none;padding:8px 16px;font-family:inherit;font-size:.9rem;font-weight:600}.header button:hover{color:var(--text);background:var(--bg-elevated)}.header button.active{color:#fff;background:var(--accent);box-shadow:var(--shadow-sm)}main{min-height:calc(100vh - 65px)}.page{animation:page-enter .55s var(--ease) both;padding:64px 0 104px}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.page-header{margin-bottom:56px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:8px;margin-bottom:14px;font-size:.8rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.page-header h1{letter-spacing:-.025em;margin-bottom:14px;font-size:clamp(2.1rem,4vw,2.9rem);font-weight:800;line-height:1.12}.page-header p{color:var(--text-muted);max-width:620px;font-size:1.08rem;line-height:1.65}.btn{border-radius:var(--radius-pill);letter-spacing:-.01em;cursor:pointer;transition:background .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);border:1px solid #0000;align-items:center;gap:8px;padding:14px 28px;font-size:.95rem;font-weight:700;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 20px #da291c47}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 10px 26px #da291c57}.btn-secondary{color:var(--text);border-color:var(--border-strong);background:#fff}.btn-secondary:hover{background:var(--bg-elevated);border-color:var(--text-faint)}.hero-panel{border-radius:var(--radius-lg);isolation:isolate;background:#0a0a0d;padding:12px 40px 32px;position:relative;overflow:hidden}.hero-panel:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(#ffffff17 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 80% at 60% 15%,#000 40%,#0000 90%);mask-image:radial-gradient(90% 80% at 60% 15%,#000 40%,#0000 90%)}.hero-panel:after{content:"";background:linear-gradient(135deg, var(--accent) 0%, #ff6b00 100%);filter:blur(100px);opacity:.35;pointer-events:none;z-index:0;border-radius:50%;width:520px;height:520px;position:absolute;top:-180px;right:-140px}.hero-panel .hero,.hero-panel .highlights{z-index:1;position:relative}.hero-panel .hero-content .eyebrow{color:#ff8a70}.hero-panel .hero-content .eyebrow:before{background:linear-gradient(135deg, var(--accent), #ff6b00)}.hero-panel .hero-content h1{color:#f5f4f2}.hero-panel .hero-content h1 .accent{background:linear-gradient(135deg,#ff5c46,#ff8a3d);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-panel .hero-content h1 .typing-cursor{background:#ff8a3d}.hero-panel .hero-content p{color:#f5f4f2ad}.hero-panel .btn-secondary{color:#f5f4f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border-color:#ffffff2e}.hero-panel .btn-secondary:hover{background:#ffffff24;border-color:#ffffff52}.hero-panel .hero-image-frame{border-color:#ffffff24;box-shadow:0 0 0 1px #ffffff0f,0 30px 60px #00000080}.hero-panel .highlight-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:none;background:#ffffff0f;border-color:#ffffff1f}.hero-panel .highlight-card:hover{box-shadow:none;background:#ffffff17}.hero-panel .highlight-card .num{color:#ff8a3d}.hero-panel .highlight-card .label{color:#f5f4f29e}.tech-marquee{margin-top:40px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.tech-marquee-track{gap:14px;width:max-content;animation:26s linear infinite marquee;display:flex}.tech-marquee-item{border-radius:var(--radius-pill);background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);box-shadow:var(--shadow-sm);flex-shrink:0;align-items:center;padding:10px 22px;font-size:.9rem;font-weight:700;display:inline-flex}.tech-marquee-item-icon{flex-shrink:0;align-items:center;gap:5px;margin-right:9px;display:inline-flex}.tech-marquee-item-icon svg{flex-shrink:0;width:15px;height:15px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:56px;padding:48px 0 64px;display:flex}.hero-content{flex:440px}.hero-content .eyebrow{margin-bottom:18px}.hero-content h1{letter-spacing:-.03em;margin-bottom:22px;font-size:clamp(2.4rem,5.2vw,3.75rem);font-weight:800;line-height:1.06}.hero-content h1 .accent{color:var(--accent)}.typing-cursor{background:var(--accent);vertical-align:-.08em;width:3px;height:.85em;margin-left:3px;animation:.9s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.typing-cursor{opacity:1;animation:none}}.hero-content p{color:var(--text-muted);max-width:520px;margin-bottom:36px;font-size:1.15rem}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.hero-image{flex:320px;justify-content:center;display:flex}.hero-image-frame{aspect-ratio:1/1.05;border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow-lg);animation:6s ease-in-out infinite float;position:relative;overflow:hidden}.hero-image-frame img{object-fit:cover;width:100%;height:100%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.highlights{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:8px;display:grid}.highlight-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .25s var(--ease), transform .25s var(--ease);padding:24px}.highlight-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.highlight-card .num{letter-spacing:-.02em;color:var(--accent);font-size:1.9rem;font-weight:800;display:block}.highlight-card .label{color:var(--text-muted);margin-top:4px;font-size:.92rem;font-weight:500}.quick-links{margin-top:56px}.quick-links-header{text-align:center;max-width:480px;margin:0 auto 36px}.quick-links-header .eyebrow{justify-content:center}.quick-links-header h2{letter-spacing:-.02em;font-size:clamp(1.6rem,2.8vw,2.1rem);font-weight:800}.nav-cards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;display:grid}.nav-card{text-align:left;width:100%;color:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:12px;padding:28px 26px;font-family:inherit;display:flex}.nav-card h3{letter-spacing:-.01em;font-size:1.1rem;font-weight:800}.nav-card p{color:var(--text-muted);flex-grow:1;font-size:.92rem}.nav-card-arrow{color:var(--accent);transition:gap .2s var(--ease);align-items:center;gap:6px;font-size:.9rem;font-weight:700;display:inline-flex}.nav-card:hover .nav-card-arrow{gap:10px}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;display:grid}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease);overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:translateY(-4px)}.eyebrow-index{color:var(--text-faint);font-weight:700}.eyebrow-index:after{content:"/";opacity:.5;margin-left:7px}.about-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:64px;padding:8px 0 56px;display:flex}.about-hero-content{flex:460px}.about-hero-content .eyebrow{margin-bottom:18px}.about-hero-content h1{letter-spacing:-.03em;margin-bottom:20px;font-size:clamp(2.5rem,5vw,3.6rem);font-weight:800;line-height:1.08}.about-hero-content h1 .accent{background-image:linear-gradient(135deg, var(--accent) 0%, #ff8a3d 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.about-hero-content>p{color:var(--text-muted);max-width:480px;margin-bottom:28px;font-size:1.15rem}.about-badges{flex-wrap:wrap;gap:10px;display:flex}.about-badge{border-radius:var(--radius-pill);background:var(--bg-card);border:1px solid var(--border-strong);color:var(--text);box-shadow:var(--shadow-sm);align-items:center;padding:9px 18px;font-size:.86rem;font-weight:700;display:inline-flex}.about-hero-image{flex:0 380px;justify-content:center;display:flex}.about-image-wrap{width:100%;max-width:340px;position:relative}.about-image-wrap:before{content:"";border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--accent) 0%, #ff8a3d 100%);opacity:.16;z-index:0;position:absolute;inset:22px -22px -22px 22px}.about-image-wrap .hero-image-frame{z-index:1;aspect-ratio:1/1.08;max-width:none;position:relative}.stats-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:56px;display:flex;overflow:hidden}.stats-row-item{text-align:center;flex:1 1 0;padding:26px 18px;position:relative}.stats-row-item+.stats-row-item:before{content:"";background:var(--border);width:1px;position:absolute;top:22%;bottom:22%;left:0}.stats-row-value{letter-spacing:-.01em;margin-bottom:6px;font-size:1.3rem;font-weight:800}.stats-row-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:700}.about-text{max-width:720px;margin:0 auto 56px}.about-text p{color:var(--text-muted);text-align:center;margin-bottom:18px;font-size:1.08rem}.quote-block{text-align:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:760px;margin:0 auto 64px;padding:48px 40px;position:relative;overflow:hidden}.quote-mark{color:var(--accent);opacity:.12;pointer-events:none;font-family:Georgia,serif;font-size:8rem;font-weight:800;line-height:1;position:absolute;top:-18px;left:24px}.quote-text{letter-spacing:-.01em;color:var(--text);font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:700;line-height:1.4;position:relative}.about-timeline-header{text-align:center;margin-bottom:40px}.about-timeline-header .eyebrow{justify-content:center}.about-timeline-header h2{letter-spacing:-.02em;font-size:clamp(1.7rem,3vw,2.2rem);font-weight:800}.facts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;display:grid}.fact-item{border-left:2px solid var(--accent);padding-left:16px}.fact-item .fact-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:600}.fact-item .fact-value{letter-spacing:-.01em;margin-top:4px;font-size:1.05rem;font-weight:700}.timeline{max-width:720px;margin:0 auto}.timeline-item{gap:24px;display:flex}.timeline-marker{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.timeline-index{border:2px solid var(--accent);background:var(--bg-card);width:40px;height:40px;color:var(--accent);letter-spacing:-.02em;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex}.timeline-line{background:var(--border-strong);flex:1;width:2px;margin:6px 0}.timeline-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .25s var(--ease), transform .25s var(--ease), border-color .25s var(--ease);flex:1;margin-bottom:24px;padding:20px 24px}.timeline-content:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-3px)}.timeline-year{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;font-size:.78rem;font-weight:700;display:inline-block}.timeline-content h3{letter-spacing:-.01em;margin-bottom:8px;font-size:1.2rem;font-weight:800}.timeline-content p{color:var(--text-muted);font-size:.98rem}.skills-groups{gap:24px;display:grid}.skill-group.card{padding:30px 32px}.skill-group-header{align-items:center;gap:14px;margin-bottom:26px;display:flex}.skill-group-icon{background:var(--accent-light);width:42px;height:42px;color:var(--accent);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.skill-group-icon svg{width:20px;height:20px}.skill-group h2{letter-spacing:-.01em;color:var(--text);font-size:1.15rem;font-weight:800}.skill-list{flex-wrap:wrap;gap:12px;display:flex}.skill-chip{color:#f5f4f2;letter-spacing:-.01em;border-radius:var(--radius-pill);transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);background:#15161a;border:1px solid #15161a;align-items:center;padding:11px 20px;font-size:.92rem;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #15161a26}.skill-chip-icon{flex-shrink:0;align-items:center;gap:6px;margin-right:9px;display:inline-flex}.skill-chip-icon svg{flex-shrink:0;width:15px;height:15px}.skill-chip:hover{background:linear-gradient(135deg, var(--accent) 0%, #ff6b00 100%);border-color:#0000;transform:translateY(-2px);box-shadow:0 8px 16px #15161a2e}.project-card{flex-direction:column;height:100%;display:flex}.project-image{aspect-ratio:16/10;background:var(--bg-elevated);overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.card:hover .project-image img{transform:scale(1.06)}.project-card .project-body{flex-direction:column;flex-grow:1;padding:24px 26px 26px;display:flex}.project-card h3{letter-spacing:-.01em;margin-bottom:10px;font-size:1.2rem;font-weight:800}.project-card p{color:var(--text-muted);flex-grow:1;margin-bottom:18px;font-size:.96rem}.tag-list{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.tag{border-radius:var(--radius-pill);background:var(--accent-light);color:var(--accent);padding:5px 13px;font-size:.75rem;font-weight:700}.project-links{gap:20px;display:flex}.project-links a{color:var(--text);background-image:linear-gradient(var(--accent), var(--accent));transition:background-size .25s var(--ease), color .25s var(--ease);background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;padding-bottom:2px;font-size:.9rem;font-weight:700;position:relative}.project-links a:hover{color:var(--accent);background-size:100% 2px}.contact-layout{flex-wrap:wrap;gap:40px;display:flex}.contact-info{flex-direction:column;flex:280px;gap:16px;display:flex}.contact-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .25s var(--ease), transform .25s var(--ease);color:inherit;align-items:center;gap:16px;padding:18px 20px;text-decoration:none;display:flex}.contact-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.contact-icon{background:var(--accent);color:#fff;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;font-weight:700;display:flex}.contact-icon svg{width:20px;height:20px}.contact-item .contact-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600}.contact-item .contact-value{margin-top:2px;font-weight:700}.contact-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;flex:360px;gap:16px;padding:30px;display:flex}.contact-form label{color:var(--text-muted);margin-bottom:7px;font-size:.85rem;font-weight:600;display:block}.contact-form input,.contact-form textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);transition:border-color .2s var(--ease), background .2s var(--ease);padding:13px 15px;font-family:inherit;font-size:.95rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);background:#fff;outline:none}.contact-form textarea{resize:vertical;min-height:130px}.site-footer{border-top:1px solid var(--border);padding:28px 0}.site-footer-inner{max-width:var(--max-width);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:0 24px;font-size:.88rem;display:flex}.site-footer a{transition:color .2s var(--ease);font-weight:600}.site-footer a:hover{color:var(--accent)}@media (width<=860px){.header{padding:4px}.header button{padding:7px 12px;font-size:.85rem}}@media (width<=640px){.site-header-inner{flex-direction:column;align-items:flex-start;gap:14px}.header{justify-content:space-between;width:100%}.header button{padding:7px 10px;font-size:.8rem}.hero{text-align:left}.page{padding:44px 0 72px}.hero{gap:40px;padding:32px 0 40px}.hero-panel{border-radius:var(--radius);padding:10px 20px 24px}.contact-form{padding:22px}.about-hero{text-align:left;gap:36px;padding:4px 0 40px}.about-image-wrap{max-width:260px}.stats-row{flex-wrap:wrap}.stats-row-item{flex:50%;padding:20px 14px}.stats-row-item:nth-child(2):before{display:none}.stats-row-item:nth-child(n+3){border-top:1px solid var(--border)}.stats-row-item:nth-child(n+3):before{display:none}.quote-block{margin-bottom:40px;padding:34px 22px}.quote-mark{font-size:5rem;top:-8px;left:12px}.about-text p{text-align:left}.timeline-content p{max-width:none}}
