@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Syne:wght@500;600;700;800&display=swap);:root{--color-bg:#eef4fc;--color-bg-warm:#e2ebf6;--color-surface:#fff;--color-text:#0f2744;--color-text-secondary:#3d5a80;--color-text-muted:#7b93b0;--color-accent:#2f6fd4;--color-accent-hover:#1d4eb8;--color-accent-light:#9dc4f8;--color-accent-soft:#2f6fd424;--color-border:#c5d7eb;--color-border-light:#dce8f4;--color-dark:#0c1929;--color-dark-text:#e8f1fc;--font-serif:Georgia,"Times New Roman",serif;--font-display:"Syne",system-ui,-apple-system,sans-serif;--fun-mint:#0d9488;--fun-mint-soft:#0d94882e;--fun-coral:#f472b6;--fun-coral-soft:#f472b624;--gradient-cta:linear-gradient(125deg,#0d9488,#2f6fd4 45%,#6366f1);--gradient-cta-hover:linear-gradient(125deg,#0f766e,#1d4eb8 50%,#4f46e5);--gradient-hero-mesh:radial-gradient(ellipse 100% 85% at 100% -10%,#2f6fd438,#0000 52%),radial-gradient(ellipse 75% 55% at -5% 105%,#0d948833,#0000 55%),radial-gradient(ellipse 45% 35% at 92% 72%,#f472b61f,#0000 50%);--shadow-sm:0 1px 3px #0f274412;--shadow-md:0 4px 18px #0f27441a;--shadow-lg:0 14px 42px #0f274424;--shadow-glow-mint:0 8px 32px #0d948838;--shadow-glow-blue:0 10px 36px #2f6fd447;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:28px;--project-design-accent:#6239a8;--project-design-softbg:#6239a81f;--project-design-border:#6239a859}@keyframes fun-blob-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(12px,-8px) scale(1.03)}66%{transform:translate(-10px,10px) scale(.98)}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#eef4fc;background-color:var(--color-bg);color:#0f2744;color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.65;min-height:100vh;position:relative}body:before{background:radial-gradient(ellipse 100% 85% at 100% -10%,#2f6fd438,#0000 52%),radial-gradient(ellipse 75% 55% at -5% 105%,#0d948833,#0000 55%),radial-gradient(ellipse 45% 35% at 92% 72%,#f472b61f,#0000 50%),linear-gradient(165deg,#eef4fc,#e6f0fb 35%,#ecf4fd 70%,#f2f7fd);background:var(--gradient-hero-mesh),linear-gradient(165deg,#eef4fc 0,#e6f0fb 35%,#ecf4fd 70%,#f2f7fd 100%);content:"";inset:0;pointer-events:none;position:fixed;z-index:-1}.container{margin:0 auto;max-width:1100px;padding:0 24px}@media (max-width:768px){.container{padding:0 16px}}.navbar{backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);background:#ffffffc7;border-bottom:1px solid #c5d7eba6;box-shadow:inset 0 1px 0 #ffffffd9;padding:1.1rem 0;position:fixed;top:0;width:100%;z-index:1000}.navbar:after{background:linear-gradient(90deg,#0d9488,#2f6fd4,#f472b6);background:linear-gradient(90deg,var(--fun-mint),var(--color-accent),var(--fun-coral));bottom:0;content:"";height:3px;left:0;opacity:.55;pointer-events:none;position:absolute;right:0}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1100px;padding:0 24px}.nav-logo a{background:linear-gradient(120deg,#0f2744,#2f6fd4 55%,#0d9488);background:linear-gradient(120deg,var(--color-text) 0,var(--color-accent) 55%,var(--fun-mint) 100%);-webkit-background-clip:text;background-clip:text;color:#0f2744;color:var(--color-text);color:#0000;font-family:Syne,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:-.02em;text-decoration:none}.nav-menu{display:flex;gap:2rem;list-style:none}.nav-menu a{color:#3d5a80;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;letter-spacing:.01em;padding:.25rem 0;position:relative;text-decoration:none;transition:color .2s ease}.nav-menu a:hover{color:#2f6fd4;color:var(--color-accent)}.nav-menu a:after{background:linear-gradient(90deg,#0d9488,#2f6fd4);background:linear-gradient(90deg,var(--fun-mint),var(--color-accent));border-radius:2px;bottom:0;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:center;transition:transform .22s ease}.nav-menu a:hover:after{transform:scaleX(1)}.hamburger{cursor:pointer;display:none;flex-direction:column;transition:all .3s ease}.hamburger.active span:first-child{background-color:#2f6fd4;background-color:var(--color-accent);transform:rotate(-45deg) translate(-5px,6px)}.hamburger.active span:nth-child(2){opacity:0;transform:scale(0)}.hamburger.active span:nth-child(3){background-color:#2f6fd4;background-color:var(--color-accent);transform:rotate(45deg) translate(-5px,-6px)}.hamburger span{background-color:#0f2744;background-color:var(--color-text);border-radius:3px;height:3px;margin:3px 0;opacity:.75;width:25px}.hero{align-items:center;background:#0000;border-bottom:none;color:#0f2744;color:var(--color-text);display:flex;min-height:100vh;overflow:hidden;padding:calc(2rem + 92px) 0 2rem;position:relative}.hero:before{background:radial-gradient(circle,#9dc4f880 0,#6394d633 48%,#0000 68%);height:min(380px,55vw);right:2%;top:12%;width:min(380px,55vw)}.hero:after,.hero:before{border-radius:50%;content:"";pointer-events:none;position:absolute;z-index:0}.hero:after{background:radial-gradient(circle,#0d948838 0,#f472b61f 42%,#0000 65%);bottom:-8%;height:min(420px,70vw);left:-6%;width:min(420px,70vw)}@media (prefers-reduced-motion:no-preference){.hero:after{animation:fun-blob-float 16s ease-in-out infinite}}@media (max-width:768px){.hero{min-height:auto;padding-bottom:4rem;padding-top:calc(1rem + 78px)}.hero:before{height:220px;opacity:.85;right:-12%;top:8%;width:220px}.hero:after{bottom:-18%;height:280px;left:-25%;opacity:.75;width:280px}}.hero-container{grid-gap:5rem;align-items:center;display:grid;gap:5rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1100px;padding:0 24px;position:relative;z-index:1}@media (max-width:900px){.hero-container{gap:3rem}}.hero-content{text-align:left}@media (max-width:768px){.hero-container{gap:2.5rem;grid-template-columns:1fr;padding:0 16px}.hero-container,.hero-content{text-align:center}}.hero-content h1{background:linear-gradient(115deg,#0f2744,#1a4a7a 38%,#2f6fd4 62%,#0d9488);background:linear-gradient(115deg,var(--color-text) 0,#1a4a7a 38%,var(--color-accent) 62%,var(--fun-mint) 100%);-webkit-background-clip:text;background-clip:text;color:#0000;font-family:Syne,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:clamp(2.35rem,5.5vw,3.85rem);font-weight:800;letter-spacing:-.045em;line-height:1.05;margin-bottom:.5rem}.hero-rule{background:linear-gradient(90deg,#0d9488,#2f6fd4,#f472b6);background:linear-gradient(90deg,var(--fun-mint),var(--color-accent),var(--fun-coral));border-radius:999px;box-shadow:0 2px 12px #2f6fd440;height:4px;margin-bottom:1.75rem;width:56px}@media (max-width:768px){.hero-rule{margin-left:auto;margin-right:auto}}.hero-content h2{font-family:Syne,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:1.08rem;font-weight:600;letter-spacing:.02em;margin-bottom:1.25rem}.hero-content h2,.hero-content p{color:#3d5a80;color:var(--color-text-secondary)}.hero-content p{font-size:1.05rem;line-height:1.8;margin-bottom:2.5rem;max-width:560px}@media (max-width:768px){.hero-content p{margin-left:auto;margin-right:auto;max-width:100%}}.hero-buttons{display:flex;flex-wrap:wrap;gap:.75rem}@media (max-width:768px){.hero-buttons{justify-content:center}}.btn{border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-block;font-size:.95rem;font-weight:500;letter-spacing:.01em;padding:11px 24px;text-decoration:none;transition:all .2s ease}.btn-primary{background:linear-gradient(125deg,#0d9488,#2f6fd4 45%,#6366f1);background:var(--gradient-cta);border:none;border-radius:999px;box-shadow:0 4px 16px #2f6fd459;color:#fff;font-weight:600}.btn-primary:hover{background:linear-gradient(125deg,#0f766e,#1d4eb8 50%,#4f46e5);background:var(--gradient-cta-hover);box-shadow:0 10px 36px #2f6fd447;box-shadow:var(--shadow-glow-blue);transform:translateY(-2px) scale(1.02)}.btn-secondary{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff8c;border:1.5px solid #c5d7ebe6;border-radius:999px}.btn-secondary,.btn-secondary:hover{color:#0f2744;color:var(--color-text)}.btn-secondary:hover{background:#ffffffd9;border-color:#0d9488;border-color:var(--fun-mint);box-shadow:0 4px 18px #0d94882e;box-shadow:0 4px 18px var(--fun-mint-soft);transform:translateY(-2px)}@keyframes profile-ring-cw{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes profile-ring-ccw{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}@keyframes profile-glow-pulse{0%,to{opacity:.38;transform:scale(1)}50%{opacity:.62;transform:scale(1.06)}}.hero-image,.profile-image-shell{align-items:center;display:flex;justify-content:center}.profile-image-shell{aspect-ratio:1;flex-shrink:0;max-width:100%;position:relative;width:min(340px,100%)}.profile-image-glow{animation:profile-glow-pulse 4.5s ease-in-out infinite;background:radial-gradient(circle,#9dc4f880 0,#6394d62e 45%,#0000 70%);inset:-22px;z-index:0}.profile-image-glow,.profile-image-ring{border-radius:50%;pointer-events:none;position:absolute}.profile-image-ring{z-index:1}.profile-image-ring--outer{animation:profile-ring-cw 20s linear infinite;border:1.5px dashed #9dc4f8;border:1.5px dashed var(--color-accent-light);inset:-16px;opacity:.75}.profile-image-ring--inner{animation:profile-ring-ccw 14s linear infinite;border:1px dashed #c5d7eb;border:1px dashed var(--color-border);inset:-8px;opacity:.9}.profile-image{border:3px solid #c5d7eb;border:3px solid var(--color-border);border-radius:50%;box-shadow:0 14px 42px #0f274424;box-shadow:var(--shadow-lg);height:100%;object-fit:cover;position:relative;transition:transform .3s ease,box-shadow .3s ease;width:100%;z-index:2}.profile-image:hover{box-shadow:0 20px 50px #0f27442e;transform:scale(1.03)}@media (max-width:768px){.profile-image-shell{width:min(240px,100%)}.profile-image-glow{inset:-18px}.profile-image-ring--outer{inset:-12px}.profile-image-ring--inner{inset:-6px}}@media (max-width:480px){.profile-image-shell{width:min(200px,100%)}.profile-image-glow{inset:-14px}.profile-image-ring--outer{inset:-10px}}@media (prefers-reduced-motion:reduce){.profile-image-glow,.profile-image-ring--inner,.profile-image-ring--outer{animation:none}.profile-image-glow{opacity:.45;transform:none}.hero:after{animation:none}.skill-item:hover{transform:translateY(-2px)}}.about{background-color:#eef4fc;background-color:var(--color-bg);padding:88px 0}@media (max-width:768px){.about{padding:64px 0}}.section-title{color:#0f2744;color:var(--color-text);font-family:Syne,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:clamp(1.85rem,4vw,2.55rem);font-weight:700;letter-spacing:-.03em;margin-bottom:.75rem;text-align:center}.section-subtitle{color:#3d5a80;color:var(--color-text-secondary);font-size:1.05rem;line-height:1.7;margin:0 auto 3.5rem;max-width:560px;text-align:center}.about .section-title{margin-bottom:.75rem}.contact .section-title{margin-bottom:3rem}.about-content{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:2fr 1fr}.about-text p{color:#3d5a80;color:var(--color-text-secondary);font-size:1.08rem;line-height:1.85;margin-bottom:1.5rem}.skills h3{color:#0f2744;color:var(--color-text);font-family:Syne,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:1.35rem;font-weight:700;margin-bottom:1.5rem}.skills-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.skill-item{background-color:#ffffffd1;border:1px solid #c5d7eba6;border-radius:14px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0f274412;box-shadow:var(--shadow-sm);color:#3d5a80;color:var(--color-text-secondary);font-weight:500;padding:1rem;text-align:center;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.skill-item:hover{border-color:#2f6fd473;box-shadow:0 10px 28px #2f6fd41f,0 0 0 1px #0d948826;transform:translateY(-3px) rotate(-.5deg)}.highlights-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:2.5rem}@media (max-width:900px){.highlights-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.highlights-grid{grid-template-columns:1fr}}.highlight-card{background:#ffffffe0;border:1px solid #c5d7ebb3;border-radius:22px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0f274412;box-shadow:var(--shadow-sm);padding:1.15rem 1rem;text-align:center;transition:transform .28s ease,box-shadow .28s ease}.highlight-card:hover{box-shadow:0 14px 36px #2f6fd424,0 0 0 1px #f472b61f;transform:translateY(-4px)}.highlight-stat{color:#2f6fd4;color:var(--color-accent);display:block;font-size:1.65rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}.highlight-label{color:#0f2744;color:var(--color-text);display:block;font-size:.9rem;font-weight:600;margin-top:.35rem}.highlight-context{color:#7b93b0;color:var(--color-text-muted);display:block;font-size:.78rem;line-height:1.35;margin-top:.35rem}.experience-section{background:#e2ebf6;background:var(--color-bg-warm);padding:88px 0}@media (max-width:768px){.experience-section{padding:64px 0}}.experience-section__eyebrow{background:linear-gradient(90deg,#0d9488,#2f6fd4);background:linear-gradient(90deg,var(--fun-mint),var(--color-accent));-webkit-background-clip:text;background-clip:text;color:#0000;font-family:Syne,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.16em;margin:0 0 .35rem;text-transform:uppercase}.experience-section .section-title{margin-bottom:.75rem}.experience-rail{margin-top:1.5rem}.experience-rail__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:space-between;margin-bottom:1.125rem}.experience-rail__hint{color:#7b93b0;color:var(--color-text-muted);font-size:.9rem;margin:0}.experience-rail__arrows{display:flex;gap:.5rem}.experience-rail__btn{align-items:center;background:#ffffffe6;border:1px solid #c5d7ebd9;border-radius:999px;box-shadow:0 1px 3px #0f274412;box-shadow:var(--shadow-sm);color:#0f2744;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:1rem;height:2.5rem;justify-content:center;line-height:1;min-width:2.5rem;padding:0 .65rem;transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.experience-rail__btn:hover{background:#2f6fd424;background:var(--color-accent-soft);border-color:#2f6fd4;border-color:var(--color-accent);box-shadow:0 6px 20px #2f6fd42e;color:#2f6fd4;color:var(--color-accent);transform:scale(1.06)}.experience-rail__btn:focus-visible{outline:2px solid #2f6fd4;outline:2px solid var(--color-accent);outline-offset:2px}.experience-scroll{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;gap:1.25rem;margin:0;max-width:100%;overflow-x:auto;overflow-y:visible;padding:.25rem 0 .875rem;scroll-padding-inline:0;scroll-snap-type:x mandatory;scrollbar-color:#c5d7eb #0000;scrollbar-color:var(--color-border) #0000;scrollbar-width:thin;width:100%}.experience-scroll:focus-visible{outline:2px solid #2f6fd4;outline:2px solid var(--color-accent);outline-offset:4px}@media (max-width:768px){.experience-card{max-width:min(440px,calc(100vw - 32px))}}@media (max-width:380px){.experience-card__shell{flex:1 1 auto;flex-direction:column;min-height:0}.experience-card__index{align-self:flex-start;padding-top:0}.experience-card__main{border-left:none;border-top:2px solid #2f6fd424;border-top:2px solid var(--color-accent-soft);display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding-left:0;padding-top:.75rem}}@media (prefers-reduced-motion:reduce){.experience-scroll{scroll-snap-type:none}}.experience-scroll::-webkit-scrollbar{height:7px}.experience-scroll::-webkit-scrollbar-track{background:#0000}.experience-scroll::-webkit-scrollbar-thumb{background:#c5d7eb;background:var(--color-border);border-radius:999px}.experience-card{background:#fff;background:var(--color-surface);border:1px solid #c5d7eb;border:1px solid var(--color-border);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0f274412;box-shadow:var(--shadow-sm);display:flex;flex:0 0 auto;flex-direction:column;max-width:min(440px,calc(100vw - 48px));min-height:0;padding:1.35rem 1.2rem 1.4rem;scroll-snap-align:start;scroll-snap-stop:always;width:min(440px,100%)}.experience-card__shell{align-items:stretch;display:flex;flex:1 1 auto;gap:.75rem;min-height:0}.experience-card__index{align-self:flex-start;color:#7b93b0;color:var(--color-text-muted);flex-shrink:0;font-family:Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:1.45rem;font-weight:400;line-height:1;min-width:1.65rem;opacity:.5;padding-top:.2rem}.experience-card__main{border-left:2px solid #2f6fd424;border-left:2px solid var(--color-accent-soft);display:flex;flex:1 1 auto;flex-direction:column;min-height:0;min-width:0;padding-left:1rem}.experience-card__header{flex-shrink:0;margin-bottom:.75rem}.experience-card__focus{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:.45rem 0 .55rem;padding:0}.experience-card__focus li{background:#2f6fd424;background:var(--color-accent-soft);border-radius:999px;color:#2f6fd4;color:var(--color-accent);font-size:.6875rem;font-weight:600;letter-spacing:.05em;line-height:1.2;padding:.22rem .55rem;text-transform:uppercase}.experience-card__body{flex:1 1 auto;margin-top:.15rem;min-height:0}.experience-card__role{color:#0f2744;color:var(--color-text);font-size:1.15rem;font-weight:600;margin-bottom:.25rem}.experience-card__company{color:#2f6fd4;color:var(--color-accent);font-size:1rem;font-weight:500}.experience-card__meta{color:#7b93b0;color:var(--color-text-muted);font-size:.9rem;margin-top:.35rem}.experience-card__body ul{color:#3d5a80;color:var(--color-text-secondary);font-size:.95rem;line-height:1.65;margin:0;padding-left:1.15rem}.experience-card__body li+li{margin-top:.45rem}.experience-card__tools{border-top:1px solid #dce8f4;border-top:1px solid var(--color-border-light);flex-shrink:0;margin-top:auto;padding-bottom:.1rem;padding-top:.9rem}.experience-card__tools-label{color:#7b93b0;color:var(--color-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.06em;margin-bottom:.5rem;text-transform:uppercase}.experience-card__tool-pills{display:flex;flex-wrap:wrap;gap:.4rem}.credentials-section{background:linear-gradient(180deg,#ffffff59,#eef4fc 18%,#eef4fc);background:linear-gradient(180deg,#ffffff59 0,var(--color-bg) 18%,var(--color-bg) 100%);padding:88px 0}@media (max-width:768px){.credentials-section{padding:64px 0}}.credentials-section .section-title{margin-bottom:.75rem}.edu-block-title{color:#0f2744;color:var(--color-text);font-family:Syne,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin:0 0 1rem;text-align:left}.credentials-layout{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 1.2fr;margin-bottom:3.5rem}@media (max-width:900px){.credentials-layout{grid-template-columns:1fr}}.education-list{display:flex;flex-direction:column;gap:1rem}.edu-card{background:#fff;background:var(--color-surface);border:1px solid #c5d7eb;border:1px solid var(--color-border);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0f274412;box-shadow:var(--shadow-sm);padding:1.15rem 1.25rem}.edu-card h3{color:#0f2744;color:var(--color-text);font-family:Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:1.1rem;font-weight:400;margin-bottom:.35rem}.edu-card p{color:#3d5a80;color:var(--color-text-secondary);font-size:.95rem;line-height:1.55;margin:0}.edu-card .edu-location{color:#7b93b0;color:var(--color-text-muted);font-size:.85rem;margin-bottom:.35rem}.tool-categories{display:flex;flex-direction:column;gap:1.25rem}.tool-category h4{color:#7b93b0;color:var(--color-text-muted);font-size:.8rem;font-weight:600;letter-spacing:.06em;margin-bottom:.65rem;text-transform:uppercase}.tag-pill{background:#e2ebf6;background:var(--color-bg-warm);border:1px solid #c5d7eb;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-sm);color:#3d5a80;color:var(--color-text-secondary);display:inline-block;font-size:.82rem;font-weight:500;margin:0 .4rem .4rem 0;padding:.35rem .65rem}.subsection-title{color:#0f2744;color:var(--color-text);font-family:Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:1.65rem;font-weight:400;margin:0 0 1.5rem;text-align:center}.community-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}@media (max-width:768px){.community-grid{grid-template-columns:1fr}}.community-card{background:#ffffffe6;border:1px solid #c5d7ebbf;border-radius:22px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0f274412;box-shadow:var(--shadow-sm);padding:1.35rem 1.25rem;transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease}.community-card:hover{border-color:#2f6fd447;box-shadow:0 12px 32px #2f6fd41f;transform:translateY(-3px)}.community-card h3{color:#0f2744;color:var(--color-text);font-family:Syne,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:1.05rem;font-weight:700;margin-bottom:.25rem}.community-card__meta{color:#2f6fd4;color:var(--color-accent);font-size:.85rem;font-weight:500;margin-bottom:.65rem}.community-card p{color:#3d5a80;color:var(--color-text-secondary);font-size:.92rem;line-height:1.65;margin:0 0 .85rem}.community-card__link{color:#2f6fd4;color:var(--color-accent);font-size:.88rem;font-weight:600;text-decoration:none}.community-card__link:hover{color:#1d4eb8;color:var(--color-accent-hover);text-decoration:underline}.portfolio{overflow:visible;padding:88px 0}@media (max-width:768px){.portfolio{padding:64px 0}}.portfolio-clusters{display:flex;flex-direction:column;gap:1.75rem;margin:0 auto;max-width:1100px;padding:0 24px}@media (max-width:768px){.portfolio-clusters{gap:1.5rem;padding:0 16px}}.portfolio-cluster__shell{background:#fff;background:var(--color-surface);border:1px solid #c5d7eb;border:1px solid var(--color-border);border-radius:22px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0f274412;box-shadow:var(--shadow-sm);overflow:visible}.portfolio-cluster__header{background:linear-gradient(180deg,#eef4fca6,#fff);background:linear-gradient(180deg,#eef4fca6 0,var(--color-surface) 100%);border-bottom:1px solid #dce8f4;border-bottom:1px solid var(--color-border-light);border-radius:22px 22px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;padding:1.35rem 1.5rem 1.15rem}.portfolio-cluster__title-row{align-items:center;display:flex;gap:.65rem;margin-bottom:.35rem}.portfolio-cluster__marker{background:#2f6fd4;background:var(--color-accent);border-radius:999px;flex-shrink:0;height:1.35rem;width:4px}.portfolio-cluster--design .portfolio-cluster__marker{background:#6239a8;background:var(--project-design-accent)}.portfolio-cluster__title{color:#0f2744;color:var(--color-text);font-family:Syne,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.03em;line-height:1.25;margin:0}.portfolio-cluster__hint{color:#3d5a80;color:var(--color-text-secondary);font-size:.875rem;line-height:1.5;margin:0;max-width:36rem;padding-left:calc(4px + .65rem)}.portfolio-cluster__scroll{-webkit-overflow-scrolling:touch;background:#fff;background:var(--color-surface);border-radius:0 0 22px 22px;border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow-x:auto;padding:12px 0 20px;scroll-padding-inline:1.5rem;scroll-snap-type:x mandatory;scrollbar-color:#2f6fd44d #e2ebf6;scrollbar-color:#2f6fd44d var(--color-bg-warm);scrollbar-width:thin}.portfolio-cluster__scroll::-webkit-scrollbar{height:6px}.portfolio-cluster__scroll::-webkit-scrollbar-track{background:#e2ebf6;background:var(--color-bg-warm);border-radius:3px}.portfolio-cluster__scroll::-webkit-scrollbar-thumb{background:#2f6fd44d;border-radius:3px}.portfolio-cluster__scroll::-webkit-scrollbar-thumb:hover{background:#2f6fd473}.portfolio-grid{align-items:stretch;box-sizing:border-box;display:flex;gap:1.25rem;justify-content:flex-start;min-width:min-content;padding:0 1.5rem}.portfolio-cluster__scroll--fit{overflow-x:visible;scroll-snap-type:none}.portfolio-grid--balanced{grid-gap:1.25rem;align-items:stretch;display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;width:100%}.portfolio-grid--balanced:has(>:only-child){grid-template-columns:minmax(0,1fr);margin-inline:auto;max-width:28rem}.portfolio-grid--balanced .project-card{max-width:none;scroll-snap-align:unset;width:100%}.portfolio-grid--balanced .project-image{height:158px;min-height:158px}.portfolio-grid--balanced .project-image img{min-height:158px}@media (max-width:640px){.portfolio-grid--balanced{grid-template-columns:1fr}.portfolio-grid--balanced:has(>:only-child){margin-inline:0;max-width:none}}.project-card{background-color:#fff;background-color:var(--color-surface);border:none;border-radius:14px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0f274412;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;flex-shrink:0;min-height:min-content;overflow:visible;position:relative;scroll-snap-align:start;transition:transform .25s ease,box-shadow .25s ease;width:clamp(260px,72vw,320px);z-index:0}.project-card:hover{box-shadow:0 4px 18px #0f27441a;box-shadow:var(--shadow-md);z-index:1}.project-image{align-items:stretch;background:#e2ebf6;background:var(--color-bg-warm);border-radius:14px 14px 0 0;border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;flex-shrink:0;height:140px;justify-content:stretch;min-height:140px;overflow:hidden}.project-image img{display:block;flex:1 1 auto;height:100%;min-height:140px;object-fit:cover;object-position:center;width:100%}.project-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:min-content;padding:1.1rem 1.15rem 1.2rem}.project-content h3{color:#0f2744;color:var(--color-text);font-size:1.1rem;font-weight:600;line-height:1.3;margin-bottom:.35rem}.project-role{color:#2f6fd4;color:var(--color-accent);font-size:.8125rem;font-weight:500;line-height:1.4;margin-bottom:.65rem}.project-card--design .project-role{color:#6239a8;color:var(--project-design-accent)}.project-desc{color:#3d5a80;color:var(--color-text-secondary);font-size:.8125rem;line-height:1.55;margin:0 0 .85rem}.project-stats{grid-gap:.45rem;display:grid;flex-shrink:0;gap:.45rem;grid-template-columns:repeat(3,1fr);margin-bottom:0}.stat{background-color:#eef4fc;background-color:var(--color-bg);border:none;border-radius:8px;border-radius:var(--radius-sm);padding:.45rem .35rem;text-align:center}.stat-number{color:#0f2744;color:var(--color-text);display:block;font-size:1.05rem;font-weight:700}.project-card--frontend .stat-number{color:#2f6fd4;color:var(--color-accent)}.project-card--design .stat-number{color:#6239a8;color:var(--project-design-accent)}.stat-label{color:#7b93b0;color:var(--color-text-muted);font-size:.65rem;font-weight:500;line-height:1.25}.project-actions{margin-top:auto;padding-top:1.1rem;text-align:center}.project-actions .btn{text-align:center;width:100%}.contact{background:linear-gradient(165deg,#e2ebf6f2,#eef4fcfa 40%,#dcf2ef59);overflow:hidden;padding:88px 0;position:relative}.contact:before{background:radial-gradient(circle,#2f6fd41f 0,#0000 65%);border-radius:50%;content:"";height:min(480px,90vw);pointer-events:none;position:absolute;right:-15%;top:-30%;width:min(480px,90vw)}@media (max-width:768px){.contact{padding:64px 0}}.contact-content{grid-gap:4rem;display:grid;gap:4rem;grid-template-columns:1fr 1fr;position:relative;z-index:1}.contact-info h3{color:#0f2744;color:var(--color-text);font-family:Syne,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:1.65rem;font-weight:700;margin-bottom:1rem}.contact-info p{color:#3d5a80;color:var(--color-text-secondary);font-size:1.05rem;line-height:1.65;margin-bottom:2rem}.contact-details{display:flex;flex-direction:column;gap:1rem}.contact-item{align-items:center;display:flex;font-size:1.1rem;gap:1rem}.contact-item a{color:#2f6fd4;color:var(--color-accent);font-weight:500;text-decoration:none}.contact-item a:hover{color:#1d4eb8;color:var(--color-accent-hover);text-decoration:underline}.contact-icon{font-size:1.2rem}.social-links h3{color:#0f2744;color:var(--color-text);font-family:Syne,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:1.65rem;font-weight:700;margin-bottom:1.5rem}.social-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.social-link{align-items:center;background-color:#ffffffeb;border:1px solid #c5d7ebbf;border-radius:14px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0f274412;box-shadow:var(--shadow-sm);color:#0f2744;color:var(--color-text);display:flex;font-weight:500;gap:1rem;padding:1rem;text-decoration:none;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.social-link:hover{border-color:#2f6fd459;box-shadow:0 12px 32px #2f6fd41f;transform:translateY(-3px)}.social-link img{height:24px;width:24px}.footer{background:linear-gradient(180deg,#132a45,#0c1929 45%,#0a1524);background:linear-gradient(180deg,#132a45 0,var(--color-dark) 45%,#0a1524 100%);border-top:none;color:#e8f1fc;color:var(--color-dark-text);font-size:.95rem;padding:2.25rem 0;position:relative;text-align:center}.footer:before{background:linear-gradient(90deg,#0d9488,#2f6fd4,#f472b6);background:linear-gradient(90deg,var(--fun-mint),var(--color-accent),var(--fun-coral));content:"";height:3px;left:0;opacity:.85;pointer-events:none;position:absolute;right:0;top:0}@media (max-width:768px){.nav-menu{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#eef4fc;background:var(--color-bg);border-top:1px solid #c5d7eb;border-top:1px solid var(--color-border);box-shadow:0 4px 18px #0f27441a;box-shadow:var(--shadow-md);flex-direction:column;left:-100%;padding:2rem 0;position:fixed;text-align:center;top:70px;transition:all .3s ease;width:100%}.nav-menu.active{animation:slideIn .3s ease-out;left:0}@keyframes slideIn{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.nav-menu a{border-radius:8px;border-radius:var(--radius-sm);color:#3d5a80;color:var(--color-text-secondary);margin:.5rem 1rem;padding:1rem 2rem}.nav-menu a:hover{color:#0f2744;color:var(--color-text)}.hamburger{display:flex}.hero-container{gap:2rem;grid-template-columns:1fr;text-align:center}.hero-content h1{font-size:2.5rem}.hero-content h2{font-size:1.5rem}.about-content{gap:2rem}.about-content,.skills-grid{grid-template-columns:1fr}.portfolio-grid{gap:1rem;padding:0 1rem}.portfolio-cluster__scroll{padding:10px 0 18px;scroll-padding-inline:1rem}.portfolio-cluster__header{padding:1.15rem 1.15rem 1rem}.portfolio-cluster__hint{font-size:.8125rem;padding-left:calc(4px + .55rem)}.contact-content{gap:2rem}.contact-content,.social-grid{grid-template-columns:1fr}.hero-buttons{justify-content:center}.project-stats{grid-template-columns:1fr}}@media (max-width:480px){.container{padding:0 15px}.hero-content h1,.section-title{font-size:2rem}.project-content{padding:1.5rem}}.case-study-page{background:var(--color-bg);min-height:100vh}.case-study-page .back-button{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid var(--color-border);border-radius:9999px;box-shadow:var(--shadow-sm);color:var(--color-text);font-size:.9rem;font-weight:600;left:20px;padding:.65rem 1.25rem;position:fixed;text-decoration:none;top:20px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;z-index:1000}.case-study-page .back-button:hover{background:var(--color-surface);box-shadow:var(--shadow-md);transform:translateY(-2px)}.case-study-page .project-hero{align-items:center;display:flex;min-height:100vh;position:relative}.case-study-page--light .project-hero{background:var(--color-bg);border-bottom:1px solid var(--color-border);color:var(--color-text)}.case-study-page--dark .project-hero{background:linear-gradient(145deg,#0c1929,#152a46 42%,#1e3a5f);color:var(--color-dark-text);overflow:hidden}.case-study-page .project-hero-content{margin:0 auto;max-width:1100px;padding:0 24px;text-align:center}.case-study-page--dark .project-hero-content{padding:0 20px}.case-study-page--light .project-hero h1{color:var(--color-text);font-family:var(--font-serif);font-size:3.5rem;font-weight:400;letter-spacing:-.03em;margin-bottom:1.5rem}.case-study-page--dark .project-hero h1{font-family:var(--font-serif);font-size:4rem;font-weight:400;letter-spacing:-.03em;margin-bottom:1rem;text-shadow:none}.case-study-indao .project-hero h1 span{display:inline}.case-study-indao .project-hero h1 span:last-child{color:var(--color-accent)}.case-study-page--light .project-hero p{color:var(--color-text-secondary);font-size:1.3rem;line-height:1.65;margin-bottom:3rem}.case-study-page--dark .project-hero p{font-size:1.5rem;margin-bottom:3rem;opacity:.92;text-shadow:none}.case-study-page .project-details{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:3rem auto;max-width:900px}.case-study-page--dark .project-details{max-width:none}.case-study-page--light .detail-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.case-study-page--light .detail-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.case-study-page--dark .detail-item{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border:1px solid #ffffff38;border-radius:var(--radius-md);padding:1.5rem}.case-study-page--light .detail-item h3{color:var(--color-text);font-size:1.1rem;font-weight:600;margin-bottom:1rem}.case-study-page--dark .detail-item h3{color:#fff;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.case-study-page .detail-item ul{list-style:none;margin:0;padding:0}.case-study-page--light .detail-item li,.case-study-page--light .detail-item p{color:var(--color-text-secondary);font-size:.95rem;margin-bottom:.5rem}.case-study-page--dark .detail-item li,.case-study-page--dark .detail-item p{color:#fff;margin-bottom:.5rem;opacity:.95}.case-study-cravings .project-logo{margin:3rem 0;text-align:center}.case-study-cravings .project-logo img{border-radius:16px;box-shadow:0 8px 24px #00000026;height:120px;width:120px}.case-study-cravings .project-logo p{color:var(--color-accent-hover);font-size:1.5rem;font-weight:600;margin-top:1rem}.case-study-page .project-section{padding:4rem 0}.case-study-page .project-section img{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:block;height:auto;margin:0 auto;max-width:1200px;width:100%}.case-study-page .bg-white{background:var(--color-surface)}.case-study-page .problem-section{background-color:var(--color-bg);padding:4rem 0}.case-study-page .problem-content{margin:0 auto;max-width:1100px;padding:0 24px}.case-study-page .problem-content h2{color:var(--color-text);font-family:var(--font-serif);font-size:2.5rem;font-weight:400;letter-spacing:-.02em;margin-bottom:2rem}.case-study-page .problem-content p{color:var(--color-text-secondary);font-size:1.2rem;line-height:1.8;margin-bottom:2rem}.case-study-page--dark .cs-section-title{color:var(--color-text);font-family:var(--font-serif);font-size:2.5rem;font-weight:400;letter-spacing:-.02em;margin-bottom:3rem;text-align:center}.case-study-page .cs-prose{margin-bottom:3rem}.case-study-page .cs-prose,.case-study-page .cs-prose-tight{color:var(--color-text-secondary);font-size:1.2rem;margin-left:auto;margin-right:auto;max-width:800px;text-align:left}.case-study-page .cs-prose-tight{margin-bottom:1rem}.case-study-page .cs-list{color:var(--color-text-secondary);font-size:1.2rem;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:800px;padding-left:2rem;text-align:left}.case-study-page .cs-heading-accent{color:var(--color-accent-hover);font-family:var(--font-serif);font-size:2.35rem;font-weight:400;letter-spacing:-.02em;margin-bottom:3rem;text-align:center}.case-study-indao .image-container{margin:0 auto;max-width:1200px;padding:0 2rem}.case-study-indao .image-container img{box-shadow:var(--shadow-md);display:block;height:auto;width:100%}.case-study-indao .image-container img,.case-study-indao .synthesis-container{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0 auto}.case-study-indao .synthesis-container{background:var(--color-bg-warm);max-width:1200px;padding:4rem;text-align:center}.case-study-indao .synthesis-container img{border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);display:inline-block;height:auto;margin:1rem;max-width:200px}.case-study-indao .phone-mockup{margin:3rem 0;text-align:center}.case-study-indao .phone-mockup img{border-radius:var(--radius-md);box-shadow:var(--shadow-md);height:auto;max-width:250px}.case-study-indao .content-section{background:var(--color-surface);padding:4rem 0}.case-study-indao .content-container{margin:0 auto;max-width:1100px;padding:0 24px}.case-study-indao .content-section .section-title{color:var(--color-text);font-family:var(--font-serif);font-size:2.5rem;font-weight:400;letter-spacing:-.02em;margin-bottom:2rem;text-align:left}.case-study-indao .section-subtitle{color:var(--color-text);font-family:var(--font-serif);font-size:1.8rem;font-weight:400;margin-bottom:1.5rem}.case-study-indao .section-text{color:var(--color-text-secondary);font-size:1.1rem;line-height:1.8;margin-bottom:2rem}.case-study-indao .image-caption{color:var(--color-text-muted);font-size:1rem;font-style:italic;margin-top:1rem;text-align:center}.case-study-indao .user-personas{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:3rem 0}.case-study-indao .persona-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.case-study-indao .persona-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.case-study-indao .persona-card img{border:3px solid var(--color-bg);border-radius:50%;height:80px;margin-bottom:1rem;width:80px}.case-study-indao .persona-name{color:var(--color-text);font-size:1.2rem;font-weight:500;margin-bottom:.5rem}.case-study-indao .persona-role{color:var(--color-text-muted);font-size:.9rem;font-weight:500}.case-study-indao .research-section{background:var(--color-bg);padding:4rem 0}.case-study-onadema .merch-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1200px}.case-study-onadema .merch-grid img{border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);height:auto;width:100%}.case-study-page .drive-embed{border:0;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);height:600px;width:100%}.case-study-page main a{color:var(--color-accent);font-weight:500}.case-study-page main a:hover{color:var(--color-accent-hover)}@media (max-width:768px){.case-study-page--dark .project-hero h1,.case-study-page--light .project-hero h1{font-size:2.5rem}.case-study-page--dark .project-hero p,.case-study-page--light .project-hero p{font-size:1.2rem}.case-study-page .project-details{gap:1rem;grid-template-columns:1fr}.case-study-page--light .detail-item{padding:1rem}.case-study-cravings .project-logo img{height:150px;width:150px}.case-study-indao .user-personas{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.case-study-indao .content-section .section-title{font-size:2rem}.case-study-indao .section-subtitle{font-size:1.5rem}}@media (max-width:480px){.case-study-page--dark .project-hero h1,.case-study-page--light .project-hero h1{font-size:2rem}.case-study-cravings .project-logo p{font-size:1.3rem}.case-study-indao .content-section .section-title{font-size:1.8rem}.case-study-indao .user-personas{grid-template-columns:1fr}}html{scroll-behavior:smooth}
/*# sourceMappingURL=main.ace677bd.css.map*/