@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500&family=DM+Sans:wght@300;400;500&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{font-family:DM Sans,sans-serif;margin:0 auto;text-align:center;width:80%}.App-logo{height:40vmin;pointer-events:none}.navegator{background:#fff;box-shadow:0 2px 10px #0000000d;font-family:Playfair Display,serif;height:4rem;justify-content:space-between;max-width:100%;padding:0 3rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navegator,.navegator h1{align-items:center;display:flex;margin:0}.navegator h1{font-size:1.5rem;height:100%;width:auto}.navegator h1 a{color:#2c3e50;font-weight:700;letter-spacing:1px;text-decoration:none}.navegator ul{border-left:none;display:flex;gap:2rem;height:70%;list-style:none;margin:0;padding:0;width:auto}.navegator ul li,.navegator ul li a{align-items:center;display:flex;height:100%}.navegator ul li a{color:#5a6c7d;font-size:.95rem;position:relative;text-decoration:none;transition:color .3s ease}.navegator ul li a:hover{color:#2c3e50}.navegator ul li a:after{background:#3498db;bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.navegator ul li a:hover:after{width:100%}.navegator ul li a.active{color:#2c3e50}.navegator ul li a.active:after{background:#3498db;width:100%}.header{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:1rem;margin-top:1rem;min-height:500px;overflow:hidden;padding:4rem 3rem;position:relative}.header:before{animation:pulseGlow 8s ease-in-out infinite;background:radial-gradient(circle at 15% 30%,#3498db26 0,#0000 40%),radial-gradient(circle at 85% 70%,#34d3991f 0,#0000 45%),radial-gradient(circle at 50% 50%,#9b59b614 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes pulseGlow{0%,to{opacity:1}50%{opacity:.7}}.header:after{animation:float 6s ease-in-out infinite;background:radial-gradient(circle,#3498db1a 0,#0000 70%);border-radius:50%;content:"";height:300px;pointer-events:none;position:absolute;right:15%;top:-50px;width:300px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.bg-image{align-items:center;animation:slideInLeft .8s ease-out;display:flex;flex-wrap:wrap;font-family:defautl,sans-serif;height:100%;justify-content:center;width:50%;z-index:2}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}.bg-text{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:3px solid #fffc;box-shadow:0 10px 40px #0003;color:#000;font-weight:700;padding:2.5rem 2rem;text-align:center;transition:all .3s ease;width:85%;z-index:2}.bg-text h1{font-size:1.2rem}.bg-text:hover{border-color:#3498db;box-shadow:0 15px 50px #3498db4d;transform:translateY(-5px)}.typing-effect{animation:blink .7s step-end infinite;border-right:3px solid #3498db;font-size:1.2rem;overflow:hidden;padding-right:8px;white-space:nowrap}@keyframes blink{0%,to{border-color:#3498db}50%{border-color:#0000}}.header-right{align-items:center;animation:slideInRight .8s ease-out;display:flex;flex-direction:column;gap:2rem;height:100%;justify-content:center;width:50%;z-index:2}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}.header-right img{border-radius:15px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a;filter:brightness(1.05) contrast(1.1);height:auto;position:relative;transition:all .4s ease;width:70%}.header-right img:hover{box-shadow:0 25px 70px #3498db66,0 0 0 1px #3498db4d;transform:translateY(-10px) scale(1.02)}.hello{font-size:5rem}.dch-bajo{animation:fadeIn 1.2s ease-out;display:flex;justify-content:center;margin-top:2rem;width:100%}.dch-bajo .izquierda{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0003;border-left:3px solid #3498db;border-radius:10px;box-shadow:0 5px 20px #0003;color:#ecf0f1;font-size:.95rem;font-style:italic;line-height:1.6;padding:1rem 2rem;text-align:center;width:100%}.dch-bajo:hover{box-shadow:0 25px 70px #3498db66,0 0 0 1px #3498db4d;transform:translateY(-10px) scale(1.02)}@media (max-width:1024px){.header{flex-direction:column;gap:3rem;min-height:auto;padding:3rem 2rem}.bg-image,.header-right{width:100%}.bg-text{padding:2rem 1.5rem;width:90%}.typing-effect{font-size:2rem}.header-right img{max-width:400px}}@media (max-width:768px){.navegator{flex-direction:column;gap:1rem;height:auto;padding:1rem}.navegator h1{font-size:1.2rem}.navegator ul{flex-wrap:wrap;gap:1rem;justify-content:center}.header{min-height:auto;padding:2rem 1rem}.bg-text{padding:1.5rem 1rem}.typing-effect{font-size:19px}.header-right img{max-width:100%}.dch-bajo .izquierda{font-size:.85rem;padding:.8rem 1rem}}.about{display:flex;flex-wrap:wrap;font-family:DM Sans,sans-serif;justify-content:center;margin:0 auto;max-width:1000px;padding:4rem 2rem}.about .title,.title{margin-bottom:2.5rem;text-align:center}.title h2{font-family:Playfair Display,serif;font-size:2.4rem;font-weight:400;margin:0 0 .6rem}.title-line{background:linear-gradient(90deg,#3498db,#2ecc71);height:2px;margin:0 auto;width:48px}.about p{color:#555;line-height:1.8;text-align:justify}.description{font-size:.88rem;margin-bottom:2rem;width:100%}.about figure{align-items:center;display:flex;justify-content:center;width:45%}.about figure img{border-radius:10px;box-shadow:0 10px 30px #0000001a;max-width:23rem;width:100%}.datas_aboutme{display:flex;flex-direction:column;justify-content:center;width:50%}@media (max-width:768px){.about figure,.datas_aboutme{width:70%}.title{font-size:2rem}}.datas_aboutme div{display:flex;justify-content:start;margin-bottom:1rem;width:100%}.datas_aboutme p{margin-left:1rem}.skills{display:flex;flex-wrap:wrap;font-family:DM Sans,sans-serif;justify-content:center;margin:0 auto;max-width:1000px;padding:4rem 2rem}.skill-circle{align-items:center;display:flex;flex-direction:column;margin:20px}.skills-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.skill-card{align-items:center;border:.5px solid #00000024;border-radius:12px;display:flex;flex-direction:column;padding:1.5rem;text-align:center;transition:transform .3s ease}.skill-card:hover{transform:translateY(-5px)}.tech-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:1rem}.tech-tag{background:#0000000d;border-radius:20px;font-size:.85rem;padding:6px 12px}.circle-chart{overflow:visible;transform:rotate(-90deg)}.circle-chart-background{fill:none;stroke:#e6e6e6;stroke-width:10}.circle-chart-progress{fill:none;stroke:#2ecc7a;stroke-width:10;stroke-linecap:round;transform-origin:50% 50%;transition:stroke-dashoffset 4s ease-out}.skill-circle-label{margin-top:10px;text-align:center}.skill-circle-label strong{display:block;font-size:16px}.skill-circle-label p{color:#777;font-size:14px;margin:0}.skills .title h3{grid-column:2/4}.fade-up-section{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-up-visible{margin:1rem auto;max-width:1440px;opacity:1;transform:translateY(0)}@media (max-width:768px){.skills-grid{grid-template-columns:repeat(2,1fr)}.circle-chart{max-height:100px;max-width:100px}}@media (max-width:480px){.skills{display:flex;flex-wrap:wrap}.skills div{grid-template-columns:1fr}.circle-chart{max-height:80px;max-width:80px}}.resume{display:flex;flex-wrap:wrap;justify-content:center}.contet-resume{display:flex;justify-content:space-around;width:90%}.colu{flex-wrap:wrap;width:50%}.colu,.colu h3{display:flex;justify-content:center}.colu h3{align-items:center;font-size:1.8rem;height:4rem}.colu article{border:1px solid hsla(0,0%,86%,.567);display:flex;flex-direction:column;height:auto;justify-content:space-around;margin-bottom:20px;padding:13px;width:93%}.colu article h4{margin-bottom:15px;text-transform:uppercase}.colu article p{font-style:normal;text-align:justify}.colu article ul{list-style:none}.colu article ul li{margin-bottom:7px;margin-top:7px;text-align:start}.project{background-color:#f8f8ff;display:flex;flex-wrap:wrap;justify-content:center;margin:1rem auto;max-width:860px}.listApp{display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;width:100%}.listApp article{border:.5px solid grey;border-radius:12px;box-shadow:0 0 1rem 1rem #2b69fb0f;display:flex;flex-wrap:wrap;justify-content:center;margin-bottom:2rem;width:98%}.listApp article h3{align-items:center;display:flex;height:2rem;justify-content:center;margin:1rem}.listApp article figure{box-shadow:1px 1px 12px 0 grey;margin-bottom:.5rem;width:96%}.listApp article figure img{height:10rem;width:100%}.listApp article div{display:flex;margin-bottom:.5rem}.listApp article div button{background-color:#fff;border:.5px solid #000;color:#000;font-family:DM Sans,sans-serif;height:100%;width:50%}.estiquetaTitle{background-color:#dcdcdc;font-weight:600;padding:3px;width:-webkit-max-content;width:max-content}.dateTitle{font-size:13px;padding:3px}.auxMargin{margin:0 auto!important;width:100%!important}.auxMargin .fade-up-visible{margin:0 auto!important;max-width:100%}.footer{grid-gap:1rem;border-top:1px solid #eceeef;color:#000;display:grid;gap:1rem;grid-template-columns:repeat(6,1fr);padding:20px;text-align:center;width:100%}.footer-content{align-items:center;display:flex;flex-direction:column;justify-content:space-between}.footer-{font-size:.8rem}.footer-,.footer- p{align-items:center;display:flex;flex-wrap:wrap;justify-content:center}.footer- p{flex-direction:column}.footer- p a{color:#00000087;text-decoration:none}.social-links a{color:#000;font-size:1.5rem;margin:0 10px;text-decoration:none;transition:color .3s}.social-links a:hover{color:#ffffff5d}.footer-bottom{font-size:.9rem;margin-top:15px}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}.tech-stack{margin-bottom:16px}.tech-stack strong{font-size:12px;margin-left:2rem;margin-right:1rem}.tech-stack ul{list-style-type:none;padding:0}.tech-stack ul li{display:inline;margin-right:8px}.action-buttons .btn{background-color:#fff;border:1px solid #007bff;border-radius:4px;color:#007bff;display:inline-block;font-size:13px;margin:8px;padding:3px 2px;text-decoration:none;transition:background-color .3s,color .3s}.action-buttons .btn:hover{background-color:#007bff;color:#fff}.project-description{margin-bottom:16px}.project-description p{font-size:.85rem;padding:.5rem}@media (max-width:480px){.App{font-family:DM Sans,sans-serif;margin:0 auto;text-align:center;width:100%}.listApp{justify-content:center}.about,.contet-resume,.listApp{display:flex;flex-wrap:wrap}.about figure{margin-bottom:2rem;width:100%}.about figure img{width:18rem}.colu{width:100%}.listApp article figure img{width:90%}.header{display:flex;flex-wrap:wrap;height:auto}.bg-text{font-size:10px;margin-top:2rem;width:98%}.bg-image{width:100%}.header-right{position:relative;width:100%}.dch-bajo{margin-bottom:2rem}.skill-circle{align-items:anchor-center;display:flex;flex-direction:column;margin:20px}.circle-chart-background,.circle-chart-progress{cy:40}}.descr,.plante{border:1px solid hsla(0,0%,86%,.567);display:flex;flex-direction:column;height:auto;justify-content:space-around;margin:0 auto 20px;padding:13px;width:93%}@media (max-width:768px){.navegator{flex-direction:column;height:auto;padding:1rem}.navegator h1{justify-content:center;margin-bottom:1rem;width:100%}.navegator ul{align-items:center;border-left:none;flex-direction:column;width:100%}.navegator ul li{margin:.5rem 0}.footer{display:flex;flex-direction:column}}@media (max-width:480px){.navegator{position:relative}.menu-toggle{background:none;border:none;cursor:pointer;display:block;font-size:2rem;position:absolute;right:1rem;top:1rem}.navegator ul{display:none}.navegator ul.open{display:flex}.navegator ul li{text-align:center}.footer{display:flex;flex-direction:column-reverse}}@media (min-width:481px){.menu-toggle{display:none}}.resume{font-family:DM Sans,sans-serif;margin:0 auto;max-width:1000px;padding:4rem 2rem}.cv-header{margin-bottom:3rem;text-align:center}.cv-header h3{font-family:Playfair Display,serif;font-size:2.4rem;font-weight:400;letter-spacing:.02em;margin:0 0 .6rem}.cv-header-line{background:#1d9e75;height:2px;margin:0 auto;width:48px}.cv-tabs{border-bottom:1px solid #0000001a;display:flex;gap:0;margin-bottom:2rem;width:100%}.cv-tab{background:none;border:none;border-bottom:2px solid #0000;color:#000;cursor:pointer;font-family:Playfair Display,sans-serif;font-size:16x;font-weight:400;letter-spacing:.03em;margin-bottom:-1px;padding:.6rem 1.25rem;transition:color .2s,border-color .2s;width:100%}.cv-tab.active{border-bottom-color:#1d9e75;color:#1d9e75;font-weight:500}.cv-tab:hover:not(.active){color:#333}.cv-panel{animation:fadeUp .35s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.panel-content{animation:fadeUp .3s ease}.summary-box{background:#f7f7f5;border-left:3px solid #1d9e75;border-radius:10px;color:#555;font-size:.88rem;line-height:1.8;margin-bottom:2rem;padding:1.25rem 1.5rem}.section-label{color:#1d9e75;font-size:.9rem;font-weight:500;letter-spacing:.12em;margin:2rem 0 1rem;text-transform:uppercase}.exp-item{border-bottom:1px solid #00000012;cursor:pointer;padding:1rem 0}.exp-item:last-child{border-bottom:none}.exp-main{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.exp-role{font-size:1.1rem;font-weight:500;margin:0 0 3px}.exp-company{color:#1d9e75;font-size:.9rem;margin:0;text-align:left}.exp-right{align-items:flex-start;display:flex;flex-shrink:0;gap:12px}.exp-date{color:#999;font-size:.85rem;padding-top:4px;white-space:nowrap}.toggle-btn{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.2rem;line-height:1;padding:0;transition:color .2s,transform .25s}.exp-item.open .toggle-btn{color:#1d9e75;transform:rotate(45deg)}.exp-bullets{animation:fadeUp .25s ease;list-style:none;margin:.75rem 0 0;padding:0}.exp-bullets li{color:#666;font-size:.83rem;line-height:1.65;padding:3px 0 3px 16px;position:relative;text-align:left}.exp-bullets li:before{background:#1d9e75;content:"";height:1px;left:0;position:absolute;top:12px;width:6px}.edu-item{border-bottom:1px solid #00000012;padding:.85rem 0}.edu-item:last-child{border-bottom:none}.edu-title{font-size:.88rem;font-weight:500;margin:0 0 3px}.edu-meta{color:#888;font-size:.78rem;margin:0}.skillsresume-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:.5rem}.skill-pill{background:#fff;border:1px solid #0000001f;border-radius:20px;color:#666;font-family:defautl,sans-serif;font-size:.76rem;padding:5px 13px;transition:border-color .2s}.skill-pill.highlight{background:#e1f5ee;border-color:#9fe1cb;color:#0f6e56}.courses-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.course-card{background:#f7f7f5;border-radius:8px;padding:.75rem 1rem}.course-title{font-size:.82rem;font-weight:500;margin:0 0 3px}.course-meta{color:#888;font-size:.72rem;margin:0}@media (max-width:600px){.cv-tabs{flex-wrap:wrap}.cv-tab{font-size:.75rem;padding:.5rem .85rem}.courses-grid{grid-template-columns:1fr}}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;max-height:80%;max-width:80%;overflow:auto;padding:20px;position:relative}.modal-close{cursor:pointer;font-size:24px;position:absolute;right:10px;top:10px}.contact-form{border-radius:8px;margin:0 auto 4rem;max-width:500px;padding:4rem 2rem}.contact-form form{margin:0 auto;max-width:500px}.contact-form form button{background:#00000008;border:.5px solid #0000001c;height:2rem;text-decoration:none;width:50%}.contact-form h2{margin-bottom:20px;text-align:center}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;padding:10px;width:100%}.form-group textarea{height:100px}.form-group button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-size:16px;padding:10px;transition:background-color .3s;width:100%}.form-group button:hover{background-color:#0056b3}@media (max-width:480px){.contact-form{padding:15px}}*{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:defautl;src:url(/static/media/default.b085faee06ae17bf8f33.ttf) format("opentype")}.project-page{background-color:#000;border:1px solid #000;color:#fff;display:flex;font-family:defautl,sans-serif;height:100vh;text-align:center}.project-content-left{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;width:50%}.project-content-left header{border:1px solid #fff;padding:20px;text-align:start;width:90%}.project-content-left header h1{font-size:6rem;margin-bottom:10px}.project-content-left .description-daw{border:1px solid #fff;margin-left:23px;padding:20px;text-align:start}.project-content-left .technologies-daw{border:1px solid #fff;padding:20px;text-align:start;width:90%}.project-content-left .technologies-daw ul{display:flex;justify-content:space-around;list-style:none;padding:10px}.project-content-left .functionalities-daw{border:1px solid #fff;margin-left:23px;padding:10px;text-align:start}.project-content-left .challenges-daw{border:1px solid #fff;padding:10px;text-align:start;width:90%}.project-content-right{align-items:center;border:1px solid #fff;display:flex;justify-content:center;width:50%}.video-container{border-radius:16px;overflow:hidden}.video-container video{display:block;width:100%}.Privacypolicy_page__NeAHP{background-color:#fff;min-height:100vh;padding:4rem 1.5rem}.Privacypolicy_container__Efref{margin:0 auto;max-width:680px}.Privacypolicy_header__Aqbqs{border-bottom:1px solid #e8e8e4;margin-bottom:2.5rem;padding-bottom:2rem}.Privacypolicy_badge__0UVNK{background-color:#e6f1fb;border-radius:6px;color:#185fa5;display:inline-block;font-size:11px;font-weight:500;letter-spacing:.07em;margin-bottom:1rem;padding:4px 10px;text-transform:uppercase}.Privacypolicy_title__snF8o{color:#1a1a18;font-size:28px;font-weight:500;letter-spacing:-.02em;margin:0 0 .5rem}.Privacypolicy_meta__cYNAE{color:#888780;font-size:13px;margin:0}.Privacypolicy_sections__1hlOL{display:flex;flex-direction:column}.Privacypolicy_section__uSZJ3{padding:0}.Privacypolicy_sectionLabel__X-7jJ{align-items:center;color:#b4b2a9;display:flex;font-size:11px;font-weight:500;gap:6px;letter-spacing:.07em;margin-bottom:.6rem;text-transform:uppercase}.Privacypolicy_sectionTitle__EYnSX{color:#1a1a18;font-size:15px;font-weight:500;margin:0 0 .5rem}.Privacypolicy_sectionContent__pR-wt{color:#5f5e5a;font-size:14px;line-height:1.8}.Privacypolicy_list__ucdcQ{display:flex;flex-direction:column;gap:4px;margin:.75rem 0 .5rem;padding-left:1.25rem}.Privacypolicy_list__ucdcQ li{color:#5f5e5a;font-size:14px;line-height:1.7}.Privacypolicy_link__4fsVN{border-bottom:1px solid #0000;color:#185fa5;text-decoration:none;transition:border-color .15s ease}.Privacypolicy_link__4fsVN:hover{border-bottom-color:#185fa5}.Privacypolicy_divider__waMKz{border:none;border-top:1px solid #e8e8e4;margin:2rem 0}.Privacypolicy_footer__n7J4i{border-top:1px solid #e8e8e4;margin-top:2.5rem;padding-top:1.5rem}.Privacypolicy_footer__n7J4i p{color:#b4b2a9;font-size:12px;line-height:1.7;margin:0}@media (max-width:600px){.Privacypolicy_page__NeAHP{padding:2.5rem 1.25rem}.Privacypolicy_title__snF8o{font-size:22px}}.portfolio{font-family:DM Sans,sans-serif;margin:0 auto;max-width:1000px;padding:4rem 2rem}.portfolio-header{margin-bottom:2.5rem;text-align:center}.portfolio-header h2{font-family:Playfair Display,serif;font-size:2.4rem;font-weight:400;margin:0 0 .6rem}.portfolio-line{background:#1d9e75;height:2px;margin:0 auto;width:48px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:2.5rem}.filter-btn{background:none;border:1px solid #0000001f;border-radius:20px;color:#888;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.78rem;letter-spacing:.02em;padding:6px 16px;transition:all .2s}.filter-btn:hover{border-color:#1d9e75;color:#1d9e75}.filter-btn.active{background:#1d9e75;border-color:#1d9e75;color:#fff;font-weight:500}.projects-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.project-card{background:#fff;border:1px solid #00000014;border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:1rem;padding:1.4rem;transition:transform .2s,box-shadow .2s,border-color .2s}.project-card:hover{border-color:#1d9e7540;box-shadow:0 8px 28px #00000014;transform:translateY(-3px)}.card-top{display:flex;flex-direction:column;gap:6px}.card-title{color:#1a1a1a;font-size:1.05rem;font-weight:500;margin:0}.card-tagline{color:#888;font-size:.8rem;line-height:1.5;margin:0}.cat-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.7rem;font-weight:500;gap:5px;letter-spacing:.03em;padding:3px 10px;width:-webkit-fit-content;width:fit-content}.cat-dot{border-radius:50%;flex-shrink:0;height:5px;width:5px}.card-stack{display:flex;flex-wrap:wrap;gap:6px}.stack-badge{background:#fafafa;border:1px solid #0000001a;border-radius:20px;color:#666;font-size:.7rem;padding:3px 10px}.stack-badge.muted{background:none;border-color:#0000;color:#aaa}.card-footer{align-items:center;border-top:1px solid #0000000f;display:flex;justify-content:space-between;margin-top:auto;padding-top:.75rem}.card-cta{color:#1d9e75;font-size:.78rem;font-weight:500}.card-links{display:flex;gap:10px}.card-links a{color:#aaa;font-size:.75rem;text-decoration:none;transition:color .2s}.card-links a:hover{color:#1d9e75}.detail-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.detail-modal{animation:slideUp .25s ease;background:#fff;border-radius:18px;max-height:90vh;max-width:560px;overflow-y:auto;padding:2rem;position:relative;scrollbar-width:thin;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.detail-close{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.5rem;line-height:1;position:absolute;right:1.25rem;top:1.1rem;transition:color .2s}.detail-close:hover{color:#333}.detail-header{margin-bottom:1.25rem}.detail-title{color:#1a1a1a;font-family:Playfair Display,serif;font-size:1.6rem;font-weight:400;margin:.5rem 0 .25rem}.detail-tagline{color:#888;font-size:.85rem;margin:0}.detail-desc{color:#555;font-size:.88rem;line-height:1.8;margin-bottom:1.25rem}.detail-highlights{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.5rem}.highlight-item{align-items:center;background:#e1f5ee;border-radius:20px;color:#0f6e56;display:flex;font-size:.75rem;gap:5px;padding:4px 12px}.highlight-check{font-size:.7rem;font-weight:700}.detail-section-label{color:#1d9e75;font-size:.68rem;font-weight:500;letter-spacing:.1em;margin-bottom:.6rem;text-transform:uppercase}.detail-stack{display:flex;flex-wrap:wrap;gap:7px}.detail-media,.detail-stack{margin-bottom:1.5rem}.media-placeholder{align-items:center;background:#f5f5f3;border:1px dashed #0000001a;border-radius:10px;color:#bbb;display:flex;flex-direction:column;gap:8px;height:323px;justify-content:center}.media-placeholder video{border-radius:10px;position:absolute;width:88%}.media-icon{font-size:1.8rem;opacity:.4}.media-placeholder p{font-size:.78rem;margin:0}.detail-actions{display:flex;gap:10px}.btn-outline{border:1px solid #00000026;border-radius:8px;color:#444;flex:1 1;font-family:DM Sans,sans-serif;font-size:.82rem;padding:.6rem 1rem;text-align:center;text-decoration:none;transition:border-color .2s,color .2s}.btn-outline:hover{border-color:#1d9e75;color:#1d9e75}.btn-solid{background:#1d9e75;border-radius:8px;color:#fff;flex:1 1;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:500;padding:.6rem 1rem;text-align:center;text-decoration:none;transition:background .2s}.btn-solid:hover{background:#178a63}@media (max-width:600px){.projects-grid{grid-template-columns:1fr}.detail-modal{padding:1.5rem}.detail-title{font-size:1.35rem}}
/*# sourceMappingURL=main.fefb4935.css.map*/