@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500&family=Space+Grotesk:wght@500;600;700&display=swap);:root{--font-base:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-display:"Space Grotesk",var(--font-base);--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--bg:#f5f5f2;--surface:#fff;--surface-muted:#efefeb;--ink:#0b0b0c;--ink-soft:#3f3f46;--muted:#5f5f68;--border:#e3e3de;--border-strong:#cfcfc8;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#e8efff;--on-accent:#fff;--success:#15803d;--success-soft:#dcfce7;--danger:#b91c1c;--radius-lg:28px;--radius-md:20px;--radius-sm:12px;--shadow-sm:0 1px 2px #1010140d;--shadow-md:0 18px 40px -18px #10101438;--ease-out:cubic-bezier(0.22,1,0.36,1);--primary-color:var(--bg);--secondary-color:var(--accent);--black-color:var(--ink);--white-color:var(--surface);--gray-color:var(--muted);--lightGray-color:var(--border);--brown-color:var(--ink-soft);--text-primary:var(--ink);--text-secondary:var(--muted);--bg-primary:var(--bg);--bg-secondary:var(--surface);--bg-tertiary:var(--surface-muted);--border-color:var(--border);--shadow:var(--shadow-sm);--shadow-hover:var(--shadow-md)}.dark-theme{--bg:#0b0b0d;--surface:#151518;--surface-muted:#1f1f23;--ink:#f4f4f5;--ink-soft:#d4d4d8;--muted:#a1a1aa;--border:#27272a;--border-strong:#3f3f46;--accent:#60a5fa;--accent-hover:#93c5fd;--accent-soft:#172554;--on-accent:#0b0b0d;--success:#4ade80;--success-soft:#14532d;--danger:#f87171;--shadow-sm:0 1px 2px #0006;--shadow-md:0 18px 40px -18px #000000b3}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}body{-webkit-font-smoothing:antialiased;background-color:#f5f5f2;background-color:var(--bg);color:#0b0b0c;color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-family:var(--font-base);font-size:16px;line-height:1.6;text-rendering:optimizeLegibility}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{color:inherit;font:inherit}::selection{background-color:#e8efff;background-color:var(--accent-soft);color:#0b0b0c;color:var(--ink)}:focus-visible{outline:2px solid #2563eb;outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app__navbar{left:0;padding-inline:12px;pointer-events:none;position:fixed;right:0;top:12px;z-index:50}.app__navbar-inner{align-items:center;border:1px solid #0000;border-radius:999px;display:flex;gap:16px;margin-inline:auto;max-width:1136px;padding:8px 8px 8px 16px;pointer-events:auto;position:relative;transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}.is-scrolled .app__navbar-inner{backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);background-color:color-mix(in srgb,var(--surface) 78%,#0000);border-color:var(--border);box-shadow:var(--shadow-md)}.app__navbar-logo{align-items:center;color:var(--ink);display:inline-flex;gap:10px;margin-right:auto;min-height:44px;text-decoration:none}.app__navbar-mark{background-color:var(--accent);border-radius:10px;color:var(--on-accent);display:grid;font-family:var(--font-display);font-size:1.1rem;font-weight:700;height:34px;place-items:center;width:34px}.app__navbar-name{font-family:var(--font-display);font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.app__navbar-links{display:flex;gap:4px;list-style:none}.app__navbar-links a{align-items:center;border-radius:999px;color:var(--muted);display:inline-flex;font-size:.925rem;font-weight:500;min-height:40px;padding:0 14px;text-decoration:none;transition:color .2s ease,background-color .2s ease}.app__navbar-links a:hover{color:var(--ink)}.app__navbar-links a.is-active{background-color:var(--surface-muted);color:var(--ink)}.app__navbar-menu-btn{align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:50%;cursor:pointer;display:none;height:44px;justify-content:center;width:44px}.app__navbar-menu-btn svg{height:20px;width:20px}.app__navbar-menu{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:8px;position:absolute;right:0;top:calc(100% + 8px);transform-origin:top right;width:min(280px,100vw - 24px)}.app__navbar-menu ul{list-style:none}.app__navbar-menu a{align-items:center;border-radius:var(--radius-sm);color:var(--ink);display:flex;font-size:1rem;font-weight:500;min-height:48px;padding:0 16px;text-decoration:none}.app__navbar-menu a.is-active,.app__navbar-menu a:hover{background-color:var(--surface-muted)}@media screen and (max-width:767px){.app__navbar-cta,.app__navbar-links{display:none}.app__navbar-menu-btn{display:inline-flex}}.theme-toggle{position:fixed;right:20px;top:20px;z-index:1000}@media screen and (max-width:900px){.theme-toggle{right:72px;top:20px}}.theme-toggle__button{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--toggle-bg);border:2px solid #e1e8ed;border:2px solid var(--border-color);border-radius:20px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--toggle-shadow);cursor:pointer;height:32px;outline:none;padding:0;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:60px}.theme-toggle__button:hover{box-shadow:0 4px 12px #00000026;box-shadow:var(--toggle-hover-shadow);transform:scale(1.05)}.theme-toggle__button:focus{box-shadow:0 0 0 3px #667eea4d;box-shadow:var(--toggle-focus-shadow)}.theme-toggle__button:active{transform:scale(.95)}.theme-toggle__button.light{background:linear-gradient(135deg,gold,#ffed4e);border-color:orange}.theme-toggle__button.dark{background:linear-gradient(135deg,#2c3e50,#1a252f);border-color:#34495e}.theme-toggle__slider{align-items:center;background:#fff;background:var(--slider-bg);border-radius:50%;box-shadow:0 1px 3px #0000001a;box-shadow:var(--slider-shadow);display:flex;height:24px;justify-content:center;left:2px;position:absolute;top:2px;transition:all .3s cubic-bezier(.4,0,.2,1);width:24px}.theme-toggle__button.dark .theme-toggle__slider{background:#f1c40f;transform:translateX(26px)}.theme-toggle__button.light .theme-toggle__slider{background:#fff}.theme-toggle__icon{align-items:center;color:#64748b;color:var(--icon-color);display:flex;justify-content:center;transition:all .3s ease}.theme-toggle__button.dark .theme-toggle__icon{color:#2c3e50}.theme-toggle__button.light .theme-toggle__icon{color:#f39c12}.theme-toggle__icon svg{height:14px;width:14px}:root{--toggle-bg:linear-gradient(135deg,#667eea,#764ba2);--border-color:#e1e8ed;--slider-bg:#fff;--icon-color:#64748b;--toggle-shadow:0 2px 8px #0000001a;--toggle-hover-shadow:0 4px 12px #00000026;--toggle-focus-shadow:0 0 0 3px #667eea4d;--slider-shadow:0 1px 3px #0000001a}.dark-theme{--border-color:#374151;--slider-bg:#1f2937;--icon-color:#f3f4f6;--toggle-shadow:0 2px 8px #0000004d;--toggle-hover-shadow:0 4px 12px #0006;--slider-shadow:0 1px 3px #0000004d}.about__grid{grid-gap:12px;display:grid;gap:12px;grid-template-areas:"intro" "photo" "now" "place" "tools" "services";grid-template-columns:minmax(0,1fr)}@media screen and (min-width:640px){.about__grid{gap:16px;grid-template-areas:"intro    intro" "photo    now" "photo    place" "tools    tools" "services services";grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (min-width:1024px){.about__grid{grid-template-areas:"intro intro photo now" "intro intro photo place" "tools tools services services";grid-template-columns:repeat(4,minmax(0,1fr))}}.about__grid--compact{grid-template-areas:"intro" "photo" "now" "place"}@media screen and (min-width:640px){.about__grid--compact{grid-template-areas:"intro intro" "photo now" "photo place"}}@media screen and (min-width:1024px){.about__grid--compact{grid-template-areas:"intro intro photo now" "intro intro photo place"}}.about__more{align-self:flex-start;margin-top:24px}.about__tile{box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px;overflow:hidden;padding:28px;position:relative}.about__muted{color:var(--muted);font-size:.925rem}.about__tile-title{color:var(--ink);font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.02em}.about__intro{gap:0;grid-area:intro;justify-content:center}@media screen and (min-width:768px){.about__intro{padding:44px}}.about__bio{color:var(--ink-soft);font-size:1.05rem;margin-top:18px;max-width:58ch}.about__bio+.about__bio{margin-top:12px}.about__photo{grid-area:photo;min-height:420px;padding:0}.about__photo img{height:100%;inset:0;object-fit:cover;object-position:50% 30%;position:absolute;transition:transform .8s var(--ease-out);width:100%}.about__photo:hover img{transform:scale(1.04)}@media screen and (min-width:1024px){.about__photo{min-height:0}}.about__now{background-color:var(--ink);border-color:var(--ink);color:var(--bg);grid-area:now}.about__now .about__muted,.about__now .eyebrow{color:color-mix(in srgb,var(--bg) 70%,#0000)}.about__now-dot{background-color:#60a5fa;border-radius:50%;height:8px;width:8px}.about__now-title{color:var(--bg);font-family:var(--font-display);font-size:1.4rem;font-weight:600;line-height:1.15;margin-top:6px}.about__link{align-items:center;align-self:flex-start;color:#93c5fd;display:inline-flex;font-size:.925rem;font-weight:600;gap:6px;margin-top:auto;min-height:44px;text-decoration:none}.about__link svg{transition:transform .2s var(--ease-out)}.about__link:hover svg{transform:translate(2px,-2px)}.about__place{background:radial-gradient(circle at 1px 1px,#2563eb29 1px,#0000 0) 0 0/16px 16px,var(--accent-soft);border-color:#0000;grid-area:place;justify-content:space-between}.about__place-name{color:var(--ink);font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.15;margin-top:auto}.about__tools{grid-area:tools}.about__tools ul{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));list-style:none;margin-top:14px}.about__tools li{align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-soft);display:flex;flex-direction:column;font-size:.85rem;font-weight:500;gap:8px;padding:14px 8px;transition:border-color .2s ease,transform .2s var(--ease-out)}.about__tools li:hover{border-color:var(--border-strong);transform:translateY(-2px)}.about__tool-icon{background-color:var(--surface-muted);border-radius:12px;display:grid;height:44px;place-items:center;width:44px}.about__tool-icon img{height:24px;object-fit:contain;width:24px}.about__services{grid-area:services}.about__services ul{grid-gap:4px;display:grid;gap:4px;list-style:none;margin-top:10px}.about__services li{border-bottom:1px solid var(--border);display:flex;gap:16px;padding:12px 0}.about__services li:last-child{border-bottom:0}.about__services li:first-child .about__icon{background-color:var(--accent-soft);color:var(--accent)}.about__services li:nth-child(2) .about__icon{background-color:var(--success-soft);color:var(--success)}.about__services li:nth-child(3) .about__icon{background-color:#fef3c7;color:#92400e}.about__services li:nth-child(4) .about__icon{background-color:#f3e8ff;color:#6b21a8}.about__services h3{color:var(--ink);font-family:var(--font-display);font-size:1.05rem;font-weight:600}.about__services p{color:var(--muted);font-size:.9rem}.about__icon{background-color:var(--surface-muted);border-radius:12px;color:var(--ink);display:grid;flex-shrink:0;height:40px;place-items:center;width:40px}.about__icon svg{height:20px;width:20px}.contact{padding-top:24px}.contact__panel{grid-gap:32px;background-color:var(--ink);border-radius:32px;color:var(--bg);display:grid;gap:32px;padding:32px 20px 20px}@media screen and (min-width:768px){.contact__panel{padding:56px 48px 48px}}@media screen and (min-width:1024px){.contact__panel{align-items:center;gap:56px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:64px}}.contact__panel .eyebrow{color:color-mix(in srgb,var(--bg) 65%,#0000)}.contact__title{text-wrap:balance;font-family:var(--font-display);font-size:clamp(2.1rem,4.6vw,3.5rem);font-weight:600;letter-spacing:-.035em;line-height:1.02;margin-top:14px}.contact__lead{color:color-mix(in srgb,var(--bg) 72%,#0000);font-size:1.05rem;margin-top:18px;max-width:46ch}.contact__channels{grid-gap:4px;display:grid;gap:4px;list-style:none;margin-top:32px}.contact__channels li{align-items:center;display:flex;gap:12px;min-height:48px;min-width:0}.contact__channels li>svg{color:#93c5fd;flex-shrink:0;height:20px;width:20px}.contact__channels a{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;color:var(--bg);font-size:clamp(.95rem,3.6vw,1.05rem);font-weight:500;min-width:0;overflow-wrap:anywhere;text-decoration:none;transition:background-size .3s var(--ease-out)}.contact__channels a:hover{background-size:100% 1px}.contact__copy{background:#0000;border:1px solid color-mix(in srgb,var(--bg) 22%,#0000);border-radius:50%;color:var(--bg);cursor:pointer;display:grid;flex-shrink:0;height:40px;place-items:center;transition:background-color .2s ease;width:40px}.contact__copy:hover{background-color:color-mix(in srgb,var(--bg) 12%,#0000)}.contact__copy svg{height:18px;width:18px}.contact__socials{margin-top:24px}.contact__socials .icon-btn{background-color:#0000;border-color:color-mix(in srgb,var(--bg) 22%,#0000);color:var(--bg)}.contact__socials .icon-btn:hover{background-color:var(--bg);border-color:var(--bg);color:var(--ink)}.contact__card{background-color:var(--surface);border-radius:24px;color:var(--ink);padding:24px 20px}@media screen and (min-width:768px){.contact__card{padding:32px}}.contact__form{grid-gap:18px;display:grid;gap:18px}.contact__field{grid-gap:6px;display:grid;gap:6px}.contact__field label{color:var(--ink);font-size:.875rem;font-weight:600}.contact__field input,.contact__field textarea{background-color:var(--surface);border:1px solid var(--border-strong);border-radius:14px;font-size:1rem;line-height:1.5;min-height:48px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.contact__field input:focus,.contact__field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.contact__field textarea{min-height:140px;resize:vertical}.contact__field.has-error input,.contact__field.has-error textarea{border-color:var(--danger)}.contact__error{color:var(--danger);font-size:.85rem;font-weight:500}.contact__submit{margin-top:4px;min-height:52px;width:100%}.contact__success{grid-gap:10px;display:grid;gap:10px;justify-items:center;padding:32px 8px;text-align:center}.contact__success h3{font-family:var(--font-display);font-size:1.6rem;font-weight:600;letter-spacing:-.02em}.contact__success p{color:var(--muted)}.contact__success-icon{background-color:var(--success-soft);border-radius:50%;color:var(--success);display:grid;height:56px;place-items:center;width:56px}.contact__success-icon svg{height:28px;width:28px}.hero{padding-top:112px}@media screen and (min-width:1024px){.hero{padding-top:144px}}.hero__intro{align-items:center;display:flex;flex-direction:column;margin-inline:auto;max-width:1040px;text-align:center}.hero__badge{align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-sm);display:inline-flex;flex-wrap:wrap;font-size:.875rem;gap:6px 12px;justify-content:center;padding:5px 16px 5px 5px}.hero__avatar{background-color:var(--accent-soft);border-radius:50%;height:32px;object-fit:cover;object-position:top;width:32px}.hero__status{align-items:center;color:var(--success);display:inline-flex;font-weight:600;gap:8px}.hero__where{border-left:1px solid var(--border);color:var(--muted);padding-left:12px}.hero__pulse{height:8px;position:relative;width:8px}.hero__pulse,.hero__pulse:after{background-color:var(--success);border-radius:50%}.hero__pulse:after{animation:hero-pulse 2s ease-out infinite;content:"";inset:0;position:absolute}@keyframes hero-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(3)}}.hero__title{text-wrap:balance;color:var(--ink);font-family:var(--font-display);font-size:clamp(1.9rem,(100vw - 32px)/9.6,5.5rem);font-weight:600;letter-spacing:-.045em;line-height:1.02;margin-top:28px}.hero__word{background-color:var(--accent-soft);border-radius:.2em;box-sizing:initial;color:var(--accent);display:inline-grid;grid-template-columns:100%;justify-items:center;overflow:hidden;padding:0 .16em .06em;vertical-align:bottom}.hero__word-item{grid-area:1/1;white-space:nowrap;width:-webkit-max-content;width:max-content}.hero__lead{text-wrap:pretty;color:var(--muted);font-size:1.125rem;margin-top:24px;max-width:56ch}.hero__actions{gap:10px;margin-top:32px}.hero__actions,.hero__proof{display:flex;flex-wrap:wrap;justify-content:center}.hero__proof{color:var(--muted);font-size:.925rem;gap:6px 16px;margin-top:28px}.hero__proof>span{align-items:center;display:inline-flex;white-space:nowrap}.hero__proof>span+span:before{background-color:var(--border-strong);border-radius:50%;content:"";height:4px;margin-right:16px;width:4px}.hero__proof strong{color:var(--ink);font-weight:600;margin-right:5px}@media screen and (max-width:639px){.hero__proof{font-size:.875rem;gap:6px 12px}.hero__proof>span+span:before{margin-right:12px}.hero__proof-long{display:none}}.hero__fan{--card-w:clamp(150px,22vw,300px);align-items:flex-start;display:flex;justify-content:center;margin-top:64px;padding-bottom:64px}@media screen and (max-width:639px){.hero__fan{--card-w:36vw;margin-top:48px;padding-bottom:40px}}.hero__card{aspect-ratio:16/10;background-color:var(--surface-muted);border:1px solid var(--border);border-radius:18px;box-shadow:0 28px 50px -24px #10101473;flex:0 0 auto;margin-inline:calc(var(--card-w)*-.12);outline-offset:4px;overflow:hidden;position:relative;width:var(--card-w)}.hero__card:focus-visible,.hero__card:hover{z-index:30!important}.hero__card img{height:100%;object-fit:cover;width:100%}@media screen and (max-width:639px){.hero__card:first-child,.hero__card:nth-child(5){display:none}}.hero__card-label{background-color:#0b0b0ccc;border-radius:999px;bottom:10px;color:#fff;font-size:.8rem;font-weight:600;left:10px;opacity:0;padding:5px 10px;position:absolute;transform:translateY(4px);transition:opacity .2s ease,transform .2s var(--ease-out)}.hero__card:focus-visible .hero__card-label,.hero__card:hover .hero__card-label{opacity:1;transform:none}@media(hover:none){.hero__card-label{opacity:1;transform:none}}@media screen and (max-width:639px){.hero__card-label{display:none}}.hero__card--skeleton{animation:hero-shimmer 1.4s ease-in-out infinite;background:linear-gradient(100deg,var(--surface) 30%,var(--surface-muted) 50%,var(--surface) 70%) 0 0/300% 100%}@keyframes hero-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.hero__strip{border-top:1px solid var(--border);margin-top:24px}.hero__strip-inner{align-items:center;display:flex;flex-wrap:wrap;gap:12px 32px;padding-block:24px}.hero__chains{display:flex;flex-wrap:wrap;gap:6px 28px;list-style:none}.hero__chains li{color:var(--ink-soft);font-family:var(--font-display);font-size:1.15rem;font-weight:600;letter-spacing:-.01em}@media screen and (max-width:639px){.hero__chains{gap:4px 18px}.hero__chains li{font-size:1rem}}.experience__list{list-style:none}.experience__year{grid-gap:4px 24px;border-top:1px solid var(--border);display:grid;gap:4px 24px;padding-block:12px}.experience__year:first-child{border-top:0}@media screen and (min-width:768px){.experience__year{grid-template-columns:120px minmax(0,1fr)}}.experience__year>ul{grid-gap:4px;display:grid;gap:4px;list-style:none}.experience__year-label{color:var(--accent);font-family:var(--font-mono);font-size:.9rem;font-weight:500;padding-top:18px}@media screen and (max-width:767px){.experience__year-label{padding-top:12px}}.experience__item{border:1px solid #0000;border-radius:var(--radius-md);margin-inline:-20px;padding:18px 20px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.experience__item:hover{background-color:var(--surface);border-color:var(--border);box-shadow:var(--shadow-sm)}@media screen and (max-width:767px){.experience__item{margin-inline:0;padding:12px 0}.experience__item:hover{background-color:#0000;border-color:#0000;box-shadow:none}}.experience__item-head{align-items:center;display:flex;flex-wrap:wrap;gap:6px 12px}.experience__item-head h3{color:var(--ink);font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}.experience__badge{background-color:var(--success-soft);border-radius:999px;color:var(--success);font-size:.75rem;font-weight:600;padding:3px 10px}.experience__company{color:var(--ink-soft);font-size:.95rem;font-weight:500}.experience__desc{color:var(--muted);font-size:.95rem;margin-top:6px;max-width:68ch}.app__testimonial{flex:1 1;flex-direction:column;width:100%}.app__testimonial-item{background-color:var(--white-color);border-radius:15px;box-shadow:0 0 30px #0000001a;display:flex;flex-direction:row;min-height:320px;padding:2rem;transition:all .3s ease-in-out;width:60%}.app__testimonial-item img{border-radius:50%;height:100px;object-fit:cover;width:100px}@media screen and (min-width:2000px){.app__testimonial-item{min-height:450px}.app__testimonial-item img{height:150px;width:150px}}@media screen and (max-width:850px){.app__testimonial-item{width:100%}}@media screen and (max-width:600px){.app__testimonial-item{flex-direction:column}}.app__testimonial-content{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:space-around;padding:0 2rem;text-align:left}.app__testimonial-content p{color:var(--black-color);font-family:var(--font-base);font-size:1.25rem;line-height:2rem}@media screen and (min-width:2000px){.app__testimonial-content p{font-size:2rem;line-height:3.5rem}}.app__testimonial-content h4{color:var(--secondary-color);font-weight:600;margin-top:2rem}.app__testimonial-content h5{color:var(--gray-color);font-weight:400;margin-top:5px}@media screen and (max-width:600px){.app__testimonial-content{margin-top:2rem;padding:0}}.app__testimonial-btns{flex-direction:row;margin-top:1rem}.app__testimonial-btns div{background-color:var(--white-color);border-radius:50%;height:50px;margin:1rem;transition:all .3s ease-in-out;width:50px}.app__testimonial-btns div svg{color:var(--secondary-color);height:20px;width:20px}.app__testimonial-btns div:hover{background-color:var(--secondary-color)}.app__testimonial-btns div:hover svg{color:var(--white-color)}@media screen and (min-width:2000px){.app__testimonial-btns div{height:100px;width:100px}.app__testimonial-btns div svg{height:45px;width:45px}}.app__testimonial-brands{flex-wrap:wrap;margin-top:2rem;width:80%}.app__testimonial-brands div{margin:1.5rem;width:150px}.app__testimonial-brands div img{filter:grayscale(1);height:auto;object-fit:cover;width:100%}.app__testimonial-brands div:hover img{filter:grayscale(0)}@media screen and (min-width:2000px){.app__testimonial-brands div{margin:2rem;width:210px}}@media screen and (max-width:450px){.app__testimonial-brands div{margin:1rem;width:120px}}@media screen and (max-width:800px){.app__testimonial-brands{width:100%}}.work__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;margin-bottom:28px}.work__filters{display:flex;gap:8px;max-width:100%;overflow-x:auto;scrollbar-width:none}.work__filters::-webkit-scrollbar{display:none}.work__filter{align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--ink-soft);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.9rem;font-weight:500;gap:8px;min-height:44px;padding:0 16px;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.work__filter:hover{border-color:var(--border-strong);color:var(--ink)}.work__filter.is-active{background-color:var(--ink);border-color:var(--ink);color:var(--bg)}.work__count{font-family:var(--font-mono);font-size:.75rem;opacity:.6}.work__search{flex:1 1 240px;max-width:340px;position:relative}.work__search>svg{color:var(--muted);height:18px;left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:18px}.work__search input{background-color:var(--surface);border:1px solid var(--border);border-radius:999px;font-size:.95rem;min-height:44px;padding:0 44px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.work__search input::placeholder{color:var(--muted)}.work__search input::-webkit-search-cancel-button{-webkit-appearance:none}.work__search input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}@media screen and (max-width:639px){.work__search{max-width:none}}.work__search-clear{background:#0000;border:0;border-radius:50%;color:var(--muted);cursor:pointer;display:grid;height:36px;place-items:center;position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px}.work__search-clear:hover{background-color:var(--surface-muted);color:var(--ink)}.work__search-clear svg{height:18px;width:18px}.work__featured{grid-gap:20px;display:grid;gap:20px}@media screen and (min-width:640px){.work__featured{grid-template-columns:repeat(2,minmax(0,1fr))}.work__featured .work-card--lg{grid-column:1/-1}}.work__subhead{color:var(--ink);font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.02em;margin:64px 0 20px}.work__grid{grid-gap:20px;display:grid;gap:20px}@media screen and (min-width:640px){.work__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (min-width:1024px){.work__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.work__grid--after-featured{margin-top:20px}.work__more{display:flex;justify-content:center;margin-top:36px}.work__empty{align-items:center;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--muted);gap:16px;padding:48px 24px;text-align:center}.work-card,.work__empty{display:flex;flex-direction:column}.work-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0;overflow:hidden;position:relative;transition:border-color .25s ease,box-shadow .25s ease,transform .25s var(--ease-out)}.work-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.work-card:hover .work-card__media img{transform:scale(1.03)}.work-card:hover .work-card__arrow{opacity:1;transform:translate(0)}.work-card:has(:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.work-card__media{aspect-ratio:16/10;background-color:var(--surface-muted);border-bottom:1px solid var(--border);overflow:hidden;position:relative}.work-card__media img{height:100%;object-fit:cover;transition:transform .6s var(--ease-out);width:100%}.work-card__media .status-badge{left:14px;position:absolute;top:14px}.work-card__arrow{background-color:var(--ink);border-radius:50%;color:var(--bg);display:grid;height:40px;opacity:0;place-items:center;position:absolute;right:14px;top:14px;transform:translate(-4px,4px);transition:opacity .25s ease,transform .25s var(--ease-out);width:40px}.work-card__arrow svg{height:18px;width:18px}@media(hover:none){.work-card__arrow{display:none}}.work-card__tags{bottom:14px;display:flex;flex-wrap:wrap;gap:6px;left:14px;list-style:none;position:absolute}.work-card__tags li{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#0b0b0cb8;border-radius:999px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 10px}.work-card__body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 24px}.work-card__head{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.work-card__year{flex-shrink:0;font-size:.8rem}.work-card__meta,.work-card__year{color:var(--muted);font-family:var(--font-mono)}.work-card__meta{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.work-card__title{color:var(--ink);font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}.work-card__title a{color:inherit;text-decoration:none}.work-card__title a:after{content:"";inset:0;position:absolute}.work-card__title a:focus-visible{outline:none}.work-card__desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--muted);display:-webkit-box;font-size:.95rem;line-height:1.55;overflow:hidden}.work-card__stack{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin-top:6px}.work-card--lg .work-card__desc,.work-card--md .work-card__desc{-webkit-line-clamp:3}.work-card--lg .work-card__title{font-size:clamp(1.6rem,3vw,2.25rem)}.work-card--lg .work-card__desc{font-size:1.05rem}@media screen and (min-width:1024px){.work-card--lg{flex-direction:row}.work-card--lg .work-card__media{border-bottom:0;border-right:1px solid var(--border);flex:0 0 60%}.work-card--lg .work-card__body{gap:12px;justify-content:center;padding:40px}.work-card--lg .work-card__desc{-webkit-line-clamp:5}}.work-card--skeleton{animation:work-shimmer 1.4s ease-in-out infinite;background:linear-gradient(100deg,var(--surface) 30%,var(--surface-muted) 50%,var(--surface) 70%) 0 0/300% 100%;min-height:340px}@keyframes work-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.status-badge{align-items:center;background-color:var(--surface-muted);border-radius:999px;color:var(--ink-soft);display:inline-flex;font-size:.75rem;font-weight:600;gap:6px;line-height:1.2;padding:5px 10px}.status-badge:before{background-color:currentColor;border-radius:50%;content:"";height:6px;width:6px}.status-badge--live{background-color:var(--success-soft);color:var(--success)}.status-badge--dev{background-color:var(--accent-soft);color:var(--accent-hover)}.status-badge--internal{background-color:#fef3c7;color:#92400e}.status-badge--hackathon{background-color:#f3e8ff;color:#6b21a8}.achievements__filters{margin-bottom:12px}.achievements__year{grid-gap:12px 24px;border-top:1px solid var(--border);display:grid;gap:12px 24px;padding-block:28px}.achievements__year:first-of-type{border-top:0}@media screen and (min-width:768px){.achievements__year{grid-template-columns:120px minmax(0,1fr)}}.achievements__year-label{color:var(--accent);font-family:var(--font-mono);font-size:.9rem;font-weight:500}@media screen and (min-width:768px){.achievements__year-label{padding-top:22px}}.achievements__grid{grid-gap:16px;display:grid;gap:16px}@media screen and (min-width:768px){.achievements__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (min-width:1024px){.achievements__grid--strip{grid-template-columns:repeat(4,minmax(0,1fr))}}.achievements__empty{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--muted);padding:48px 24px;text-align:center}.achievement{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px;padding:24px;transition:border-color .2s ease,transform .2s var(--ease-out)}.achievement:hover{border-color:var(--border-strong);transform:translateY(-2px)}.achievement--skeleton{background-color:var(--surface-muted);border-color:#0000;min-height:200px}.achievement__top{align-items:center;display:flex;gap:12px;margin-bottom:10px}.achievement__icon{background-color:var(--surface-muted);border-radius:12px;color:var(--ink);display:grid;flex-shrink:0;height:40px;place-items:center;width:40px}.achievement__icon svg{height:20px;width:20px}.achievement__icon--hackathon{background-color:var(--accent-soft);color:var(--accent)}.achievement__icon--grant{background-color:var(--success-soft);color:var(--success)}.achievement__icon--award{background-color:#fef3c7;color:#92400e}.achievement__icon--certification{background-color:#f3e8ff;color:#6b21a8}.achievement__icon--programme{background-color:#ffedd5;color:#9a3412}.achievement__meta{color:var(--muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.achievement__title{color:var(--ink);font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:-.01em;line-height:1.25}.achievement__org{color:var(--ink-soft);font-size:.925rem;font-weight:500}.achievement__result{align-items:center;align-self:flex-start;background-color:var(--success-soft);border-radius:999px;color:var(--success);display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;margin-top:4px;padding:4px 10px}.achievement__desc{color:var(--muted);font-size:.95rem;margin-top:4px}.achievement__image{border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:8px;width:100%}.achievement__links{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:auto;padding-top:10px}.achievement__links a{align-items:center;color:var(--accent);display:inline-flex;font-size:.9rem;font-weight:600;gap:6px;min-height:44px;text-decoration:none}.achievement__links a svg{transition:transform .2s var(--ease-out)}.achievement__links a:hover svg{transform:translateX(2px)}.project__back{align-items:center;color:var(--muted);display:inline-flex;font-size:.925rem;font-weight:600;gap:8px;min-height:44px;text-decoration:none}.project__back:hover{color:var(--ink)}.project__head{margin-top:16px;max-width:760px}.project__title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px}.project__title-row h1{color:var(--ink);font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4.25rem);font-weight:600;letter-spacing:-.04em;line-height:1}.project__desc{text-wrap:pretty;color:var(--ink-soft);font-size:1.15rem;margin-top:18px}.project__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.project__cover{aspect-ratio:16/10;border:1px solid var(--border);box-shadow:var(--shadow-md);height:auto;margin-top:48px;object-fit:cover;width:100%}.project__cover,.project__skeleton{background-color:var(--surface-muted);border-radius:var(--radius-lg)}.project__skeleton{height:520px}.project__body{grid-gap:40px;display:grid;gap:40px;margin-top:56px}@media screen and (min-width:1024px){.project__body{align-items:start;gap:56px;grid-template-columns:minmax(0,8fr) minmax(0,4fr)}}.project__aside{grid-gap:32px;display:grid;gap:32px}@media screen and (min-width:1024px){.project__aside{position:-webkit-sticky;position:sticky;top:112px}}.project__section+.project__section{margin-top:40px}.project__aside .project__section+.project__section{margin-top:0}.project__section h2{color:var(--muted);font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.project__highlights{list-style:none;margin-top:8px}.project__highlights li{border-bottom:1px solid var(--border);color:var(--ink-soft);display:flex;font-size:1.05rem;gap:14px;padding:16px 0}.project__highlights svg{color:var(--success);flex-shrink:0;height:20px;margin-top:3px;width:20px}.project__gallery{display:flex;gap:14px;margin-top:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}.project__gallery img{border:1px solid var(--border);border-radius:18px;flex-shrink:0;height:420px;scroll-snap-align:start;width:auto}@media screen and (max-width:639px){.project__gallery img{height:300px}}.project__facts{grid-gap:1px;background-color:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:1px;overflow:hidden}.project__facts div{background-color:var(--surface);padding:14px 18px}.project__facts dt{color:var(--muted);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.project__facts dd{color:var(--ink);font-size:.95rem;font-weight:500;line-height:1.4;margin-top:4px}.project__stack{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin-top:12px}.project__recognition{grid-gap:10px;display:grid;gap:10px;list-style:none;margin-top:12px}.project__recognition li{grid-gap:2px;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);display:grid;gap:2px;padding:12px 14px}.project__recognition a{color:var(--ink);font-weight:600;text-decoration:none}.project__recognition a:hover{color:var(--accent)}.project__recognition span{color:var(--muted);font-size:.85rem}.project__nav{grid-gap:12px;border-top:1px solid var(--border);display:grid;gap:12px;margin-top:72px;padding-top:32px}@media screen and (min-width:768px){.project__nav{grid-template-columns:repeat(2,minmax(0,1fr))}}.project__neighbour{align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--ink);display:flex;gap:16px;padding:12px;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease}.project__neighbour:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.project__neighbour img{border-radius:10px;flex-shrink:0;height:75px;object-fit:cover;width:120px}.project__neighbour span{display:flex;flex:1 1;flex-direction:column;font-family:var(--font-display);font-size:1.15rem;font-weight:600;min-width:0}.project__neighbour small{color:var(--muted);font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.project__neighbour svg{color:var(--muted);flex-shrink:0;height:20px;width:20px}.project__neighbour--next{text-align:right}@media screen and (min-width:768px){.project__neighbour--next{grid-column:2}}.app{min-height:100vh;overflow-x:clip}.container{margin-inline:auto;max-width:1200px;padding-inline:16px;width:100%}@media screen and (min-width:768px){.container{padding-inline:32px}}.section{padding-block:72px}@media screen and (min-width:1024px){.section{padding-block:112px}}#main{position:relative}@media screen and (min-width:768px){#main:before{border-inline:1px solid var(--border);bottom:0;content:"";left:50%;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:min(100% - 16px,1184px);z-index:-1}}.hero__strip,.section{border-top:1px solid var(--border);position:relative}@media screen and (min-width:768px){.hero__strip:after,.hero__strip:before,.section:after,.section:before{background:linear-gradient(var(--border-strong),var(--border-strong)) 50%/1px 100% no-repeat,linear-gradient(var(--border-strong),var(--border-strong)) 50%/100% 1px no-repeat;content:"";height:14px;pointer-events:none;position:absolute;top:-7px;width:14px}.hero__strip:before,.section:before{left:calc(50% - min(100% - 16px,1184px)/2 - 7px)}.hero__strip:after,.section:after{right:calc(50% - min(100% - 16px,1184px)/2 - 7px)}}.social-links{display:flex;gap:8px;list-style:none}.section-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between;margin-bottom:40px}.eyebrow{align-items:center;color:var(--muted);display:inline-flex;font-family:var(--font-mono);font-size:.75rem;font-weight:500;gap:8px;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.section-title{color:var(--ink);font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3.25rem);font-weight:600;letter-spacing:-.03em;line-height:1.05;margin-top:12px}.section-lead{color:var(--muted);font-size:1.05rem;max-width:46ch}:where(.tile){background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}:where(.btn){align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;min-height:48px;padding:0 22px;text-decoration:none;transition:transform .2s var(--ease-out),background-color .2s ease,border-color .2s ease,color .2s ease;white-space:nowrap}:where(.btn):active{transform:scale(.97)}:where(.btn):disabled{cursor:not-allowed;opacity:.6}:where(.btn) svg{flex-shrink:0;height:18px;width:18px}.btn--primary{background-color:var(--ink);color:var(--bg)}.btn--primary:hover:not(:disabled){background-color:var(--accent);color:var(--on-accent)}.btn--ghost{background-color:#0000;border-color:var(--border-strong);color:var(--ink)}.btn--ghost:hover{border-color:var(--ink)}.btn--sm{font-size:.875rem;min-height:40px;padding:0 16px}:where(.chip){align-items:center;background-color:var(--surface-muted);border-radius:999px;color:var(--ink-soft);display:inline-flex;font-size:.8rem;font-weight:500;gap:6px;line-height:1.4;padding:5px 12px}:where(.icon-btn){align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:50%;color:var(--ink);cursor:pointer;display:inline-flex;height:44px;justify-content:center;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-out);width:44px}:where(.icon-btn) svg{height:18px;width:18px}:where(.icon-btn):hover{background-color:var(--ink);border-color:var(--ink);color:var(--bg)}:where(.icon-btn):active{transform:scale(.94)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.skip-link{background-color:var(--ink);border-radius:var(--radius-sm);color:var(--bg);font-weight:600;left:12px;padding:10px 16px;position:fixed;text-decoration:none;top:12px;transform:translateY(-160%);transition:transform .2s var(--ease-out);z-index:100}.skip-link:focus{transform:translateY(0)}.site-footer{border-top:1px solid var(--border)}.site-footer .container{align-items:center;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;padding-block:28px 36px}.site-footer p{color:var(--muted);font-size:.875rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 20px}.site-footer a,.site-footer button{align-items:center;background:none;border:0;color:var(--ink);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;min-height:44px;padding:0;text-decoration:none}.site-footer a:hover,.site-footer button:hover{color:var(--accent)}.section.page-top{border-top:0;padding-top:128px}.section.page-top:after,.section.page-top:before{display:none}@media screen and (min-width:1024px){.section.page-top{padding-top:160px}}.page-head{margin-bottom:48px;max-width:760px}.page-head__title{text-wrap:balance;color:var(--ink);font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4.5rem);font-weight:600;letter-spacing:-.04em;line-height:1;margin-top:14px}.page-head__lead{text-wrap:pretty;color:var(--muted);font-size:1.125rem;margin-top:20px}.not-found__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
/*# sourceMappingURL=main.3f0d5476.css.map*/