.transition{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:100000;pointer-events:all}.transition-overlay{position:absolute;top:0;left:0;width:100%;height:100%;will-change:clip-path;clip-path:polygon(100% 100%,100% 100%,100% 100%,100% 100%);-webkit-clip-path:polygon(100% 100%,100% 100%,100% 100%,100% 100%)}.transition-overlay.overlay-1{background-color:var(--accent1);z-index:6}.transition-overlay.overlay-2{background-color:var(--accent3);z-index:5}.transition-overlay.overlay-3{background-color:var(--accent2);z-index:4}.transition-overlay.overlay-4{background-color:var(--accent4);z-index:3}.transition-overlay.overlay-5{background-color:var(--fg);z-index:2}.transition-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;text-align:center;color:var(--bg);width:100%;pointer-events:none}.transition-text h1{font-family:rader;font-size:5rem;color:#141414;margin-bottom:1rem;font-style:italic;text-transform:uppercase;opacity:0;transform:translateY(20px)}.transition-text p{font-family:formula-narrow;font-size:1rem;color:#333;opacity:.8}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-Thin.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-ThinItalic.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-Hairline.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:rader;src:url(/fonts/rader/PPRader-HairlineItalic.ttf) format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:formula-condensed;src:url(/fonts/formula/PPFormula-CondensedBlack.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:formula-condensed;src:url(/fonts/formula/PPFormula-CondensedLight.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:formula-condensed;src:url(/fonts/formula/PPFormula-CondensedItalic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:formula-condensed;src:url(/fonts/formula/PPFormula-CondensedRegular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:formula-extended;src:url(/fonts/formula/PPFormula-ExtendedBold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:formula-extended;src:url(/fonts/formula/PPFormula-ExtendedLight.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:formula-extended;src:url(/fonts/formula/PPFormula-ExtendedItalic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:formula-extended;src:url(/fonts/formula/PPFormula-ExtendedMedium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-Extrabold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-ExtraboldItalic.ttf) format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:formula-narrow;src:url(/fonts/formula/PPFormula-NarrowBold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:formula-narrow;src:url(/fonts/formula/PPFormula-NarrowBoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:formula-narrow;src:url(/fonts/formula/PPFormula-NarrowRegular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:formula-narrow;src:url(/fonts/formula/PPFormula-NarrowSemibold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:formula;src:url(/fonts/formula/PPFormula-RegularItalic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:formula-semicondensed;src:url(/fonts/formula/PPFormula-SemiCondensedLight.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:formula-semicondensed;src:url(/fonts/formula/PPFormula-SemiCondensedItalic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:formula-semicondensed;src:url(/fonts/formula/PPFormula-SemiCondensedMedium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:formula-semicondensed;src:url(/fonts/formula/PPFormula-SemiCondensedThin.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:formula-semiextended;src:url(/fonts/formula/PPFormula-SemiExtendedBold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:supply-mono;src:url(/fonts/supply-mono/PPSupplyMono-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:supply-mono;src:url(/fonts/supply-mono/PPSupplyMono-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:supply-mono;src:url(/fonts/supply-mono/PPSupplyMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:supply-mono;src:url(/fonts/supply-mono/PPSupplyMono-Ultralight.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}:root{--bg: #edf1e8;--bg2: #d7dbd2;--fg: #141414;--accent1: #ed6a5a;--accent2: #f4f1bb;--accent3: #9bc1bc;--accent4: #5d576b;--muted: #666}[data-theme=dark]{--bg: #0f1113;--bg2: #1a1d21;--fg: #f2f2f2;--accent1: #ed6a5a;--accent2: #f4f1bb;--accent3: #9bc1bc;--accent4: #8b83a2;--muted: #b3b3b3}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg);color:var(--fg);overflow-x:hidden}body::-webkit-scrollbar{width:0}img{width:100%;height:100%;object-fit:cover}h1,h2,h3{text-transform:uppercase;font-family:rader;font-style:italic;line-height:.95}h1{font-size:5rem}h2{font-size:4rem}h3{font-size:2rem}a{text-decoration:none;color:var(--fg)}p,p.ss{font-family:formula-narrow;font-size:1.25rem;font-weight:400;line-height:1.8;letter-spacing:.02em}p.mn{text-transform:uppercase;font-family:supply-mono;font-size:.9rem;font-weight:500;line-height:1.125;letter-spacing:.15em;opacity:.6}.section-header{text-align:center;z-index:20}.section-title{font-size:4rem;font-weight:700;color:var(--fg);margin-bottom:1rem;font-family:Supply Mono,monospace}.section-subtitle{color:var(--muted);margin:0;font-family:Supply Mono,monospace}@media (max-width: 1000px){.section-title{font-size:2.5rem}}nav{position:fixed;top:0;left:0;width:100vw;padding:2em;display:flex;justify-content:space-between;align-items:center;overflow-x:hidden;z-index:100}nav .logo{padding:.5em .65em;background-color:var(--fg)}nav .logo a{color:var(--bg);-webkit-user-select:none;user-select:none}nav .menu-toggle-btn{padding:.6em .65em .65em;background-color:var(--bg2);color:var(--fg)}nav .menu-toggle-btn.menu-open{background-color:var(--fg);color:var(--bg)}nav .menu-toggle-btn p{-webkit-user-select:none;user-select:none}nav .logo,nav .menu-toggle-btn{border-radius:.4em;cursor:pointer}nav .menu-toggle-btn-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;height:.875rem;clip-path:polygon(0 0,100% 0,100% 100%,0% 100%)}nav .nav-controls{display:flex;align-items:center;gap:.75em}nav .theme-toggle{display:inline-flex;align-items:center;gap:.6em;padding:.6em .9em;background-color:var(--bg2);color:var(--fg);border-radius:.4em;border:1px solid rgba(0,0,0,.12);cursor:pointer}nav .theme-toggle .mn{margin:0}nav .theme-toggle:focus-visible{outline:2px solid var(--accent1);outline-offset:2px}nav .theme-toggle-indicator{width:10px;height:10px;border-radius:999px;background-color:var(--fg);opacity:.4;transition:all .2s ease}nav .theme-toggle-indicator.active{opacity:1;background-color:var(--accent1)}.nav-overlay{position:fixed;top:0;left:0;width:100vw;height:100svh;background-color:var(--bg2);overflow:hidden;pointer-events:none;opacity:0;z-index:10}.nav-overlay .nav-items{position:absolute;top:47.5%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1em}.nav-overlay .nav-items .nav-item{position:relative;transform:translateY(100%);will-change:transform;opacity:0;border-radius:.5em;background-color:var(--bg)}.nav-overlay .nav-items .nav-item p{font-size:2rem;-webkit-user-select:none;user-select:none}.nav-overlay .nav-items .nav-item.active{background-color:var(--fg)}.nav-overlay .nav-items .nav-item.active p a{color:var(--bg)}.nav-overlay .nav-items .nav-item p a{display:block;padding:.5em .5em .3em}.nav-overlay .nav-footer{position:absolute;left:0;bottom:0;width:100%;padding:2em;display:flex;justify-content:space-between;align-items:flex-end;text-align:center;gap:1.5em}.nav-overlay .nav-footer .nav-footer-item{display:flex;flex-direction:column;gap:.5em}.nav-overlay .nav-footer .nav-footer-item p{font-size:.75rem;-webkit-user-select:none;user-select:none}.nav-overlay .nav-footer .nav-footer-item .nav-footer-item-header{position:relative;transform:translateY(100%);opacity:0;display:flex;justify-content:center;gap:.75em}.nav-overlay .nav-footer .nav-footer-item .nav-footer-item-header p{background-color:var(--bg);color:var(--fg);padding:.5em .65em;border-radius:.4em;text-align:center}.nav-overlay .nav-footer .nav-footer-item .nav-footer-item-copy{position:relative;transform:translateY(100%);opacity:0;display:flex;justify-content:center;gap:.75em}.nav-overlay .nav-footer-item:nth-child(1) .nav-footer-item-header{justify-content:flex-start}.nav-overlay .nav-footer-item:nth-child(3) .nav-footer-item-header{justify-content:flex-end}.nav-overlay .nav-footer .nav-footer-item:last-child{margin-top:1em}@media (max-width: 1000px){.nav-overlay .nav-items .nav-item p{font-size:1.5rem}.nav-overlay .nav-footer{flex-direction:column;justify-content:center;align-items:center}.nav-overlay .nav-footer-item:nth-child(1) .nav-footer-item-header{justify-content:center}.nav-overlay .nav-footer-item:nth-child(2){display:none}.nav-overlay .nav-footer-item:nth-child(3) .nav-footer-item-header{justify-content:center}}.landing{position:relative;width:100vw;height:100svh;padding:2em;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow-x:hidden}.landing .landing-header h1{font-size:18vw;line-height:.9}.landing .landing-header.landing-header-1{position:relative;transform:translate(-2%);z-index:-1}.landing .landing-header.landing-header-2{position:relative;transform:translate(10%);z-index:2}.landing .landing-footer{position:absolute;width:100%;bottom:0;padding:2em;display:flex;justify-content:space-between}.landing .landing-footer .landing-footer-scroll-down{position:absolute;left:50%;transform:translate(-50%)}.landing .landing-footer .landing-footer-symbols{height:1rem}.landing-img-holder{position:relative;width:100vw;height:100svh;padding:2em;display:flex;align-items:flex-start;justify-content:center}.landing-img-holder .landing-img{position:relative;width:80%;aspect-ratio:16/9;max-width:100%;max-height:80%;transform:translateY(-110%) scale(.25) rotate(-15deg);border:.3em solid var(--fg);border-radius:2em;overflow:hidden;margin-top:-4em}.landing-img-holder .landing-img iframe{display:block;width:100%;height:100%;border:none}@media (max-width: 1000px){.landing{padding:1.5em}.landing .landing-header h1{font-size:clamp(15vw,20vw,25vw)}.landing .landing-footer{padding:1.5em}.landing .landing-footer .landing-footer-symbols{display:none}.landing .landing-footer .landing-footer-scroll-down{left:1.5em;transform:translate(0)}.landing-img-holder{padding:1.5em;height:70svh;align-items:center}.landing-img-holder .landing-img{width:100%;max-height:100%;transform:none!important;margin-top:0;border-width:.2em;border-radius:1em}}.section-nav{position:fixed;left:2em;top:50%;transform:translateY(-50%);z-index:1000;background:#ffffff14;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:1.5em;padding:1em 1.5em;box-shadow:0 4px 20px #00000014;width:60px;opacity:0;transition:width .3s ease,opacity .3s ease}.section-nav.visible,.section-nav:hover{opacity:1}.nav-overlay[style*="opacity: 1"]~* .section-nav,body:has(.nav-overlay[style*="pointer-events: all"]) .section-nav{opacity:0;visibility:hidden;pointer-events:none}.section-nav:has(li:first-child.active){opacity:0;visibility:hidden;pointer-events:none}.section-nav:hover,.section-nav:has(.active){width:120px}.section-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.5em}.section-nav li{position:relative}.section-nav button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;gap:.75em;transition:all .3s ease}.section-nav .nav-dot{width:10px;height:10px;border-radius:50%;background-color:var(--fg);opacity:.3;transition:all .3s ease}.section-nav li.active .nav-dot,.section-nav button:hover .nav-dot{opacity:1;transform:scale(1.3);background-color:var(--accent1)}.section-nav .nav-label{font-family:supply-mono;font-size:.75rem;font-weight:500;text-transform:uppercase;color:var(--fg);opacity:0;transform:translate(-10px);transition:all .3s ease;white-space:nowrap;pointer-events:none}.section-nav:hover .nav-label,.section-nav li.active .nav-label,.section-nav button:hover .nav-label{opacity:1;transform:translate(0)}@media (max-width: 1000px){.section-nav{display:none}}.about-hero{position:relative;width:100vw;min-height:100svh;padding:clamp(4em,8vh,8em) 4em clamp(3em,6vh,6em) 4em;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:3em 4em;align-items:center;background-color:var(--bg);color:var(--fg);overflow:hidden}.about-hero .about-hero-header{grid-column:1;grid-row:1;text-align:left;margin-left:6em}.about-hero .about-hero-header h1{font-size:clamp(3rem,7.5vw,7.5rem);line-height:1.1}.about-hero .about-hero-portrait{grid-column:2;grid-row:1 / 3;width:clamp(200px,22vw,320px);aspect-ratio:5/7;border-radius:1em;overflow:hidden;border:.25em solid var(--accent3);outline:.25em solid var(--accent1);transform:rotate(10deg);align-self:center;justify-self:center;margin-bottom:12em;margin-right:6em}.about-hero .about-hero-portrait img{width:100%;height:100%;object-fit:cover}.about-hero .about-hero-bio{grid-column:1;grid-row:2;text-align:left;display:flex;flex-direction:column;gap:1.5em;max-width:650px;align-self:start;margin-left:6em}@media (max-width: 1000px){.about-hero{padding:6em 1.5em 3em;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:2em;place-items:center}.about-hero .about-hero-header{grid-column:1;grid-row:1;text-align:center;margin-left:0}.about-hero .about-hero-header h1{font-size:clamp(2.5rem,10vw,4rem)}.about-hero .about-hero-portrait{grid-column:1;grid-row:2;width:clamp(150px,40vw,220px);justify-self:center;margin:0 0 2em}.about-hero .about-hero-bio{grid-column:1;grid-row:3;width:100%;text-align:center;align-self:start;margin-left:0}}.skills-section{padding-top:160px;background-color:var(--bg);position:relative}.skills-container{max-width:1280px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}.skills-heading{font-size:4rem;font-weight:700;color:var(--fg);text-align:center;margin-bottom:4rem;font-family:Supply Mono,monospace}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:4rem}.skill-category{background-color:#ffffff80;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px #0000001a;border:2px solid rgba(0,0,0,.1);opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.skill-category.skills-animated{opacity:1;transform:translateY(0)}.category-title{font-size:1.5rem;font-weight:600;color:var(--accent1);margin-bottom:1.5rem;text-align:center;font-family:Supply Mono,monospace}.tech-icons-container{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.tech-icon{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background-color:#fff;border-radius:.75rem;border:2px solid transparent;min-width:80px;opacity:0;transform:scale(.8);transition:all .3s ease;cursor:pointer}.tech-icon.skills-animated{opacity:1;transform:scale(1)}.tech-icon:hover{border-color:var(--accent1);transform:scale(1.05) translateY(-5px);box-shadow:0 8px 16px #00000026}.tech-icon-emoji{font-size:2rem}.tech-icon-image{width:40px;height:40px;object-fit:contain}.tech-icon-name{font-size:.75rem;font-weight:500;color:var(--fg);text-align:center}@media (max-width: 768px){.skills-heading{font-size:2.5rem}.skills-grid{grid-template-columns:1fr;gap:1.5rem}.skill-category{padding:1.5rem}.category-title{font-size:1.25rem}.tech-icon{min-width:70px;padding:.75rem}.tech-icon-emoji{font-size:1.5rem}}.timeline-section{padding-top:160px;background-color:var(--bg);position:relative;z-index:10;overflow:hidden}.timeline-container{width:100%;margin:0 auto}.timeline-header{text-align:center;margin-bottom:4rem;padding:0 2rem}.timeline-line-wrapper{position:relative;padding:6rem 0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}.timeline-line-wrapper::-webkit-scrollbar{display:none}.timeline-scroll-wrapper{position:relative;width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}.timeline-line-wrapper{width:100%;margin-left:0;margin-right:0}.timeline-fade-left,.timeline-fade-right{position:absolute;top:0;bottom:0;width:100px;z-index:50;pointer-events:none;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;opacity:0;background:none;border:none;padding:0}.timeline-fade-left.visible,.timeline-fade-right.visible{opacity:1;pointer-events:auto;cursor:pointer}.timeline-fade-left{left:0;background:linear-gradient(90deg,var(--bg) 0%,transparent 100%);justify-content:flex-start;padding-left:1rem}.timeline-fade-right{right:0;background:linear-gradient(-90deg,var(--bg) 0%,transparent 100%);justify-content:flex-end;padding-right:1rem}.timeline-fade-left svg,.timeline-fade-right svg{background:#fff;border-radius:50%;padding:6px;box-shadow:0 4px 12px #0000001a;color:var(--accent1);width:36px;height:36px;transition:transform .2s ease}.timeline-fade-left:hover svg{transform:translate(-2px) scale(1.1)}.timeline-fade-right:hover svg{transform:translate(2px) scale(1.1)}.timeline-track{display:flex;align-items:center;position:relative;min-width:100%;width:max-content;padding:0 4rem;min-height:850px}.timeline-line{position:absolute;left:0;right:0;top:50%;height:4px;width:100%;background:linear-gradient(90deg,transparent,var(--accent1),var(--accent1),transparent);transform:translateY(-50%);z-index:0}.timeline-item{position:relative;width:450px;flex:0 0 450px;height:100%;margin:0 1rem;z-index:10;opacity:.2;transition:all .6s cubic-bezier(.2,.8,.2,1);scroll-snap-align:center}.timeline-item.timeline-top{transform:scale(.9) translateY(-50px)}.timeline-item.timeline-bottom{transform:scale(.9) translateY(50px)}.timeline-item.timeline-animated{opacity:1;transform:scale(1) translateY(0)}.timeline-content{position:absolute;left:0;width:100%;display:flex;justify-content:center;padding:0 1rem;z-index:10}.timeline-top .timeline-content{bottom:50%;padding-bottom:3rem}.timeline-bottom .timeline-content{top:50%;padding-top:3rem}.timeline-top .timeline-content:after{content:"";position:absolute;bottom:0;left:50%;width:2px;height:3rem;background:var(--accent1);transform:translate(-50%);opacity:.5}.timeline-bottom .timeline-content:before{content:"";position:absolute;top:0;left:50%;width:2px;height:3rem;background:var(--accent1);transform:translate(-50%);opacity:.5}.timeline-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;border:3px solid;background-color:#fff;z-index:20;box-shadow:0 0 0 4px #fffc}.timeline-dot-inner{width:10px;height:10px;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-top{transform:none;justify-content:unset;margin-bottom:0}.timeline-bottom{margin-top:0;justify-content:unset}.timeline-card{width:100%;background-color:#fff;border-radius:1.5rem;box-shadow:0 4px 20px #00000014;border:2px solid rgba(0,0,0,.05);transition:all .3s ease;position:relative;overflow:hidden;text-align:left;perspective:1200px}.timeline-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:inherit;opacity:.5}.timeline-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.timeline-card-flip{display:grid;width:100%;height:100%;border:none;background:transparent;padding:0;text-align:left;cursor:pointer;transform-style:preserve-3d;transition:transform .6s ease}.timeline-card-flip.flipped{transform:rotateY(180deg)}.timeline-card-face{grid-area:1 / 1;backface-visibility:hidden;padding:2rem;display:flex;flex-direction:column}.timeline-card-back{transform:rotateY(180deg)}.timeline-company-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;position:relative}.timeline-company-logo{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #0000001a;background-color:#fff;padding:8px;overflow:hidden}.timeline-company-logo img{width:100%;height:100%;object-fit:contain}.timeline-company-logo span{font-size:1.5rem;font-weight:700;color:#fff}.timeline-company-info{flex:1}.timeline-role{font-size:1.25rem;font-weight:600;margin:0 0 .25rem;transition:color .3s ease}.timeline-company{font-family:formula-narrow;font-size:1rem;font-weight:500;color:var(--accent1);margin:0}.timeline-active-badge{position:absolute;top:-.5rem;right:-.5rem;background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff;padding:.25rem .6rem;border-radius:9999px;font-family:supply-mono;font-size:.7rem;font-weight:600;box-shadow:0 2px 8px #22c55e4d;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 2px 8px #22c55e4d}50%{box-shadow:0 2px 12px #22c55e80}}.timeline-department{font-size:.9rem;color:var(--muted);font-style:italic;margin-bottom:1rem;padding-left:.75rem;border-left:3px solid;transition:border-color .3s ease}.timeline-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;font-family:supply-mono;font-size:.9rem;color:var(--muted)}.timeline-location,.timeline-duration{display:flex;align-items:center;gap:.4rem}.timeline-location svg,.timeline-duration svg{flex-shrink:0;width:14px;height:14px}.timeline-achievements{margin-bottom:1rem}.timeline-achievements p{font-size:1rem;line-height:1.5;color:var(--fg);margin-bottom:.4rem}.timeline-tech-stack{display:flex;flex-wrap:wrap;gap:.4rem}.timeline-tech-tag{padding:.2rem .6rem;border-radius:9999px;font-family:supply-mono;font-size:.8rem;font-weight:500;border:1px solid;transition:all .3s ease}.timeline-tech-tag:hover{transform:translateY(-2px);box-shadow:0 2px 8px #00000026}.timeline-stats{display:flex;justify-content:center;gap:4rem;padding:2rem;background-color:#ffffff80;border-radius:1.5rem;box-shadow:0 4px 20px #00000014;max-width:800px;margin-left:auto;margin-right:auto}.timeline-stat-item{text-align:center}.timeline-stat-number{display:block;font-size:3rem;font-weight:700;color:var(--accent1);line-height:1;margin-bottom:.5rem;font-family:Supply Mono,monospace}.timeline-stat-label{display:block;font-size:1rem;color:var(--muted);font-weight:500}@media (max-width: 768px){.timeline-line-wrapper{flex-direction:column;overflow-x:hidden;height:auto;padding:0 0 0 2rem}.timeline-track{flex-direction:column;padding:2rem 0;min-height:auto;min-width:0;width:100%;gap:3rem}.timeline-line{width:4px;height:100%;left:30px;top:0;bottom:0;transform:none;background:linear-gradient(180deg,var(--bg) 0%,var(--accent1) 5%,var(--accent1) 95%,var(--bg) 100%)}.timeline-item{flex:0 0 auto;width:100%;margin:0;padding-left:110px!important;padding-right:1.5rem!important;display:flex;align-items:flex-start;height:auto;box-sizing:border-box!important}.timeline-top,.timeline-bottom{transform:none!important;justify-content:flex-start;padding:0;margin:0}.timeline-item.timeline-top,.timeline-item.timeline-bottom{transform:translateY(50px)}.timeline-item.timeline-animated{transform:translateY(0);opacity:1;filter:blur(0)}.timeline-content{position:relative!important;left:auto!important;right:auto!important;margin:0!important;padding:0!important;width:100%;top:auto!important;bottom:auto!important}.timeline-card{width:100%!important}.timeline-top .timeline-content,.timeline-bottom .timeline-content{padding:0!important;top:auto!important;bottom:auto!important}.timeline-item{opacity:0;transition:opacity .3s ease}.timeline-item.timeline-animated{opacity:1}.timeline-dot{left:32px;top:calc(2rem + 25px);bottom:auto;transform:translate(-50%,-50%) scale(0);transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.timeline-item.timeline-animated .timeline-dot{transform:translate(-50%,-50%) scale(1)}.timeline-content:before,.timeline-bottom .timeline-content:before{display:block!important;content:"";position:absolute;top:calc(2rem + 25px)!important;left:-80px!important;width:0!important;height:2px!important;background:var(--accent1);opacity:.5;transform:translateY(-50%)!important;z-index:-1;transition:width .4s ease .2s}.timeline-item.timeline-animated .timeline-content:before{width:80px!important}.timeline-content:after,.timeline-top .timeline-content:after{display:none!important}.timeline-card{width:100%!important;padding:1.5rem;opacity:0;transform:translate(20px);transition:all .5s ease .4s}.timeline-item.timeline-animated .timeline-card{opacity:1;transform:translate(0)}.timeline-item.timeline-top,.timeline-item.timeline-bottom{transform:none}.timeline-item.timeline-animated{transform:none;filter:none}.timeline-department{border-radius:0;background:transparent;border:none;border-left:3px solid}.timeline-stats{flex-direction:column;gap:2rem;padding:2rem}}.contact{position:relative;padding-top:100px;padding-bottom:100px;padding-left:clamp(1.25rem,4vw,3rem);padding-right:clamp(1.25rem,4vw,3rem);display:flex;justify-content:center;align-items:center;background-color:var(--bg);overflow:hidden}.contact .contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:2em;align-items:center;max-width:1400px;width:100%;position:relative}.contact-left,.contact-form-container{max-width:600px}.contact .trail-img{position:absolute;width:120px;height:120px;object-fit:cover;border-radius:.75em;transform-origin:center;pointer-events:none;will-change:transform;border:2px solid var(--fg);box-shadow:4px 4px 0 var(--fg)}.contact-left{display:flex;flex-direction:column;gap:1.5em;z-index:2}.contact-card-header-main{display:flex;flex-direction:column;gap:1em}.contact-card-header-main h1{text-transform:uppercase;font-family:rader;font-style:italic;line-height:.95;font-size:clamp(2.5rem,6vw,4rem);color:var(--fg)}.contact-card-header-main p{color:var(--fg);max-width:90%}.contact-info{display:flex;flex-direction:column;gap:1em;margin-top:1.5em}.contact-info-item{display:flex;flex-direction:column;gap:.5em}.contact-info-item .label{text-transform:uppercase;font-family:supply-mono;font-size:.75rem;font-weight:500;line-height:1.125;padding:.2em .4em;border-radius:.2em;width:max-content;background-color:var(--fg);color:var(--bg)}.contact-info-item a{font-family:supply-mono;font-size:.75rem;font-weight:500;text-transform:uppercase;color:var(--fg);text-decoration:none;transition:all .3s ease;position:relative;display:inline-block}.contact-info-item a:hover{color:var(--accent1);transform:translate(8px)}.contact-form-container{background-color:var(--bg2);border:2px solid var(--fg);border-radius:1.5em;padding:2em;position:relative;overflow:hidden;z-index:2;box-shadow:6px 6px 0 var(--fg);max-width:600px}.contact-form-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,transparent 0px,transparent 8px,rgba(20,20,20,.02) 8px,rgba(20,20,20,.02) 16px);pointer-events:none}.contact-form{display:flex;flex-direction:column;gap:1.5em;position:relative;z-index:1}.form-header{text-align:center;margin-bottom:.75em}.form-header h2{text-transform:uppercase;font-family:rader;font-style:italic;line-height:.95;font-size:3rem;margin-bottom:.4em;color:var(--fg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1em}.form-group{display:flex;flex-direction:column-reverse;gap:.5em;position:relative}.form-group.full-width{grid-column:1 / -1}.form-group label{text-transform:uppercase;font-family:supply-mono;font-size:.75rem;font-weight:500;line-height:1.125;color:var(--fg);transition:all .3s ease}.form-group input,.form-group textarea,.form-group select{background-color:var(--bg);border:2px solid var(--fg);border-radius:.75em;padding:1em 1.25em;color:var(--fg);font-family:formula-narrow;font-size:.875rem;font-weight:600;transition:all .4s cubic-bezier(.4,0,.2,1)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent1);background-color:var(--bg);transform:translateY(-2px);box-shadow:3px 3px 0 var(--accent1)}.form-group input:focus+label,.form-group textarea:focus+label,.form-group select:focus+label{color:var(--accent1);transform:translateY(-2px)}.form-group textarea{resize:vertical;min-height:100px;font-family:formula-narrow}.form-group select{cursor:pointer}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--fg);opacity:.5}.submit-btn{background:linear-gradient(45deg,var(--accent1),var(--accent2),var(--accent3),var(--accent4));background-size:400% 400%;animation:gradientMove 6s ease-in-out infinite;color:var(--fg);border:2px solid var(--fg);border-radius:1.5em;padding:1em 2.5em;font-family:supply-mono;font-size:.75rem;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;margin-top:.75em;box-shadow:4px 4px 0 var(--fg)}.submit-btn:before{content:"";position:absolute;top:0;left:0;width:200%;height:100%;background:repeating-linear-gradient(45deg,rgba(0,0,0,.05) 0px,rgba(0,0,0,.05) 8px,transparent 8px,transparent 16px);animation:stripeMove 20s linear infinite;pointer-events:none}.submit-btn:hover{transform:translateY(-2px);box-shadow:6px 6px 0 var(--fg)}.submit-btn:active{transform:translateY(-1px);box-shadow:2px 2px 0 var(--fg)}.success-message{background-color:var(--accent3);border:2px solid var(--fg);color:var(--fg);padding:.75em 1.25em;border-radius:.75em;text-align:center;font-family:formula-narrow;font-weight:600;opacity:0;transform:translateY(15px);transition:all .4s ease;margin-top:.75em;box-shadow:3px 3px 0 var(--fg)}.success-message.show{opacity:1;transform:translateY(0)}.floating-elements{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.floating-element{position:absolute;width:5px;height:5px;background-color:var(--accent1);border-radius:50%;animation:float 12s infinite linear;opacity:.4}.floating-element:nth-child(2n){background-color:var(--accent3)}.floating-element:nth-child(3n){background-color:var(--accent2)}@keyframes float{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.4}90%{opacity:.4}to{transform:translateY(-100px) rotate(360deg);opacity:0}}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes stripeMove{0%{transform:translate(-50%)}to{transform:translate(0)}}@media (max-width: 1000px){.contact{padding:6em 1.5em}.contact .contact-wrapper{grid-template-columns:1fr;gap:3em}.contact-left,.contact-form-container{max-width:100%}.contact-card-header-main h1{font-size:clamp(2.5rem,10vw,4rem)}.contact-card-header-main p{max-width:100%;font-size:clamp(.875rem,3vw,1rem)}.form-header h2{font-size:clamp(2rem,8vw,3rem)}.form-header p{font-size:clamp(.875rem,3vw,1rem)}.form-row{grid-template-columns:1fr}.contact .trail-img{width:80px;height:80px}}footer{position:relative;width:100vw;height:400px;color:var(--bg);padding:2em;display:flex;flex-direction:column;justify-content:space-between;align-items:center;overflow:hidden}footer .footer-container{position:relative;width:100%;height:100%;background-color:var(--fg);padding:1.5em;border-radius:2em;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}footer .footer-header{position:relative;text-align:center;padding-top:1em}footer .footer-header h1{font-size:2.5rem;margin:0}footer .footer-row{display:flex;gap:1.5em;margin-bottom:1.5em;padding-top:2em}footer .footer-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5em}footer .footer-col p{font-size:1.2rem;margin:0}footer .footer-col a{color:var(--bg)}footer .footer-col p:not(:first-child){opacity:.35}footer .copyright-info{position:relative;width:100%;display:flex;justify-content:center;gap:2em;padding-bottom:4em}footer .copyright-info p{font-size:.85rem;margin:0}footer .footer-symbols{position:absolute;left:0;width:100%;padding:1.5em;display:flex;justify-content:space-between}footer .footer-symbols img{width:auto;height:1rem}footer .footer-symbols-1{top:0}footer .footer-symbols-2{bottom:0}footer .explosion-container{position:absolute;bottom:0;left:0;width:100%;height:200%;pointer-events:none;overflow:hidden}footer .explosion-particle-img{position:absolute;bottom:-200px;left:50%;width:150px;border-radius:1rem;height:auto;object-fit:cover;transform:translate(-50%);will-change:transform}@media (max-width: 1000px){footer{height:600px}footer .copyright-info{flex-direction:column;text-align:center;gap:.5em}footer .copyright-info p:nth-child(2){display:none}footer .footer-row{flex-direction:column;margin-bottom:2em}footer .footer-row .footer-col:nth-child(2),footer .footer-row .footer-col:nth-child(4){display:none}footer .explosion-container{display:none}}.featured-work-container{width:100vw;position:relative}.featured-work-pin{width:100vw;height:100vh;overflow:hidden;background-color:var(--bg);top:0;position:sticky}.featured-header{text-align:center;position:absolute;top:5rem;left:0;width:100%;z-index:20;pointer-events:none}.featured-work-slider{display:flex;width:600vw;height:100%;will-change:transform}.project-slide{width:100vw;height:100vh;display:flex;align-items:center;padding:0 5vw;gap:5vw;position:relative}.project-slide:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:40%;background:#0000000d}.slide-content{flex:1;display:flex;flex-direction:column;justify-content:center;z-index:2;padding-left:2em;position:relative}.project-cat{font-family:supply-mono;color:var(--accent1);font-size:.9rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.1em}.project-title{font-family:rader;font-size:5rem;font-style:italic;line-height:.9;color:var(--fg);margin-bottom:1.5rem}.project-desc{font-family:formula-narrow;font-size:1.1rem;line-height:1.6;max-width:500px;margin-bottom:2rem;color:#444;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.project-tags{display:flex;gap:.5rem;flex-wrap:wrap}.p-tag{font-family:supply-mono;font-size:.75rem;padding:.4em .8em;border:1px solid var(--fg);border-radius:2em;text-transform:uppercase;opacity:.6}.project-watermark{position:absolute;top:0;left:-2rem;font-family:rader;font-size:12rem;opacity:.03;pointer-events:none;z-index:-1;line-height:.8}.featured-work-indicator{position:absolute;right:3rem;top:50%;transform:translateY(-50%);background:var(--fg);color:var(--bg);padding:2rem .8rem;border-radius:50px;display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:10;box-shadow:0 10px 30px #0000004d}.indicator-group-vertical{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%}.indicator-num{font-family:supply-mono;font-size:.9rem;opacity:.3;transition:opacity .3s ease;padding:.2rem 0}.indicator-num.active{opacity:1;font-weight:600;color:var(--accent1)}.indicator-lines{display:flex;flex-direction:column;gap:4px;margin:.25rem 0}.i-line{width:16px;height:1px;background:var(--bg);transition:opacity .1s linear}.featured-work-footer{position:absolute;bottom:2rem;left:0;width:100%;padding:0 3rem;display:flex;justify-content:space-between;align-items:center;z-index:10;pointer-events:none}.featured-work-footer p{pointer-events:auto}.featured-work-footer .mn{font-family:supply-mono;text-transform:uppercase;font-size:.9rem;letter-spacing:.15em;opacity:.6;margin:0}.featured-work-footer a{text-decoration:none;color:var(--fg);transition:color .3s ease}.featured-work-footer a:hover{color:var(--accent1)}.slide-visual{flex:1;height:100%;display:flex;align-items:center;justify-content:center}.img-wrapper{width:80%;max-width:600px;aspect-ratio:4/3;height:auto;border-radius:2rem;overflow:hidden;border:1px solid rgba(20,20,20,.08);box-shadow:0 30px 60px -12px #00000026;position:relative;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.img-wrapper img{width:100%;height:100%;object-fit:contain;padding:2rem;opacity:1;transition:all .5s ease}.project-slide:hover .img-wrapper img{transform:scale(1.05);opacity:1}.featured-work-container .featured-work-footer p a{position:relative;font-family:formula-narrow;font-size:1rem;font-weight:600;text-transform:uppercase;color:var(--fg);text-decoration:none;padding:.5em 1em;border:1px solid var(--fg);border-radius:2em;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5em;background:transparent}.featured-work-container .featured-work-footer p a:after{content:"→";display:inline-block;transition:transform .3s ease}.featured-work-container .featured-work-footer p a:hover{color:var(--bg);border-color:var(--accent1);background:var(--accent1);transform:translateY(-2px);box-shadow:4px 4px #0003}.featured-work-container .featured-work-footer p a:hover:after{transform:translate(4px)}@media (max-width: 1000px){.featured-work-container{padding:3em 0;height:auto!important;overflow:visible}.featured-work-pin{height:auto;overflow:visible;position:relative;top:auto}.featured-header{position:relative;top:auto;padding:0 1.5em;margin-bottom:2rem}.featured-work-slider{display:flex;flex-direction:column;width:100vw;height:auto;transform:none!important}.project-slide{width:100vw;height:auto;flex-direction:column-reverse;padding:4rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.1);border-right:none;opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.project-slide.project-slide-animated{opacity:1;transform:translateY(0)}.slide-visual{width:100%;height:300px;margin-bottom:2rem}.slide-content{width:100%;padding-left:0;text-align:center}.project-desc{margin-left:auto;margin-right:auto;text-align:center}.project-tags{justify-content:center}.project-watermark{display:none}.featured-work-container .featured-work-footer{position:relative;margin-top:3em;justify-content:center;padding:0 1.5em}.featured-work-container .featured-work-footer p:nth-child(1),.featured-work-container .featured-work-footer p:nth-child(2){display:none}.featured-work-container .featured-work-indicator{display:none}}.expertise-header{position:relative;display:flex;padding-top:160px;padding-bottom:160px;justify-content:center;align-items:center;text-align:center}.expertise-header .expertise-profile-icon{position:relative;width:100px;height:100px;border-radius:1em;margin-bottom:2em;outline:.25rem solid var(--accent3);border:.25rem solid var(--fg);overflow:hidden}.expertise-header .expertise-header-content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1em}.expertise-header .expertise-header-arrow-icon{animation:expertise-float 3s ease-in-out infinite}@keyframes expertise-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.expertise{background-color:var(--bg);overflow:visible;position:relative;padding-bottom:540px;touch-action:pan-y}.expertise .expertise-card{position:absolute;top:0;left:50%;background-color:var(--bg);overflow:hidden;width:min(1200px,calc(100vw - 4em));cursor:pointer;outline:none;transform:translate(-50%) translateY(calc(var(--stack-offset, 0) * -1));transition:transform .4s ease;border-radius:2em}.expertise .expertise-card-inner{position:relative;will-change:transform;width:100%;height:100%;padding:0;display:flex;flex-direction:column;gap:0;border-radius:2em;z-index:2;box-shadow:0 18px 40px #0000001f;transition:transform .4s ease,box-shadow .4s ease;overflow:hidden}.expertise .expertise-card-inner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translateY(18px);border-radius:2em;background-color:inherit;opacity:.25;z-index:-1}.expertise .expertise-card.active{transform:translate(-50%) translateY(0);height:auto;overflow:visible}.expertise .expertise-card.active .expertise-card-inner{transform:translateY(0) scale(1.02);box-shadow:0 26px 60px #0000002e}.expertise .expertise-card-header{height:70px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 2rem}.expertise .expertise-card-title{margin:0;font-family:rader;font-style:italic;text-transform:uppercase;line-height:1;font-size:clamp(1.25rem,3.2vw,2.6rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expertise .expertise-card-body{display:flex;gap:4em;padding:0 2em 2em}.expertise .expertise-card:not(.active) .expertise-card-body{display:none}.expertise .expertise-card-content{flex:3;display:flex;flex-direction:column;gap:1.25em;justify-content:flex-start}.expertise .expertise-card-content ul{display:flex;flex-direction:column;gap:.5em;padding-left:1.5rem;max-width:600px}.expertise .expertise-card-content li{font-family:formula-narrow;font-size:1.1rem;line-height:1.6;color:#000;list-style-type:disc}.expertise .expertise-card-img{flex:1;aspect-ratio:4/5;border-radius:2em;overflow:hidden}.expertise .expertise-controls{position:absolute;left:50%;bottom:2vh;transform:translate(-50%);display:flex;align-items:center;gap:1rem;z-index:30}.expertise .expertise-nav-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(0,0,0,.18);background:#ffffff59;color:var(--fg);width:44px;height:44px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.expertise .expertise-nav-btn:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.expertise .expertise-dots{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:9999px;border:1px solid rgba(0,0,0,.18);background:#ffffff40}.expertise .expertise-dot{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;width:10px;height:10px;border-radius:9999px;background:#00000040;cursor:pointer}.expertise .expertise-dot.active{background:#000000bf}.expertise .expertise-dot:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.expertise #expertise-card-1 .expertise-card-inner{background-color:var(--accent1)}.expertise #expertise-card-2 .expertise-card-inner{background-color:var(--accent2)}.expertise #expertise-card-3 .expertise-card-inner{background-color:var(--accent3)}.expertise #expertise-card-4 .expertise-card-inner{background-color:var(--fg);color:var(--bg)}@media (max-width: 1000px){.expertise-header{height:auto;padding:4em 1.5em}.expertise-header .expertise-header-title h1{font-size:clamp(1.75rem,6vw,3rem)}.expertise{display:flex;flex-direction:column;gap:2em;padding:2em 1.5em;min-height:auto}.expertise .expertise-card{position:relative;top:auto;left:auto;width:100%;transform:translateY(30px);opacity:0;transition:opacity .6s ease,transform .6s ease;cursor:default;height:auto;overflow:visible}.expertise .expertise-card.expertise-card-animated{opacity:1;transform:translateY(0)}.expertise .expertise-card-inner{min-height:0;flex-direction:column;justify-content:center;gap:1em;text-align:center;border:.2em solid var(--fg);border-radius:1em;padding:2em 1.5em}.expertise .expertise-card-header{height:auto;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:.75em;margin-bottom:1em}.expertise .expertise-card-title{font-size:clamp(1.5rem,5vw,2.5rem);white-space:normal;text-overflow:clip}.expertise .expertise-card-body{display:flex!important;flex-direction:column;gap:1em;padding:0}.expertise .expertise-card-img{aspect-ratio:5/3;border:.2em solid var(--fg);border-radius:1em;width:100%}.expertise .expertise-controls{display:none}}.projects-section{min-height:100vh;padding:8rem 2rem 4rem;background-color:var(--bg);position:relative}.projects-container{max-width:1400px;margin:0 auto}.projects-header{text-align:center;margin-bottom:4rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.projects-header.projects-header-animated{opacity:1;transform:translateY(0)}.projects-heading{font-size:4rem;font-weight:700;color:var(--fg);margin-bottom:1rem;font-family:Supply Mono,monospace}.projects-subtitle{font-size:1.25rem;color:var(--muted);max-width:600px;margin:0 auto 2rem}.projects-filter-summary{font-size:.95rem;color:var(--muted);margin:-.5rem auto 1.5rem;text-transform:uppercase;letter-spacing:.12em;font-family:Supply Mono,monospace}.projects-stats{display:flex;gap:3rem;justify-content:center;margin-top:2rem}.projects-filters{display:grid;grid-template-columns:minmax(240px,320px) minmax(240px,520px);gap:1.5rem;justify-content:center;margin:2rem 0 3rem}.filter-select{display:flex;flex-direction:column;gap:.75rem;align-items:stretch}.filter-search{display:flex;flex-direction:column;gap:.75rem}.filter-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-family:Supply Mono,monospace}.projects-select-wrapper{position:relative}.projects-tag-select,.projects-search{width:100%;border:2px solid rgba(0,0,0,.15);border-radius:999px;padding:.75rem 1.25rem;font-size:1rem;font-family:Supply Mono,monospace;background:#fffc;color:var(--fg);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.projects-tag-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:3rem;cursor:pointer}.projects-select-wrapper:after{content:"";position:absolute;top:50%;right:1.25rem;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--fg);transform:translateY(-40%);pointer-events:none}.projects-tag-select:focus,.projects-search:focus{border-color:var(--accent1);box-shadow:0 0 0 3px #ed6a5a33}.projects-empty{text-align:center;padding:3rem 1rem 5rem}.projects-empty p{font-size:1.1rem;color:var(--muted)}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-number{font-size:3rem;font-weight:700;color:var(--accent1);font-family:Supply Mono,monospace}.stat-label{font-size:1rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-bottom:4rem}.project-card{opacity:0;transform:translateY(40px) rotateX(4deg) rotate(-1.2deg);transition:opacity .7s ease,transform .7s ease;transform-origin:center bottom;will-change:transform,opacity}.project-card.project-card-animated{opacity:1;transform:translateY(0) rotateX(0) rotate(0)}.projects-grid .project-card:nth-child(3n+1){transition-delay:0ms}.projects-grid .project-card:nth-child(3n+2){transition-delay:.12s}.projects-grid .project-card:nth-child(3n){transition-delay:.24s}.project-card-inner{background-color:#ffffff80;border-radius:1rem;overflow:visible;border:2px solid rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease;height:100%;display:flex;flex-direction:column}.project-card-inner:hover,.project-card-inner.dropdown-open{transform:translateY(-5px);box-shadow:0 8px 24px #00000026}.project-image-wrapper{position:relative;width:100%;height:250px;overflow:hidden;background-color:#f5f5f5;border-radius:1rem 1rem 0 0}.project-image{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease}.project-card-inner:hover .project-image{transform:scale(1.05)}.project-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#0000,#000000b3);display:flex;align-items:flex-end;justify-content:center;padding:1.5rem;opacity:0;transition:opacity .3s ease;z-index:5}.project-card-inner:hover .project-overlay,.project-overlay.keep-visible{opacity:1}.project-links{display:flex;gap:1rem;z-index:50;position:relative}.project-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#fff;color:var(--fg);text-decoration:none;border-radius:.5rem;font-weight:600;font-size:.9rem;transition:all .3s ease}.project-link:hover{background-color:var(--accent1);color:#fff;transform:translateY(-2px)}.dropdown-toggle.active,button.dropdown-toggle.active{background-color:var(--accent1)!important;color:#fff!important;transform:translateY(0)!important}.project-link svg{width:20px;height:20px}.project-link.demo-link{background-color:var(--accent1);color:var(--bg);border:1px solid var(--accent1)}.project-link.demo-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ed6a5a66;background-color:var(--accent1);color:var(--bg)}.demo-links-list{background-color:#fff;border-radius:.5rem;box-shadow:0 8px 24px #0000004d;min-width:200px;z-index:9999}.demo-link-item{display:block;padding:.75rem 1rem;color:var(--fg);text-decoration:none;transition:background-color .2s ease;border-bottom:1px solid #f0f0f0;white-space:nowrap}.demo-link-item:last-child{border-bottom:none}.demo-link-item:hover{background-color:var(--accent1);color:#fff}.project-content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.project-title{font-size:1.5rem;font-weight:700;color:var(--fg);margin-bottom:.75rem;font-family:Supply Mono,monospace}.project-description{font-size:.95rem;color:var(--muted);line-height:1.6;margin-bottom:1rem;margin-bottom:.5rem}.project-description-container{position:relative;overflow:hidden;transition:max-height .5s ease-in-out}.project-description-container.collapsed{height:4.8em;-webkit-mask-image:linear-gradient(to bottom,black 60%,transparent 100%);mask-image:linear-gradient(to bottom,black 60%,transparent 100%)}.project-description-container.expanded{max-height:500px;-webkit-mask-image:none;mask-image:none}.read-more-btn{background-color:transparent;border:1px solid var(--accent1);color:var(--accent1);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem 1.2rem;border-radius:2rem;margin:1.5rem auto 1rem;display:block;width:fit-content;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.read-more-btn:hover{background-color:var(--accent1);color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 8px #ed6a5a33}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;min-height:5.5rem;align-content:flex-start}.project-tag{padding:.4rem .8rem;background-color:#ed6a5a1a;color:var(--accent1);border-radius:.5rem;font-size:.8rem;font-weight:500;border:1px solid rgba(237,106,90,.2)}.github-cta{text-align:center;padding:2rem 1.5rem;background-color:#ffffff4d;border-radius:1rem;border:2px solid rgba(0,0,0,.1)}.github-cta h2{font-size:2rem;font-weight:700;color:var(--fg);margin-bottom:.75rem;font-family:Supply Mono,monospace}.github-cta p{font-size:1rem;color:var(--muted);margin-bottom:1.25rem}.github-button{display:inline-flex;align-items:center;gap:.75rem;padding:.6rem 2rem;background-color:var(--fg);color:var(--bg);text-decoration:none;border-radius:.75rem;font-weight:600;font-size:1.1rem;transition:all .3s ease}.github-button:hover{background-color:var(--accent1);transform:translateY(-3px);box-shadow:0 8px 16px #0003}.github-button svg{width:24px;height:24px}@media (max-width: 768px){.projects-section{padding:4rem 1rem 2rem}.projects-heading{font-size:2.5rem}.projects-subtitle{font-size:1rem}.projects-stats{gap:2rem;flex-direction:column}.stat-number{font-size:2rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.projects-filters{grid-template-columns:1fr}.projects-tag-select,.projects-search{width:100%}.project-image-wrapper{height:200px}.github-cta h2{font-size:2rem}.github-cta p{font-size:1rem}}@media (max-width: 480px){.projects-heading{font-size:2rem}.stat-number{font-size:1.5rem}.stat-label{font-size:.8rem}}.courses-page{min-height:100vh;background-color:var(--bg);padding-top:12rem;padding-bottom:4rem;position:relative;width:100%}.courses-header{text-align:center;margin-bottom:3rem;max-width:1280px;margin-left:auto;margin-right:auto;padding:0 2rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.courses-header.courses-header-animated{opacity:1;transform:translateY(0)}.courses-header h1{font-size:3rem;font-weight:700;color:#1f2937;margin-bottom:2rem}.university-badge-container{display:inline-flex;align-items:center;justify-content:center;gap:1rem;background-color:#fff;border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;position:relative;min-width:300px}.undergraduate-badge{position:absolute;top:-.75rem;right:-1rem;padding:.25rem .75rem;background-color:#60a5fa;color:#fff;font-size:.75rem;border-radius:9999px;font-weight:500;box-shadow:0 4px 6px #0000001a}.university-info{text-align:left}.university-logo{height:6rem;width:auto;object-fit:contain;display:block}.courses-container{max-width:1280px;margin:0 auto;padding:0 2rem}.courses-list{display:flex;flex-direction:column;gap:1.5rem}.course-card{background-color:#fff;border-radius:1rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow:hidden;transition:box-shadow .3s;opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease,box-shadow .3s ease;position:relative}.course-card.course-card-animated{opacity:1;transform:translateY(0)}.courses-semester-tag{position:absolute;top:1.5rem;right:1.5rem;font-size:.875rem;font-weight:500;color:#6b7280;background-color:#f3f4f6;padding:.35rem .85rem;border-radius:9999px;z-index:10}.course-card-inner{display:flex;flex-direction:row}.course-image-section{width:16rem;min-height:16rem;background-color:#fff;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative}.course-type-badge{position:absolute;top:1rem;right:1rem;padding:.25rem .75rem;color:#fff;font-size:.75rem;border-radius:9999px;font-weight:500}.course-type-badge.required{background-color:#ef4444}.course-type-badge.elective{background-color:#3b82f6}.course-image-placeholder{width:10rem;height:10rem;border-radius:50%;background-color:#ffffff80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid white;box-shadow:0 4px 6px #0000001a;display:flex;align-items:center;justify-content:center}.course-image-placeholder span{font-size:2.25rem;font-weight:700;color:#2563eb}.course-image{width:100%;height:100%;object-fit:contain}.course-details-section{flex:1;padding:2rem}.course-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:1rem;line-height:1.3}.course-meta{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;font-size:.875rem}.meta-item{display:flex;align-items:center;gap:.5rem}.meta-label{color:#2563eb;font-weight:600}.meta-value{color:#374151}.rating-stars,.workload-stars{display:flex;gap:.125rem}.star{color:#fbbf24;font-size:1.125rem}.course-description{color:#4b5563;font-size:.875rem;line-height:1.6}.courses-footer{margin-top:3rem;text-align:center}.courses-stats{display:inline-block;padding:1rem 2rem;background-color:#fff;border-radius:1rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.courses-stats p{color:#374151;font-weight:500;margin:0}.courses-count{font-size:1.5rem;font-weight:700;color:#2563eb}@media (max-width: 768px){.courses-header h1{font-size:2rem}.course-card-inner{flex-direction:column}.course-image-section{width:100%;height:16rem}.university-badge-container{flex-direction:column;text-align:center;margin-top:1rem;margin-right:0;max-width:80%;min-width:auto}.university-info{text-align:center}}
