.hero-section{position:relative;width:100%;height:100vh;overflow:hidden}.hero-image-container{position:absolute;left:0;top:0;width:100%;height:100%}.hero-image-wrapper{display:flex;width:100%;height:100%;justify-content:center;align-items:center;flex-shrink:0;position:absolute;left:0;top:0}.hero-background-image{width:100%;height:100%;flex-shrink:0;object-fit:cover}.hero-overlay{position:absolute;left:0;top:0;width:100%;height:100%;background:#fdf5aa;opacity:.5;flex-shrink:0}.hero-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;height:auto;color:#ffeffe;font-family:Geist,-apple-system,Roboto,Helvetica,sans-serif;font-size:95px;font-style:normal;font-weight:700;line-height:normal;flex-shrink:0;white-space:nowrap}@media (max-width: 1600px){.hero-image-container{left:0}.hero-title{left:50%;top:50%;transform:translate(-50%,-50%)}.hero-overlay{left:0}}@media (max-width: 1200px){.hero-title{left:50%;top:50%;transform:translate(-50%,-50%);font-size:80px}}@media (max-width: 900px){.hero-title{left:50%;top:50%;transform:translate(-50%,-50%);font-size:60px;width:400px}}@media (max-width: 600px){.hero-title{left:50%;top:50%;transform:translate(-50%,-50%);font-size:40px;width:300px}}.about-section{position:relative;width:100%}.card-section{position:relative;width:100%;min-height:0;height:100%}.about-card-swap-host{position:relative;width:100%;aspect-ratio:8 / 5.5;max-height:min(560px,68vh);min-height:260px;overflow:visible;border-radius:12px}.about-background{border-radius:20px;position:absolute;left:100px;top:0;width:100%;height:100%;background:#eae4d5;flex-shrink:0}.about-content{position:relative;z-index:2}.about-text{position:absolute;left:40px;top:40px;width:100%;height:100%;color:#000;font-family:Geist,-apple-system,Roboto,Helvetica,sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:normal;flex-shrink:0}.custom-card{border-radius:12px;color:#000}@media (max-width: 1200px){.about-background{left:200px;width:600px}.about-text{left:250px;width:500px;font-size:18px}}@media (max-width: 900px){.about-background{left:100px;width:500px}.about-text{left:150px;width:400px;font-size:16px}}@media (max-width: 600px){.about-background{left:20px;width:calc(100% - 40px);height:auto;min-height:300px}.about-text{left:40px;width:calc(100% - 80px);font-size:16px;position:relative;height:auto;padding:20px}}.card-swap-fill{position:relative;display:block;width:100%;height:100%;min-height:0}.card-swap-container{position:absolute;bottom:0;right:0;transform:translate(5%,20%);transform-origin:bottom right;perspective:900px;overflow:visible}.card-swap-container--fill{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,calc(-50% + clamp(18px,4vw,40px)));transform-origin:center center;overflow:visible}.card{position:absolute;top:50%;left:50%;border-radius:12px;border:1px solid #fff;background:#eae4d5;transform-style:preserve-3d;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}@media (max-width: 768px){.card-swap-container:not(.card-swap-container--fill){transform:scale(.75) translate(25%,25%)}.card-swap-container--fill{transform:translate(-50%,calc(-50% + clamp(14px,3vw,32px))) scale(.94)}}@media (max-width: 480px){.card-swap-container:not(.card-swap-container--fill){transform:scale(.55) translate(25%,25%)}.card-swap-container--fill{transform:translate(-50%,calc(-50% + clamp(12px,2.5vw,28px))) scale(.9)}}.visual-project-card{position:relative;width:403px;min-width:0;height:682px;flex-shrink:0;white-space:normal}.visual-project-card[role=button]{cursor:pointer}.visual-project-card[role=button]:focus-visible{outline:2px solid #0f766e;outline-offset:4px}.visual-project-card-background{position:absolute;left:0;top:0;width:403px;height:682px;filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}.visual-project-card-background svg{width:100%;height:100%}.project-title{position:absolute;left:26px;right:26px;top:502px;width:auto;max-width:calc(100% - 52px);margin:0;padding:0;color:#000;font-family:"Source Sans 3",system-ui,sans-serif;font-size:50px;font-style:normal;font-weight:700;line-height:1.15;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;z-index:2}.project-image{position:absolute;left:26px;top:53px;width:336px;height:378px;flex-shrink:0;aspect-ratio:8/9;object-fit:cover;z-index:1}@media (max-width: 1200px){.visual-project-card{width:320px;height:540px}.project-title{font-size:40px;left:20px;right:20px;top:420px}.project-image{width:280px;height:315px;left:20px;top:40px}}@media (max-width: 900px){.visual-project-card{width:280px;height:480px}.project-title{font-size:32px;left:20px;right:20px;top:380px}.project-image{width:240px;height:270px;left:20px;top:30px}}.projects-section{position:relative;width:100%;height:100%;overflow-x:hidden}.background-blur-effects{position:absolute;left:-332px;top:0;width:2100px;height:2254px;background:url("data:image/svg+xml,%3Csvg width='1512' height='2454' viewBox='0 0 1512 2454' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3CforeignObject x='1156' y='1793' width='712' height='661'%3E%3Cdiv xmlns='http://www.w3.org/1999/xhtml' style='backdrop-filter:blur(25px);clip-path:url(%23bgblur_0_110_160_clip_path);height:100%25;width:100%25'%3E%3C/div%3E%3C/foreignObject%3E%3Cg filter='url(%23filter0_f_110_160)'%3E%3Cellipse cx='1512' cy='2123.5' rx='256' ry='230.5' fill='url(%23paint0_linear_110_160)'/%3E%3C/g%3E%3CforeignObject x='-432' y='0' width='712' height='687'%3E%3Cdiv xmlns='http://www.w3.org/1999/xhtml' style='backdrop-filter:blur(25px);clip-path:url(%23bgblur_1_110_160_clip_path);height:100%25;width:100%25'%3E%3C/div%3E%3C/foreignObject%3E%3Cg filter='url(%23filter1_f_110_160)'%3E%3Cellipse cx='-76' cy='343.5' rx='256' ry='243.5' fill='url(%23paint1_linear_110_160)'/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id='filter0_f_110_160' x='1156' y='1793' width='712' height='661' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend mode='normal' in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur stdDeviation='50' result='effect1_foregroundBlur_110_160'/%3E%3C/filter%3E%3CclipPath id='bgblur_0_110_160_clip_path' transform='translate(-1156 -1793)'%3E%3Cellipse cx='1512' cy='2123.5' rx='256' ry='230.5'/%3E%3C/clipPath%3E%3Cfilter id='filter1_f_110_160' x='-432' y='0' width='712' height='687' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend mode='normal' in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur stdDeviation='50' result='effect1_foregroundBlur_110_160'/%3E%3C/filter%3E%3CclipPath id='bgblur_1_110_160_clip_path' transform='translate(432 0)'%3E%3Cellipse cx='-76' cy='343.5' rx='256' ry='243.5'/%3E%3C/clipPath%3E%3ClinearGradient id='paint0_linear_110_160' x1='1512' y1='1893' x2='1512' y2='587' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FDF5AA'/%3E%3Cstop offset='1' stop-color='%23979265'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_110_160' x1='-76' y1='100' x2='-76' y2='587' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FDF5AA'/%3E%3Cstop offset='1' stop-color='%23979265'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E") no-repeat;pointer-events:none;z-index:-1}.section-title{position:absolute;left:623px;top:100px;width:267px;height:65px;color:#b6b09f;font-family:Geist,-apple-system,Roboto,Helvetica,sans-serif;font-size:50px;font-style:normal;font-weight:700;line-height:normal}.projects-scroll-container{position:absolute;left:79px;top:250px;width:1355px;height:682px;overflow-x:auto;overflow-y:hidden;border:1px solid #ccc;white-space:nowrap;scroll-behavior:smooth}.projects-grid{width:max-content;height:100%;display:inline-flex;gap:73px;flex-shrink:0}.scroll-hint{position:absolute;right:35px;top:550px;pointer-events:none;z-index:10;background:#fffc;border-radius:50%;padding:8px;box-shadow:0 0 6px #0000001a}.scroll-arrow{width:32px;height:32px;animation:bounce-left-right 1.5s ease-in-out infinite;display:block}@media (max-width: 1400px){.projects-grid{left:50px;width:100%;max-width:1200px;gap:50px}.section-title{left:500px}}@media (max-width: 1200px){.projects-grid{left:30px;gap:30px;width:calc(100% - 60px)}.section-title{left:400px;font-size:40px}}@media (max-width: 900px){.projects-grid{flex-direction:column;align-items:center;height:auto;gap:50px}.section-title{left:300px;font-size:36px}}@media (max-width: 600px){.section-title{left:50%;transform:translate(-50%);font-size:32px;text-align:center}.projects-grid{left:20px;width:calc(100% - 40px)}}.involvement-card{position:relative;display:flex;flex-direction:column;width:403px;min-width:0;min-height:682px;flex-shrink:0;overflow:visible;white-space:normal}.involvement-card-background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;filter:drop-shadow(0 4px 4px rgba(0,0,0,.25));pointer-events:none;z-index:0}.involvement-card-background svg{display:block;width:100%;height:100%}.involvement-card-visual{position:relative;z-index:1;flex:0 0 auto;width:100%;height:502px}.involvement-title{position:relative;z-index:2;flex:0 0 auto;width:100%;max-width:100%;margin:0;padding:.35rem 15px 1.25rem;box-sizing:border-box;color:#000;font-family:Geist,-apple-system,Roboto,Helvetica,sans-serif;font-size:50px;font-style:normal;font-weight:700;line-height:1.15;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.involvement-title--tier-1{font-size:42px}.involvement-title--tier-2{font-size:34px}.involvement-title--tier-3{font-size:26px;line-height:1.2}.involvement-image{position:absolute;left:15px;top:87px;width:373px;height:276px;flex-shrink:0;aspect-ratio:373/276.33;object-fit:cover}@media (max-width: 1200px){.involvement-card{width:320px;min-height:540px}.involvement-card-visual{height:420px}.involvement-title{font-size:40px}.involvement-title--tier-1{font-size:34px}.involvement-title--tier-2{font-size:28px}.involvement-title--tier-3{font-size:22px}.involvement-image{width:290px;height:215px;left:15px;top:70px}}@media (max-width: 900px){.involvement-card{width:280px;min-height:480px}.involvement-card-visual{height:380px}.involvement-title{font-size:32px}.involvement-title--tier-1{font-size:28px}.involvement-title--tier-2{font-size:24px}.involvement-title--tier-3{font-size:20px}.involvement-image{width:250px;height:185px;left:15px;top:60px}}.involvement-scroll-container{position:absolute;left:79px;top:250px;width:1355px;height:682px;overflow-x:auto;overflow-y:hidden;border:1px solid #ccc;white-space:nowrap;scroll-behavior:smooth}.involvements-grid{width:max-content;height:100%;display:flex;gap:73px;flex-shrink:0}.involvements-section{position:relative;width:100%;height:100%;overflow-x:hidden}.involvements-section-title{position:absolute;left:570px;top:100px;width:274px;height:65px;color:#b6b09f;font-family:Geist,-apple-system,Roboto,Helvetica,sans-serif;font-size:50px;font-style:normal;font-weight:700;line-height:normal}@media (max-width: 1400px){.involvements-grid{left:50px;width:100%;max-width:1200px;gap:50px}.involvements-section-title{left:500px}}@media (max-width: 1200px){.involvements-grid{left:30px;gap:30px;width:calc(100% - 60px)}.involvements-section-title{left:400px;font-size:40px}}@media (max-width: 900px){.involvements-grid{flex-direction:column;align-items:center;height:auto;gap:50px}.involvements-section-title{left:300px;font-size:36px}}@media (max-width: 600px){.involvements-section-title{left:50%;transform:translate(-50%);font-size:32px;text-align:center}.involvements-grid{left:20px;width:calc(100% - 40px)}}.involvement-scroll-hint{position:absolute;right:35px;top:550px;pointer-events:none;z-index:10;background:#fffc;border-radius:50%;padding:8px;box-shadow:0 0 6px #0000001a}.involvement-scroll-arrow{width:32px;height:32px;animation:bounce-left-right 1.5s ease-in-out infinite;display:block}@keyframes bounce-left-right{0%,to{transform:translate(0)}50%{transform:translate(-8px)}}.interests-section{position:relative;width:100%;height:100%}.interests-title{position:absolute;left:645px;top:100px;width:222px;height:65px;color:#b6b09f;font-family:Geist,-apple-system,Roboto,Helvetica,sans-serif;font-size:50px;font-style:normal;font-weight:700;line-height:normal}.interests-gallery{position:relative;height:600px}.interest-image{position:absolute;flex-shrink:0;object-fit:cove}.interest-image-1{left:87px;top:323px;width:456px;height:342px;aspect-ratio:4/3}.interest-image-2{left:637px;top:301px;width:289px;height:386px;aspect-ratio:143/191}.interest-image-3{left:1070px;top:301px;width:226px;height:385px;aspect-ratio:27/46}@media (max-width: 1400px){.interests-title{left:500px}.interest-image-1{left:50px;width:380px;height:285px}.interest-image-2{left:480px;width:240px;height:320px}.interest-image-3{left:780px;width:180px;height:308px}}@media (max-width: 1200px){.interests-title{left:400px;font-size:40px}.interest-image-1{left:30px;width:320px;height:240px}.interest-image-2{left:380px;width:200px;height:267px}.interest-image-3{left:620px;width:150px;height:256px}}@media (max-width: 900px){.interests-gallery{display:flex;flex-direction:column;align-items:center;gap:30px;height:auto;padding-top:400px}.interest-image{position:relative!important;left:auto!important;top:auto!important}.interest-image-1,.interest-image-2,.interest-image-3{width:300px;height:auto}.interests-title{left:300px;font-size:36px}}@media (max-width: 600px){.interests-title{left:50%;transform:translate(-50%);font-size:32px;text-align:center}.interest-image-1,.interest-image-2,.interest-image-3{width:280px}}#infinite-grid-menu-canvas{cursor:grab;width:100%;height:100%;overflow:hidden;position:relative;outline:none}#infinite-grid-menu-canvas:active{cursor:grabbing}.action-button{position:absolute;left:50%;z-index:10;width:60px;height:60px;display:grid;place-items:center;background:#5227ff;border:none;border-radius:50%;cursor:pointer;border:5px solid #000}.face-title{color:#fff;-webkit-user-select:none;user-select:none;position:absolute;font-weight:900;font-size:4rem;left:1.6em;top:50%;transform:translate(20%,-50%)}.action-button-icon{-webkit-user-select:none;user-select:none;position:relative;color:#fff;top:2px;font-size:26px}.face-title.active{opacity:1;transform:translate(20%,-50%);pointer-events:auto;transition:.5s ease}.face-title.inactive{pointer-events:none;opacity:0;transition:.1s ease}.face-description{color:#fff;-webkit-user-select:none;user-select:none;position:absolute;max-width:10ch;top:50%;font-size:1.5rem;right:1%;transform:translateY(-50%)}.face-description.active{opacity:1;transform:translate(-90%,-50%);pointer-events:auto;transition:.5s ease}.face-description.inactive{pointer-events:none;transform:translate(-60%,-50%);opacity:0;transition:.1s ease}.action-button{position:absolute;left:50%}.action-button.active{bottom:3.8em;transform:translate(-50%) scale(1);opacity:1;pointer-events:auto;transition:.5s ease}.action-button.inactive{bottom:-80px;transform:translate(-50%) scale(0);opacity:0;pointer-events:none;transition:.1s ease}@media (max-width: 1500px){.face-title,.face-description{display:none}}.portfolio{--bg: #f4f4f2;--bg-alt: #ebeae6;--ink: #1a1a1a;--muted: #5c5c56;--line: #d6d4cf;--accent: #0f766e;--accent-hover: #0d9488;--header: #151515;--card: #ffffff;font-family:"Source Sans 3",system-ui,sans-serif;color:var(--ink);background:var(--bg);overflow-x:hidden;max-width:100%}.portfolio-serif{font-family:"Source Serif 4",Georgia,serif}.portfolio a{color:var(--accent);text-decoration:none}.portfolio a:hover{color:var(--accent-hover);text-decoration:underline}.portfolio main{max-width:100%;overflow-x:hidden}.portfolio-header{background:var(--header);color:#f5f5f4;padding:2.5rem 1.5rem 2rem;text-align:center}.portfolio-header h1{font-family:"Source Serif 4",Georgia,serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;letter-spacing:.02em;margin-bottom:.35rem}.portfolio-header .tagline{font-size:1rem;color:#a8a29e;font-weight:400;max-width:36rem;margin:0 auto;line-height:1.5}.portfolio-nav-wrap{position:sticky;top:0;z-index:50;background:#151515eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #292524}.portfolio-nav{max-width:900px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1.25rem;padding:.65rem 1rem}.portfolio-nav button{background:none;border:none;color:#a8a29e;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;padding:.35rem 0;font-family:inherit}.portfolio-nav button:hover,.portfolio-nav button:focus-visible{color:#fff;outline:none}.portfolio-nav button.is-active{color:#5eead4}.portfolio-main{max-width:min(900px,100%);width:100%;margin:0 auto;padding:0 1.25rem 4rem;box-sizing:border-box}.portfolio-section{padding-top:3.5rem;scroll-margin-top:3rem}.portfolio-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-bottom:.5rem}.portfolio-section h2.portfolio-h2{font-family:"Source Serif 4",Georgia,serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:600;margin-bottom:1.25rem;line-height:1.25}.portfolio-section p{color:var(--muted);line-height:1.7;margin-bottom:1rem;font-size:1.02rem}.profile-card{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:1.25rem 1.5rem;margin:1.5rem 0}.profile-card p{margin-bottom:.75rem}.profile-list{list-style:none;margin:0;padding:0}.profile-list li{display:flex;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--line);font-size:.95rem}.profile-list li:last-child{border-bottom:none}.profile-list strong{color:var(--ink);min-width:5rem}.profile-list span,.profile-list a{white-space:pre-line}.skill{margin-bottom:1rem}.skill-top{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:.35rem}.skill-top span:last-child{color:var(--muted);font-variant-numeric:tabular-nums}.skill-bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.skill-fill{height:100%;background:linear-gradient(90deg,var(--accent),#14b8a6);border-radius:3px;transition:width 1s ease-out}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border-radius:2px;cursor:pointer;text-decoration:none!important;border:none;font-family:inherit}.btn-primary{background:var(--accent);color:#fff!important}.btn-primary:hover{background:var(--accent-hover)}.btn-outline{background:transparent;color:var(--ink)!important;border:2px solid var(--ink)}.btn-outline:hover{background:var(--ink);color:#fff!important}.timeline{margin-top:1rem}.timeline h3{font-family:"Source Serif 4",Georgia,serif;font-size:1.15rem;margin:2rem 0 1rem;padding-bottom:.35rem;border-bottom:2px solid var(--accent)}.timeline-item{position:relative;padding-left:1.25rem;margin-bottom:1.75rem;border-left:2px solid var(--line)}.timeline-item:before{content:"";position:absolute;left:-5px;top:.35rem;width:8px;height:8px;background:var(--accent);border-radius:50%}.timeline-item h4{font-size:1.05rem;font-weight:600;margin-bottom:.15rem}.timeline-item .meta{font-size:.85rem;color:var(--muted);margin-bottom:.5rem}.timeline-item .org{font-weight:600;color:var(--ink)}.project-grid{display:grid;gap:1rem;margin-top:1rem}@media (min-width: 600px){.project-grid{grid-template-columns:repeat(2,1fr)}}.portfolio-prose-tile{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:1.1rem 1.25rem;cursor:pointer;transition:border-color .2s,box-shadow .2s;font-family:inherit;color:inherit}.portfolio-prose-tile:hover{border-color:var(--accent);box-shadow:0 4px 20px #0f766e1f}.portfolio-prose-tile h3{font-family:"Source Serif 4",Georgia,serif;font-size:1.1rem;margin-bottom:.5rem}.portfolio-prose-tile p{font-size:.95rem;margin:0}.activity-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.activity-card{background:var(--bg-alt);border:1px solid var(--line);border-radius:4px;padding:1.1rem 1.25rem}.activity-card h3{font-size:1.05rem;margin-bottom:.2rem}.activity-card .org{font-size:.85rem;color:var(--accent);margin-bottom:.5rem}.activity-card p{margin:0;font-size:.95rem}.stats-strip{margin:3rem 0 0;padding:2.5rem 1.25rem;background:var(--header);color:#e7e5e4;width:100%;box-sizing:border-box}.stats-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;text-align:center}@media (min-width: 640px){.stats-inner{grid-template-columns:repeat(4,1fr)}}.stat-num{font-family:"Source Serif 4",Georgia,serif;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:600;color:#5eead4;line-height:1.1}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:#a8a29e;margin-top:.35rem}.contact-grid{display:grid;gap:1.5rem;margin-top:1.5rem}@media (min-width: 560px){.contact-grid{grid-template-columns:repeat(3,1fr)}}.contact-block h3{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:.5rem}.contact-block p,.contact-block a{font-size:.95rem;line-height:1.6}.contact-links{display:flex;flex-direction:column;gap:.35rem}.portfolio-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem}.portfolio-modal{background:var(--card);max-width:520px;width:100%;max-height:85vh;overflow:auto;border-radius:6px;padding:1.5rem 1.75rem;position:relative;box-shadow:0 25px 50px #00000040}.portfolio-modal h3{font-family:"Source Serif 4",Georgia,serif;font-size:1.35rem;margin-bottom:.75rem}.portfolio-modal p{margin-bottom:1rem}.portfolio-modal-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);cursor:pointer;font-family:inherit}.portfolio-modal-close:hover{color:var(--ink)}.portfolio-footer{text-align:center;padding:2rem 1rem;font-size:.8rem;color:var(--muted)}.portfolio-home-anchor{scroll-margin-top:3rem;overflow-x:hidden;max-width:100%}.portfolio-hero-slot{position:relative;overflow-x:hidden;max-width:100%}.portfolio .portfolio-hero-slot .hero-section{height:min(72vh,900px);min-height:420px}.portfolio .portfolio-hero-slot .hero-overlay{background:linear-gradient(180deg,#0f171773,#0f766e59 45%,#1515158c)}.portfolio-hero-lead{max-width:42rem;margin:-3rem auto 0;padding:0 1.25rem 2.5rem;position:relative;z-index:2;text-align:center;font-size:1.05rem;line-height:1.65;color:var(--muted);color:#d7d7d7}@media (min-width: 768px){.portfolio-hero-lead{margin-top:-4rem}}.portfolio-about-visual{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line);overflow:visible;max-width:100%}.portfolio .about-section{overflow:visible;max-width:100%}.portfolio .about-section .about-background{background:#e8f2f0;border:1px solid var(--line)}.portfolio .about-section .about-text{color:var(--ink);font-family:"Source Sans 3",system-ui,sans-serif;font-size:1.05rem;line-height:1.6}.portfolio .about-section .custom-card{background:var(--card);border:1px solid var(--line);box-shadow:0 8px 28px #15151514;padding:clamp(.75rem,2.5vw,1.5rem);box-sizing:border-box;overflow:auto}.portfolio .about-section .custom-card h3{font-family:"Source Serif 4",Georgia,serif;color:var(--ink)}.portfolio .about-section .custom-card p{color:var(--muted);font-size:.95rem}.experience-tabs{margin-top:.5rem}.experience-tabs .tab-box{position:relative;top:0;margin-bottom:0;padding:.35rem .5rem;background:var(--bg-alt);border:1px solid var(--line);border-radius:6px;border-bottom:1px solid var(--line)}.experience-tabs .MuiTab-root{font-family:"Source Sans 3",system-ui,sans-serif;text-transform:none;letter-spacing:.04em;font-weight:600;color:var(--muted);min-height:44px}.experience-tabs .MuiTab-root.Mui-selected{color:var(--accent)}.experience-tabs .MuiTabs-indicator{background-color:var(--accent);height:3px}.experience-tabs .MuiTabPanel-root{padding:0;min-height:0}.experience-tabs .projects-container,.experience-tabs .involvements-container{margin-bottom:0;min-height:0}.portfolio .projects-section.projects-section--integrated,.portfolio .involvements-section.involvements-section--integrated{position:relative;width:100%;min-height:0;height:auto;padding-bottom:0;overflow:hidden}.portfolio .projects-section--integrated .background-blur-effects{opacity:.35;left:50%;transform:translate(-50%)}.portfolio .projects-section--integrated .section-title,.portfolio .involvements-section--integrated .involvements-section-title{display:none}.portfolio .projects-section--integrated .projects-scroll-container,.portfolio .involvements-section--integrated .involvement-scroll-container{position:relative;left:auto;top:auto;width:100%;max-width:100%;margin-top:.5rem;height:auto;min-height:0;border-color:var(--line);border-radius:6px;background:var(--card)}.portfolio .projects-section--integrated .projects-grid,.portfolio .involvements-section--integrated .involvements-grid{display:flex;padding:1.5rem 1.25rem;gap:2rem;align-items:flex-start;white-space:normal}.portfolio .projects-section--integrated .scroll-hint,.portfolio .involvements-section--integrated .involvement-scroll-hint{top:auto;bottom:1rem;right:1rem;background:#ffffffeb;border:1px solid var(--line)}.portfolio .projects-section--integrated .project-title,.portfolio .involvements-section--integrated .involvement-title{font-family:"Source Serif 4",Georgia,serif;color:var(--ink)}.portfolio .interests-section.interests-section--integrated{position:relative;width:100%;max-width:100%;margin-top:.5rem;overflow-x:hidden}.portfolio .interests-section--integrated .interests-title{display:none}.portfolio .interests-section--integrated .interests-gallery{height:min(560px,70vh);min-height:380px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--header)}.portfolio-section--work .portfolio-work-intro{color:var(--muted);line-height:1.65;max-width:40rem;margin-bottom:1rem}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}body{font-family:"Source Sans 3",system-ui,sans-serif;background-color:#f4f4f2;overflow-x:hidden;max-width:100%}#root{overflow-x:hidden;max-width:100%}.container{width:100%;max-width:1512px;margin:0 auto;position:relative}.flex{display:flex}.flex-center{display:flex;justify-content:center;align-items:center}.flex-column{flex-direction:column}.text-center{text-align:center}.relative{position:relative}.absolute{position:absolute}
