:root{--bg: #0a0c12;--bg-2: #0e111a;--bg-3: #131724;--surface: rgba(17, 21, 34, .78);--surface-2: rgba(20, 25, 40, .62);--surface-3: rgba(28, 34, 54, .82);--surface-4: rgba(36, 44, 68, .9);--text: rgba(233, 237, 252, .96);--text-soft: rgba(200, 208, 236, .78);--text-dim: rgba(148, 158, 192, .64);--muted: rgba(132, 142, 178, .72);--border-soft: rgba(120, 135, 185, .1);--border: rgba(130, 148, 200, .16);--border-strong: rgba(150, 170, 220, .28);--accent: #7c5cff;--accent-2: #00d4ff;--accent-3: #ff6a5c;--accent-4: #31d0aa;--grad-primary: linear-gradient(135deg, #7c5cff 0%, #5b8cff 45%, #00d4ff 100%);--grad-warm: linear-gradient(135deg, #ff6a5c 0%, #ffb454 100%);--grad-green: linear-gradient(135deg, #31d0aa 0%, #12b5e8 100%);--grad-purple: linear-gradient(135deg, #a770ff 0%, #7c5cff 100%);--grad-pink: linear-gradient(135deg, #ff5ca8 0%, #7c5cff 100%);--grad-card-1: linear-gradient(140deg, rgba(124,92,255,.12) 0%, rgba(0,212,255,.04) 50%, transparent 100%);--grad-card-2: linear-gradient(140deg, rgba(49,208,170,.1) 0%, rgba(0,212,255,.04) 50%, transparent 100%);--grad-card-3: linear-gradient(140deg, rgba(255,106,92,.1) 0%, rgba(124,92,255,.05) 50%, transparent 100%);--shadow-1: 0 2px 8px rgba(0,0,0,.28);--shadow-2: 0 8px 28px rgba(0,0,0,.38);--shadow-3: 0 20px 60px rgba(0,0,0,.48);--shadow-glow: 0 0 0 1px rgba(124,92,255,.25), 0 10px 40px -12px rgba(124,92,255,.45);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 999px;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-family:var(--font-sans);line-height:1.55;font-weight:400;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03"}*{box-sizing:border-box}html,body{height:100%}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg);color:var(--text);background-image:radial-gradient(900px 600px at 85% -10%,rgba(124,92,255,.14),transparent 60%),radial-gradient(700px 500px at 10% 0%,rgba(0,212,255,.1),transparent 60%),radial-gradient(900px 700px at 50% 120%,rgba(49,208,170,.07),transparent 60%);background-attachment:fixed;overflow-x:hidden}a{color:inherit}::selection{background:#7c5cff59;color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-4);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#7c5cff73}.page{position:relative;min-height:100vh}.grid-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(124,92,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(124,92,255,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 40%,transparent 90%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 40%,transparent 90%);opacity:.8}.glow{position:fixed;z-index:0;pointer-events:none;border-radius:999px;filter:blur(80px);opacity:.55;mix-blend-mode:screen;animation:floatGlow 18s ease-in-out infinite}.glow--a{top:-12%;left:-8%;width:520px;height:520px;background:#7c5cff;animation-delay:-2s}.glow--b{top:8%;right:-10%;width:460px;height:460px;background:#00d4ff;animation-delay:-6s}.glow--c{bottom:-18%;left:35%;width:640px;height:640px;background:#31d0aa;opacity:.35;animation-delay:-10s}@keyframes floatGlow{0%,to{transform:translateZ(0) scale(1)}33%{transform:translate3d(30px,-40px,0) scale(1.08)}66%{transform:translate3d(-25px,25px,0) scale(.96)}}.topbar{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-soft);background:#0a0c12ad;backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);transition:background .24s ease,border-color .24s ease}.topbar:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(124,92,255,.45),transparent);opacity:0;transition:opacity .24s ease}.topbar:hover:before{opacity:1}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.brand__logo{position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--grad-primary);box-shadow:0 6px 20px -6px #7c5cffb3;overflow:hidden}.brand__logo:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.3),transparent 60%);pointer-events:none}.brand__logoChar{font-weight:900;font-size:18px;color:#0a0c12;letter-spacing:-.02em}.brand__meta{display:flex;flex-direction:column;line-height:1.1}.brand__name{font-weight:800;letter-spacing:-.02em;font-size:15px}.brand__handle{font-size:11.5px;color:var(--muted);font-family:var(--font-mono);font-weight:600}.nav{display:flex;gap:6px;align-items:center}.nav__link{text-decoration:none;color:var(--text-dim);font-weight:600;font-size:14px;padding:9px 13px;border-radius:var(--radius-sm);transition:color .16s ease,background .16s ease,transform .16s ease}.nav__link:hover{color:var(--text);background:var(--surface-2)}.nav__link--cta{background:var(--grad-primary);color:#0a0c12;font-weight:800;padding:9px 16px;box-shadow:0 8px 22px -10px #7c5cffb3;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.nav__link--cta:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 12px 28px -10px #7c5cffd9}.main{position:relative;z-index:1;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:52px 0 72px}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start;padding:18px 0 28px;animation:rise .6s 80ms cubic-bezier(.2,.7,.2,1) both}.hero__badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border-radius:var(--radius-full);background:#31d0aa1a;border:1px solid rgba(49,208,170,.25);color:#8ae9d3;font-weight:700;font-size:12.5px;letter-spacing:.01em;margin-bottom:20px}.hero__badgeDot{width:8px;height:8px;border-radius:999px;background:#31d0aa;box-shadow:0 0 0 3px #31d0aa33;animation:pulseDot 1.8s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.82)}}.hero__title{margin:0 0 10px;font-size:clamp(42px,5.4vw,72px);line-height:1.02;letter-spacing:-.045em;font-weight:800}.hero__titleLine{display:block}.grad{font-style:normal;background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 30px rgba(124,92,255,.25))}.hero__kicker{margin:4px 0 0;font-family:var(--font-mono);font-size:13px;color:var(--muted);letter-spacing:.02em}.hero__summary{margin:18px 0 0;color:var(--text-soft);font-size:17px;line-height:1.7;max-width:60ch}.code-card{margin-top:26px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-3);overflow:hidden;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease,border-color .22s ease}.code-card:hover{transform:translateY(-3px);border-color:#7c5cff59;box-shadow:0 18px 50px -18px #7c5cff59}.code-card__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border-soft);background:var(--surface-4)}.code-card__dot{width:11px;height:11px;border-radius:999px}.code-card__dot--r{background:#ff5f57}.code-card__dot--y{background:#febc2e}.code-card__dot--g{background:#28c840}.code-card__file{margin-left:12px;font-family:var(--font-mono);font-size:12px;color:var(--muted);font-weight:600}.code-card__code{margin:0;padding:18px 20px 20px;font-family:var(--font-mono);font-size:13.5px;line-height:1.7;color:var(--text);white-space:pre;overflow-x:auto}.t-k{color:#c084fc;font-weight:600}.t-v{color:#60a5fa}.t-p{color:#38bdf8}.t-s{color:#86efac}.t-b{color:#fbbf24;font-weight:600}.hero__actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--radius-md);border:1px solid var(--border);padding:12px 18px;font-weight:700;text-decoration:none;color:var(--text);background:var(--surface-3);cursor:pointer;font-family:inherit;font-size:14.5px;transition:transform .16s cubic-bezier(.2,.7,.2,1),background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,filter .16s ease}.btn:hover:not(:disabled){transform:translateY(-1px);background:var(--surface-4);border-color:var(--border-strong);box-shadow:var(--shadow-1)}.btn:active:not(:disabled){transform:translateY(0)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #7c5cff59,var(--shadow-1);border-color:#7c5cff99}.btn:disabled{opacity:.65;cursor:not-allowed;filter:grayscale(20%)}.btn__icon{display:inline-flex;align-items:center;font-size:13px;opacity:.9}.btn--primary{background:var(--grad-primary);border-color:transparent;color:#0a0c12;font-weight:800;box-shadow:0 10px 28px -10px #7c5cffcc;position:relative;overflow:hidden}.btn--primary:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s ease}.btn--primary:hover:not(:disabled):before{transform:translate(100%)}.btn--primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 14px 36px -12px #7c5cffe6}.btn--ghost{background:transparent}.btn--ghost:hover{background:var(--surface-3)}.hero__links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:var(--radius-full);border:1px solid var(--border);color:var(--text-soft);text-decoration:none;font-weight:700;font-size:12.5px;background:var(--surface-2);cursor:pointer;font-family:inherit;transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease}.chip:hover{background:var(--surface-3);color:var(--text);border-color:#7c5cff66;transform:translateY(-1px)}.notice{margin-top:20px;padding:12px 16px;border-radius:var(--radius-md);border:1px solid rgba(255,106,92,.45);background:#ff6a5c1a;color:#ffb9b0;font-weight:700;font-size:13.5px;animation:rise .22s ease both}.hero__rail{display:grid;gap:14px;position:sticky;top:92px;animation:rise .6s .16s cubic-bezier(.2,.7,.2,1) both}.hero__stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-card{position:relative;padding:16px 14px 14px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;transition:transform .2s cubic-bezier(.2,.7,.2,1),border-color .2s ease,background .2s ease}.stat-card:before{content:"";position:absolute;inset:0;background:radial-gradient(200px 100px at 0% 0%,rgba(124,92,255,.18),transparent 60%);opacity:0;transition:opacity .22s ease}.stat-card:hover{transform:translateY(-3px);border-color:#7c5cff59;background:var(--surface-3)}.stat-card:hover:before{opacity:1}.stat-card__icon{font-size:18px;color:#b29aff;font-weight:700;line-height:1;margin-bottom:10px;position:relative}.stat-card__value{font-size:26px;font-weight:900;letter-spacing:-.03em;color:var(--text);line-height:1;position:relative}.stat-card__label{margin-top:6px;font-size:11.5px;color:var(--muted);font-weight:700;letter-spacing:.04em;text-transform:uppercase;position:relative}.stack-card{padding:16px 16px 18px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stack-card__label{font-size:11.5px;color:var(--muted);font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.stack-card__row{display:flex;gap:8px;flex-wrap:wrap}.stack-chip{padding:6px 10px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:12px;font-weight:700;border:1px solid var(--border);background:var(--surface-2);transition:transform .16s ease,border-color .16s ease}.stack-chip:hover{transform:translateY(-1px);border-color:#7c5cff73}.stack-chip--laravel{color:#ff7d7d;border-color:#ff5a5a4d}.stack-chip--react{color:#5fd6ff;border-color:#5fd6ff4d}.stack-chip--flutter{color:#6cb9ff;border-color:#6cb9ff4d}.stack-chip--mysql{color:#e4c56f;border-color:#e4c56f4d}.stack-chip--tailwind{color:#74e5ff;border-color:#74e5ff4d}.location-card{padding:16px 18px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--grad-card-2),var(--surface-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.location-card__row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.location-card__icon{color:#31d0aa;font-weight:700}.location-card__label{font-size:11.5px;color:var(--muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.location-card__value{font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.01em}.location-card__tz{margin-top:6px;font-size:12px;color:var(--text-dim);font-family:var(--font-mono)}.section{margin-top:62px;animation:rise .6s ease both;animation-play-state:paused;animation-delay:calc(var(--delay, 0) * 1ms)}.section.in-view{animation-play-state:running}.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.section__eyebrow{margin:0 0 6px;font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.1em;color:#7c5cffd9;text-transform:uppercase}.section__title{margin:0;font-size:clamp(26px,2.6vw,34px);letter-spacing:-.03em;font-weight:800}.section__subtitle{margin:0;color:var(--muted);font-weight:600;font-size:14px;max-width:44ch;line-height:1.5}.panel{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-2);padding:22px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .2s ease,background .2s ease}.panel:hover{border-color:#7c5cff38}.panel--empty{padding:28px}.panel--about{background:var(--grad-card-1),var(--surface-2);border-color:#7c5cff33}.panel__title{margin:0 0 10px;font-size:17px;letter-spacing:-.01em;font-weight:800}.panel__title--big{font-size:22px;background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;color:transparent}.prose{margin:0;color:var(--text-soft);line-height:1.75;font-size:15px}.prose--big{font-size:15.5px}.accented{color:#b29aff;font-weight:900}.mono{font-family:var(--font-mono);font-weight:700;font-size:.93em;color:#c8d4e6;padding:1px 6px;border-radius:6px;background:var(--surface-4);border:1px solid var(--border-soft)}.skills-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.skills-card{grid-column:span 4;padding:18px 18px 20px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .22s ease,background .22s ease,box-shadow .22s ease;position:relative;overflow:hidden}.skills-card:nth-child(4),.skills-card:nth-child(5){grid-column:span 6}.skills-card:before{content:"";position:absolute;inset:0;background:var(--bg-grad, linear-gradient(135deg, rgba(124,92,255,.1), transparent 55%));opacity:0;transition:opacity .26s ease}.skills-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}.skills-card:hover:before{opacity:1}.skills-card--backend:before{--bg-grad: linear-gradient(140deg, rgba(255,106,92,.12), transparent 55%)}.skills-card--frontend:before{--bg-grad: linear-gradient(140deg, rgba(0,212,255,.12), transparent 55%)}.skills-card--mobile:before{--bg-grad: linear-gradient(140deg, rgba(124,92,255,.14), transparent 55%)}.skills-card--devops:before{--bg-grad: linear-gradient(140deg, rgba(49,208,170,.12), transparent 55%)}.skills-card--cms:before{--bg-grad: linear-gradient(140deg, rgba(255,180,84,.12), transparent 55%)}.skills-card:hover.skills-card--backend{border-color:#ff6a5c59}.skills-card:hover.skills-card--frontend{border-color:#00d4ff59}.skills-card:hover.skills-card--mobile{border-color:#7c5cff66}.skills-card:hover.skills-card--devops{border-color:#31d0aa59}.skills-card:hover.skills-card--cms{border-color:#ffb45459}.skills-card__head{display:flex;align-items:center;gap:10px;margin-bottom:14px;position:relative}.skills-card__dot{width:10px;height:10px;border-radius:999px;background:var(--grad-primary)}.skills-card__dot--backend{background:var(--grad-warm)}.skills-card__dot--frontend{background:linear-gradient(135deg,#00d4ff,#31d0aa)}.skills-card__dot--mobile{background:var(--grad-purple)}.skills-card__dot--devops{background:var(--grad-green)}.skills-card__dot--cms{background:linear-gradient(135deg,#ffb454,#ff5ca8)}.skills-card__title{margin:0;font-size:16px;letter-spacing:-.01em;font-weight:800}.skills-card__body{display:flex;flex-wrap:wrap;gap:7px;position:relative}.pill{padding:7px 11px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface-4);color:var(--text);font-weight:700;font-size:12.5px;transition:transform .14s ease,border-color .14s ease,background .14s ease}.pill:hover{transform:translateY(-1px);border-color:#7c5cff66;background:var(--surface-3)}.pill--tight{padding:6px 10px;font-size:12px}.services-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.service-card{grid-column:span 6;position:relative;padding:22px 22px 24px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .22s ease,box-shadow .22s ease}.service-card:after{content:"";position:absolute;top:-40%;right:-20%;width:280px;height:280px;border-radius:999px;background:radial-gradient(closest-side,rgba(124,92,255,.22),transparent 70%);opacity:0;transition:opacity .3s ease,transform .3s ease}.service-card:hover{transform:translateY(-5px);border-color:#7c5cff59;box-shadow:var(--shadow-2)}.service-card:hover:after{opacity:1;transform:translate3d(-10px,10px,0)}.service-card__icon{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--grad-primary);color:#0a0c12;font-weight:900;font-size:18px;margin-bottom:14px;box-shadow:0 10px 26px -12px #7c5cffa6}.service-card__title{position:relative;margin:0 0 8px;font-size:18px;letter-spacing:-.015em;font-weight:800}.service-card__desc{position:relative;margin:0;color:var(--text-soft);line-height:1.7;font-size:14.5px;max-width:54ch}.service-card__tags{position:relative;display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.tag{padding:6px 9px;border-radius:8px;border:1px solid var(--border-soft);background:var(--surface-3);color:var(--text-soft);font-weight:700;font-size:11.5px}.tag--soft{background:var(--surface-4);border-color:var(--border);color:var(--text-dim)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;align-items:stretch}.card{grid-column:span 6;position:relative;display:flex;flex-direction:column;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface-2);overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-1);transition:transform .28s cubic-bezier(.2,.7,.2,1),border-color .28s ease,box-shadow .28s ease,background .28s ease}.card:before{content:"";position:absolute;inset:0;background:var(--bg-grad);opacity:.6;pointer-events:none;z-index:0}.card--1:before{background:var(--grad-card-1)}.card--2:before{background:var(--grad-card-2)}.card--3:before{background:var(--grad-card-3)}.card:after{content:"";position:absolute;inset:0;border-radius:var(--radius-xl);padding:1px;background:linear-gradient(135deg,rgba(124,92,255,.5),transparent 40%,transparent 60%,rgba(0,212,255,.4));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .28s ease;pointer-events:none}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-3);border-color:#7c5cff4d;background:var(--surface-3)}.card:hover:after{opacity:1}.card:nth-child(5n+1){grid-column:span 6}.card__media{position:relative;margin:0;border-bottom:1px solid var(--border-soft);background:var(--bg-2);overflow:hidden;aspect-ratio:16 / 9;z-index:1}.card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,12,18,.5) 100%);opacity:0;transition:opacity .24s ease;pointer-events:none}.card:hover .card__media:after{opacity:1}.card__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .42s cubic-bezier(.2,.7,.2,1),filter .24s ease}.card__image--contain{height:100%;object-fit:contain;padding:14px;background:var(--surface-4)}.card:hover .card__image{transform:scale(1.05);filter:saturate(1.05) brightness(1.03)}.card__video{display:block;width:100%;height:100%;object-fit:cover}.card__gallery{display:flex;height:100%;gap:12px;padding:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}.card__galleryImg{height:100%;width:auto;object-fit:contain;border-radius:12px;border:1px solid var(--border);background:#fffffff2;scroll-snap-align:start;box-shadow:var(--shadow-1)}.card__body{position:relative;z-index:1;padding:18px 18px 20px;display:flex;flex-direction:column;gap:12px;flex:1 1 auto}.card__top{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.card__title{margin:0;font-size:18px;letter-spacing:-.02em;font-weight:800;line-height:1.25;color:var(--text)}.card__links{display:flex;gap:10px;align-items:center;flex-shrink:0}.card__link{color:var(--text-dim);text-decoration:none;font-weight:800;font-size:13px;background:transparent;border:none;padding:4px 6px;border-radius:6px;cursor:pointer;font-family:inherit;transition:color .14s ease,background .14s ease}.card__link:hover{color:var(--text);background:var(--surface-4)}.card__desc{margin:0;color:var(--text-soft);line-height:1.65;font-size:14.2px}.card__stack{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;background:var(--surface-4);border-radius:var(--radius-md);border:1px solid var(--border-soft)}.card__stackLabel{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-weight:800}.card__stackList{display:flex;flex-wrap:wrap;gap:6px}.mini-pill{padding:4px 8px;border-radius:6px;background:var(--bg-3);border:1px solid var(--border);color:var(--text-soft);font-family:var(--font-mono);font-size:11.5px;font-weight:600}.card__bullets{margin:0;padding:0;list-style:none;display:grid;gap:6px}.card__bullets li{display:flex;gap:9px;color:var(--text-soft);font-size:13.2px;line-height:1.55}.card__bulletCheck{color:#31d0aa;font-weight:900;flex-shrink:0;margin-top:1px}.card__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:4px}.timeline{display:grid;gap:14px;position:relative}.timeline__item{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start}.timeline__rail{position:relative;width:40px;display:flex;flex-direction:column;align-items:center;padding-top:18px}.timeline__dot{width:14px;height:14px;border-radius:999px;background:var(--grad-primary);box-shadow:0 0 0 4px #7c5cff2e,0 0 24px -6px #7c5cffb3;flex-shrink:0;position:relative;z-index:2}.timeline__bar{flex:1;width:2px;margin-top:6px;background:linear-gradient(180deg,#7c5cff59,#7c5cff05);border-radius:2px}.timeline__item:last-child .timeline__bar{display:none}.timeline__content{padding:18px 20px 20px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .22s ease,background .22s ease,box-shadow .22s ease}.timeline__content:hover{transform:translate(4px);border-color:#7c5cff4d;background:var(--surface-3);box-shadow:var(--shadow-1)}.timeline__top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:2px}.timeline__role{font-weight:900;font-size:16.5px;letter-spacing:-.015em;color:var(--text)}.timeline__period{font-family:var(--font-mono);font-size:12px;color:var(--muted);font-weight:700;padding:4px 10px;background:var(--surface-4);border-radius:999px;border:1px solid var(--border-soft);white-space:nowrap}.timeline__company{color:#b29aff;font-weight:700;font-size:14px;margin-top:4px}.timeline__summary{margin-top:10px;color:var(--text-soft);line-height:1.7;font-size:14.5px}.bullets{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:var(--text-soft);line-height:1.65;font-size:14px}.bullets__item{display:flex;gap:10px}.bullets__marker{color:#7c5cff;font-weight:900;flex-shrink:0;margin-top:-1px;font-size:15px}.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.contact__panel{display:grid;gap:0;align-content:start}.contact__row{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--border-soft)}.contact__row:first-of-type{margin-top:22px}.contact__row:last-child{border-bottom:none}.contact__label{font-weight:800;color:var(--muted);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;padding-top:4px}.contact__inline{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.contact__text{color:var(--text);font-weight:800;font-family:var(--font-mono);font-size:14px}.contact__action{border-radius:8px;border:1px solid var(--border);background:var(--surface-4);color:var(--text);padding:6px 11px;font-weight:700;font-size:12px;cursor:pointer;font-family:inherit;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.contact__action:hover{background:var(--surface-3);border-color:#7c5cff73;color:#b29aff;transform:translateY(-1px)}.contact__avail{display:inline-flex;align-items:center;gap:9px;color:var(--text-soft);font-weight:700;font-size:14px}.avail-dot{width:9px;height:9px;border-radius:999px;background:#31d0aa;box-shadow:0 0 0 3px #31d0aa33;animation:pulseDot 1.8s ease-in-out infinite}.contact__value{color:var(--text);font-size:14.5px}.contact__links{display:flex;flex-wrap:wrap;gap:10px}.contact__actionLink{background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:7px 13px;color:var(--text);font-weight:800;font-size:12.5px;cursor:pointer;font-family:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.contact__actionLink:hover{background:var(--surface-4);border-color:#7c5cff73;transform:translateY(-1px);color:#b29aff}.contact__cta{display:grid;align-content:start;gap:12px;background:var(--grad-card-1),var(--surface-2);border-color:#7c5cff40}.form{display:grid;gap:12px;margin-top:4px}.field{display:grid;gap:6px}.field__label{font-weight:800;color:var(--muted);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}.input,.textarea{width:100%;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-3);padding:12px 14px;font-family:inherit;color:var(--text);outline:none;font-size:14.5px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input::placeholder,.textarea::placeholder{color:#949ec073}.textarea{resize:vertical;min-height:120px}.input:focus,.textarea:focus{border-color:#7c5cff99;box-shadow:0 0 0 4px #7c5cff2e;background:var(--surface-4)}.form__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:4px}.muted{color:var(--muted);font-weight:700}.footer{position:relative;z-index:1;width:min(1180px,calc(100% - 48px));margin:40px auto 0;padding:28px 0 48px;border-top:1px solid var(--border-soft)}.footer__inner{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px}.footer__name{font-weight:800;letter-spacing:-.01em;color:var(--text)}@keyframes rise{0%{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:translateZ(0)}}.chip:focus-visible,.card__link:focus-visible,.contact__action:focus-visible,.contact__actionLink:focus-visible,.pill:focus-visible,.stack-chip:focus-visible{outline:none;box-shadow:0 0 0 3px #7c5cff66;border-color:#7c5cff99}@media(max-width:1040px){.hero{grid-template-columns:1fr}.hero__rail{position:static}.skills-card,.skills-card:nth-child(4),.skills-card:nth-child(5){grid-column:span 6}.card{grid-column:span 12}.contact{grid-template-columns:1fr}}@media(max-width:720px){.topbar{padding:14px 16px}.main{width:min(100% - 32px,1180px);padding-top:36px}.footer{width:min(100% - 32px,1180px)}.nav__link{padding:8px 10px;font-size:13px}.nav__link--cta{padding:8px 13px}.brand__handle{display:none}.hero__stats{grid-template-columns:1fr 1fr}.skills-card,.skills-card:nth-child(4),.skills-card:nth-child(5){grid-column:span 12}.service-card{grid-column:span 12}.contact__row{grid-template-columns:1fr;gap:4px;padding:12px 0}.contact__row:first-of-type{margin-top:18px}.contact__label{padding-top:0}.timeline__item{grid-template-columns:28px 1fr;gap:8px}.timeline__rail{width:28px;padding-top:16px}.code-card__code{font-size:12.5px;padding:16px}}@media(max-width:520px){.nav{gap:4px}.nav__link{padding:8px 7px;font-size:12.5px}.hero__title{font-size:clamp(36px,10vw,48px)}.card__media{aspect-ratio:4 / 3}.btn{width:100%}.section{margin-top:48px}.hero__actions{margin-top:22px}}@media(prefers-reduced-motion:reduce){.glow,.hero__badgeDot,.avail-dot{animation:none}.card:hover .card__image{transform:none}.card:hover,.service-card:hover,.skills-card:hover,.timeline__content:hover,.stat-card:hover,.btn:hover:not(:disabled),.chip:hover,.contact__actionLink:hover,.contact__action:hover,.pill:hover,.stack-chip:hover{transform:none}.btn--primary:before{transition:none}.hero,.hero__rail,.notice{animation:none;opacity:1;transform:none}}
