:root{--bg:#0b0d11;--bg-alt:#11151c;--panel:#121922;--panel-strong:#171f2a;--line:#ffffff14;--line-strong:#ffffff24;--text:#edf1f7;--muted:#a5b2c6;--soft:#d7dfee;--accent:#7dd3fc;--accent-strong:#38bdf8;--shadow:#0c121a66;--radius:24px;--max-width:1240px;--transition:.18s ease;--font-body:Inter, "Segoe UI", sans-serif;--font-display:"Arial Black", "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);letter-spacing:-.01em;margin:0;line-height:1.6}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh}.container{width:min(var(--max-width), calc(100% - 32px));margin:0 auto}.section-space{padding:48px 0 72px}.page-shell{min-height:calc(100vh - 200px)}.site-header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#0b0d11cc;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:24px;min-height:76px;display:flex}.brand{letter-spacing:.16em;text-transform:uppercase;color:var(--text);align-items:center;gap:10px;font-size:.72rem;font-weight:800;display:inline-flex}.brand-mark{object-fit:contain;width:22px;height:22px}.back-to-top{border:1px solid var(--line-strong);width:52px;height:52px;color:var(--text);opacity:0;pointer-events:none;z-index:30;background:#111922eb;border-radius:50%;justify-content:center;align-items:center;transition:opacity .18s,transform .18s,border-color .18s;display:inline-flex;position:fixed;bottom:22px;right:22px;transform:translateY(10px);box-shadow:0 16px 32px #00000038}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{border-color:#7dd3fc70}.nav-panel{align-items:center;gap:28px;display:flex}.nav-link{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;transition:color var(--transition);font-size:.82rem;position:relative}.nav-link:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform var(--transition);position:absolute;bottom:-8px;left:0;transform:scaleX(0)}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.nav-toggle{display:none}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;min-height:70vh;display:grid}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin:0 0 12px;font-size:.7rem;font-weight:700}h1,h2,h3{letter-spacing:-.04em;margin:0}h1{font-size:clamp(3rem,6vw,6rem);line-height:.92;font-family:var(--font-display)}h2{font-size:clamp(2rem,3vw,3.2rem);line-height:1.05}h3{font-size:clamp(1.3rem,2vw,2rem)}.hero-tagline{color:var(--muted);max-width:20ch;margin-top:18px;font-weight:500}.hero-welcome{color:var(--accent);letter-spacing:.02em;margin-top:18px;font-size:1rem;font-weight:600}.hero-copy{max-width:58ch;color:var(--soft);margin-top:20px;font-size:1.06rem}.button-row{flex-wrap:wrap;gap:16px;margin-top:30px;display:flex}.button{border:1px solid var(--line-strong);transition:transform var(--transition), border-color var(--transition), background var(--transition);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:.9rem 1.5rem;font-weight:600;display:inline-flex}.button:hover{transform:translateY(-1px)}.button--primary{background:var(--accent);color:#061018;border-color:#0000}.button--secondary{color:var(--text);background:0 0}.text-link,.inline-link{color:var(--text);align-items:center;gap:8px;font-weight:600;display:inline-flex}.timeline-link{color:var(--accent);margin-top:12px}.cta-row{margin-top:20px}.hero__visual{place-items:center;display:grid;position:relative}.hero-frame{aspect-ratio:1.03;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);width:100%;box-shadow:0 25px 70px var(--shadow);overflow:hidden}.hero-frame img{object-fit:cover;width:100%;height:100%}.hero-frame video{object-fit:cover;background:#0a0d12;width:100%;height:100%}.play-reel{border:1px solid var(--line-strong);color:var(--text);background:#0a0c10cc;border-radius:999px;align-items:center;gap:10px;padding:.8rem 1rem;display:inline-flex;position:absolute;bottom:24px;left:24px}.stats-grid,.skills-grid,.project-grid,.timeline-grid,.contact-grid,.featured-list,.focus-grid{gap:24px;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-item{border:1px solid var(--line);text-align:center;background:#ffffff03;border-radius:18px;padding:26px 18px}.stat-item strong{color:var(--text);font-size:clamp(2rem,2vw,3rem);line-height:1;display:block}.stat-item span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.section-heading{margin-bottom:28px}.split-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.about-layout{grid-template-columns:.8fr 1.2fr;align-items:center;gap:28px;display:grid}.photo-placeholder{border-radius:var(--radius);border:1px solid var(--line);min-height:360px;color:var(--muted);background:linear-gradient(#7dd3fc14,#ffffff05);place-items:center;display:grid}.profile-image{border-radius:var(--radius);border:1px solid var(--line);object-fit:cover;object-position:center;width:100%;min-height:360px}.about-copy{color:var(--soft);gap:16px;display:grid}.featured-project{border:1px solid var(--line);background:#ffffff05;border-radius:26px;grid-template-columns:.95fr 1.05fr;align-items:center;gap:32px;padding:28px;display:grid}.featured-project.reverse .featured-project__content{order:2}.featured-project.reverse .featured-project__media{order:1}.featured-project__content{gap:16px;display:grid}.kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin:0;font-size:.68rem;font-weight:700}.subtitle{color:var(--muted)}.large-subtitle{font-size:1.18rem}.tag-row{flex-wrap:wrap;gap:10px;display:flex}.tag-row span,.focus-chip{border:1px solid var(--line);color:var(--soft);letter-spacing:.04em;background:#ffffff05;border-radius:999px;padding:.45rem .7rem;font-size:.75rem}.role-line{color:var(--muted);align-items:center;gap:10px;display:flex}.role-line strong{color:var(--text)}.featured-project__media{border:1px solid var(--line);border-radius:22px;overflow:hidden}.featured-project__media img{aspect-ratio:1.2;object-fit:cover;width:100%;transition:transform .22s}.featured-project:hover .featured-project__media img{transform:scale(1.03)}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.skill-group{border:1px solid var(--line);background:#ffffff05;border-radius:20px;padding:22px 18px}.skill-group h3{margin-bottom:14px;font-size:1.15rem}.skill-group ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skill-group li{color:var(--soft);background:#7dd3fc14;border:1px solid #7dd3fc26;border-radius:999px;padding:.5rem .7rem;font-size:.8rem}.timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-timeline{border:1px solid var(--line);background:#ffffff03;border-radius:18px;padding:22px 18px}.mini-timeline span{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}.mini-timeline h3{margin:10px 0 4px}.mini-timeline p{color:var(--muted)}.mini-timeline small{color:var(--soft);margin-top:12px;display:block}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{border:1px solid var(--line);transition:border-color var(--transition), transform var(--transition);background:#ffffff05;border-radius:22px;overflow:hidden}.project-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.project-card__media img{aspect-ratio:1.3;object-fit:cover;width:100%}.project-card__text-cover{aspect-ratio:1.3;width:100%;color:var(--text);letter-spacing:.02em;background:#0a0d12;place-items:center;font-size:2rem;font-weight:700;display:grid}.project-card__content{gap:12px;padding:20px 18px 22px;display:grid}.eyebrow-row,.meta-row{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:10px;font-size:.72rem;display:flex}.project-card__content h3{font-size:1.5rem}.project-card__content p{color:var(--soft)}.page-header{margin-bottom:26px}.page-intro{max-width:52ch;color:var(--soft);margin-top:15px}.filter-row{flex-wrap:wrap;gap:10px;margin-bottom:26px;display:flex}.filter-button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;padding:.65rem .9rem}.filter-button.active{color:var(--text);background:#7dd3fc14;border-color:#7dd3fc33}.page-cta-row{margin-top:26px}.project-detail .project-hero{grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);align-items:end;gap:30px;display:grid}.project-meta-list{border:1px solid var(--line);background:#ffffff05;border-radius:18px;gap:16px;padding:20px 18px;display:grid}.project-meta-list div{color:var(--muted);justify-content:space-between;gap:12px;display:flex}.project-meta-list strong{color:var(--text)}.hero-image-wrap{border:1px solid var(--line);border-radius:26px;margin-top:28px;overflow:hidden}.hero-image-wrap img{object-fit:contain;background:#0a0d12;width:100%;height:auto;max-height:680px}.project-actions{flex-wrap:wrap;gap:14px;margin:24px 0;display:flex}.detail-section{margin-top:56px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.check-list{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.check-list li{color:var(--soft);padding-left:22px;position:relative}.check-list li:before{content:"•";color:var(--accent);position:absolute;left:0}.challenge-list{gap:18px;display:grid}.challenge-card{border:1px solid var(--line);background:#ffffff05;border-radius:20px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px 18px;display:grid}.challenge-card h3{margin-bottom:8px}.media-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.project-detail .media-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail .media-gallery--single{grid-template-columns:minmax(0,1fr);justify-items:center}.project-detail .media-gallery--single .media-item{width:min(100%,820px)}.media-item{border:1px solid var(--line);background:#ffffff05;border-radius:16px;overflow:hidden}.media-item img,.media-item video{aspect-ratio:16/9;object-fit:contain;background:#0a0d12;width:100%}.media-image-button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.media-lightbox{z-index:50;background:#04060aeb;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.media-lightbox img{object-fit:contain;width:auto;max-width:min(96vw,1400px);height:auto;max-height:90vh}.media-lightbox__close{border:1px solid var(--line-strong);background:var(--panel);width:44px;height:44px;color:var(--text);border-radius:50%;place-items:center;display:grid;position:absolute;top:22px;right:22px}.wide-layout{grid-template-columns:.9fr 1.1fr}.focus-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.timeline-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:52px;display:grid}.timeline-block{border:1px solid var(--line);background:#ffffff05;border-radius:20px;padding:20px}.timeline{gap:18px;display:grid}.timeline-item{border-top:1px solid var(--line);grid-template-columns:110px 1fr;gap:18px;padding-top:8px;display:grid}.timeline-item:first-child{border-top:none}.timeline-period{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.74rem}.timeline-content h3{margin-bottom:4px}.timeline-company{color:var(--muted);margin-bottom:8px}.video-frame{border:1px solid var(--line);background:#ffffff05;border-radius:24px;overflow:hidden}.video-frame video{aspect-ratio:16/9;background:#0a0d12;width:100%}.playable-frame{border:1px solid var(--line);scrollbar-color:var(--accent) var(--panel);scrollbar-width:auto;background:#0a0d12;border-radius:22px;justify-content:center;width:100%;display:flex;overflow:auto hidden}.playable-frame iframe{border:0;flex:0 1100px;width:100%;min-width:0;min-height:720px;display:block}@media (width<=640px){.playable-frame{justify-content:flex-start}.playable-frame iframe{flex:0 0 680px;width:680px;min-height:620px}}.contact-grid{grid-template-columns:.9fr 1.1fr;align-items:start}.contact-card,.contact-panel{border:1px solid var(--line);background:#ffffff05;border-radius:22px;padding:22px}.contact-card{gap:16px;display:grid}.contact-item{color:var(--soft);align-items:center;gap:10px;display:flex}.contact-panel{gap:16px;display:grid}.site-footer{border-top:1px solid var(--line);margin-top:48px;padding:26px 0 40px}.footer-inner{justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-name{letter-spacing:.12em;text-transform:uppercase;font-weight:800}.footer-role{color:var(--muted);margin-top:4px}.footer-links{color:var(--muted);flex-wrap:wrap;gap:18px;display:flex}.footer-meta{color:var(--muted);margin-top:18px;font-size:.8rem}.not-found-layout{text-align:center;place-items:center;gap:20px;display:grid}@media (width<=900px){.hero,.about-layout,.featured-project,.project-detail .project-hero,.contact-grid,.timeline-columns,.detail-grid,.challenge-card,.wide-layout{grid-template-columns:1fr}.stats-grid,.skills-grid,.project-grid,.timeline-grid,.media-gallery,.focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail .media-gallery{grid-template-columns:1fr}.project-detail .media-item:first-child{grid-row:auto}.nav-panel{border:1px solid var(--line);background:#0b0d11f5;border-radius:14px;flex-direction:column;align-items:flex-start;padding:22px 16px;display:none;position:absolute;top:76px;left:16px;right:16px}.nav-panel.is-open{display:flex}.nav-toggle{border:1px solid var(--line);width:40px;height:40px;color:var(--text);background:0 0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}}@media (width<=640px){.container{width:min(var(--max-width), calc(100% - 24px))}.section-space{padding:36px 0 52px}.stats-grid,.skills-grid,.project-grid,.timeline-grid,.media-gallery,.focus-grid{grid-template-columns:1fr}.button-row,.project-actions{flex-direction:column;align-items:stretch}.button,.play-reel{width:100%}.split-heading,.footer-inner{flex-direction:column;align-items:flex-start}.timeline-item{grid-template-columns:1fr}.hero{min-height:unset}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=640px){.back-to-top{width:48px;height:48px;bottom:14px;right:14px}}
