.footer-container{padding:var(--space-32) var(--space-8) var(--space-12);background-color:transparent;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-20)}.footer-content{width:100%;display:flex;flex-direction:column;gap:var(--space-8);align-items:flex-start}.footer-title{font-size:var(--text-2xl);text-transform:uppercase;font-weight:400;color:var(--text-muted);letter-spacing:.1em}.footer-email{font-size:var(--text-3xl);font-weight:500;color:var(--text-main);text-decoration:none;transition:opacity .3s ease,transform .3s ease;word-break:break-word}.footer-email:hover{opacity:.7;transform:translateY(-2px)}.cta-wrapper{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:flex-start;margin-top:var(--space-4)}.cta-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);padding-left:0;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em}.footer-bottom{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding-top:var(--space-12)}.social-links{display:flex;gap:var(--space-6)}.social-links a{color:var(--text-main);transition:opacity .3s ease,transform .3s ease;opacity:.6}.social-links a:hover{opacity:1;transform:translateY(-2px)}.copyright{color:var(--color-text-secondary);font-size:var(--text-sm);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.1em;opacity:.5}@media (max-width: 600px){.footer-title{font-size:var(--text-lg)}.footer-bottom{flex-direction:column;align-items:flex-start;gap:var(--space-6)}}.neural-wave-container{position:absolute;top:0;left:-100px;width:300px;height:100%;z-index:-10;opacity:.08;pointer-events:none;overflow:hidden}@media (max-width: 900px){.neural-wave-container{opacity:.04;left:-80px}}.hero-container{padding:var(--space-16) var(--space-8);border-bottom:var(--border-thin)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);max-width:1200px;margin:0 auto;align-items:stretch}.hero-content{display:flex;flex-direction:column;justify-content:center;padding-right:var(--space-8);border-right:var(--border-thin)}.hero-eyebrow{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-6);display:flex;align-items:center;gap:var(--space-3)}.hero-eyebrow-divider{color:var(--text-main)}.hero-title{font-size:var(--text-6xl);line-height:var(--line-height-tight);margin-bottom:var(--space-6);text-transform:uppercase}.hero-tagline{font-size:var(--text-xl);font-weight:500;color:var(--text-main);margin-bottom:var(--space-6);line-height:var(--line-height-base);border-left:2px solid var(--text-main);padding-left:var(--space-4)}.hero-tagline-sub{font-size:var(--text-sm);color:var(--text-muted);font-weight:400;margin-top:var(--space-2);display:block}.hero-description{font-size:var(--text-base);color:var(--text-main);margin-bottom:var(--space-12);max-width:90%}.hero-actions{display:flex;margin-top:auto}.hero-visual{display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.hero-image-wrapper{position:relative;width:100%;max-width:400px;aspect-ratio:3/4}.hero-image{width:100%;height:100%;object-fit:cover;position:relative;z-index:2}.hero-image-frame{position:absolute;top:var(--space-4);left:var(--space-4);width:100%;height:100%;border:var(--border-thin);z-index:1}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr;gap:var(--space-12)}.hero-content{border-right:none;padding-right:0;border-bottom:var(--border-thin);padding-bottom:var(--space-12)}.hero-title{font-size:var(--text-4xl)}.hero-visual{padding:var(--space-4) 0 0 0}}.skills-container{padding:var(--space-16) var(--space-8);border-bottom:var(--border-thin);max-width:1200px;margin:0 auto}.section-header{margin-bottom:var(--space-8)}.section-title{font-size:var(--text-3xl);text-transform:uppercase;margin-bottom:var(--space-2)}.section-subtitle{font-size:var(--text-base);color:var(--text-muted)}.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,minmax(200px,auto));gap:var(--space-6);width:100%}.bento-card{border:var(--border-thin);padding:var(--space-6);display:flex;flex-direction:column;background-color:transparent;transition:all .3s ease;position:relative;overflow:hidden}.bento-card:hover{background-color:var(--text-main)}.bento-card:hover .bento-title,.bento-card:hover .bento-desc,.bento-card:hover .bento-icon{color:var(--bg-color)}.bento-card:hover .tech-tag{color:var(--bg-color);border-color:var(--bg-color)}.bento-wide{grid-column:span 2}.bento-tall{grid-column:span 1;grid-row:span 2}.bento-card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.bento-icon{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text-main);transition:color .3s ease}.bento-title{font-size:var(--text-lg);text-transform:uppercase;letter-spacing:.05em;transition:color .3s ease}.bento-card-content{display:flex;flex-direction:column;flex:1}.bento-desc{font-size:var(--text-sm);color:var(--text-main);margin-bottom:var(--space-6);line-height:var(--line-height-relaxed);transition:color .3s ease;flex:1}.bento-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:auto}.bento-tags-vertical{flex-direction:column;align-items:flex-start}.tech-tag{font-family:var(--font-heading);font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border:1px solid var(--text-muted);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;transition:all .3s ease}@media (max-width: 900px){.bento-grid{grid-template-columns:repeat(2,1fr)}.bento-wide{grid-column:span 2}.bento-tall{grid-column:span 1;grid-row:span 1}}@media (max-width: 600px){.bento-grid{grid-template-columns:1fr}.bento-wide,.bento-tall{grid-column:span 1}}.projects-container{padding:var(--space-16) var(--space-8);border-bottom:var(--border-thin);max-width:1200px;margin:0 auto}.projects-list{display:flex;flex-direction:column;gap:var(--space-16);margin-top:var(--space-12)}.project-card{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;border:var(--border-thin);padding:var(--space-8);background-color:transparent;transition:background-color .3s ease}.project-card:hover{background-color:var(--bg-surface)}.project-reverse .project-content{order:2}.project-reverse .project-visual{order:1}.project-content{display:flex;flex-direction:column}.project-meta{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--text-main);text-transform:uppercase;letter-spacing:.1em;border:var(--border-thin);padding:var(--space-1) var(--space-3);align-self:flex-start;margin-bottom:var(--space-4)}.project-title{font-size:var(--text-4xl);text-transform:uppercase;margin-bottom:var(--space-1)}.project-title a{color:inherit;text-decoration:none;transition:opacity .3s ease;display:flex;align-items:center;gap:var(--space-2)}.link-icon{width:24px;height:24px;opacity:.5;transition:opacity .3s ease,transform .3s ease}.project-title a:hover{opacity:.8}.project-title a:hover .link-icon{opacity:1;transform:translate(2px,-2px)}.project-role{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-6);letter-spacing:.05em}.project-desc{font-size:var(--text-base);line-height:var(--line-height-relaxed);margin-bottom:var(--space-6)}.project-impact{font-size:var(--text-sm);padding-left:var(--space-4);border-left:2px solid var(--text-main);margin-bottom:var(--space-6);color:var(--text-main)}.project-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.project-visual{position:relative;width:100%;height:100%;min-height:400px;display:flex;align-items:center;justify-content:center}.project-image-stack{position:relative;width:100%;height:100%}.project-img-primary{width:100%;height:100%;max-width:80%;max-height:80%;object-fit:contain;aspect-ratio:1477 / 1108}.project-img-secondary{position:absolute;bottom:0;right:0;width:50%;object-fit:contain;z-index:2}.project-image-single{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.project-img-full{width:100%;max-width:100%;object-fit:contain;aspect-ratio:1477 / 1108}.clickable-image{cursor:pointer}.image-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000d9;z-index:9999;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-modal-content{max-width:90vw;max-height:90vh;object-fit:contain;border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 40px #00000080;background-color:var(--text-main)}img[src*=-nobg].image-modal-content{background-color:transparent;border:none;box-shadow:none;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5))}.image-modal-close{position:absolute;top:var(--space-6);right:var(--space-8);background:none;border:none;color:#fff;font-size:var(--text-3xl);cursor:pointer;transition:opacity .3s ease;opacity:.7}.image-modal-close:hover{opacity:1}@media (max-width: 900px){.project-card{grid-template-columns:1fr;gap:var(--space-8)}.project-reverse .project-content{order:1}.project-reverse .project-visual{order:2}.project-visual{min-height:300px}}.leadership-container{padding:var(--space-16) var(--space-8);border-bottom:var(--border-thin);max-width:1200px;margin:0 auto}.leadership-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;margin-top:var(--space-12)}.leadership-content{display:flex;flex-direction:column;gap:var(--space-12)}.leadership-item{display:flex;flex-direction:column;position:relative;padding-left:var(--space-6);border-left:var(--border-thin);transition:border-color .3s ease}.leadership-item:hover{border-left-color:var(--text-muted)}.item-meta{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-2)}.item-title{font-size:var(--text-2xl);text-transform:uppercase;margin-bottom:var(--space-4)}.item-desc{font-size:var(--text-base);line-height:var(--line-height-relaxed);color:var(--text-main)}.item-icons{display:flex;gap:var(--space-4);margin-top:var(--space-4)}.tech-badge{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-size:var(--text-xs);color:var(--bg-color);background-color:var(--text-main);padding:var(--space-2) var(--space-4);border-radius:4px;text-transform:uppercase;letter-spacing:.05em;transition:transform .2s ease,opacity .2s ease}.tech-badge:hover{transform:translateY(-2px);opacity:.9}.leadership-photo-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:var(--space-4);width:100%}.photo-container{width:100%;height:100%;overflow:hidden;position:relative;border:var(--border-thin)}.grid-img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.item-1{grid-column:1;grid-row:1 / 3}.item-2{grid-column:2;grid-row:1 / 2}.item-3{grid-column:2;grid-row:2 / 4}.item-4{grid-column:1;grid-row:3 / 5}.item-5{grid-column:2;grid-row:4 / 5}.photo-container:hover .grid-img{transform:scale(1.05)}@media (max-width: 900px){.leadership-grid{grid-template-columns:1fr;gap:var(--space-16)}.leadership-photo-grid{grid-auto-rows:120px;max-width:500px;margin:0 auto}}:root{--bg-color: #F5F4F1;--bg-surface: #FCFCF9;--text-main: #1A1A1A;--text-muted: #8E8E8E;--border-thin: 1px solid var(--text-main);--font-heading: "Outfit", "Helvetica Neue", "Noto Sans TC", sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3.5rem;--text-6xl: 4.5rem;--line-height-tight: 1.25;--line-height-base: 1.6;--line-height-relaxed: 1.8;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--space-32: 8rem;--spacing-unit: 8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-body);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:.05em;font-weight:500;color:var(--text-main)}a{color:inherit;text-decoration:none}.ghost-btn{background:transparent;color:var(--text-main);border:var(--border-thin);padding:var(--space-3) var(--space-6);font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;transition:all .2s ease-in-out;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.ghost-btn:hover{background:var(--text-main);color:var(--bg-color)}
