:root{--font-primary:'Poppins', sans-serif;--primary-color:#3faf95;--secondary-color:#17244f;--text-dark:#333;--text-light:#eaeaea;--transition-default:all 0.3s ease;--ios-top: env(safe-area-inset-top);--border-radius-button:50px;--border-radius-large:25px;--shadow-default:0 4px 8px rgba(0,0,0,0.2);--background-glass:rgba(255,255,255,0.1)}
*{box-sizing:border-box}
*::before{box-sizing:border-box}
*::after{box-sizing:border-box}

html,body{margin:0;height:100%}
html{scroll-behavior:smooth;height:100dvh}
body{margin:0;padding:0;font-family: var(--font-primary);background:linear-gradient(180deg,rgb(184,233,244) 0%,rgb(2,7,31) 100%) fixed;color:var(--text-light);overflow-x:hidden;min-height:100vh;line-height:1.6;position:relative}
.skip-link{position:absolute;top:-40px;left:-10px;z-index:0}
.skip-link:focus{top:6px}
.overlay-image{position:fixed;top:0;left:0;width:180%;height:100vh;z-index:-2;opacity:.4;pointer-events:none;object-fit:cover}
.navbar{display:flex;justify-content:space-between;align-items:center;padding:1rem;position:fixed;top:0;left:0;width:100%;z-index:1000;background:linear-gradient(180deg,rgba(3,9,37,.4) 0%,rgba(122,168,186,0) 90%);transition:background .8s ease}
.navbar::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(3,9,37,.4);backdrop-filter:blur(10px);box-shadow:0 4px 25px rgba(0,0,0,.1);opacity:0;transition:opacity .8s ease,backdrop-filter .8s ease;z-index:-1}
.scrolled .navbar::before{opacity:1}
.logo{width:clamp(4rem,10vw,5rem);height:auto;vertical-align:bottom}
.menu-toggle{display:block;font-size:clamp(2rem,6vw,2.5rem);background:none;border:none;color:var(--text-light);cursor:pointer}
.menu-toggle::before{content:'☰';font-size:1.5em}
.nav-links{display:none;flex-direction:column;position:absolute;top:70px;right:1rem;width:calc(100vw - 2rem);background:rgba(17,27,50,0.95);padding:1rem 0;border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,0.3);list-style:none;transition:var(--transition-default)}
.nav-links.active{display:flex}
.nav-links li{margin:.5rem 0;text-align:center}
.nav-links a:not(.linkedin-button){color:#f5f5f5;text-decoration:none;font-size:.9rem;padding:.25rem;display:block;transition:var(--transition-default);text-shadow:0 0 2px rgba(18,8,93,.5)}
.nav-links a:hover{color:var(--secondary-color);text-shadow:0 4px 4px rgba(237,236,236,0.25)}
.nav-links a:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
.nav-links li:last-child{display:none}
.cta-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:var(--border-radius-large);font-weight:600;font-size:clamp(.9rem,3vw,1rem);text-decoration:none;cursor:pointer;transition:var(--transition-default);background:rgba(24,34,56,.85);border:1px solid #1fad8c;padding:clamp(.8rem,3vw,1rem) clamp(1.5rem,5vw,3rem);color:var(--primary-color);margin-top:1.5rem;box-shadow:0 6px 20px rgba(0,0,0,.3)}
.cta-button:hover{transform:scale(1.05);background:rgba(31,173,140,0.75);color:#060b22}
.cta-button .pdf-icon{width:1rem;height:1rem;stroke:var(--primary-color)}
.cta-button:hover .pdf-icon{stroke:#070c24}
.linkedin-button{display:inline-flex;align-items:center;text-decoration:none;justify-content:center;gap:10px;background:rgba(17,58,103,0.75);color:var(--text-light);padding:clamp(.7rem,2vw,.8rem) clamp(1.25rem,4vw,1.8rem);border-radius:var(--border-radius-button);font-weight:500;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-default);transition:var(--transition-default)}
.linkedin-button:hover{background:#0077b5;box-shadow:0 6px 20px rgba(0,0,0,0.3);transform:translateY(-1px)}
.linkedin-icon{width:1rem;height:1rem;fill:var(--text-light)}
.cta-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
.linkedin-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 0;min-height:100vh;position:relative}
.hero-content{position:relative;z-index:1;margin-top:4rem}
.hero-content h1{font-size:clamp(1.2rem,5vw,2.5rem);font-weight:500;margin:0 0 1.5rem;text-transform:uppercase;line-height:1.1}
.hero-content .tagline{font-size:clamp(1rem,4vw,1.5rem);color:#0e2b5e;margin-bottom:1rem}
.hero-content h2{font-weight:200;line-height:1;margin:-1rem auto 2rem;font-size:clamp(1.2rem,5vw,2rem)}
.project-content{width:100%;background:linear-gradient(180deg,rgb(187,220,231) 0%,rgb(227,227,227) 100%) fixed;min-height:100vh}
.project-body{max-width:1300px;margin:0 auto;padding:clamp(1.5rem,5vw,2rem) 0 80px;text-align:left}
.project-header{display:flex;flex-direction:column;gap:30px;align-items:flex-start;margin-bottom:60px}
.project-info-left{flex:1;min-width:0}
.project-img-right{flex:1;max-width:100%}
.project-img{width:100%;height:auto;object-fit:cover;border-radius:12px}
.project-title{font-size:clamp(2rem,5vw,2.5rem);margin:0 0 24px;color:var(--secondary-color);font-weight:600;line-height:1.2}
.project-desc{font-size:clamp(1rem,3vw,1.1rem);line-height:1.6;font-weight:300;margin:0 0 32px;color:var(--secondary-color)}
.project-link{display:inline-block;background:var(--secondary-color);color:var(--text-light);padding:10px 32px;border-radius:28px;border:1px solid #203579;text-decoration:none;font-size:clamp(.9rem,3vw,1rem);font-weight:500;transition:var(--transition-default)}
.project-link:hover{background:rgb(26,143,115);box-shadow:0 4px 12px rgba(31,173,140,0.3)}
.project-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
h3.project-title{text-transform:uppercase;margin-bottom:.5rem;font-size:clamp(.9rem,3vw,1rem)}
.project-additional-content{padding:40px 0;color:var(--text-dark);border-top:1px solid #e0e0e0}
.project-additional-content h3{font-size:clamp(1.6rem,4vw,1.8rem);margin:40px 0 20px;color:var(--secondary-color);font-weight:600}
.project-additional-content h3:first-child{margin-top:0}
.project-additional-content p{font-size:clamp(1rem,3vw,1.1rem);line-height:1.8;margin:0 0 20px;color:var(--secondary-color)}
.project-additional-content ul{list-style:disc;padding-left:25px;margin:0 0 30px}
.project-additional-content li{font-size:clamp(1rem,3vw,1.1rem);line-height:1.8;margin-bottom:12px;color:var(--secondary-color)}
.project-gallery{display:grid;grid-template-columns:1fr;gap:20px;margin-top:20px}
.gallery-img{width:100%;height:250px;object-fit:cover;border-radius:12px;cursor:pointer;transition:var(--transition-default)}
.gallery-img:hover{transform:scale(1.05);box-shadow:0 8px 20px rgba(0,0,0,0.15)}
.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(50% - .5rem),1fr));gap:1rem;justify-content:center;align-items:center;padding:1rem;margin:1.5rem 6rem}
.project-thumb img{display:block;width:100%;height:auto;object-fit:cover}
.thumb-img-wrapper{width:100%;aspect-ratio:400/250;overflow:visible;border-radius:8px}
.thumb-img-wrapper img{width:100%;height:100%;object-fit:cover;display:block}
.project-thumb{flex:1 1 200px;max-width:100%;margin:0;background-color:var(--background-glass);border:1px solid var(--background-glass);border-radius:1rem;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:350px;padding:1rem;transition:transform .3s ease}
.project-thumb:focus,.project-thumb:hover{border:.5px solid #90d3c3;outline:none}
.project-thumb:hover{transform:scale(1.05);cursor: pointer;box-shadow:0 0 20px rgba(113, 192, 192, 0.5)}
.thumb-caption{font-family:'Poppins',sans-serif;font-size:clamp(.9rem,1.5vw,1rem);font-weight:300;color:#eaeaea;text-align:center;line-height:1.5rem;padding:1rem 0 0}
section.about{background:linear-gradient(180deg,rgb(74,117,136) 15%,rgba(22,34,57,0.5) 45%);display:flex;flex-direction:column;border-radius:8px;gap:2rem;padding:clamp(2rem,10vw,5rem);text-align:left}
.about-quote{width:100%;font-size:clamp(2rem,8vw,3rem);font-weight:200;line-height:clamp(3rem,10vw,5rem);padding:0 1rem}
.about-text{width:100%;padding:1rem;font-size:clamp(1.1rem,4vw,1.3rem);font-weight:200}
.company-icons{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:20px}
.company-icon{width:clamp(60px,15vw,80px);height:clamp(60px,15vw,80px);object-fit:contain}
section.testimonials{background:#d2d2d2;border-radius:3rem;color:#1c1c1c;font-weight:300;margin-bottom:3rem;box-shadow:5px 5px 15px rgba(0,0,0,0.3);padding:clamp(1rem,5vw,2rem)}
.testimonials-signature{text-align:center;padding:20px;border-radius:10px;margin:10px}
.testimonials-signature img{border-radius:50%;width:clamp(80px,20vw,100px);height:clamp(80px,20vw,100px)}
.testimonials-signature h5{margin:10px 0 0}
.testimonials-signature h6{color:#555;margin:0;font-size:clamp(.7rem,2vw,.75rem);font-weight:400}
.testimonials .quotes{width:30px;top:10px;left:10px;opacity:.25}
section.Resume{width:100%;text-align:left;padding:clamp(1rem,5vw,2rem)}
.callout{font-weight:600;color:#60e1aee0}
.job{display:flex;align-items:flex-start;margin-bottom:20px;width:100%}
.company-logo{max-width:clamp(60px,15vw,80px);max-height:clamp(80px,20vw,100px);margin-right:20px;transition:var(--transition-default)}
.logo-link:hover .company-logo{transform:scale(1.1);box-shadow:var(--shadow-default)}
.job-details{flex:1}
.job-details a{color:var(--text-light);text-decoration:none;font-weight:600;transition:var(--transition-default)}
.job-details a:hover{color:#57d8a5;text-decoration:underline}
span.title{font-size:clamp(1.2rem,4vw,1.5rem);font-weight:400}
span.time{font-size:clamp(1.2rem,4vw,1.5rem);font-weight:400}
span.company{font-size:clamp(1.2rem,4vw,1.5rem);font-weight:400}
.projects-links{display:flex;justify-content:center;gap:10px;margin-top:20px}
.projects-links a{color:#6A0DAD;text-decoration:none;font-size:clamp(.8rem,3vw,.9rem);transition:var(--transition-default)}
.projects-links a:hover{text-decoration:underline}
.projects{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:1.5rem;position:relative;z-index:1}
.projects-img{width:clamp(150px,45vw,200px);height:clamp(200px,60vw,250px);cursor:pointer;object-fit:contain;border-radius:15px;padding:2%;box-shadow:0 10px 20px rgba(0,0,0,0.3);opacity:.9;background:var(--background-glass);transition:var(--transition-default)}
.projects-img:hover{transform:scale(1.05);opacity:1}
.helper-text{font-size:clamp(.9rem,3vw,1rem);color:#eaeaea;margin:0 1rem 0;font-weight:300;font-style:italic}
.section{padding:clamp(1rem,5vw,2rem) clamp(5%,10vw,5rem);text-align:center;opacity:0;transform:translateY(50px);transition:opacity .6s ease,transform .6s ease;margin:0 auto;position:relative}
.section.visible{opacity:1;transform:translateY(0)}
h2{font-size:clamp(2rem,6vw,2.5rem);margin-bottom:20px;font-weight:400}
h2.project-title.company{text-transform:uppercase;font-size:clamp(1.1rem,4vw,1.3rem);margin-bottom:.25rem}
.tk{color:#B01227}
.ma{color:#c45700}
.pstl{color:#4b80c1}
.ST{color:#512883}
.company{font-size:1.5rem;text-transform:uppercase;margin:2rem 0 0;font-weight: 600;}
.project-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:40px}
.project-card{background:var(--background-glass);border-radius:15px;padding:20px;text-align:left}
.project-card img{width:100%;border-radius:10px}
.footer{text-align:center;padding:20px;color:#717171}
#section-2{padding:clamp(1rem,5vw,5rem) 20px;text-align:center;}
.stack-cards{list-style:none;padding:0;margin:0 auto;max-width:1500px;position:relative}
.stack-cards__item-h2{font-size:clamp(2rem,6vw,2.5rem);text-align:center;text-shadow:0 0 5px rgba(23,54,74,.5)}
.stack-cards__item{background:rgba(236,239,241,0.97);border:1px solid rgba(49,90,121,0.3);border-radius:10px;box-shadow:5px 5px 15px rgba(0,0,0,0.3);color:var(--text-dark);top:250px;padding:clamp(1rem,5vw,2rem);margin:2rem 8rem;text-align:left}
.stack-cards__item .role-section{display:flex;flex-direction:column;gap:0}
.stack-cards__item .role-title h2{font-size:clamp(1.8rem,5vw,2.3rem);font-weight:200;margin:1rem 0 0;text-align:left}
.stack-cards__item .role-content{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.stack-cards__item .description-column{flex:1;padding-right:0;font-size:clamp(.7rem,3.5vw,1.1rem);line-height:1.6;color:#444;font-weight:300}
.stack-cards__item .skills-column{flex:1;padding:20px;background:#f3f3f3;border-radius:8px;border:1px solid #9dc8bc}
.stack-cards__item .skills-column h3{font-size:clamp(.9rem,3vw,1rem);font-weight:200;color:#081637;margin:0 0 15px;text-align:center}
.stack-cards__item .skills-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.stack-cards__item .tag{background:rgba(180,194,198,0.25);color:#0d5670;border:1px solid #a9cbbe;padding:3px 12px;border-radius:5px;font-size:.75rem;white-space:nowrap;transition:background .3s}
.js-stack-cards{position:relative;width:100%;max-width:1500px;margin:0 auto;overflow:visible;contain:layout style paint}
.js-stack-cards__item img{max-width:100%;height:auto;display:block;border-radius:8px;loading:lazy}
.js-stack-cards__item .role-section{display:flex;flex-direction:column;flex:1}
.xp-container{display:flex;flex-direction:column;gap:2rem}
.companies{flex:1;text-align:left}
.description{margin-top:0}
.pull-quote{font-size:1.4rem;font-weight:200;font-style:italic;color:#255766;border:.5px solid #97c0ce;margin:1.5rem 0;padding:2rem;line-height:1.6;background:#e8ebed;border-radius:1rem;box-shadow:-5px 5px 35px rgba(255,255,255,.5);transition:background .3s}
.skills{font-family:'Poppins',sans-serif;flex:1;background:rgba(18,28,52,0.25);padding:clamp(1rem,5vw,2rem);text-align:left;border-radius:8px;margin-top:20px;font-size:clamp(.8rem,3vw,.9rem);font-weight:200}
.skills-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.skills-category ul{list-style:none;padding:0;margin:0}
.skills-category li{margin-bottom:5px}
.accordion-toggle{background:none;border:none;width:100%;text-align:left;font-size:clamp(1rem,4vw,1rem);font-weight:600;padding:10px 0;cursor:pointer;color:var(--text-light);transition:var(--transition-default);display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.accordion-toggle:hover{color:#57d8a5}
.accordion-toggle .icon{width:1.2rem;height:1.2rem;flex-shrink:0;fill:currentColor}
.accordion-toggle .icon-expand{display:block}
.accordion-toggle .icon-collapse{display:none}
.accordion-toggle[aria-expanded="true"] .icon-expand{display:none}
.accordion-toggle[aria-expanded="true"] .icon-collapse{display:block}
.accordion-toggle:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease}
.accordion-content[aria-hidden="false"]{max-height:2000px}
.accordion-controls{display:flex;gap:.3rem;justify-content:center}
#expand-all.accordion-control{background:rgba(5,11,35,0.3);border:1px solid #334f8e;padding:8px 14px;border-radius:var(--border-radius-large);color:var(--text-light);cursor:pointer;transition:var(--transition-default);display:flex;align-items:center;gap:8px}
#expand-all.accordion-control span{font-size:.9rem}
#expand-all.accordion-control .icon{width:1.4rem;height:1.4rem;fill:currentColor}
#expand-all.accordion-control .icon-collapse{display:none}
#expand-all.accordion-control[aria-expanded="true"] .icon-expand{display:none}
#expand-all.accordion-control[aria-expanded="true"] .icon-collapse{display:block}
#expand-all.accordion-control:hover{background:rgba(31,173,140,0.2);transform:scale(1.08);color:#57d8a5}
#expand-all.accordion-control:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}
.accordion-toggle .chevron{width:1.2rem;height:1.2rem;fill:currentColor;transition:transform .3s ease}
.accordion-toggle[aria-expanded="true"] .chevron{transform:rotate(180deg)}
.footer{background:rgba(2,7,31,.95);color:#eaeaea;padding:2rem 1rem;font-size:clamp(.9rem,2.5vw,1rem);border-top:1px solid rgba(255,255,255,.1)}
.footer-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;text-align:center}
.footer-left{text-align:left}
.footer-name{font-weight:200;font-size:1.1rem;margin:0;text-transform:uppercase}
.footer-title{font-weight:300;font-size:.9rem;margin:.25rem 0 0;color:#b8e9f4}
.footer-links a{color:#eaeaea;text-decoration:none;margin:0 .5rem;transition:color .3s ease}
.footer-links a:hover{color:var(--primary-color)}
.footer-copy{font-size:.8rem;color:#a0a0a0;margin:.5rem 0 0}
.footer-right{text-align:right}
.footer-linkedin svg{fill:#eaeaea;transition:fill .3s ease}
.footer-linkedin:hover svg{fill:var(--primary-color)}
.resume-button img{float:right;display:block;position:absolute;right:2.7rem;bottom:6rem;cursor:pointer;transition:var(--transition-default)}
.resume-button img:hover{transform:scale(1.15);box-shadow:0 8px 20px rgba(0,0,0,0.15);transition:transform .3s ease-in-out}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a.resume-button{color:var(--primary-color);text-decoration:none}
a.resume-button:hover{color:#0a8766}
.slide-modal{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;visibility:hidden;opacity:0;transition:visibility .3s,opacity .3s;z-index:2000}
.slide-modal.open{visibility:visible;opacity:1}
.modal-backdrop{position:absolute;inset:0;backdrop-filter:blur(4px);}
.modal-panel{position:relative;width:100%;max-width:1500px;max-height:calc(100vh - 2rem);background:#f2f2f2;border-radius:1.5rem 1.5rem 0 0;overflow-y:auto;transform:translateY(100%);transition:transform .4s cubic-bezier(.25,.8,.25,1);padding:2rem 3.5rem 0;box-shadow:0 -8px 200px rgba(0,0,0,.5);}
.modal-inner{position:relative;min-height:100%;display:flex;flex-direction:column;}
.modal-panel::after{content:'';position:sticky;bottom:0;left:0;width:100%;height:5rem;background:linear-gradient(to bottom,transparent 0%,#eaeaea 100%);pointer-events:none;opacity:1;transition:opacity .3s ease;z-index:10;display:block;}
.modal-panel.scrolled-to-bottom::after{opacity:0;}
.slide-modal.open .modal-panel{transform:translateY(0);}
.slide-modal.open .modal-panel{margin:1rem 2.5rem 0;}
.modal-close{position:sticky;bottom:1.5rem;left:50%;transform:translateX(-50%);background:rgba(255,255,255,0.98);border:none;color:#333;cursor:pointer;padding:1.25rem 2.5rem;border-radius:50px;display:flex;align-items:center;gap:0.5rem;font-weight:500;font-size:0.95rem;box-shadow:0 6px 20px rgba(0,0,0,0.18);transition:all .25s ease;z-index:20;margin:0 auto;width:fit-content;}
.modal-close:hover,.modal-close:focus{background:#fff;color:#000;transform:translateX(-50%) translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,0.25);}
.modal-close svg{width:1.4rem;height:1.4rem;}
.modal-panel.scrolled-to-bottom .modal-close{position:absolute;bottom:-3rem;transition:position .3s ease;}
.modal-content{flex:1;max-width:1500px;margin:0 auto;color:#132144;}
.modal-content h2{margin-top:0;line-height:2.75rem;font-size:clamp(1.8rem,5vw,2.4rem);margin-bottom:2rem;font-weight:500;color:var(--secondary-color);}
.modal-header{display:flex;flex-direction:column;gap:1.5rem;max-width:1300px;margin:0 auto;width:100%;}
.modal-content img{max-width:100%;height:auto;border-radius:.75rem;margin:2rem 0 0;}
.modal-details{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1300px;margin-left:auto;margin-right:auto;padding:0 1.5rem;}
.modal-panel h3{margin-bottom:0; font-weight:400;}
.modal-panel p, .modal-panel ul{margin:0;}
strong{font-weight:600;}
.close-text{font-size:0.9rem;}
.modal-close-x{position:absolute;top:-1rem;right:-5rem;background:none;border:none;cursor:pointer;color:var(--text-muted,#666);padding:.25rem;line-height:1;transition:color .2s ease;z-index:10;}
.modal-close-x:hover,.modal-close-x:focus{color:var(--text-primary,#000);outline:none;}
.modal-header{position:relative;}

@media (max-width:600px){.footer-content{grid-template-columns:1fr;text-align:center}.footer-left,.footer-right{text-align:center}.footer-links a{display:block;margin:.5rem 0}}
@media (max-width:600px){body{position:relative;background:#02071f}body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100dvh;background:linear-gradient(180deg,#b8e9f4 0%,#02071f 100%);z-index:-1}}
@media (max-width:600px){body{background:linear-gradient(180deg,#b8e9f4 0%,#02071f 100%);background-attachment:fixed;background-size:100% 200%;min-height:100dvh;height:100dvh;overflow-x:hidden}}
@media (max-width:600px){.modal-panel{padding:1.5rem 1rem 0;}}
@media (max-width:600px){.modal-close{padding:1rem 2.5rem;font-size:.9rem;bottom:1.2rem}}
@media (max-width:600px){.modal-inner{ margin-top:2rem;}}
@media (max-width:600px){.modal-inner h2{ line-height:2.25rem;}}
@media (max-width:600px){button.project-thumb{margin:1rem}}
@media (max-width:600px){.thumb-img-wrapper img{  width: 75%;margin:0 auto;}}
@media (max-width:600px){.modal-close svg{width:1.3rem;height:1.3rem;}}
@media (max-width:600px){.slide-modal.open .modal-panel{margin:1rem 1rem 0;padding:1rem 2.3rem 0}}
@media (max-width:768px){.projects{grid-template-columns:1fr;gap:.5rem;margin:2rem}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none !important;animation:none !important;transform:none !important}}
@media (max-width:600px){body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-3;pointer-events:none}}
@media (max-width:600px){.hero{padding-bottom:20vh}}
@media (max-width:600px){.hero-content h1{font-size:clamp(1.2rem,9vw,3rem)}}
@media (max-width:600px){.thumb-caption{font-size:1.6rem;padding:1rem 3rem;line-height:1.8rem}}
@media (max-width:600px){.hero-content .tagline{font-size:clamp(1rem,10vw,1.5rem)}}
@media (max-width:600px){.projects-img{width:clamp(150px,90vw,320px);height:clamp(200px,60vw,250px)}}
@media (max-width:600px){.project-content{padding:1rem 4rem;width:100%}}
@media (max-width:600px){.project-body{padding-top:3rem}}
@media (max-width:600px){.stack-cards__item .role-content{flex-direction:column;gap:20px}}
@media (max-width:600px){.stack-cards__item .skills-column{border-left:none;border-top:1px solid #9dc8bc;padding-top:20px;width:fit-content}}
@media (max-width:600px){.js-stack-cards__item{top:150px;padding:clamp(2rem,2vw,3rem);min-height:380px;justify-content:space-between;margin:0 0 1rem}}
@media (max-width:600px){.stack-cards__item .skills-tags{justify-content:flex-start;gap:8px}}
@media (max-width:600px){.js-stack-cards__item .skills-tags{justify-content:center;gap:8px}}
@media (max-width:600px){.stack-cards__item-h2{top:80px;height:0;font-size:1.5rem;margin-bottom:0}}
@media (max-width:600px){.stack-cards__item .tag{font-size:.75rem}}
@media (max-width:600px){.stack-cards__item .role-title h2{font-size:1.25rem}}
@media (max-width:600px){.linkedin-button{width:85%;margin:.5rem 1rem}}
@media (max-width:600px){.nav-links .linkedin-button{display:flex}}
@media (max-width:600px){a.linkedin-button.desktop{display:none}}
@media (max-width:600px){.helper-text{color:var(--secondary-color)}}
@media (max-width:600px){.accordion-controls{gap:8px}}
@media (max-width:600px){.accordion-control{padding:8px}}
@media (max-width:600px){.accordion-control .icon{width:1.2rem;height:1.2rem}}
@media (min-width:601px){.navbar{background:linear-gradient(180deg,rgba(2,7,31,.25) 0%,rgba(184,233,244,0) 85%);justify-content:space-evenly;align-items:center;padding:16px 80px;backdrop-filter:blur(5px)}}
@media (min-width:601px){.nav-links{margin:0 auto}}
@media (min-width:601px){.nav-links{display:flex;flex-direction:row;position:static;width:auto;background:rgba(17,48,102,0.15);padding:.75% 2%;border-radius:2rem;box-shadow:none;gap:1.75rem}}
@media (min-width:601px){.nav-links li{margin:0}}
@media (min-width:601px){.nav-links .linkedin-button{display:none}}
@media (min-width:601px){a.logo-link{margin:0 2rem}}
@media (min-width:601px){.menu-toggle{display:none}}
@media (min-width:601px){.section{padding:2rem 8rem 5rem;padding-top:6rem}}
@media (min-width:601px){section.about{flex-direction:row;padding:8rem}}
@media (min-width:601px){.about-quote{width:65%;padding:0 4rem}}
@media (min-width:601px){.about-text{width:35%;padding:0 3rem}}
@media (min-width:601px){.stack-cards__item .role-content{flex-direction:row;gap:50px}}
@media (min-width:601px){.stack-cards__item .description-column{flex:2;padding-right:15px}}
@media (min-width:601px){.stack-cards__item .skills-column{flex:1;padding:20px 20px 50px;width:400px;border:1px solid #9dc8bc}}
@media (min-width:601px){.xp-container{flex-direction:row}}
@media (min-width:601px){.companies{margin-right:6rem}}
@media (min-width:601px){.skills{flex:0 0 330px;margin-top:2rem}}
@media (min-width:601px){.project-body{padding:80px 20px 60px}}
@media (min-width:601px){.project-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}}
@media (min-width:601px){.js-stack-cards__item{padding:clamp(1.5rem,4vw,2rem)}}
@media (min-width:601px){.hero-content h1{font-size:clamp(2rem,5vw,6rem)}}.modal-header{display:flex;flex-direction:column;gap:1.5rem;max-width:1300px;margin:0 auto;width:100%;}
@media (min-width:901px){.modal-header{flex-direction:row;gap:3rem;font-size:1.1rem;font-weight: 300;;}}.modal-header-left{flex:1;min-width:0;}
@media (min-width:901px){.modal-header-left{flex:0 0 60%;padding-right:2rem;margin-top: 2rem;}}.modal-header-right{flex:1;display:flex;justify-content:center;align-items:flex-start;}
@media (min-width:901px){.modal-header-right{flex:0 0 40%;justify-content:flex-start;}}.modal-header-img{max-width:100%;height:auto;border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,.15);transition:transform .3s ease;}
@media (min-width:901px){.modal-header-img{max-width:100%;}}.modal-header-img:hover{transform:scale(1.02);}.modal-details{margin-top:2rem;max-width:1300px;margin-left:auto;margin-right:auto;padding:0 1.5rem;}
@media (max-width:900px){.modal-details{padding:0 1rem;}}
@media (min-width:901px){.modal-details{margin-top:3rem;}}
@media (min-width:901px){.modal-details{grid-template-columns:1fr 1fr;gap:8rem;}}.modal-details-left{order:1;}.modal-details-right{order:2;}
@media (max-width:900px){.modal-details{padding:0 1rem;gap:1.5rem;}}
@media (min-width:901px){.modal-details{margin-top:2rem;padding:2rem 3rem;background:#ebebeb}}
@media (min-width:1200px){.project-header{flex-direction:row;gap:60px}}
@media (min-width:1200px){.project-img-right{flex:0 0 45%;max-width:600px}}
@media (min-width:1200px){section.testimonials{width:50%}}
@media (min-width:1200px){#professional-experience{max-width:1800px}}
@media (min-width:2000px){.project-thumb{min-height:500px;padding:2rem}}
@media (min-width:2000px){.thumb-caption{font-size:1.5rem;line-height:2rem}}