@import url('variables.css');@import url('base.css');@keyframes heroFadeDown{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes wordFadeIn{from{opacity:0;transform:translateY(28px) scale(0.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scrollDrop{0%{transform:translateY(-100%);opacity:1}55%{transform:translateY(0%);opacity:1}85%{transform:translateY(100%);opacity:0}100%{transform:translateY(100%);opacity:0}}section.hero{position:relative;height:100vh;width:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:15vh}section.hero::before{content:'';position:absolute;inset:0;background:linear-gradient( 110deg,rgba(0,0,0,0.52) 0%,rgba(0,0,0,0.18) 50%,rgba(0,0,0,0.02) 100% );z-index:1;pointer-events:none}.hero-video{position:absolute;inset:0;width:100%;height:110%;object-fit:cover;z-index:0;will-change:transform}.top-name{position:absolute;top:40px;left:40px;font-family:var(--Hn,sans-serif);font-size:16px;font-weight:300;letter-spacing:-0.02em;color:var(--couleur-blanc);z-index:3;opacity:0;will-change:opacity,transform}.hero-animated .top-name{animation:heroFadeDown 0.7s cubic-bezier(0.16,1,0.3,1) 0.05s both}.hero-word-cycle{position:relative;z-index:2;padding:0 0 0 16px;line-height:1;will-change:opacity,transform}.hero-word-inner{display:block;white-space:nowrap;opacity:0}.hero-animated .hero-word-inner{animation:wordFadeIn 0.7s cubic-bezier(0.16,1,0.3,1) 0.2s both}.letter{display:inline-block}.word-base{font-family:var(--Hn);font-size:clamp(80px,14vw,180px);font-weight:800;font-style:normal;line-height:1;letter-spacing:-0.03em;color:var(--couleur-blanc);white-space:nowrap;display:inline-block;vertical-align:bottom}.word-suffix{font-family:var(--Hn);font-size:clamp(80px,14vw,180px);font-weight:600;font-style:italic;line-height:1;letter-spacing:-0.03em;color:var(--couleur-blanc);white-space:nowrap;display:inline-block;vertical-align:bottom;will-change:transform,opacity,filter}.hero-scroll-line{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);width:1px;height:52px;background:rgba(255,255,255,0.18);z-index:3;overflow:hidden;will-change:opacity;opacity:0}.hero-animated .hero-scroll-line{animation:heroFadeDown 0.8s cubic-bezier(0.16,1,0.3,1) 1.5s both}.hero-scroll-line::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.9);transform:translateY(-100%);animation:scrollDrop 2s cubic-bezier(0.4,0,0.6,1) 2.1s infinite}.main-project{background-color:#f0f0f0;padding:110px 30px 60px;position:relative}.section-title{font-family:var(--Hn);font-size:64px;font-weight:500;letter-spacing:-0.07em;color:var(--couleur-noir);margin:0 0 24px 0}.slider-wrapper{position:relative;overflow:hidden}.slider-track{display:flex;transition:transform 0.6s cubic-bezier(0.77,0,0.18,1);will-change:transform}.project-card{min-width:100%;height:769px;position:relative;overflow:hidden;display:flex}.card-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.project-card::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none}.project-info-panel{position:relative;z-index:2;width:417px;flex-shrink:0;margin:40px 40px;padding:40px 40px;display:flex;flex-direction:column;background:var(--couleur-fond-glassmorph);backdrop-filter:blur(50px);-webkit-backdrop-filter:blur(12px)}.project-header{display:flex;flex-direction:column;gap:16px}.project-header h3{font-weight:600;font-size:36px;letter-spacing:-0.05em}.project-name{font-weight:600;font-size:36px;letter-spacing:-0.05em;margin:0}.project-sub{font-size:15px;font-weight:300;letter-spacing:-0.05em;font-style:italic}.project-date{font-size:20px;font-weight:500;letter-spacing:-0.05em;margin:0}.project-body{display:flex;flex-direction:column;justify-content:flex-end;flex:1;gap:30px;margin-bottom:30px}.project-tagline{font-size:36px;font-weight:500;letter-spacing:-0.05em;margin:0}.project-description{font-size:16px;letter-spacing:-0.05em;line-height:1.215;font-weight:400;margin:0}.project-footer{display:flex;flex-direction:column;gap:35px}.project-meta p{font-size:16px;margin:0;letter-spacing:-0.05em;line-height:1.6}.project-meta strong{font-weight:700}.project-link{color:var(--couleur-blanc);font-size:16px;font-weight:500;display:flex;align-items:center;gap:10px;letter-spacing:-0.05em;transition:opacity 0.2s}.project-link{margin-top:10px}.project-link:hover{opacity:1}.project-link img{width:16px;height:16px;align-items:center}.slider-nav{position:absolute;bottom:24px;right:24px;z-index:10;display:flex;gap:8px}.nav-btn{width:45px;height:45px;background:var(--couleur-fond-glassmorph);backdrop-filter:blur(50px);color:var(--couleur-blanc);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s,border-color 0.2s}.academic-project{background-color:#f0f0f0;padding:60px 30px 80px}.comp-section{background-color:#f0f0f0;padding:60px 30px 80px}.comp-section .section-title{font-size:64px;font-weight:500;letter-spacing:-0.07em;margin:0 0 48px 0}.comp-section-container{display:flex;align-items:flex-start;gap:24px}.academic-project .section-title{font-size:64px;font-weight:500;letter-spacing:-0.07em;margin:0 0 48px 0}.comp-list{flex:1;min-width:0;display:flex;flex-direction:column}.comp-item{display:flex;align-items:center;gap:14px;padding:20px 0;border-top:1px solid rgba(0,0,0,0.2);cursor:pointer;transition:opacity 0.25s;opacity:0.35}.comp-item:last-child{border-bottom:1px solid rgba(0,0,0,0.2)}.comp-item.active,.comp-item:hover{opacity:1}.comp-item .ctag{font-size:11px;padding:5px 11px;flex-shrink:0}.comp-name{font-family:var(--Hn,sans-serif);font-size:26px;font-weight:400;letter-spacing:-0.04em;color:var(--couleur-noir,#111)}.comp-display{width:444px;flex-shrink:0;position:sticky;top:40px;height:480px}.comp-glass{height:100%;background:#fff;border:1px solid rgba(0,0,0,0.08);padding:28px;overflow-y:auto;display:flex;flex-direction:column}.comp-glass-header{display:flex;align-items:center;gap:10px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(0,0,0,0.08)}.comp-glass-title{font-family:var(--Hn,sans-serif);font-size:20px;font-weight:700;color:var(--couleur-noir,#111);letter-spacing:-0.03em}.comp-proj-item{width:100%;padding:18px 0;border:none;border-bottom:1px solid rgba(0,0,0,0.07);background:none;text-align:left;cursor:pointer;transition:opacity 0.2s}.comp-proj-item:last-child{border-bottom:none}.comp-proj-item:hover{opacity:0.6}.comp-proj-name{font-family:var(--Hn,sans-serif);font-size:17px;font-weight:700;color:var(--couleur-noir,#111);letter-spacing:-0.03em;margin:0 0 7px}.comp-proj-year{font-weight:300;font-size:13px;opacity:0.38;margin-left:6px}.comp-proj-desc{font-size:13px;color:rgba(0,0,0,0.52);line-height:1.55;margin:0 0 9px;letter-spacing:-0.01em}.comp-proj-stack{font-family:var(--Jbm,monospace);font-size:10px;color:rgba(0,0,0,0.28);letter-spacing:0.06em;text-transform:uppercase}.comp-proj-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.comp-proj-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}.comp-stack-chip{font-family:var(--Jbm,monospace);font-size:9px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(0,0,0,0.38);background:rgba(0,0,0,0.05);padding:3px 8px;border-radius:2px}.comp-proj-cta{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:var(--Hn,sans-serif);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:rgba(0,0,0,0.38);transition:color 0.2s,gap 0.2s}.comp-proj-item:hover .comp-proj-cta{color:var(--couleur-noir,#111);gap:10px}.card-discover-btn{margin-top:4px;background:none;text-decoration:underline;border:none;padding:0;cursor:pointer;display:flex;align-items:center;gap:8px;font-family:var(--Hn,sans-serif);font-size:15px;font-weight:500;color:var(--couleur-blanc,#fff);letter-spacing:-0.02em;transition:opacity 0.2s,gap 0.2s}.card-discover-btn::after{font-size:13px;transition:transform 0.2s}.card-discover-btn:hover{opacity:0.6;gap:12px}.proj-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.66);z-index:1100;opacity:0;pointer-events:none;transition:opacity 0.36s ease;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.proj-overlay.is-open{opacity:1;pointer-events:auto}.proj-modal{position:relative;width:min(720px,100%);max-height:88vh;background:var(--couleur-fond-glassmorph);backdrop-filter:blur(44px) saturate(170%);-webkit-backdrop-filter:blur(44px) saturate(170%);border:1px solid rgba(255,255,255,0.1);display:flex;flex-direction:column;overflow:hidden;transform:scale(0.88) translateY(28px);opacity:0;transition:transform 0.52s cubic-bezier(0.16,1,0.3,1),opacity 0.34s ease}.proj-modal.is-open{transform:scale(1) translateY(0);opacity:1}.proj-modal-topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 26px 16px;border-bottom:1px solid rgba(255,255,255,0.07);flex-shrink:0}.proj-modal-gallery{position:relative;height:256px;overflow:hidden;background:rgba(0,0,0,0.28);margin:-28px -28px 28px}.proj-modal-gallery.is-empty{display:none}.proj-modal-gallery-track{display:flex;height:100%;will-change:transform;transition:transform 0.44s cubic-bezier(0.4,0,0.2,1)}.proj-modal-gallery-img{width:100%;height:100%;object-fit:cover;flex-shrink:0;opacity:0.82}.proj-modal-gallery-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(10,10,10,0.55);border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.9);width:40px;height:40px;cursor:pointer;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background 0.2s,color 0.2s}.proj-modal-gallery-btn:hover{background:rgba(10,10,10,0.82);color:#fff}.proj-modal-gallery-prev{left:14px}.proj-modal-gallery-next{right:14px}.proj-modal-gallery-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:7px;pointer-events:none}.proj-modal-gallery-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,0.32);border:none;cursor:pointer;padding:0;pointer-events:auto;transition:background 0.2s,transform 0.2s}.proj-modal-gallery-dot.active{background:#fff;transform:scale(1.4)}.proj-modal-label{font-family:var(--Jbm,monospace);font-size:10px;letter-spacing:0.18em;color:rgba(255,255,255,0.34);text-transform:uppercase;margin:0}.proj-modal-close{width:36px;height:36px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.7);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s,color 0.2s;flex-shrink:0}.proj-modal-close:hover{background:rgba(255,255,255,0.14);color:#fff}.proj-modal-scroll{flex:1;overflow-y:auto;padding:28px 28px 52px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.12) transparent}.proj-modal-title{font-family:var(--Hn,sans-serif);font-size:clamp(26px,4vw,38px);font-weight:700;letter-spacing:-0.04em;color:#fff;margin:0 0 6px;line-height:1.1}.proj-modal-year{font-family:var(--Jbm,monospace);font-size:11px;color:rgba(255,255,255,0.3);letter-spacing:0.08em;margin:0 0 24px}.proj-modal-desc{font-size:15px;line-height:1.68;color:rgba(255,255,255,0.68);letter-spacing:-0.01em;margin:0 0 28px}.proj-modal-section{margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,0.07)}.proj-modal-section:last-of-type{border-bottom:none}.proj-modal-sh{font-family:var(--Jbm,monospace);font-size:10px;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.28);margin:0 0 16px}.proj-modal-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;counter-reset:steps}.proj-modal-steps li{counter-increment:steps;position:relative;padding-left:30px;font-size:14px;line-height:1.6;color:rgba(255,255,255,0.62)}.proj-modal-steps li::before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:var(--Jbm,monospace);font-size:10px;color:rgba(255,255,255,0.22);letter-spacing:0.04em}.proj-modal-comp-detail{font-size:14px;line-height:1.65;color:rgba(255,255,255,0.58);margin:0 0 14px}.proj-modal-comp-tags{display:flex;flex-wrap:wrap;gap:10px}.modal-ctag-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08)}.modal-ctag-name{font-family:var(--Hn,sans-serif);font-size:13px;font-weight:500;color:rgba(255,255,255,0.75);letter-spacing:-0.02em}.proj-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.07);flex-wrap:wrap}.proj-modal-stack{font-family:var(--Jbm,monospace);font-size:11px;color:rgba(255,255,255,0.35);letter-spacing:0.06em;text-transform:uppercase;margin:0;flex:1}.proj-modal-github{font-family:var(--Hn,sans-serif);font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.6);text-decoration:none;padding:10px 18px;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.04);transition:background 0.2s,color 0.2s;white-space:nowrap}.proj-modal-github:hover{background:rgba(255,255,255,0.1);color:#fff}.academic-container{display:flex;align-items:flex-start;gap:24px}.projects-list{flex:1;min-width:0;display:flex;flex-direction:column}.project-item{display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-top:1px solid rgba(0,0,0,0.2);cursor:pointer;gap:20px;transition:opacity 0.4s}.project-item:last-child{border-bottom:1px solid rgba(0,0,0,0.2)}.project-title{font-size:28px;font-weight:400;letter-spacing:-0.04em;color:rgb(0 0 0 / 0.7);white-space:nowrap;transition:font-weight 0.15s}.project-item.active .project-title,.project-item:hover .project-title{color:var(--couleur-noir);font-size:29px}.project-tags{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.tag{font-size:15px;font-weight:500;letter-spacing:-0.05em;color:var(--couleur-noir);border:1px solid rgba(0,0,0,0.7);border-radius:999px;padding:5px 14px;white-space:nowrap}.preview-display{width:444px;flex-shrink:0;position:sticky;top:40px;height:480px;overflow:hidden}.preview-card{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 0.35s ease}.preview-card.active{opacity:1;pointer-events:auto}.preview-card::before{content:'';position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}#card-sokoban::before{background-image:url('../assets/images/projects/academics/sokoban.webp')}#card-emirates::before{background-image:url('../assets/images/projects/academics/emirates.webp')}#card-devenvironment::before{background-image:url('../assets/images/projects/academics/devenvironment.webp')}#card-database::before{background-image:url('../assets/images/projects/academics/database.webp')}#card-algorithm::before{background-image:url('../assets/images/projects/academics/algorithm.webp')}#card-team::before{background-image:url('../assets/images/projects/academics/team.webp')}.glass-panel{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:25px 25px;margin:25px 25px;background:var(--couleur-fond-glassmorph);backdrop-filter:blur(50px);-webkit-backdrop-filter:blur(50px);display:flex;flex-direction:column;gap:20px}.card-title{font-size:24px;font-weight:800;letter-spacing:-0.05em;margin:0}.card-year{font-size:16px;font-weight:500;margin:0;letter-spacing:-0.05em}.card-description{font-size:15px;font-weight:400;margin:0;letter-spacing:-0.05em}.card-comp-tags{display:flex;flex-wrap:wrap;gap:7px}.ctag{font-family:var(--Jbm,monospace);font-size:10px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;color:#fff;white-space:nowrap}.ctag--realiser{background:#3B82F6}.ctag--optimiser{background:#22C55E}.ctag--administrer{background:#F97316}.ctag--gerer{background:#A855F7}.ctag--conduire{background:#EAB308;color:#1a1a1a}.ctag--collaborer{background:#EC4899}.card-stack{font-size:15px;font-weight:500;margin:0;letter-spacing:-0.02em}.card-link{font-size:15px;font-weight:500;color:var(--couleur-blanc);display:flex;align-items:center;gap:10px;letter-spacing:-0.05em}.timeline-section{background-color:#fff;padding:80px 30px 30vh}.timeline-container{display:flex;gap:0;max-width:1200px;margin:0 auto}.timeline-left{width:40%;flex-shrink:0}.sticky-block{position:sticky;top:80px;display:flex;flex-direction:column;gap:24px;padding-right:60px}.timeline-title{font-size:64px;font-weight:500;letter-spacing:-0.07em;color:#1d1d1f;margin:0;line-height:1}.timeline-intro{font-size:18px;font-weight:400;line-height:1.6;letter-spacing:-0.03em;color:#6e6e73;margin:0}.timeline-right{flex:1;position:relative;min-width:0;padding-left:0;padding-top:200px}.vertical-line{position:absolute;top:0;bottom:0;left:80px;width:1px;background-color:#d2d2d7;z-index:0}.timeline-event{display:flex;align-items:flex-start;gap:0;padding-bottom:40vh;position:relative;z-index:1}.timeline-event:last-child{padding-bottom:0}.event-marker{display:flex;align-items:center;gap:0;flex-shrink:0;width:80px}.event-years{font-size:14px;font-weight:400;color:#6e6e73;white-space:nowrap;letter-spacing:-0.01em;position:relative;padding-right:24px;margin-right:0}.event-years::after{content:'';position:absolute;right:4px;top:50%;transform:translateY(-50%);width:14px;height:1px;background:#d2d2d7}.square-dot{width:8px;height:8px;background-color:#1d1d1f;flex-shrink:0;margin-left:-4px;position:relative;z-index:2}.event-content{padding-left:40px;display:flex;flex-direction:column;gap:12px;margin-top:-52px}.event-title{font-size:36px;font-weight:500;letter-spacing:-0.05em;color:#1d1d1f;margin:0;line-height:1.1}.event-subtitle{font-size:17px;font-weight:400;color:#6e6e73;margin:0;letter-spacing:-0.02em}.event-subtitle span{font-style:italic}.event-description{font-size:17px;font-weight:400;line-height:1.7;color:#1d1d1f;letter-spacing:-0.02em;max-width:460px;margin:0}.event-links{display:flex;gap:20px;flex-wrap:wrap}.event-link{font-size:15px;color:#06c;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px;transition:border-color 0.2s ease}.event-link:hover{border-bottom-color:#06c}.fade-up{opacity:0;transform:translateY(20px);transition:opacity 0.5s ease,transform 0.5s ease}.fade-up.is-visible{opacity:1;transform:translateY(0)}.fade-up[data-delay="1"]{transition-delay:0.08s}.fade-up[data-delay="2"]{transition-delay:0.16s}.fade-up[data-delay="3"]{transition-delay:0.24s}.fade-up[data-delay="4"]{transition-delay:0.32s}.about-section{background:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.about-inner{margin:0 auto;padding:120px 80px;display:grid;grid-template-columns:60fr 40fr;gap:80px;align-items:start}.ap-label{font-size:11px;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#6e6e73;margin:0 0 28px}.about-heading{font-size:clamp(36px,4.5vw,56px);font-weight:600;color:#1d1d1f;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-0.025em;line-height:1.07;margin:0 0 28px}.about-situation{font-size:15px;font-weight:500;color:#6e6e73;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;margin:0 0 20px;line-height:1.5}.about-body{font-size:17px;line-height:1.7;color:#1d1d1f;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;margin:0 0 48px}.objectives-label{font-size:11px;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#6e6e73;margin:0 0 16px}.objectives-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.objectives-list li{font-size:17px;color:#1d1d1f;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;padding-left:24px;position:relative}.objectives-list li::before{position:absolute;left:0;color:#6e6e73}.about-right{}.education-section{background:#f5f5f7;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.education-inner{max-width:980px;margin:0 auto;padding:100px 80px}.edu-list{margin-top:48px}.edu-item{display:grid;grid-template-columns:110px 1fr;gap:32px;padding:32px 0;border-top:1px solid #d2d2d7;align-items:start}.edu-item:last-child{border-bottom:1px solid #d2d2d7}.edu-year{font-size:11px;font-weight:600;color:#6e6e73;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;text-transform:uppercase;letter-spacing:0.08em;padding-top:5px}.edu-degree{font-size:21px;font-weight:500;color:#1d1d1f;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-0.02em;margin:0 0 8px}.edu-institution{font-size:15px;color:#6e6e73;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;margin:0 0 6px}.edu-detail{font-size:13px;color:#86868b;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;margin:0;line-height:1.5}.edu-link{color:#06c;text-decoration:none;border-bottom:1px solid transparent;transition:border-color 0.2s ease}.edu-link:hover{border-bottom-color:#06c}.contact-section{background:#fff}.contact-inner{padding:80px 30px 80px}.contact-panel{background:#fff;border:1px solid #d1d1d1;padding:56px 52px 52px}.contact-label{font-size:10px;font-family:var(--Jbm,monospace);font-weight:400;text-transform:uppercase;letter-spacing:0.14em;color:#6e6e73;margin:0 0 28px}.contact-heading{font-family:var(--Hn,sans-serif);font-size:clamp(38px,5.5vw,64px);font-weight:300;color:#1d1d1f;letter-spacing:-0.04em;line-height:1.02;margin:0 0 48px}.contact-divider{height:1px;background:#e5e5e5;margin-bottom:40px}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.contact-card{display:flex;flex-direction:column;padding:32px 28px;border:1px solid #e5e5e5;text-decoration:none;min-height:210px;transition:border-color 0.28s ease,background 0.28s ease}.contact-card:hover{border-color:#bdbdbd;background:#fafafa}.contact-card-type{font-family:var(--Jbm,monospace);font-size:9.5px;letter-spacing:0.14em;text-transform:uppercase;color:#adadad;margin-bottom:auto;padding-bottom:28px}.contact-card-value{font-family:var(--Hn,sans-serif);font-size:20px;font-weight:300;color:#1d1d1f;letter-spacing:-0.02em;line-height:1.25;margin-bottom:24px}.contact-card-mono{font-family:var(--Jbm,monospace);font-size:13.5px;font-weight:400;letter-spacing:-0.01em;line-height:1.4}.contact-card-cta{display:flex;align-items:center;gap:8px;font-family:var(--Hn,sans-serif);font-size:12px;font-weight:400;color:#adadad;letter-spacing:0.01em;transition:color 0.22s ease}.contact-card:hover .contact-card-cta{color:#1d1d1f}.contact-card-cta img{width:11px;opacity:0.35;filter:invert(1);transition:transform 0.22s ease,opacity 0.22s ease}.contact-card:hover .contact-card-cta img{transform:translateX(4px);opacity:1}@media (max-width:768px){.about-inner{grid-template-columns:1fr;gap:0;padding:80px 24px}.about-right{display:none}.education-inner{padding:80px 24px}.edu-item{grid-template-columns:1fr;gap:8px}.edu-year{padding-top:0}.contact-inner{padding:40px 16px 60px}.contact-panel{padding:32px 24px 28px}.contact-cards{grid-template-columns:1fr;gap:8px}}