:root{--bg: #f6f5f2;--text: #2c2a28;--text-muted: #5a5856;--accent: #6b7b5c;--accent-soft: #9caa94;--card-bg: #fefefe;--border: #e2e0dc;--shadow: rgba(0, 0, 0, .06);--shadow-hover: rgba(0, 0, 0, .1);--hero-overlay: rgba(0, 0, 0, .4);--font-sans: "DM Sans", sans-serif;--font-display: "Fraunces", serif;--academic-accent: #4a7c43;--academic-accent-soft: rgba(74, 124, 67, .08);--section-work-accent: #2d5a27;--section-work-accent-soft: rgba(45, 90, 39, .08);--section-research-accent: #3d6b36;--section-research-accent-soft: rgba(61, 107, 54, .08);--section-others-accent: #5a8c52;--section-others-accent-soft: rgba(90, 140, 82, .08);--section-societies-accent: #3d6b36;--section-societies-accent-soft: rgba(61, 107, 54, .08);--section-community-accent: #6b7b5c;--section-community-accent-soft: rgba(107, 123, 92, .08)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:radial-gradient(ellipse at 10% 0%,rgba(228,175,160,.35) 0%,transparent 50%),radial-gradient(ellipse at 40% 5%,rgba(232,210,160,.3) 0%,transparent 45%),radial-gradient(ellipse at 90% 15%,rgba(220,188,178,.3) 0%,transparent 50%),radial-gradient(ellipse at 15% 60%,rgba(253,250,246,.8) 0%,transparent 50%),radial-gradient(ellipse at 60% 50%,rgba(240,224,210,.3) 0%,transparent 55%),linear-gradient(160deg,#f2e5de,#f5eddf,#faf6f2 50%,#f2e4dc 80%,#f0ded7);background-attachment:fixed;color:var(--text);min-height:100vh;display:flex;flex-direction:column}html{scroll-behavior:smooth}.detail-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1.5rem;animation:modalFadeIn .2s ease-out}.detail-modal-panel{background:var(--card-bg);border-radius:1rem;max-width:42rem;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #0003;border:1px solid var(--border);animation:modalSlideIn .25s ease-out}.detail-modal-header{padding:1.5rem 3rem .5rem 1.5rem;flex-shrink:0;position:relative}.detail-modal-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 .25rem;line-height:1.3}.detail-modal-subtitle{font-size:.95rem;color:var(--text-muted);margin:0}.detail-modal-close{position:absolute;top:1rem;right:1rem;width:2.25rem;height:2.25rem;border:none;background:var(--border);color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer;border-radius:.5rem;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.detail-modal-close:hover{background:var(--accent-soft)}.detail-modal-body{padding:0 1.5rem 1.5rem;overflow-y:auto;flex:1;min-height:0}.detail-modal-body .detail-embed{margin:1rem 0;border-radius:.5rem;overflow:hidden;aspect-ratio:16 / 9;background:var(--border)}.detail-modal-body .detail-embed iframe{width:100%;height:100%;border:none}.detail-modal-body .detail-modal-desc{font-size:1rem;line-height:1.6;color:var(--text);margin:.5rem 0 1rem}.detail-modal-body .detail-modal-tech{font-size:.95rem;color:var(--text-muted);margin-bottom:1rem}.detail-modal-body .detail-modal-tech strong,.detail-modal-body .detail-modal-links strong{color:var(--text)}.detail-modal-body .detail-modal-links{margin-top:.5rem}.detail-modal-body .detail-modal-links-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.container{width:70%;max-width:1200px;margin-left:15%;margin-right:15%;padding:0 1rem}.highlight{background:linear-gradient(to top,var(--accent-soft) 50%,transparent 50%)}.page-header{text-align:center;margin-bottom:2rem;margin-top:2.5rem}.page-header h1{font-family:var(--font-display);font-style:normal;font-size:2.5rem;font-weight:500;color:var(--text)}header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1rem 0;background-color:transparent;transition:background-color .35s ease,box-shadow .35s ease,padding .35s ease}header.scrolled{background-color:#2a2825eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 12px #00000026;padding:.75rem 0}header.scrolled .logo{color:#f6f5f2;font-size:2.5rem}header.scrolled nav a{color:#f6f5f2a6}header.scrolled nav a:hover,header.scrolled nav a.active{color:#f6f5f2}header.scrolled nav a.active:after{background:var(--accent-soft)}header.header-home .logo{color:#f8f7f5}header.header-home nav a{color:#f8f7f5a6}header.header-home nav a:hover,header.header-home nav a.active{color:#f8f7f5}header.header-home nav a.active:after{background:#f8f7f599}main{padding-top:110px}.header-content{display:flex;flex-direction:column;align-items:center}.logo{font-family:Ephesis,cursive;font-style:normal;font-size:3.25rem;font-weight:500;margin-bottom:1rem;text-decoration:none;color:var(--text);transition:color .35s ease,font-size .35s ease}nav{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2rem}nav a{font-size:1.125rem;font-weight:500;text-decoration:none;color:var(--text-muted);text-transform:uppercase;position:relative;padding-bottom:.25rem;transition:color .35s ease}nav a:hover{color:var(--text)}nav a.active{font-weight:600;color:var(--text)}nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);border-radius:1px;animation:navUnderline .25s ease-out}@keyframes navUnderline{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.hero{display:flex;flex-direction:column;align-items:center;background-size:cover;background-position:center;position:relative;margin-top:-110px;padding-top:110px;-webkit-mask-image:linear-gradient(to bottom,black 80%,transparent 100%);mask-image:linear-gradient(to bottom,black 80%,transparent 100%)}.hero:before{content:"";position:absolute;inset:0;background:var(--hero-overlay);pointer-events:none}.hero-content{display:flex;color:#f8f7f5;position:relative;z-index:1;flex-direction:column;align-items:center;text-align:center;min-width:50%;margin:0 auto;min-height:550px}.hero-content .hero-text{animation:heroFadeUp .7s ease-out both}.hero-content .hero-description{animation:heroFadeUp .7s ease-out .2s both}.hero-content .hero-image{animation:heroFadeUp .7s ease-out .35s both}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-text{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;width:30rem}.hero-text h1{font-size:4rem;line-height:1.2;margin:0;padding:0;min-height:13rem;min-width:50%;display:flex;flex-direction:column;justify-content:flex-start}.hero-text h1 span.cursor{display:inline-block;width:3px;height:1em;background-color:#f8f7f5;margin-left:.25rem;animation:blink 1s step-end infinite}.pin{margin-top:3rem;font-size:2rem}.hero-description{font-size:1.125rem;max-width:36rem;margin:0 auto}.hero-image{width:100%;aspect-ratio:1 / 3;background-size:cover;background-position:center;margin-bottom:2rem;margin-left:20%;margin-right:20%;margin:2rem auto 0}.about{padding:3rem;text-align:center}.carousel-section{padding:2rem 0;width:100%;overflow:hidden}.carousel-wrap{overflow:hidden;width:100%}.carousel-track{display:flex;width:max-content;gap:1rem;animation:carouselScroll linear infinite}.carousel-item{flex-shrink:0;width:560px;height:400px;overflow:hidden;box-shadow:0 2px 12px var(--shadow);border:1px solid var(--border)}.carousel-item img{width:100%;height:100%;object-fit:cover;display:block}@keyframes carouselScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.reveal.visible{opacity:1;transform:translateY(0)}.reveal .experience-tab{opacity:0}.reveal.visible .experience-tab{animation:revealStagger .5s ease-out both}.reveal.visible .experience-tab:nth-child(1){animation-delay:0s}.reveal.visible .experience-tab:nth-child(2){animation-delay:.08s}.reveal.visible .experience-tab:nth-child(3){animation-delay:.16s}.reveal.visible .experience-tab:nth-child(4){animation-delay:.24s}.reveal.visible .experience-tab:nth-child(5){animation-delay:.32s}.reveal.visible .experience-tab:nth-child(6){animation-delay:.4s}.reveal.visible .experience-tab:nth-child(7){animation-delay:.48s}.reveal.visible .experience-tab:nth-child(8){animation-delay:.56s}.reveal.visible .experience-tab:nth-child(9){animation-delay:.64s}.reveal.visible .experience-tab:nth-child(10){animation-delay:.72s}.reveal .involvement-card{opacity:0}.reveal.visible .involvement-card{animation:revealStagger .5s ease-out both}.reveal.visible .involvement-card:nth-child(1){animation-delay:0s}.reveal.visible .involvement-card:nth-child(2){animation-delay:.08s}.reveal.visible .involvement-card:nth-child(3){animation-delay:.16s}.reveal.visible .involvement-card:nth-child(4){animation-delay:.24s}.reveal.visible .involvement-card:nth-child(5){animation-delay:.32s}.reveal.visible .involvement-card:nth-child(6){animation-delay:.4s}@keyframes revealStagger{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.about-content{max-width:75%;margin:0 auto;font-size:1rem}.skills-section{max-width:90%;margin:0 auto;text-align:center}.skill-category{margin-bottom:2.5rem}.skill-category h4{font-size:1.35rem;font-weight:600;margin-bottom:1rem;color:var(--text);padding-bottom:.5rem;border-bottom:2px solid var(--border);text-align:center}.skill-tags{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.skill-tag{background-color:var(--border);color:var(--text);padding:.5rem 1rem;border-radius:1.5rem;font-size:.8rem;font-weight:500;box-shadow:0 2px 4px var(--shadow);transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;cursor:default}.skill-tag:hover{background-color:var(--accent-soft);color:var(--text);transform:translateY(-2px) scale(1.03);box-shadow:0 4px 12px var(--shadow-hover)}.section-with-photo-inner{display:flex;flex-direction:row;align-items:stretch;gap:2rem;max-width:56rem;margin:0 auto}.section-photo{flex-shrink:0;width:50%;min-width:220px;border-radius:1rem;overflow:hidden;background:var(--border)}.section-photo img{width:100%;height:100%;object-fit:cover;display:block}.section-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.95rem;font-weight:500}.section-content{flex:1;min-width:0}.section-with-photo .skills-section{max-width:none}@media (max-width: 767px){.section-with-photo-inner{flex-direction:column;gap:1.5rem}.section-photo{width:100%;max-width:320px;margin:0 auto}.section-photo-placeholder{aspect-ratio:4 / 3}}.involvements-section .page-header{margin-bottom:1.5rem}.involvements-grid{display:flex;flex-direction:column;gap:1.5rem;max-width:56rem;margin:0 auto}.involvement-card{background:var(--card-bg);border-radius:1rem;padding:1.5rem 1.5rem 1.5rem 1.75rem;box-shadow:0 2px 12px var(--shadow);border:1px solid var(--border);border-left:4px solid var(--accent);transition:box-shadow .25s ease,transform .25s ease;display:flex;flex-direction:column;gap:.5rem;position:relative}.involvement-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(107,123,92,.08) 0%,transparent 50%);pointer-events:none;border-radius:1rem}.involvement-card:hover{box-shadow:0 8px 24px var(--shadow-hover);transform:translateY(-2px)}.involvement-title{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--text);margin:0 0 .25rem;line-height:1.3;position:relative;z-index:1}.involvement-meta{font-size:1rem;color:var(--accent);font-weight:500;margin:0 0 .75rem;line-height:1.4;position:relative;z-index:1}.involvement-points{list-style:none;padding:0;margin:0;position:relative;z-index:1}.involvement-points li{font-size:1rem;color:var(--text);line-height:1.55;margin-bottom:.5rem;padding-left:1.25rem;position:relative}.involvement-points li:before{content:"";position:absolute;left:0;top:.5em;width:.4rem;height:.4rem;border-radius:50%;background:var(--accent)}.involvement-points li:last-child{margin-bottom:0}.involvement-card-compact{cursor:pointer}.involvement-card-compact .involvement-points{display:none}.involvement-view-hint{font-size:.85rem;font-weight:600;color:var(--accent);margin-top:.25rem;position:relative;z-index:1}.detail-modal-body .detail-modal-points{list-style:none;padding:0;margin:0}.detail-modal-body .detail-modal-points li{font-size:1rem;line-height:1.6;color:var(--text);margin-bottom:.75rem;padding-left:1.25rem;position:relative}.detail-modal-body .detail-modal-points li:before{content:"";position:absolute;left:0;top:.5em;width:.4rem;height:.4rem;border-radius:50%;background:var(--accent)}@media (max-width: 767px){.involvement-card{padding:1.25rem}.involvement-title{font-size:1.1rem}.involvement-points li{font-size:1rem}}.experience-tab{position:relative;background-color:var(--card-bg);border-radius:0rem 1.5rem 1.5rem;box-shadow:0 .25rem .75rem var(--shadow);padding:1.5rem;margin-bottom:2rem;transition:box-shadow .3s ease;z-index:0}.experience-tab:before{content:"";position:absolute;inset:-2px;border:2px solid var(--accent-soft);border-radius:0rem 1.5rem 1.5rem;pointer-events:none;z-index:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transition:clip-path .2s ease-in-out}.experience-tab:not(:hover):before{clip-path:polygon(0 0,0 0,0 0,0 0)}.experience-tab:hover{box-shadow:0 .5rem 1.25rem var(--shadow-hover)}.experience-dropdown{max-height:0;overflow:hidden;transition:max-height .5s ease}.experience-dropdown.open{max-height:2000px;overflow:visible}.toggle-btn{display:block;width:100%;padding:1rem 0;background-color:transparent;color:var(--accent);font-size:.95rem;font-weight:600;text-align:center;border:none;cursor:pointer;transition:color .2s ease,background-color .2s ease}.toggle-btn:hover{color:var(--text)}.styled-tab{background-color:none}.experience-tab h3{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--text);line-height:1.3;margin:0 0 .65rem}.experience-tab-inner{display:flex;gap:1.25rem;align-items:flex-start;position:relative}.experience-tab-logo{position:absolute;top:-2px;left:0;flex-shrink:0;width:36px;height:36px;border-radius:.4rem;overflow:hidden;background:var(--card-bg);display:flex;align-items:center;justify-content:center}.experience-tab-logo img{width:100%;height:100%;object-fit:contain}.experience-tab-logo-placeholder{width:100%;height:100%;background:var(--border);color:var(--text-muted);font-size:.65rem;text-align:center;display:flex;align-items:center;justify-content:center;padding:.25rem;box-sizing:border-box}.experience-tab-body{flex:1;min-width:0}.experience-tab-body h3{padding-left:46px}.experience-tab-body .experience-tab-header{margin-bottom:1rem}.experience-tab h3{margin-top:0}.experience-tab-header{display:flex;flex-direction:column;margin-bottom:1rem}.experience-tab-organization{font-size:1rem;font-weight:500;width:fit-content}.experience-tab-date{font-size:1rem;color:var(--text-muted);margin-top:.25rem}.experience-tab ul{padding-left:1.5rem}.experience-tab li{font-size:1rem;margin-bottom:.5rem}.projects-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:72rem;margin:0 auto}.project-card{background-color:var(--card-bg);border-radius:.75rem;box-shadow:0 .25rem .75rem var(--shadow);overflow:hidden;transition:box-shadow .3s ease,transform .3s ease-out}.project-card:hover{box-shadow:0 .5rem 1.25rem var(--shadow-hover);transform:scale(1.02) translateZ(0)}.project-image{height:12rem;background-color:#ddd;background-size:cover;background-position:center}.project-content{padding:1.5rem}.project-content h3{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.project-description{font-size:1.125rem;color:var(--text-muted);margin-bottom:1rem}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project-technology{font-size:.75rem;font-weight:500;padding:.25rem .75rem;background-color:var(--border);color:var(--text);border-radius:9999px}.project-links{display:flex;gap:1rem}.project-link{font-size:1.125rem;font-weight:500;color:var(--accent);text-decoration:none;display:flex;align-items:center;transition:color .2s ease,text-decoration .2s ease}.project-link:hover{color:var(--text);text-decoration:underline}.projects-page .page-header{margin-bottom:1rem}.projects-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem}.projects-filter-btn{font-family:var(--font-sans, "DM Sans", sans-serif);font-size:.9rem;font-weight:500;padding:.5rem 1rem;border:1px solid var(--border, #e2e0dc);border-radius:2rem;background:var(--card-bg, #fefefe);color:var(--text-muted, #5a5856);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.projects-filter-btn:hover{background:var(--border, #e2e0dc);color:var(--text, #2c2a28)}.projects-filter-btn.active{background:var(--accent, #6b7b5c);color:var(--card-bg, #fefefe);border-color:var(--accent, #6b7b5c);box-shadow:0 2px 8px #00000014}.projects-grid-cards{grid-template-columns:1fr;gap:1.5rem}.project-card-v2{background:var(--card-bg);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 12px var(--shadow);border:1px solid var(--border);transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease;display:flex;flex-direction:column;gap:.75rem}.project-card-v2:hover{box-shadow:0 8px 24px var(--shadow-hover);border-color:var(--accent-soft);transform:translateY(-2px)}.project-card-clickable{cursor:pointer}.project-card-type{display:inline-block;align-self:flex-start;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.25rem .6rem;border-radius:1rem;background:var(--border);color:var(--text-muted)}.project-card-type[data-type=data]{background:#6b7b5c33;color:var(--accent)}.project-card-type[data-type=hackathon]{background:#6b7b5c40;color:var(--accent)}.project-card-type[data-type=class]{background:#5a585633;color:var(--text-muted)}.project-card-type[data-type=personal]{background:var(--accent-soft);color:var(--text)}.project-card-type[data-type=club]{background:#5a585626;color:var(--text)}.project-card-title{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--text);margin:0;line-height:1.3}.project-card-desc{font-size:.95rem;color:var(--text-muted);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.project-card-tech{display:flex;flex-wrap:wrap;gap:.4rem}.project-tech-pill{font-size:.7rem;font-weight:500;padding:.2rem .5rem;background:var(--border);color:var(--text);border-radius:.5rem}.project-tech-pill:hover{background:var(--accent-soft);color:var(--text)}.project-tech-more{font-size:.7rem;color:var(--text-muted, #5a5856);padding:.2rem .4rem}.project-card-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.project-link-btn{font-size:.85rem;font-weight:500;color:var(--accent);text-decoration:none;padding:.4rem .75rem;border:1px solid var(--accent-soft);border-radius:.5rem;transition:background .2s ease,color .2s ease,border-color .2s ease}.project-link-btn:hover{background:var(--accent-soft);color:var(--text);border-color:var(--accent)}.projects-empty{text-align:center;color:var(--text-muted, #5a5856);font-size:1rem;margin-top:2rem}.masonry{column-count:2;column-gap:2rem}.service-card{break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:2rem;background-color:var(--card-bg);border-radius:0 1.5rem 1.5rem;box-shadow:0 .25rem .75rem var(--shadow);padding:1.5rem;position:relative;transition:box-shadow .3s ease;isolation:isolate;z-index:0}.service-card:before{content:"";position:absolute;inset:0;border:2px solid var(--accent-soft);border-radius:0 1.5rem 1.5rem;pointer-events:none;z-index:1;transition:clip-path .2s ease-in-out;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);isolation:isolate}.service-card:not(:hover):before{clip-path:polygon(0 0,0 0,0 0,0 0)}.service-card:hover{box-shadow:0 .5rem 1.25rem var(--shadow-hover)}.service-card h3{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--text);line-height:1.3;margin:0 0 .5rem}.service-card-top{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}.service-card-logo{flex-shrink:0;width:56px;height:56px;border-radius:.5rem;overflow:hidden;background:var(--border);display:flex;align-items:center;justify-content:center}.service-card-logo img{width:100%;height:100%;object-fit:contain}.service-card-logo-placeholder{width:100%;height:100%;background:var(--border);color:var(--text-muted);font-size:.65rem;text-align:center;display:flex;align-items:center;justify-content:center;padding:.25rem;box-sizing:border-box}.service-card-header-wrap{flex:1;min-width:0}.service-card-header-wrap .service-card-header{margin-bottom:0}.service-card-header{display:flex;flex-direction:column;margin-bottom:1rem}.service-card-organization{font-size:1rem;font-weight:500;width:fit-content}.service-card-date{font-size:1rem;color:var(--text-muted);margin-top:.25rem}.service-card-section{margin-bottom:1rem}.service-card-section h4{font-size:1rem;font-weight:600;color:var(--text-muted);margin-bottom:.25rem}.service-card-section p{font-size:1rem}.service-card-section ul{list-style-type:disc;padding-left:1.5rem;margin:.5rem 0;text-align:left}.service-card-section li{font-size:1rem;color:var(--text);line-height:1.6;margin-bottom:.5rem}.work-page .section-work .experience-tab-organization{color:var(--text);background:var(--section-work-accent-soft);padding:.15em .45em;border-radius:.25rem;display:inline-block}.work-page .section-work .experience-tab:before{border-color:var(--section-work-accent-soft)}.work-page .section-work .experience-tab:hover:before{border-color:var(--section-work-accent)}.work-page .section-research .experience-tab-organization{color:var(--text);background:var(--section-research-accent-soft);padding:.15em .45em;border-radius:.25rem;display:inline-block}.work-page .section-research .experience-tab:before{border-color:var(--section-research-accent-soft)}.work-page .section-research .experience-tab:hover:before{border-color:var(--section-research-accent)}.work-page .section-others .experience-tab-organization{color:var(--text);background:var(--section-others-accent-soft);padding:.15em .45em;border-radius:.25rem;display:inline-block}.work-page .section-others .experience-tab:before{border-color:var(--section-others-accent-soft)}.work-page .section-others .experience-tab:hover:before{border-color:var(--section-others-accent)}.academic-page .experience-tab-organization{color:var(--text);background:var(--academic-accent-soft);padding:.15em .45em;border-radius:.25rem;display:inline-block}.academic-page .experience-tab:before{border-color:var(--academic-accent-soft)}.academic-page .experience-tab:hover:before{border-color:var(--academic-accent)}.activities-page .section-societies .experience-tab-organization{color:var(--text);background:var(--section-societies-accent-soft);padding:.15em .45em;border-radius:.25rem;display:inline-block}.activities-page .section-societies .experience-tab:before{border-color:var(--section-societies-accent-soft)}.activities-page .section-societies .experience-tab:hover:before{border-color:var(--section-societies-accent)}.activities-page .section-community .service-card-organization{color:var(--text);background:var(--section-community-accent-soft);padding:.15em .45em;border-radius:.25rem;display:inline-block;align-self:flex-start;width:fit-content}.activities-page .section-community .service-card:before{border-color:var(--section-community-accent-soft)}.activities-page .section-community .service-card:hover:before{border-color:var(--section-community-accent)}.fixed-buttons{position:fixed;top:50%;right:1rem;transform:translateY(-50%);display:flex;flex-direction:column;gap:3rem;z-index:9999;pointer-events:auto}.fixed-buttons .btn{display:flex;align-items:center;justify-content:center;width:6rem;height:4rem;background-color:var(--card-bg);color:var(--text);text-decoration:none;border-radius:2rem 0 0 2rem;font-size:1rem;cursor:pointer;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:0 3px 8px var(--shadow)}.fixed-buttons .btn:hover,.fixed-buttons .btn:focus{background-color:var(--accent-soft);color:var(--text);transform:translate(-3px);box-shadow:0 4px 12px var(--shadow-hover)}.icon{width:2.5rem;height:2.5rem;flex-shrink:0}footer{background-color:transparent;width:100%;padding:1.5rem 0;margin-top:5rem;text-align:center;color:var(--text)}footer p{font-size:.75rem;color:var(--text)}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typewriter{display:inline-block;overflow:hidden;white-space:nowrap;margin:0 auto;letter-spacing:.15em;animation:typewriter 3s steps(40,end),blink .75s step-end infinite}@media (min-width: 768px){.header-content{flex-direction:row;justify-content:space-between}.logo{margin-bottom:0}.hero{display:flex;justify-content:center;padding:3rem 0}.hero-content{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:2rem;max-width:80rem;width:100%;padding:0 2rem;flex-wrap:wrap;text-align:left}.hero-text{flex:1 1 50%}.hero-text h1{font-size:4rem;line-height:1.2}.hero-description{font-size:1.125rem;margin-top:1rem;max-width:36rem;margin-left:0}.hero-image{flex:1 1 40%;max-width:24rem;height:24rem;background-color:#ccc}.experience-tab-header{flex-direction:row;justify-content:space-between;align-items:center}.experience-tab-date{margin-top:0}.projects-grid,.projects-grid-cards{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.hero-text h1{font-size:5rem}.projects-grid,.projects-grid-cards{grid-template-columns:repeat(3,1fr)}}.typewriter-text{display:inline-block;white-space:pre;font-family:inherit;height:10vh;padding-top:2vh}.cursor{display:inline-block;width:3px;height:1em;background-color:#1e0b0d;margin-left:5px;animation:blink 1s steps(1) infinite;vertical-align:-.15em}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (max-width: 767px){main{padding-top:120px}.container{width:90%;margin-left:5%;margin-right:5%;padding:0 .5rem}.header-content{flex-direction:column;align-items:center;gap:.5rem}.logo{font-size:1.8rem;margin-bottom:.25rem}nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.15rem 1.25rem}nav a{font-size:.7rem;padding:.2rem 0;background-color:transparent;white-space:nowrap}nav a:hover{background-color:transparent;transform:none}.hero{min-height:60vh;margin-top:-120px;padding-top:120px}.hero-content{flex-direction:column;text-align:center;gap:.8rem;min-height:auto}.hero-text{width:100%;max-width:100%;font-size:1.5rem;padding:0 1rem}.hero-text h1{font-size:1.8rem;line-height:1.2;min-height:auto;margin-bottom:.5rem}.hero-description{font-size:.85rem;max-width:100%;margin:0 auto}.pin{font-size:1rem;margin-top:.5rem;width:80%;margin-left:10%;margin-right:10%}.hero-image{width:85%;max-width:280px;height:280px;margin:0 auto;border-radius:1rem;box-shadow:0 4px 20px #0000001a}.page-header h1{font-size:2rem;margin-bottom:1rem}.about{padding:2rem 1rem}.about-content{max-width:100%;font-size:1rem;line-height:1.6}.carousel-item{width:440px;height:320px}.skills-section{max-width:100%;padding:0 1rem}.skill-category{margin-bottom:2rem}.skill-category h4{font-size:1.15rem;margin-bottom:.75rem}.skill-tags{gap:.5rem}.skill-tag{font-size:.7rem;padding:.3rem .6rem}.experience-tab{margin-bottom:1.5rem;padding:1rem}.experience-tab-logo{width:28px;height:28px}.experience-tab-body h3{padding-left:36px}.experience-tab h3{font-family:var(--font-display);font-size:1rem;font-weight:600;margin:0 0 .75rem}.experience-tab-header{flex-direction:column;gap:.2rem}.experience-tab-organization{font-size:.85rem}.experience-tab-date{font-size:.8rem}.experience-tab li{font-size:.85rem;margin-bottom:.3rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem;padding:0 1rem}.projects-grid-cards{gap:1.25rem}.projects-filter{gap:.4rem;margin-bottom:1.5rem}.projects-filter-btn{font-size:.8rem;padding:.4rem .8rem}.project-card-v2{padding:1.25rem}.project-card-title{font-size:1rem}.project-card-desc{-webkit-line-clamp:3;font-size:.8rem}.project-card{margin-bottom:1rem}.project-image{height:180px}.project-content{padding:1rem}.project-content h3{font-size:1.1rem}.project-description{font-size:.9rem}.project-technologies{gap:.4rem;margin-bottom:1rem}.project-technology{font-size:.65rem;padding:.2rem .5rem}.project-links{flex-direction:column;gap:.5rem}.project-link{font-size:.9rem;padding:.5rem;text-align:center;border-radius:.5rem;background-color:#f5f5f5}.masonry{column-count:1;column-gap:0}.service-card{margin-bottom:1.5rem;padding:1rem}.service-card h3{font-family:var(--font-display);font-size:1rem;font-weight:600}.service-card-header{flex-direction:column;gap:.2rem}.service-card-organization{font-size:.85rem}.service-card-date{font-size:.8rem}.service-card-section h4,.service-card-section p,.service-card-section li{font-size:.85rem}.fixed-buttons{right:.5rem;gap:2rem}.fixed-buttons .btn{width:3.5rem;height:2.5rem;border-radius:1.5rem 0 0 1.5rem;font-size:.7rem}.icon{width:1.5rem;height:1.5rem}footer{padding:1rem 0;margin-top:3rem}footer p{font-size:.6rem}}@media (min-width: 768px) and (max-width: 1023px){.container{width:85%;margin-left:7.5%;margin-right:7.5%}.hero-text h1{font-size:3rem}.hero-description{font-size:1rem}.projects-grid{grid-template-columns:repeat(2,1fr)}.masonry{column-count:2}.fixed-buttons{right:.75rem}.fixed-buttons .btn{width:4.5rem;height:3rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.hero-content .hero-text,.hero-content .hero-description,.hero-content .hero-image{animation:none}.reveal .experience-tab,.reveal .involvement-card{opacity:1}.reveal.visible .experience-tab,.reveal.visible .involvement-card{animation:none}nav a.active:after{animation:none}.carousel-track{animation:none}}
