.site-nav[data-v-195313a2]{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--color-bg-white);border-bottom:1px solid var(--color-border);transition:box-shadow var(--duration-slow) var(--ease-out)}.site-nav--scrolled[data-v-195313a2]{box-shadow:var(--shadow-md)}.site-nav__inner[data-v-195313a2]{max-width:var(--container-xl);margin:0 auto;height:var(--nav-height);padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between}.site-nav__logo[data-v-195313a2]{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-bg-darker);text-decoration:none;transition:color var(--duration-base) var(--ease-out);white-space:nowrap}.site-nav__logo[data-v-195313a2]:hover{color:var(--color-primary)}.site-nav__links[data-v-195313a2]{display:flex;align-items:center;gap:.25rem}.site-nav__link[data-v-195313a2]{padding:.45rem 1rem;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--font-normal);color:var(--color-text-700);text-decoration:none;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.site-nav__link--active[data-v-195313a2],.site-nav__link[data-v-195313a2]:hover{background:var(--color-primary-subtle);color:var(--color-primary)}.site-nav__link--contact.site-nav__link--active[data-v-195313a2],.site-nav__link--contact[data-v-195313a2]:hover{background:var(--color-primary);color:var(--color-bg-white)}.site-nav__hamburger[data-v-195313a2]{display:none;background:none;border:none;font-size:var(--text-xl);cursor:pointer;color:var(--color-text-700);padding:.25rem var(--space-2);line-height:1}.site-nav__mobile[data-v-195313a2]{background:var(--color-bg-white);border-top:1px solid var(--color-border);padding:.75rem var(--space-6);display:flex;flex-direction:column;gap:.25rem}.site-nav__mobile-link[data-v-195313a2]{display:block;padding:.7rem 1rem;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);color:var(--color-text-700);text-decoration:none;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.site-nav__mobile-link--active[data-v-195313a2],.site-nav__mobile-link[data-v-195313a2]:hover{background:var(--color-primary-subtle);color:var(--color-primary)}.mobile-menu-enter-active[data-v-195313a2],.mobile-menu-leave-active[data-v-195313a2]{transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.mobile-menu-enter-from[data-v-195313a2],.mobile-menu-leave-to[data-v-195313a2]{opacity:0;transform:translateY(-8px)}@media (max-width:768px){.site-nav__links[data-v-195313a2]{display:none}.site-nav__hamburger[data-v-195313a2]{display:block}}.site-footer[data-v-6405ffee]{background:var(--color-bg-darker);color:var(--color-bg-white);padding:var(--space-16) var(--space-6) 0}.site-footer__inner[data-v-6405ffee]{max-width:var(--container-xl);margin:0 auto}.site-footer__grid[data-v-6405ffee]{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-12);padding-bottom:var(--space-12)}.site-footer__brand h3[data-v-6405ffee]{font-size:var(--text-xl);font-weight:var(--font-extrabold);color:var(--color-bg-white);line-height:var(--leading-tight);margin:0 0 .75rem}.site-footer__brand p[data-v-6405ffee]{font-size:var(--text-sm);color:var(--color-text-300);line-height:var(--leading-relaxed);margin:0}.site-footer__col h4[data-v-6405ffee]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-bg-white);margin:0 0 var(--space-4);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.site-footer__col ul[data-v-6405ffee]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.site-footer__col a[data-v-6405ffee],.site-footer__col ul li a[data-v-6405ffee]{color:var(--color-text-300);text-decoration:none;font-size:var(--text-sm);transition:color var(--duration-base) var(--ease-out)}.site-footer__col a[data-v-6405ffee]:hover,.site-footer__col ul li a[data-v-6405ffee]:hover{color:var(--color-primary)}.site-footer__socials[data-v-6405ffee]{display:flex;gap:.6rem}.site-footer__socials a[data-v-6405ffee]{width:36px;height:36px;background:var(--color-bg-dark);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-text-300);font-size:var(--text-sm);text-decoration:none;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.site-footer__socials a[data-v-6405ffee]:hover{background:var(--color-primary);color:var(--color-bg-white)}.site-footer__email[data-v-6405ffee]{display:flex;align-items:center;gap:.4rem;color:var(--color-text-300);font-size:var(--text-sm);text-decoration:none;transition:color var(--duration-base) var(--ease-out);word-break:break-all}.site-footer__email[data-v-6405ffee]:hover{color:var(--color-primary)}.site-footer__bottom[data-v-6405ffee]{border-top:1px solid var(--color-bg-dark);padding:var(--space-6) 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-400)}.heart[data-v-6405ffee]{color:var(--color-primary)}@media (max-width:900px){.site-footer__grid[data-v-6405ffee]{grid-template-columns:1fr 1fr;gap:var(--space-8)}.site-footer__brand[data-v-6405ffee]{grid-column:1/3}}@media (max-width:500px){.site-footer__grid[data-v-6405ffee]{grid-template-columns:1fr}.site-footer__brand[data-v-6405ffee]{grid-column:1}.site-footer__bottom[data-v-6405ffee]{flex-direction:column;text-align:center}}.homepage[data-v-454adc44]{margin:0;padding:0;background:var(--color-bg-white);overflow-x:hidden}.text-orange[data-v-454adc44]{color:var(--color-primary)}.section-header[data-v-454adc44]{text-align:center;margin-bottom:var(--space-12)}.section-header h2[data-v-454adc44]{font-size:var(--text-4xl);font-weight:var(--font-extrabold);color:var(--color-text-900);margin-bottom:var(--space-2)}.section-sub[data-v-454adc44]{font-size:var(--text-lg);color:var(--color-text-400);max-width:600px;margin:0 auto}.reveal[data-v-454adc44]{opacity:0;transform:translateY(32px);transition:opacity var(--duration-slower) var(--ease-out),transform var(--duration-slower) var(--ease-out)}.reveal.is-visible[data-v-454adc44]{opacity:1;transform:translateY(0)}.hero-section[data-v-454adc44]{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-light) 0,var(--color-bg-white) 50%,var(--color-primary-subtle) 100%);overflow:hidden;padding:6rem var(--space-6) var(--space-16)}.hero-blob[data-v-454adc44]{position:absolute;border-radius:50%;filter:blur(80px);animation:blobFloat-454adc44 8s ease-in-out infinite;pointer-events:none}.hero-blob--orange[data-v-454adc44]{width:480px;height:480px;background:rgba(241,129,40,.18);top:-60px;right:-80px;animation-delay:0s}.hero-blob--blue[data-v-454adc44]{width:400px;height:400px;background:rgba(99,102,241,.12);bottom:-60px;left:-80px;animation-delay:3s}@keyframes blobFloat-454adc44{0%,to{transform:translate(0) scale(1)}50%{transform:translate(20px,-20px) scale(1.05)}}.hero-inner[data-v-454adc44]{position:relative;z-index:1;text-align:center;max-width:800px;width:100%}.hero-badge[data-v-454adc44]{display:inline-block;padding:var(--space-2) var(--space-5);background:var(--color-bg-white);border:2px solid var(--color-primary-border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-500);margin-bottom:1.75rem}.hero-heading[data-v-454adc44]{font-size:clamp(3.5rem,7vw,4.5rem);font-weight:900;color:var(--color-bg-darker);line-height:var(--leading-tight);margin-bottom:var(--space-5)}.role-switcher[data-v-454adc44]{height:7rem;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-6);overflow:hidden}.role-text[data-v-454adc44]{font-size:clamp(2.2rem,4.5vw,4rem);font-weight:var(--font-bold);color:var(--color-text-700);margin:0}.role-fade-enter-active[data-v-454adc44],.role-fade-leave-active[data-v-454adc44]{transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.role-fade-enter-from[data-v-454adc44]{opacity:0;transform:translateY(16px)}.role-fade-leave-to[data-v-454adc44]{opacity:0;transform:translateY(-16px)}.hero-desc[data-v-454adc44]{font-size:var(--text-xl);color:var(--color-text-400);line-height:var(--leading-loose);max-width:620px;margin:0 auto var(--space-10)}.hero-actions[data-v-454adc44]{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-12)}.btn-primary-pill[data-v-454adc44]{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-primary);color:var(--color-bg-white);padding:.85rem var(--space-8);border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-base);text-decoration:none;transition:background var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-orange)}.btn-primary-pill[data-v-454adc44]:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-orange-lg);transform:translateY(-2px);color:var(--color-bg-white)}.btn-primary-pill--lg[data-v-454adc44]{font-size:var(--text-lg);padding:var(--space-4) var(--space-10)}.btn-arrow[data-v-454adc44]{transition:transform var(--duration-base) var(--ease-out)}.btn-primary-pill:hover .btn-arrow[data-v-454adc44]{transform:translateX(4px)}.btn-outline-pill[data-v-454adc44]{display:inline-flex;align-items:center;background:var(--color-bg-white);color:var(--color-text-700);padding:.85rem var(--space-8);border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-base);border:2px solid var(--color-border-strong);text-decoration:none;transition:border-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.btn-outline-pill[data-v-454adc44]:hover{border-color:var(--color-primary);color:var(--color-primary)}.scroll-hint-wrap[data-v-454adc44]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-text-300)}.scroll-hint-text[data-v-454adc44]{font-size:var(--text-sm)}.mouse-icon[data-v-454adc44]{width:26px;height:42px;border:2px solid var(--color-border-strong);border-radius:13px;display:flex;justify-content:center;padding-top:6px}.mouse-dot[data-v-454adc44]{width:6px;height:6px;background:var(--color-text-300);border-radius:50%;animation:mouseDrop-454adc44 1.6s ease-in-out infinite}@keyframes mouseDrop-454adc44{0%,to{transform:translateY(0);opacity:1}60%{transform:translateY(10px);opacity:.3}}.bento-section[data-v-454adc44]{padding:var(--section-py) var(--space-6);background:var(--color-bg-white);max-width:var(--container-xl);margin:0 auto}.bento-grid[data-v-454adc44]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--bento-gap)}.bento-card[data-v-454adc44]{border-radius:var(--radius-2xl);padding:var(--space-8);border:1px solid transparent;transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.bento-card[data-v-454adc44]:hover{box-shadow:var(--shadow-xl);transform:translateY(-3px)}.bento-large[data-v-454adc44]{grid-column:1/3;grid-row:1/3;background:linear-gradient(135deg,var(--color-primary-subtle),var(--color-primary-border));border-color:var(--color-primary-border);display:flex;flex-direction:column;justify-content:space-between}.bento-tag[data-v-454adc44]{display:inline-block;background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-full);padding:.4rem 1.25rem;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-700);margin-bottom:var(--space-4);width:-moz-fit-content;width:fit-content}.bento-large h3[data-v-454adc44]{font-size:var(--text-2xl);font-weight:var(--font-extrabold);color:var(--color-bg-darker);line-height:var(--leading-snug);margin-bottom:var(--space-6)}.bento-large-footer[data-v-454adc44]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:nowrap}.stats-grid[data-v-454adc44]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);flex:1}.stat-chip[data-v-454adc44]{background:hsla(0,0%,100%,.75);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column}.stat-chip strong[data-v-454adc44]{font-size:var(--text-3xl);font-weight:var(--font-extrabold);color:var(--color-primary);line-height:1}.stat-chip span[data-v-454adc44]{font-size:var(--text-sm);color:var(--color-text-500);margin-top:var(--space-1);font-weight:var(--font-medium)}.profile-photo-frame[data-v-454adc44]{position:relative;width:280px;height:280px;flex-shrink:0;border-radius:var(--radius-xl)}.profile-photo[data-v-454adc44]{position:relative;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.bento-research[data-v-454adc44]{grid-column:3;grid-row:1;background:var(--color-blue-50);border-color:var(--color-blue-100)}.bento-teaching[data-v-454adc44]{grid-column:3;grid-row:2;background:var(--color-purple-50);border-color:var(--color-purple-100)}.bento-ux[data-v-454adc44]{grid-column:1/3;grid-row:3;background:linear-gradient(135deg,var(--color-green-50),var(--color-teal-50));border-color:var(--color-green-100)}.bento-mentorship[data-v-454adc44]{grid-column:3;grid-row:3;background:var(--color-yellow-50);border-color:var(--color-yellow-100)}.bento-icon[data-v-454adc44]{font-size:var(--text-2xl);margin-bottom:var(--space-4)}.bento-card h3[data-v-454adc44]{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-bg-darker);margin-bottom:var(--space-2)}.bento-card p[data-v-454adc44]{font-size:var(--text-sm);color:var(--color-text-500);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.bento-link[data-v-454adc44]{font-size:var(--text-sm);font-weight:var(--font-semibold);text-decoration:none;transition:gap var(--duration-base) var(--ease-out)}.bento-link--blue[data-v-454adc44]{color:var(--color-blue-600)}.bento-link--purple[data-v-454adc44]{color:var(--color-purple-600)}.bento-link--green[data-v-454adc44]{color:var(--color-green-600)}.bento-link--yellow[data-v-454adc44]{color:var(--color-yellow-600)}.bento-wide-inner[data-v-454adc44]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.bento-wide-text[data-v-454adc44]{flex:1}.bento-icon-quad[data-v-454adc44]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;flex-shrink:0}.icon-box[data-v-454adc44]{width:60px;height:60px;background:var(--color-bg-white);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);box-shadow:var(--shadow-xs)}.journey-section[data-v-454adc44]{padding:var(--section-py) var(--space-6);background:var(--color-bg-light)}.journey-list[data-v-454adc44]{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6)}.journey-row[data-v-454adc44]{display:flex;gap:var(--space-5);align-items:flex-start}.journey-node[data-v-454adc44]{flex-shrink:0;padding-top:.25rem}.journey-node-icon[data-v-454adc44]{width:52px;height:52px;border-radius:var(--radius-xl);border:3px solid var(--color-bg-white);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-base);background:var(--color-bg-white)}.journey-color-0 .journey-node-icon[data-v-454adc44]{background:var(--color-primary-subtle)}.journey-color-1 .journey-node-icon[data-v-454adc44]{background:var(--color-blue-50)}.journey-color-2 .journey-node-icon[data-v-454adc44]{background:var(--color-green-50)}.journey-color-3 .journey-node-icon[data-v-454adc44]{background:var(--color-purple-50)}.journey-card-new[data-v-454adc44]{flex:1;background:var(--color-bg-white);border-radius:var(--radius-xl);padding:var(--space-6);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.journey-year-badge[data-v-454adc44]{display:inline-block;background:var(--color-bg-subtle);color:var(--color-text-700);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:.25rem .75rem;border-radius:var(--radius-full);margin-bottom:.75rem}.journey-color-0 .journey-year-badge[data-v-454adc44]{background:var(--color-primary-subtle);color:var(--color-primary-dark)}.journey-color-1 .journey-year-badge[data-v-454adc44]{background:var(--color-blue-50);color:var(--color-blue-700)}.journey-color-2 .journey-year-badge[data-v-454adc44]{background:var(--color-green-50);color:var(--color-green-600)}.journey-color-3 .journey-year-badge[data-v-454adc44]{background:var(--color-purple-50);color:var(--color-purple-600)}.journey-card-new h3[data-v-454adc44]{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-bg-darker);margin-bottom:.25rem}.journey-role-title[data-v-454adc44]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-400);margin-bottom:.6rem}.journey-desc[data-v-454adc44]{font-size:var(--text-sm);color:var(--color-text-500);line-height:var(--leading-relaxed);margin-bottom:.6rem}.journey-meta[data-v-454adc44]{font-size:var(--text-xs);color:var(--color-text-300);margin:0}.skills-section[data-v-454adc44]{padding:var(--section-py) var(--space-6);background:var(--color-bg-white);max-width:1100px;margin:0 auto}.skills-grid[data-v-454adc44]{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-4)}.skill-tag[data-v-454adc44]{padding:var(--space-4) var(--space-6);border-radius:var(--radius-full);font-size:var(--text-lg);text-align:center;font-weight:var(--font-semibold);cursor:default;letter-spacing:var(--tracking-wide);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.skill-tag[data-v-454adc44]:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.skill-color-0[data-v-454adc44]{background:var(--color-primary-subtle);color:var(--color-primary-dark);border:1px solid var(--color-primary-border)}.skill-color-1[data-v-454adc44]{background:var(--color-blue-50);color:var(--color-blue-700);border:1px solid var(--color-blue-100)}.skill-color-2[data-v-454adc44]{background:var(--color-purple-50);color:var(--color-purple-600);border:1px solid var(--color-purple-100)}.skill-color-3[data-v-454adc44]{background:var(--color-green-50);color:var(--color-green-600);border:1px solid var(--color-green-100)}.skill-color-4[data-v-454adc44]{background:var(--color-pink-50);color:var(--color-pink-600);border:1px solid var(--color-pink-100)}.skill-color-5[data-v-454adc44]{background:var(--color-indigo-50);color:var(--color-indigo-600);border:1px solid var(--color-indigo-100)}.testimonials-section[data-v-454adc44]{padding:var(--section-py) var(--space-6);background:var(--color-bg-light)}.testimonials-section .section-header[data-v-454adc44]{margin-bottom:var(--space-10)}.dot[data-v-454adc44]{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--color-border-strong);margin:0 4px;cursor:pointer;transition:background var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.dot.active[data-v-454adc44]{background:var(--color-primary);transform:scale(1.3)}.cta-section[data-v-454adc44]{padding:var(--section-py) var(--space-6);background:linear-gradient(135deg,var(--color-primary-subtle) 0,var(--color-bg-white) 100%)}.cta-inner[data-v-454adc44]{max-width:680px;margin:0 auto;text-align:center}.cta-inner h2[data-v-454adc44]{font-size:var(--text-3xl);font-weight:var(--font-extrabold);color:var(--color-bg-darker);line-height:var(--leading-snug);margin-bottom:var(--space-5)}.cta-inner p[data-v-454adc44]{font-size:var(--text-lg);color:var(--color-text-400);line-height:var(--leading-loose);margin-bottom:var(--space-8)}@media (max-width:900px){.skills-grid[data-v-454adc44]{grid-template-columns:repeat(3,1fr)}.bento-grid[data-v-454adc44]{grid-template-columns:1fr 1fr}.bento-large[data-v-454adc44]{grid-column:1/3;grid-row:1}.bento-research[data-v-454adc44]{grid-column:1;grid-row:2}.bento-teaching[data-v-454adc44]{grid-column:2;grid-row:2}.bento-ux[data-v-454adc44]{grid-column:1/3;grid-row:3}.bento-mentorship[data-v-454adc44]{grid-column:1/3;grid-row:4}.profile-photo-frame[data-v-454adc44]{width:180px;height:180px}}@media (max-width:600px){.bento-grid[data-v-454adc44]{grid-template-columns:1fr}.bento-large[data-v-454adc44],.bento-mentorship[data-v-454adc44],.bento-research[data-v-454adc44],.bento-teaching[data-v-454adc44],.bento-ux[data-v-454adc44]{grid-column:1;grid-row:auto}.bento-wide-inner[data-v-454adc44]{flex-direction:column}.bento-icon-quad[data-v-454adc44]{display:none}.profile-photo-frame[data-v-454adc44]{width:180px;height:180px}.bento-large-footer[data-v-454adc44]{flex-wrap:wrap}.skills-grid[data-v-454adc44]{grid-template-columns:repeat(2,1fr)}.hero-actions[data-v-454adc44]{flex-direction:column;align-items:center}.section-header h2[data-v-454adc44]{font-size:var(--text-2xl)}.bento-section[data-v-454adc44],.cta-section[data-v-454adc44],.journey-section[data-v-454adc44],.skills-section[data-v-454adc44],.testimonials-section[data-v-454adc44]{padding:var(--space-12) var(--space-4)}.bento-large-footer[data-v-454adc44]{flex-direction:column;align-items:flex-start}}.modal-container{position:fixed;bottom:0;left:50%;transform:translateX(-50%) translateY(0);width:84vw;height:88vh;background:var(--color-bg-white);transition:transform var(--duration-slow) var(--ease-in-out);z-index:1000;overflow-y:auto;padding:0;border:2px solid var(--color-border)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:10px var(--space-5);background:var(--color-bg-subtle);font-size:var(--text-sm);height:50px;border-bottom:1px solid var(--color-border)}.modal-title{margin:0;flex-grow:1;text-align:left}.close-btn{border:2px solid var(--color-bg-darker);cursor:pointer;font-size:var(--text-sm);display:flex;align-items:center;transition:color var(--duration-slow) var(--ease-out)}.close-btn:hover{color:var(--color-primary-light)!important}.close-text{color:var(--color-bg-white)}.modal-content{padding:var(--space-5) 0;height:calc(88vh - 50px)}.image-wrapper{position:relative;width:100%;height:100%}.loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--text-xl);color:var(--color-text-700)}.content-image{width:100%!important;max-width:100%;height:auto;max-height:calc(88vh - 50px);-o-object-fit:contain;object-fit:contain;display:block;margin:0 auto}.pdf-viewer{width:100%!important;height:100%;border:none}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--duration-slow) var(--ease-out)}.slide-up-enter,.slide-up-leave-to{transform:translateY(100%);opacity:0}.work-page[data-v-90fff8d0]{background:var(--color-bg-white);min-height:100vh;overflow-x:hidden}.page-header[data-v-90fff8d0]{text-align:center;padding:7rem var(--space-6) var(--space-12);background:var(--color-bg-light);border-bottom:1px solid var(--color-bg-subtle)}.cases-section[data-v-90fff8d0]{max-width:var(--container-xl);margin:0 auto;padding:var(--space-16) var(--space-6) var(--section-py)}.cases-grid[data-v-90fff8d0]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.case-card[data-v-90fff8d0]{background:var(--color-bg-white);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.case-card[data-v-90fff8d0]:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.case-card-img-wrap[data-v-90fff8d0]{width:100%;height:220px;overflow:hidden;background:var(--color-bg-subtle);display:flex;align-items:center;justify-content:center}.case-card-img[data-v-90fff8d0]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block;transition:transform var(--duration-slow) var(--ease-out)}.case-card:hover .case-card-img[data-v-90fff8d0]{transform:scale(1.04)}.case-card-body[data-v-90fff8d0]{padding:var(--space-6);display:flex;flex-direction:column;flex:1}.case-card-tags[data-v-90fff8d0]{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.case-tag[data-v-90fff8d0]{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-400);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:.25rem .75rem;white-space:nowrap}.case-card-title[data-v-90fff8d0]{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-primary);line-height:var(--leading-snug);margin:0 0 .6rem}.case-card-desc[data-v-90fff8d0]{font-size:var(--text-sm);color:var(--color-text-400);line-height:var(--leading-relaxed);flex:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-5)}.case-view-link[data-v-90fff8d0]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;transition:gap var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out);margin-top:auto}.case-view-link[data-v-90fff8d0]:hover{color:var(--color-primary-dark);gap:.5rem}.modal-overlay[data-v-90fff8d0]{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:999;display:flex;justify-content:center;align-items:center}.password-modal[data-v-90fff8d0]{background:var(--color-bg-white);width:100%;max-width:380px;border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;gap:var(--space-4);z-index:1000}.modal-heading[data-v-90fff8d0]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-bg-darker);margin:0}.modal-sub[data-v-90fff8d0]{font-size:var(--text-sm);color:var(--color-text-400);margin:0}.input-wrap[data-v-90fff8d0]{display:flex;justify-content:center}.password-input[data-v-90fff8d0]{width:100%;padding:.75rem var(--space-4);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-base);outline:none;transition:border-color var(--duration-base) var(--ease-out)}.password-input[data-v-90fff8d0]:focus{border-color:var(--color-primary)}.modal-actions[data-v-90fff8d0]{display:flex;gap:.75rem;justify-content:flex-end}.btn-cancel[data-v-90fff8d0]{background:var(--color-bg-subtle);color:var(--color-text-700);border:none;border-radius:var(--radius-md);padding:.65rem var(--space-6);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--duration-base) var(--ease-out)}.btn-cancel[data-v-90fff8d0]:hover{background:var(--color-border)}.btn-submit[data-v-90fff8d0]{background:var(--color-primary);color:var(--color-bg-white);border:none;border-radius:var(--radius-md);padding:.65rem var(--space-6);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--duration-base) var(--ease-out)}.btn-submit[data-v-90fff8d0]:hover{background:var(--color-primary-dark)}.fade-enter-active[data-v-90fff8d0],.fade-leave-active[data-v-90fff8d0]{transition:opacity var(--duration-base) var(--ease-out)}.fade-enter-from[data-v-90fff8d0],.fade-leave-to[data-v-90fff8d0]{opacity:0}@media (max-width:1024px){.cases-grid[data-v-90fff8d0]{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.cases-grid[data-v-90fff8d0]{grid-template-columns:1fr}.page-header[data-v-90fff8d0]{padding:6rem var(--space-4) var(--space-10)}.cases-section[data-v-90fff8d0]{padding:var(--space-10) var(--space-4) var(--space-16)}}.research-page[data-v-2368ae9c]{background:var(--color-bg-white);min-height:100vh;overflow-x:hidden}.page-header[data-v-2368ae9c]{text-align:center;padding:7rem var(--space-6) var(--space-16);background:var(--color-bg-light);border-bottom:1px solid var(--color-bg-subtle)}.page-subtitle[data-v-2368ae9c]{margin-bottom:var(--space-10)}.stats-row[data-v-2368ae9c]{display:flex;justify-content:center;gap:var(--space-12);flex-wrap:wrap}.stat-item[data-v-2368ae9c]{display:flex;flex-direction:column;align-items:center}.stat-num[data-v-2368ae9c]{font-size:var(--text-3xl);font-weight:var(--font-extrabold);color:var(--color-primary);line-height:1}.stat-label[data-v-2368ae9c]{font-size:var(--text-sm);color:var(--color-text-400);font-weight:var(--font-medium);margin-top:.3rem}.section-inner[data-v-2368ae9c]{max-width:1100px;margin:0 auto;padding:var(--space-16) var(--space-6)}.focus-section[data-v-2368ae9c],.pubs-section--alt[data-v-2368ae9c]{background:var(--color-bg-light)}.focus-section[data-v-2368ae9c]{border-bottom:1px solid var(--color-bg-subtle)}.focus-grid[data-v-2368ae9c]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.focus-card[data-v-2368ae9c]{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.focus-card[data-v-2368ae9c]:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.focus-card-title[data-v-2368ae9c]{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-bg-darker);margin-bottom:var(--space-2)}.focus-card-desc[data-v-2368ae9c]{font-size:var(--text-sm);color:var(--color-text-400);line-height:var(--leading-relaxed);margin:0}.pub-list[data-v-2368ae9c]{display:flex;flex-direction:column;gap:0}.pub-item[data-v-2368ae9c]{padding:var(--space-6) 0;border-bottom:1px solid var(--color-bg-subtle)}.pub-item[data-v-2368ae9c]:last-child{border-bottom:none}.pub-badges[data-v-2368ae9c]{display:flex;gap:var(--space-2);margin-bottom:.6rem}.pub-date-badge[data-v-2368ae9c]{font-weight:var(--font-medium);color:var(--color-text-300);background:var(--color-bg-subtle)}.pub-date-badge[data-v-2368ae9c],.pub-type-badge[data-v-2368ae9c]{font-size:var(--text-xs);border-radius:var(--radius-full);padding:.2rem .65rem}.pub-type-badge[data-v-2368ae9c]{font-weight:var(--font-semibold)}.type-sci[data-v-2368ae9c]{background:var(--color-blue-50);color:var(--color-blue-700)}.type-scopus[data-v-2368ae9c]{background:var(--color-green-50);color:var(--color-green-600)}.type-ugc[data-v-2368ae9c]{background:var(--color-primary-subtle);color:var(--color-primary-dark)}.type-copyright[data-v-2368ae9c]{background:var(--color-purple-50);color:var(--color-purple-600)}.type-design[data-v-2368ae9c]{background:var(--color-pink-50);color:var(--color-pink-600)}.pub-title[data-v-2368ae9c]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-bg-darker);line-height:var(--leading-normal);margin:0 0 .35rem}.pub-authors[data-v-2368ae9c]{font-size:var(--text-sm);color:var(--color-text-400);margin:0 0 .6rem}.pub-link[data-v-2368ae9c]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary);text-decoration:none}.pub-link[data-v-2368ae9c]:hover{color:var(--color-primary-dark)}.current-section[data-v-2368ae9c]{background:var(--color-primary-subtle)}.current-grid[data-v-2368ae9c]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.current-card[data-v-2368ae9c]{background:var(--color-bg-white);border:1px solid var(--color-primary-border);border-radius:var(--radius-xl);padding:var(--space-8)}.current-card-icon[data-v-2368ae9c]{font-size:var(--text-2xl);margin-bottom:var(--space-4)}.current-card h4[data-v-2368ae9c]{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-bg-darker);margin-bottom:.6rem}.current-card p[data-v-2368ae9c]{font-size:var(--text-sm);color:var(--color-text-400);line-height:var(--leading-relaxed);margin:0}.projects-section[data-v-2368ae9c]{background:var(--color-bg-light)}.projects-grid[data-v-2368ae9c]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.project-card[data-v-2368ae9c]{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.project-card[data-v-2368ae9c]:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.project-card-img-wrap[data-v-2368ae9c]{height:180px;overflow:hidden;background:var(--color-bg-subtle);display:flex;align-items:center;justify-content:center}.project-card-img[data-v-2368ae9c]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transition:transform var(--duration-slow) var(--ease-out)}.project-card:hover .project-card-img[data-v-2368ae9c]{transform:scale(1.04)}.project-card-body[data-v-2368ae9c]{padding:var(--space-5)}.project-tag[data-v-2368ae9c]{display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-primary);background:var(--color-primary-subtle);border-radius:var(--radius-full);padding:.2rem .65rem;margin-bottom:var(--space-2)}.project-card-title[data-v-2368ae9c]{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-bg-darker);margin:0 0 .4rem}.project-card-desc[data-v-2368ae9c]{font-size:var(--text-sm);color:var(--color-text-400);line-height:var(--leading-relaxed);margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media (max-width:900px){.focus-grid[data-v-2368ae9c]{grid-template-columns:repeat(2,1fr)}.current-grid[data-v-2368ae9c]{grid-template-columns:1fr}.projects-grid[data-v-2368ae9c]{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.page-header[data-v-2368ae9c]{padding:6rem var(--space-4) var(--space-12)}.stats-row[data-v-2368ae9c]{gap:var(--space-6)}.focus-grid[data-v-2368ae9c],.projects-grid[data-v-2368ae9c]{grid-template-columns:1fr}.section-inner[data-v-2368ae9c]{padding:var(--space-12) var(--space-4)}}.mentorship-page[data-v-39943628]{background:var(--color-bg-white);min-height:100vh;overflow-x:hidden}.page-header[data-v-39943628]{text-align:center;padding:7rem var(--space-6) var(--space-16);background:var(--color-bg-light);border-bottom:1px solid var(--color-bg-subtle)}.page-subtitle[data-v-39943628]{margin-bottom:var(--space-10)}.stats-row[data-v-39943628]{display:flex;justify-content:center;gap:var(--space-12);flex-wrap:wrap}.stat-item[data-v-39943628]{display:flex;flex-direction:column;align-items:center}.stat-num[data-v-39943628]{font-size:var(--text-3xl);font-weight:var(--font-extrabold);color:var(--color-primary);line-height:1}.stat-label[data-v-39943628]{font-size:var(--text-sm);color:var(--color-text-400);font-weight:var(--font-medium);margin-top:.3rem}.section-inner[data-v-39943628]{max-width:1100px;margin:0 auto;padding:var(--space-16) var(--space-6)}.courses-section[data-v-39943628]{background:var(--color-bg-white)}.courses-grid[data-v-39943628]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.course-card[data-v-39943628]{border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.course-card[data-v-39943628]:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.course-icon[data-v-39943628]{font-size:var(--text-2xl);margin-bottom:.75rem}.course-title[data-v-39943628]{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-bg-darker);margin-bottom:var(--space-2)}.course-desc[data-v-39943628]{font-size:var(--text-sm);color:var(--color-text-400);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.course-tags[data-v-39943628]{display:flex;flex-wrap:wrap;gap:.4rem}.course-tag[data-v-39943628]{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-400);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:.2rem .65rem}.projects-section[data-v-39943628]{background:var(--color-bg-light)}.projects-grid[data-v-39943628]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.project-card[data-v-39943628]{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out);display:flex;flex-direction:column}.project-card[data-v-39943628]:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.project-img-wrap[data-v-39943628]{height:190px;overflow:hidden;background:var(--color-bg-subtle);display:flex;align-items:center;justify-content:center}.project-img[data-v-39943628]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transition:transform var(--duration-slow) var(--ease-out)}.project-card:hover .project-img[data-v-39943628]{transform:scale(1.04)}.project-body[data-v-39943628]{padding:var(--space-5);display:flex;flex-direction:column;flex:1}.project-category[data-v-39943628]{display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-primary);background:var(--color-primary-subtle);border-radius:var(--radius-full);padding:.2rem .65rem;margin-bottom:var(--space-2)}.project-title[data-v-39943628]{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-primary);margin:0 0 .4rem}.project-desc[data-v-39943628]{font-size:var(--text-sm);color:var(--color-text-400);line-height:var(--leading-relaxed);flex:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-4)}.project-view-btn[data-v-39943628]{background:var(--color-bg-white);color:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out);align-self:flex-start;margin-top:auto}.project-view-btn[data-v-39943628]:hover{background:var(--color-primary);color:var(--color-bg-white)}.thesis-section[data-v-39943628]{background:var(--color-bg-white)}.thesis-grid[data-v-39943628]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.thesis-card[data-v-39943628]{display:flex;align-items:flex-start;gap:var(--space-4);background:var(--color-bg-white);border:1px solid var(--color-bg-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.thesis-logo[data-v-39943628]{width:64px;height:64px;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius-md);flex-shrink:0;background:var(--color-bg-white)}.thesis-project[data-v-39943628]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-bg-darker);line-height:var(--leading-snug);margin-bottom:.2rem}.thesis-student[data-v-39943628]{font-size:var(--text-sm);color:var(--color-text-400);margin-bottom:.1rem}.thesis-company[data-v-39943628]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-primary)}.philosophy-section[data-v-39943628]{background:var(--color-bg-light)}.philosophy-inner p[data-v-39943628]{font-size:var(--text-sm);color:var(--color-text-500);line-height:var(--leading-loose);margin-bottom:var(--space-4)}.philosophy-inner p[data-v-39943628]:last-child{margin-bottom:0}.cta-section[data-v-39943628]{background:linear-gradient(135deg,var(--color-primary-subtle) 0,var(--color-bg-white) 100%);padding:var(--section-py) var(--space-6);text-align:center}.cta-inner[data-v-39943628]{max-width:600px;margin:0 auto}.cta-inner h2[data-v-39943628]{font-size:var(--text-2xl);font-weight:var(--font-extrabold);color:var(--color-bg-darker);margin-bottom:var(--space-4)}.cta-inner p[data-v-39943628]{font-size:var(--text-base);color:var(--color-text-400);line-height:var(--leading-loose);margin-bottom:var(--space-8)}.cta-btn[data-v-39943628]{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-primary);color:var(--color-bg-white);text-decoration:none;border-radius:var(--radius-full);padding:.9rem var(--space-10);font-size:var(--text-base);font-weight:var(--font-semibold);box-shadow:var(--shadow-orange);transition:background var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.cta-btn[data-v-39943628]:hover{background:var(--color-primary-dark);transform:translateY(-2px);color:var(--color-bg-white)}@media (max-width:1024px){.thesis-grid[data-v-39943628]{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.courses-grid[data-v-39943628]{grid-template-columns:1fr}.projects-grid[data-v-39943628],.thesis-grid[data-v-39943628]{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.page-header[data-v-39943628]{padding:6rem var(--space-4) var(--space-12)}.stats-row[data-v-39943628]{gap:var(--space-6)}.section-inner[data-v-39943628]{padding:var(--space-12) var(--space-4)}.projects-grid[data-v-39943628],.thesis-grid[data-v-39943628]{grid-template-columns:1fr}}.resume-container[data-v-1b9149c3]{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background-color:var(--color-bg-subtle);margin-top:var(--nav-height);gap:var(--space-8)}.resume-image[data-v-1b9149c3]{max-width:80%;height:auto;box-shadow:var(--shadow-md);border-radius:var(--radius-md)}.download-section[data-v-1b9149c3]{margin-top:var(--space-4)}.download-btn[data-v-1b9149c3]{display:inline-flex;align-items:center;gap:var(--space-2);padding:.75rem var(--space-6);background-color:var(--color-primary);color:var(--color-bg-white);text-decoration:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);transition:background-color var(--duration-slow) var(--ease-out),transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out);box-shadow:var(--shadow-orange)}.download-btn[data-v-1b9149c3]:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-orange-lg);color:var(--color-bg-white)}.download-btn .material-icons[data-v-1b9149c3]{font-size:var(--text-base)}.contact-page[data-v-110a20de]{background:var(--color-bg-white);min-height:100vh;overflow-x:hidden}.page-header[data-v-110a20de]{text-align:center;padding:7rem var(--space-6) var(--space-12);background:var(--color-bg-light);border-bottom:1px solid var(--color-bg-subtle)}.contact-main[data-v-110a20de]{max-width:1100px;margin:0 auto;padding:var(--section-py) var(--space-6)}.contact-inner[data-v-110a20de]{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-16);align-items:start}.info-heading[data-v-110a20de]{font-size:var(--text-2xl);font-weight:var(--font-extrabold);color:var(--color-bg-darker);line-height:var(--leading-snug);margin-bottom:var(--space-4)}.info-desc[data-v-110a20de]{font-size:var(--text-sm);color:var(--color-text-400);line-height:var(--leading-loose);margin-bottom:var(--space-8)}.info-email[data-v-110a20de]{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:var(--space-8)}.email-icon[data-v-110a20de]{width:42px;height:42px;background:var(--color-primary-subtle);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.email-label[data-v-110a20de]{font-size:var(--text-xs);color:var(--color-text-300);font-weight:var(--font-medium);margin-bottom:.15rem}.email-value[data-v-110a20de]{font-size:var(--text-sm);color:var(--color-text-700);font-weight:var(--font-medium);text-decoration:none}.email-value[data-v-110a20de]:hover{color:var(--color-primary)}.social-heading[data-v-110a20de]{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-bg-darker);margin-bottom:.85rem}.social-icons[data-v-110a20de]{display:flex;gap:.75rem}.social-btn[data-v-110a20de]{width:44px;height:44px;border-radius:var(--radius-lg);border:1.5px solid var(--color-border);background:var(--color-bg-white);display:flex;align-items:center;justify-content:center;color:var(--color-text-700);text-decoration:none;transition:border-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out)}.social-btn[data-v-110a20de]:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-subtle)}.contact-form-card[data-v-110a20de]{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-10);box-shadow:var(--shadow-md)}.form-heading[data-v-110a20de]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-bg-darker);margin-bottom:1.75rem}.contact-form[data-v-110a20de]{display:flex;flex-direction:column;gap:1.1rem}.form-field[data-v-110a20de]{display:flex;flex-direction:column;gap:.4rem}.form-field label[data-v-110a20de]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-700)}.form-field input[data-v-110a20de],.form-field textarea[data-v-110a20de]{width:100%;padding:.75rem var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-bg-darker);background:var(--color-bg-white);outline:none;transition:border-color var(--duration-base) var(--ease-out);box-sizing:border-box}.form-field input[data-v-110a20de]::-moz-placeholder,.form-field textarea[data-v-110a20de]::-moz-placeholder{color:var(--color-text-300)}.form-field input[data-v-110a20de]::placeholder,.form-field textarea[data-v-110a20de]::placeholder{color:var(--color-text-300)}.form-field input[data-v-110a20de]:focus,.form-field textarea[data-v-110a20de]:focus{border-color:var(--color-primary)}.form-field textarea[data-v-110a20de]{min-height:130px;resize:vertical}.submit-btn[data-v-110a20de]{display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-bg-white);border:none;border-radius:var(--radius-md);padding:.9rem var(--space-8);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;width:100%;transition:background var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out);margin-top:.25rem}.submit-btn[data-v-110a20de]:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.submit-btn[data-v-110a20de]:disabled{opacity:.7;cursor:not-allowed}.btn-spinner[data-v-110a20de]{display:inline-block;width:18px;height:18px;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;border-radius:50%;animation:spin-110a20de .7s linear infinite;margin-right:8px}@keyframes spin-110a20de{to{transform:rotate(1turn)}}.form-success[data-v-110a20de]{background:var(--color-green-50);color:var(--color-green-600);border:1px solid var(--color-green-100);border-radius:var(--radius-md)}.form-error[data-v-110a20de],.form-success[data-v-110a20de]{padding:.75rem var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium)}.form-error[data-v-110a20de]{background:#fff5f5;color:#c53030;border:1px solid #fed7d7;border-radius:var(--radius-md)}.collab-section[data-v-110a20de]{background:var(--color-bg-light);padding:var(--section-py) var(--space-6);text-align:center;border-top:1px solid var(--color-bg-subtle)}.collab-title[data-v-110a20de]{font-size:var(--text-2xl);font-weight:var(--font-extrabold);color:var(--color-bg-darker);margin-bottom:var(--space-10)}.collab-grid[data-v-110a20de]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);max-width:1000px;margin:0 auto}.collab-card[data-v-110a20de]{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);text-align:left;transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.collab-card[data-v-110a20de]:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.collab-card h4[data-v-110a20de]{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-bg-darker);margin-bottom:var(--space-2)}.collab-card p[data-v-110a20de]{font-size:var(--text-sm);color:var(--color-text-400);line-height:var(--leading-relaxed);margin:0}@media (max-width:900px){.contact-inner[data-v-110a20de]{grid-template-columns:1fr;gap:var(--space-10)}.collab-grid[data-v-110a20de]{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.contact-main[data-v-110a20de]{padding:var(--space-12) var(--space-4)}.contact-form-card[data-v-110a20de]{padding:1.75rem var(--space-5)}.collab-grid[data-v-110a20de]{grid-template-columns:1fr}.page-header[data-v-110a20de]{padding:6rem var(--space-4) var(--space-10)}}.blog-page[data-v-2efd6102]{background:var(--color-bg-white);min-height:100vh;overflow-x:hidden}.page-header[data-v-2efd6102]{text-align:center;padding:7rem var(--space-6) var(--space-12);background:var(--color-bg-light);border-bottom:1px solid var(--color-bg-subtle)}.blog-section[data-v-2efd6102]{max-width:var(--container-xl);margin:0 auto;padding:var(--space-16) var(--space-6) var(--section-py)}.blog-grid[data-v-2efd6102]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.blog-card[data-v-2efd6102]{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.blog-card[data-v-2efd6102]:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.blog-card-img-wrap[data-v-2efd6102]{width:100%;height:210px;overflow:hidden;background:var(--color-bg-subtle);display:flex;align-items:center;justify-content:center}.blog-card-img[data-v-2efd6102]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block;transition:transform var(--duration-slow) var(--ease-out)}.blog-card:hover .blog-card-img[data-v-2efd6102]{transform:scale(1.04)}.blog-card-body[data-v-2efd6102]{padding:var(--space-6);display:flex;flex-direction:column;flex:1}.blog-card-meta[data-v-2efd6102]{margin-bottom:.75rem}.blog-category-tag[data-v-2efd6102]{display:inline-block;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-primary);background:var(--color-primary-subtle);border:1px solid var(--color-primary-border);border-radius:var(--radius-full);padding:.2rem .75rem}.blog-card-title[data-v-2efd6102]{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-bg-darker);line-height:var(--leading-snug);margin:0 0 .65rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-card-excerpt[data-v-2efd6102]{font-size:var(--text-sm);color:var(--color-text-400);line-height:var(--leading-relaxed);flex:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-5)}.blog-card-footer[data-v-2efd6102]{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.blog-footer-meta[data-v-2efd6102]{display:flex;align-items:center;gap:.35rem;font-size:var(--text-xs);color:var(--color-text-300)}.meta-dot[data-v-2efd6102]{color:var(--color-border-strong)}.read-more-link[data-v-2efd6102]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary);text-decoration:none;transition:color var(--duration-base) var(--ease-out)}.read-more-link[data-v-2efd6102]:hover{color:var(--color-primary-dark)}.loading-state[data-v-2efd6102]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem var(--space-6);color:var(--color-text-300)}.spinner[data-v-2efd6102]{width:36px;height:36px;border:3px solid var(--color-bg-subtle);border-top-color:var(--color-primary);border-radius:50%;animation:spin-2efd6102 .8s linear infinite;margin-bottom:var(--space-4)}@keyframes spin-2efd6102{to{transform:rotate(1turn)}}.error-state[data-v-2efd6102]{text-align:center;padding:var(--space-16) var(--space-6);color:var(--color-text-400)}.retry-btn[data-v-2efd6102]{margin-top:var(--space-4);padding:.6rem var(--space-6);background:var(--color-primary);color:var(--color-bg-white);border:none;border-radius:var(--radius-full);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--duration-base) var(--ease-out)}.retry-btn[data-v-2efd6102]:hover{background:var(--color-primary-dark)}@media (max-width:1024px){.blog-grid[data-v-2efd6102]{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.blog-grid[data-v-2efd6102]{grid-template-columns:1fr}.page-header[data-v-2efd6102]{padding:6rem var(--space-4) var(--space-10)}.blog-section[data-v-2efd6102]{padding:var(--space-10) var(--space-4) var(--space-16)}}.case-study-page[data-v-35a35b95]{font-family:var(--font-sans);line-height:var(--leading-normal);color:var(--color-text-700)}.hero-section[data-v-35a35b95]{text-align:center;padding:60px 20px;background-color:var(--color-bg-light)}.hero-section h1[data-v-35a35b95]{font-size:var(--text-4xl)}.hero-section p[data-v-35a35b95]{font-size:var(--text-xl);color:var(--color-text-500)}.hero-image[data-v-35a35b95]{width:100%;max-width:800px;margin-top:20px}.project-overview[data-v-35a35b95]{padding:40px 20px;background-color:var(--color-bg-white)}.project-overview h2[data-v-35a35b95]{margin-bottom:20px}.overview-details[data-v-35a35b95]{list-style-type:none;padding:0}.overview-details li[data-v-35a35b95]{margin:5px 0}.research-section[data-v-35a35b95]{padding:40px 20px;background-color:var(--color-bg-subtle)}.research-image[data-v-35a35b95]{width:100%;max-width:900px;margin:20px auto;display:block}.user-flow-section[data-v-35a35b95]{padding:40px 20px;background-color:var(--color-bg-white)}.user-flow-image[data-v-35a35b95]{width:100%;max-width:900px;margin:20px auto}.wireframes-section[data-v-35a35b95]{padding:40px 20px;background-color:var(--color-bg-subtle)}.wireframes-image[data-v-35a35b95]{width:100%;max-width:900px;margin:20px auto}.final-design-section[data-v-35a35b95]{padding:40px 20px;background-color:var(--color-bg-white)}.final-design-image[data-v-35a35b95]{width:100%;max-width:900px;margin:20px auto}.footer-section[data-v-35a35b95]{padding:20px 0;background-color:var(--color-bg-darker);color:var(--color-bg-white);text-align:center}.apartment-case-study[data-v-5399402c]{width:100%;padding:20px;display:flex;flex-direction:column;align-items:center;gap:40px}.title-section[data-v-5399402c]{text-align:center;margin-bottom:40px}.title-section h1[data-v-5399402c]{font-size:3rem;margin-bottom:20px}.title-section p[data-v-5399402c]{max-width:800px;margin:0 auto;font-size:1.2rem;line-height:1.6}.case-study-card[data-v-5399402c]{width:100%;display:flex;justify-content:space-between;align-items:center;padding:60px 20px;border-radius:12px;overflow:hidden;margin-bottom:30px}.case-study-card[data-v-5399402c]:nth-child(odd){flex-direction:row-reverse}.card-content[data-v-5399402c]{flex:1;padding:40px}.card-content h2[data-v-5399402c]{margin-bottom:20px}.card-content p[data-v-5399402c]{margin-bottom:20px;line-height:1.6}.card-image[data-v-5399402c]{flex:1;padding:40px}.card-image img[data-v-5399402c]{width:100%;max-width:600px;height:auto;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.2)}.resident-card[data-v-5399402c]{background-color:var(--color-blue-50)}.admin-card[data-v-5399402c]{background-color:var(--color-green-50)}.security-card[data-v-5399402c]{background-color:var(--color-primary-subtle)}.back-to-work[data-v-5399402c]{padding:12px 24px;background-color:var(--color-primary);color:var(--color-bg-white);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);transition:background-color var(--duration-base) var(--ease-out)}.back-to-work[data-v-5399402c]:hover{background-color:var(--color-primary-dark)}.nav-link[data-v-f2b7c838]{text-decoration:none;color:var(--color-bg-darker);font-size:var(--text-xl);margin:3px;transition:color var(--duration-base) var(--ease-out)}.nav-link[data-v-f2b7c838]:hover{color:var(--color-text-400)}.sticky-navbar[data-v-f2b7c838]{position:sticky;top:0;z-index:1000;width:100%}.router-link-active[data-v-f2b7c838]{color:var(--color-primary)!important;font-weight:var(--font-bold)}:root{--color-primary:#f18128;--color-primary-dark:#d66f1f;--color-primary-light:#ff9f4a;--color-primary-subtle:#fff3e8;--color-primary-border:#fdd9b5;--color-text-900:#1a202c;--color-text-700:#2d3748;--color-text-500:#4a5568;--color-text-400:#718096;--color-text-300:#a0aec0;--color-bg-white:#fff;--color-bg-light:#f7fafc;--color-bg-subtle:#edf2f7;--color-bg-dark:#1a202c;--color-bg-darker:#111827;--color-border:#e2e8f0;--color-border-strong:#cbd5e0;--color-blue-50:#ebf4ff;--color-blue-100:#bee3f8;--color-blue-500:#4299e1;--color-blue-600:#3182ce;--color-blue-700:#2b6cb0;--color-purple-50:#faf5ff;--color-purple-100:#e9d8fd;--color-purple-500:#805ad5;--color-purple-600:#6b46c1;--color-green-50:#f0fff4;--color-green-100:#c6f6d5;--color-green-500:#48bb78;--color-green-600:#38a169;--color-yellow-50:ivory;--color-yellow-100:#fefcbf;--color-yellow-500:#ecc94b;--color-yellow-600:#d69e2e;--color-teal-50:#e6fffa;--color-teal-500:#38b2ac;--color-teal-600:#319795;--color-pink-50:#fff5f7;--color-pink-100:#fed7e2;--color-pink-500:#ed64a6;--color-pink-600:#d53f8c;--color-indigo-50:#ebf4ff;--color-indigo-100:#c3dafe;--color-indigo-500:#667eea;--color-indigo-600:#5a67d8;--primary-color:#f18128;--secondary-color:#ff9f4a;--text-color:#4a5568;--background-color:#fff;--border-color:#e2e8f0;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"JetBrains Mono","Fira Code","Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--leading-tight:1.2;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em;--font-main:var(--font-sans);--font-size-base:1.5rem;--font-size-large:1.875rem;--font-size-small:1.125rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--page-margin:var(--space-5);--section-padding:var(--space-10);--card-padding:var(--space-4);--button-padding:var(--space-3) var(--space-8);--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:1.875rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--shadow-orange:0 10px 30px -5px rgba(241,129,40,.4);--shadow-orange-lg:0 20px 40px -8px rgba(241,129,40,.5);--duration-fast:150ms;--duration-base:250ms;--duration-slow:400ms;--duration-slower:600ms;--duration-slowest:800ms;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px;--nav-height:80px;--section-py:5rem;--bento-gap:1.5rem}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-500);background-color:var(--color-bg-white);margin:0;padding:0}h1{font-size:var(--text-5xl);font-weight:var(--font-extrabold);letter-spacing:var(--tracking-tight)}h1,h2{line-height:var(--leading-tight);color:var(--color-text-900);margin:0}h2{font-size:var(--text-4xl);font-weight:var(--font-bold)}h3{font-size:var(--text-4xl);color:var(--color-text-900)}h3,h4{font-weight:var(--font-semibold);line-height:var(--leading-snug);margin:0}h4{font-size:var(--text-xl);color:var(--color-text-700)}h5{font-size:var(--text-lg)}h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--color-text-700);margin:0}h6{font-size:var(--text-base)}p{margin-top:0;margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-primary-dark)}ol,ul{padding-left:var(--space-5);margin-bottom:var(--space-4)}@media (max-width:768px){h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}}@media (max-width:480px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}}.page-title{font-size:var(--text-4xl);font-weight:var(--font-extrabold);color:var(--color-bg-darker);margin-bottom:.75rem;line-height:var(--leading-tight)}.page-subtitle{font-size:var(--text-base);color:var(--color-text-400);max-width:680px;margin:0 auto;line-height:var(--leading-loose)}.section-title{font-size:var(--text-2xl);font-weight:var(--font-extrabold);color:var(--color-bg-darker);margin-bottom:var(--space-5);line-height:var(--leading-snug)}.section-desc{font-size:var(--text-sm);color:var(--color-text-400);line-height:var(--leading-relaxed);margin-bottom:var(--space-8);max-width:760px}@media (max-width:768px){.page-title{font-size:var(--text-3xl)}.section-title{font-size:var(--text-xl)}}@media (max-width:480px){.page-title{font-size:var(--text-2xl)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-8);border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-base);transition:all var(--duration-base) var(--ease-out);cursor:pointer;white-space:nowrap;border:2px solid transparent;text-decoration:none}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-orange)}.btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-orange-lg);transform:translateY(-1px);color:#fff}.btn-outline{background-color:transparent;color:var(--color-text-700);border-color:var(--color-border-strong)}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-ghost{background-color:transparent;color:var(--color-text-500);border-color:transparent}.btn-ghost:hover{background-color:var(--color-bg-subtle);color:var(--color-text-700)}.btn-lg{padding:var(--space-4) var(--space-10);font-size:var(--text-lg)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.badge-primary{background-color:var(--color-primary-subtle);color:var(--color-primary-dark);border:1px solid var(--color-primary-border)}.card{background-color:var(--color-bg-white);border-radius:var(--radius-2xl);border:1px solid var(--color-border);padding:var(--space-8);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.card-bento{border-radius:var(--radius-3xl);padding:var(--space-8);border-width:1px;border-style:solid}.nav-link-active{color:var(--color-primary)}.nav-link-active,.section-label{background-color:var(--color-primary-subtle)}.section-label{display:inline-block;padding:var(--space-1) var(--space-4);color:var(--color-primary-dark);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-bottom:var(--space-4)}.stat-number{font-size:var(--text-3xl);font-weight:var(--font-extrabold);color:var(--color-primary);line-height:1;margin-bottom:var(--space-1)}.stat-label{font-size:var(--text-sm);color:var(--color-text-400)}.divider{width:3rem;height:3px;background-color:var(--color-primary);border-radius:var(--radius-full);margin:var(--space-4) auto}.skill-pill{padding:var(--space-2) var(--space-4);border-radius:var(--radius-xl);font-size:var(--text-sm);font-weight:var(--font-medium);border-width:1px;border-style:solid;transition:box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.skill-pill:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.timeline-dot{width:1rem;height:1rem;border-radius:var(--radius-full);background-color:var(--color-primary);border:3px solid var(--color-bg-white);box-shadow:0 0 0 3px var(--color-primary-border);flex-shrink:0}.timeline-line{position:absolute;left:.4375rem;top:1rem;bottom:0;width:2px;background:linear-gradient(to bottom,var(--color-primary-border),transparent)}.scroll-indicator{width:1.5rem;height:2.5rem;border:2px solid var(--color-border-strong);border-radius:var(--radius-full);display:flex;justify-content:center;padding-top:var(--space-2)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-moz-selection{background-color:var(--color-primary);color:#fff}::selection{background-color:var(--color-primary);color:#fff}.page-container{padding-top:var(--nav-height);min-height:100vh}.section{padding-top:var(--section-py);padding-bottom:var(--section-py);padding-left:var(--space-4);padding-right:var(--space-4)}.inner{max-width:var(--container-xl)}.inner,.inner-md{margin-left:auto;margin-right:auto}.inner-md{max-width:var(--container-md)}.container{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-4)}.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--bento-gap)}@media (max-width:768px){.bento-grid{grid-template-columns:1fr}}.page-header{text-align:center;margin-top:var(--nav-height)}input,select,textarea{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-700);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);width:100%;background:var(--color-bg-white);transition:border-color var(--duration-fast) var(--ease-out)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary)}textarea{resize:vertical;min-height:120px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-light)}::-webkit-scrollbar-thumb{background:var(--color-primary-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}@media print{body{background:#fff;color:#000}.btn,footer,nav{display:none}}