body{font-size:15px;font-family:"Poppins",sans-serif!important;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{margin-top:0}.page-transition{animation:fadeIn .45s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:.5px}p{line-height:1.56}.section{padding:60px 0}.left{border-radius:16px;position:relative;background:radial-gradient(120% 120%at -10% -10%,rgba(224,0,43,.12),rgba(224,0,43,0) 40%),linear-gradient(180deg,#fff 0,#fafafa 100%);border:1px solid rgba(0,0,0,.06);box-shadow:0 12px 32px -12px rgba(0,0,0,.18)}.left:before{content:"";position:absolute;inset:0;border-radius:16px;background:radial-gradient(80% 80%at 85% 10%,rgba(255,255,255,.5),transparent 60%),linear-gradient(135deg,rgba(224,0,43,.08),rgba(224,0,43,0));opacity:.35;pointer-events:none}.left .profile-image{position:relative;display:inline-block}.left .profile-image img{border:4px solid #fff;border-radius:50%;box-shadow:0 10px 30px -12px rgba(0,0,0,.3)}.left hr{border:0;height:1px;background:linear-gradient(90deg,rgba(224,0,43,.15),rgba(0,0,0,.08) 40%,rgba(224,0,43,.15));margin:16px 0}.left .socials{list-style:none;padding:0;margin:8px 0 0;display:flex;gap:12px;align-items:center}.left .socials a{display:inline-flex;width:36px;height:36px;border-radius:50%;align-items:center;justify-content:center;color:#222;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 10px -6px rgba(0,0,0,.25);transition:transform .2s,box-shadow .2s,color .2s}.left .socials a:hover{transform:translateY(-2px);box-shadow:0 8px 18px -8px rgba(0,0,0,.4);color:#e0002b}.left .socials svg{display:block}.left .socials li{padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;display:block!important;background:0 0!important}.left .socials svg path{fill:currentColor!important}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.main-header{position:sticky;top:0;z-index:120;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(12px);box-shadow:0 2px 4px rgba(0,0,0,.05);transition:background .3s}.main-header .container{min-height:72px}.main-header .main-nav ul{display:flex;gap:28px;margin:0;padding:0;list-style:none;align-items:center}.main-header .main-nav a{text-decoration:none;font-weight:500;color:#333;position:relative;padding:6px 2px;transition:color .25s}.main-header .main-nav a:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:#e0002b;border-radius:2px;transition:width .32s cubic-bezier(.4,0,.2,1)}.main-header .main-nav a:hover{color:#000}.main-header .main-nav a:hover:after,.main-header .main-nav a.active:after{width:100%}.main-header .mob-btn{border:0!important;outline:0;box-shadow:none;display:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.main-header .mob-btn:focus{outline:0;box-shadow:none}.main-header .mob-btn:focus-visible{outline:2px solid #111;outline-offset:3px}@media (max-width:1199px){.main-nav{opacity:1!important;transform:none!important;-webkit-transform:none!important}.main-header .mob-btn{display:flex!important;position:absolute!important;right:15px;top:50%;transform:translateY(-50%)!important;-webkit-transform:translateY(-50%)!important;z-index:150!important;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;padding:10px;background:0 0}.main-header .mob-btn span{display:block!important;width:24px!important;height:2px!important;background:#333!important;border-radius:2px;transition:all .3s}.main-header .mob-btn span+span{margin-top:5px}body.dark .main-header .mob-btn span{background:#ddd!important}body.show-menu .main-header .mob-btn{z-index:150!important}.main-header .main-nav{display:none!important}}.btn{font-weight:600;letter-spacing:.25px;border-radius:6px;padding:10px 18px;transition:background .25s,box-shadow .25s,transform .25s}.btn-primary{background:#e0002b;border:0}.btn-primary:hover{background:#c90027;box-shadow:0 4px 14px -4px rgba(224,0,43,.4)}.btn-outline{background:0 0;border:2px solid #e0002b;color:#e0002b}.btn-outline:hover{background:#e0002b;color:#fff}.btn:focus{outline:2px solid #111;outline-offset:2px}.port-box{position:relative;overflow:hidden;border-radius:14px;box-shadow:0 4px 14px -6px rgba(0,0,0,.15);background:#000}.port-box .hover{position:absolute;margin:auto;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,rgba(0,0,0,.15),rgba(0,0,0,.65));opacity:0;transition:.35s}.port-box:hover .hover{opacity:1}.port-box:hover{transform:translateY(-4px);box-shadow:0 10px 24px -10px rgba(0,0,0,.35)}.port-video,.port-box img{display:block;width:100%;height:100%;object-fit:cover}.hover button,.hover a.btn{backdrop-filter:blur(6px)}.inner-page h2{font-size:34px;position:relative}.inner-page h2:after{content:"";display:block;width:52px;height:4px;background:#e0002b;margin:12px 0 0;border-radius:2px}.inner-page main,.inner-page{scroll-margin-top:90px}.inner-page article{line-height:1.65}.inner-page article>*+*{margin-top:.75rem}.inner-page article>p:first-of-type{font-size:17px;color:#333}.inner-page article h3{font-size:24px;margin-top:1.25rem}.inner-page article h4{font-size:20px;margin-top:1rem}.inner-page article a{color:#e0002b;text-decoration:underline;text-underline-offset:2px}.inner-page article a:hover{color:#c90027}.about-page .timeline-card{margin-bottom:14px}.about-page .timeline-card:last-child{margin-bottom:0}@media (min-width:992px){.inner-page aside{position:sticky;top:96px;align-self:flex-start}}.inner-page article ul:not([class]){list-style:none;padding-left:0}.inner-page article ul:not([class]) li{position:relative;padding-left:22px}.inner-page article ul:not([class]) li:before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0 35%,#e0002b 36% 100%);box-shadow:0 1px 2px rgba(0,0,0,.1)}.exp-list{display:block}.exp-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:14px;box-shadow:0 8px 26px -12px rgba(0,0,0,.12);padding:18px 20px;margin:18px 0}.exp-card h5{font-weight:700}.exp-card .company{color:#0aa0e6;text-decoration:none}.exp-card .company:hover{text-decoration:underline}.exp-date{font-style:italic;font-weight:600}.exp-date.current{color:#1b7f2a}.exp-date.past{color:#e0a800}.exp-website a{color:#e0002b;text-decoration:none}.exp-website a:hover{text-decoration:underline}body.dark .exp-card{background:#1c1c1c;border-color:#2a2a2a;box-shadow:0 8px 26px -12px rgba(0,0,0,.6)}body.dark .exp-card .company{color:#4db8ff}body.dark .exp-website a{color:#ff6b81}.skills-grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.skill-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:20px 22px 22px;position:relative;overflow:hidden;box-shadow:0 6px 22px -10px rgba(0,0,0,.12);transition:box-shadow .3s,transform .3s}.skill-card:before{content:"";position:absolute;inset:0;background:radial-gradient(100% 100%at 0 0,rgba(224,0,43,.12),rgba(224,0,43,0) 60%),linear-gradient(135deg,rgba(224,0,43,.08),rgba(224,0,43,0));opacity:.35;pointer-events:none}.skill-card:hover{box-shadow:0 12px 34px -14px rgba(0,0,0,.28);transform:translateY(-4px)}.skill-card h5{font-weight:600;letter-spacing:.5px}.skill-badge{font-size:12px;font-weight:600;letter-spacing:.4px;padding:10px 14px;background:linear-gradient(180deg,#fff,#f5f5f5);border:1px solid rgba(0,0,0,.08);border-radius:24px;margin:0;color:#333;position:relative;line-height:1}.skill-badge:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,rgba(224,0,43,.15),rgba(224,0,43,0) 60%);opacity:0;transition:opacity .3s}.skill-badge:hover:after{opacity:.45}.skill-badge:hover{color:#111}@media (max-width:575px){.skills-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}}body.dark .skill-card{background:#1c1c1c;border-color:#2a2a2a;box-shadow:0 6px 22px -10px rgba(0,0,0,.6)}body.dark .skill-card:before{background:radial-gradient(100% 100%at 0 0,rgba(224,0,43,.3),rgba(224,0,43,0) 60%),linear-gradient(135deg,rgba(224,0,43,.2),rgba(224,0,43,0))}body.dark .skill-badge{background:linear-gradient(180deg,#222,#1a1a1a);border-color:#333;color:#ddd}body.dark .skill-badge:after{background:linear-gradient(120deg,rgba(224,0,43,.4),rgba(224,0,43,0) 60%)}.skill-card ul{display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:0}.skill-card--frontend .skill-badge{background:linear-gradient(180deg,#f0f6ff,#e6f0ff);border-color:#c8dafd;color:#0b4abf}.skill-card--platforms .skill-badge{background:linear-gradient(180deg,#e8fff6,#dbfaf0);border-color:#b6efd9;color:#0f7a5a}.skill-card--tools .skill-badge{background:linear-gradient(180deg,#fff6e8,#fff0dc);border-color:#ffd9a8;color:#a86b00}.skill-card--quality .skill-badge{background:linear-gradient(180deg,#ffeaf2,#ffe1ec);border-color:#ffc7d9;color:#a3124a}body.dark .skill-card--frontend .skill-badge{color:#9fc5ff;border-color:#2e3f66}body.dark .skill-card--platforms .skill-badge{color:#8ee5c5;border-color:#2b5146}body.dark .skill-card--tools .skill-badge{color:#ffd28a;border-color:#5a4620}body.dark .skill-card--quality .skill-badge{color:#ff9fbd;border-color:#5a2a3b}form .form-group{margin-bottom:16px}form label{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.75px;color:#555}form .form-control{border-radius:8px;padding:12px 14px;border:1px solid #d0d0d0;transition:border-color .25s,box-shadow .25s}form .form-control:focus{border-color:#e0002b;box-shadow:0 0 0 3px rgba(224,0,43,.15);outline:0}form button[type=submit]{margin-top:4px}.ttl-14{font-size:14px;line-height:1.55}.text-muted-sm{color:#777;font-size:13px}body.dark .main-header .main-nav a{color:#ddd}body.dark .main-header .main-nav a:hover{color:#fff}.contact-info-grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:42px}.contact-card{position:relative;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:20px 22px 24px;box-shadow:0 10px 30px -14px rgba(0,0,0,.18);overflow:hidden}.contact-card:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 120%at -10% -10%,rgba(224,0,43,.14),rgba(224,0,43,0) 42%),linear-gradient(145deg,rgba(224,0,43,.08),rgba(224,0,43,0));opacity:.35;pointer-events:none}.contact-card h6{font-size:15px;font-weight:700;letter-spacing:.5px;display:flex;align-items:center;gap:10px;margin:0 0 14px}.contact-icon{width:20px;height:20px;flex:0 0 auto}.contact-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.contact-links li{margin:0}.contact-link{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:500;color:#333;padding:10px 14px;background:linear-gradient(180deg,#fff,#f7f7f7);border:1px solid rgba(0,0,0,.06);border-radius:12px;transition:background .25s,box-shadow .25s,transform .25s;position:relative}.contact-link:hover{background:#fff;box-shadow:0 6px 20px -10px rgba(0,0,0,.25);transform:translateY(-3px);color:#e0002b}.contact-link:active{transform:translateY(0)}.contact-link span{line-height:1.3}@media (max-width:575px){.contact-info-grid{grid-template-columns:1fr}}.home-page .banner{position:relative;min-height:420px;background:url(/assets/images/banner.jpg)center/cover no-repeat;display:flex;align-items:center}.home-page .banner:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(224,0,43,.55)0,rgba(0,0,0,.25) 40%,rgba(0,0,0,.55) 100%);animation:hueShift 15s linear infinite alternate;will-change:filter}.home-page .banner:after{content:"";position:absolute;inset:0;background:radial-gradient(60% 60%at 70% 20%,rgba(255,255,255,.08),transparent 60%);pointer-events:none}.home-page .banner:before,.home-page .banner:after{border-radius:0}@keyframes hueShift{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(35deg)}}@media (prefers-reduced-motion:reduce){.home-page .banner:before{animation:none}}.home-page .banner .text{position:relative;z-index:1;color:#fff}.home-page .banner h2{font-size:40px;letter-spacing:.6px}.home-page .banner h3{font-weight:500;opacity:.95}.home-page .banner .text h2,.home-page .banner .text h3{text-shadow:0 8px 26px rgba(0,0,0,.25)}@media (max-width:1199px){body .main-header .main-nav{top:80px;height:calc(100vh - 80px)}body.show-menu .overlay{top:80px}.main-header .main-nav ul{display:grid}}@media (max-width:991px){.main-header .main-nav ul{flex-wrap:wrap;gap:14px}.inner-page .container>.row{flex-direction:column}.inner-page aside{margin-bottom:32px}.home-page .banner{min-height:320px}}@media (max-width:767px){.main-header .main-nav{display:none!important;position:fixed!important;left:0!important;right:0!important;top:80px!important;height:calc(100vh - 80px)!important;max-height:calc(100vh - 80px)!important;padding:32px 28px 40px!important;background:#fff!important;box-shadow:0 16px 40px -12px rgba(0,0,0,.28)!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:130!important;opacity:1!important;transform:none!important;-webkit-transform:none!important;width:100%!important}body.dark .main-header .main-nav{background:#1c1c1c!important}body.show-menu .main-header .main-nav{display:block!important}.main-header .container{min-height:64px}.main-header .main-nav ul{display:grid!important;gap:12px!important;padding:0!important;margin:0!important;list-style:none!important}.main-header .main-nav ul li{display:block!important}.main-header .main-nav ul li a{display:block!important;padding:12px 16px!important;color:#333!important;text-decoration:none!important;border-bottom:1px solid rgba(0,0,0,.08)!important}body.dark .main-header .main-nav ul li a{color:#ddd!important;border-bottom-color:rgba(255,255,255,.08)!important}.overlay{display:none!important;position:fixed!important;left:0!important;right:0!important;top:80px!important;height:calc(100vh - 80px)!important;background:rgba(0,0,0,.35)!important;backdrop-filter:blur(2px);z-index:125!important;pointer-events:auto!important;touch-action:none}body.show-menu .overlay{display:block!important}}