*{box-sizing:border-box;margin:0;padding:0}.skip-link{background:#cddc39;color:#000;font-weight:700;left:0;padding:8px 16px;position:absolute;text-decoration:none;top:-40px;z-index:10000}.skip-link:focus{top:0}:focus{outline:2px solid #cddc39;outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid #cddc39;outline-offset:2px}html{scroll-behavior:smooth}body{background-color:#000;color:#fff;font-family:system-ui,-apple-system,sans-serif;font-size:18px;line-height:1.6;overflow-x:hidden}a{color:#cddc39;text-decoration:none;transition:opacity .3s}a:hover{opacity:.8}img{height:auto;max-width:100%}.icon{fill:currentColor;height:1em;vertical-align:middle;width:1em}.container{margin:0 auto;max-width:1200px;padding:0 20px}.navbar{background:rgba(0,0,0,.95);border-bottom:1px solid #b22c3b;left:0;padding:15px 0;position:fixed;right:0;top:0;z-index:1000}.navbar .container{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}.navbar-brand{color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:2px;text-transform:uppercase}.navbar-toggle{background:none;border:2px solid #fff;color:#fff;cursor:pointer;display:none;font-size:1.2rem;padding:8px 12px}@media (max-width:768px){.navbar-toggle{display:block}}.navbar-menu{display:flex;gap:30px;list-style:none}@media (max-width:768px){.navbar-menu{display:none;flex-direction:column;gap:0;margin-top:20px;width:100%}.navbar-menu.active{display:flex}}.navbar-menu li a{color:#fff;display:block;font-size:.95rem;letter-spacing:1px;padding:10px 0;text-transform:uppercase}.navbar-menu li a:hover{color:#cddc39}header{align-items:center;background:linear-gradient(180deg,#000,#0d0d0d);display:flex;justify-content:center;min-height:100vh;padding:100px 20px;text-align:center}header .profile-img{border:4px solid #b22c3b;border-radius:50%;height:180px;margin-bottom:30px;width:180px}header h1{font-size:3rem;letter-spacing:4px;margin-bottom:20px;text-transform:uppercase}@media (max-width:768px){header h1{font-size:2rem}}header .tagline{color:#cddc39;font-size:1.3rem;margin:0 auto;max-width:600px}@media (max-width:768px){header .tagline{font-size:1.1rem}}.deco-line{background:#b22c3b;height:3px;margin:20px auto;width:80px}section{padding:80px 20px}@media (max-width:768px){section{padding:60px 20px}}section h2{font-size:2.2rem;letter-spacing:3px;margin-bottom:10px;text-align:center;text-transform:uppercase}@media (max-width:768px){section h2{font-size:1.6rem}}section h3{color:#cddc39;font-size:1.4rem;margin:30px 0 15px}section p{margin-bottom:15px}.section-alt{background:#b22c3b}.content-wrapper{margin:0 auto;max-width:800px}.intro-text{font-size:1.2rem;line-height:1.8;margin-bottom:40px;text-align:center}.tags{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.tag{border-radius:3px;display:inline-block;font-size:.85rem;letter-spacing:1px;padding:6px 14px;text-transform:uppercase}.tag--cta{background:#cddc39;color:#000}.tag--deco{background:#b22c3b;color:#fff}.tag--outline{border:1px solid #fff;color:#fff}.portfolio-grid{display:grid;gap:30px;grid-template-columns:repeat(3,1fr);margin-top:50px}@media (max-width:992px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.portfolio-grid{grid-template-columns:1fr}}.portfolio-item{background:none;border:2px solid transparent;cursor:pointer;font:inherit;overflow:hidden;padding:0;position:relative;text-align:left;transition:border-color .3s}.portfolio-item:hover{border-color:#cddc39}.portfolio-item img{display:block;transition:transform .3s;width:100%}.portfolio-item:hover img{transform:scale(1.05)}.portfolio-item .overlay{align-items:center;background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s}.portfolio-item:hover .overlay{opacity:1}.portfolio-item .overlay-icon{color:#cddc39;font-size:2rem}.btn{border:none;cursor:pointer;display:inline-block;font-size:1rem;letter-spacing:2px;padding:15px 30px;text-transform:uppercase;transition:all .3s}.btn--cta{background:#cddc39;color:#000}.btn--cta:hover{background:#b2c022;opacity:1}.btn--outline{background:transparent;border:2px solid #fff;color:#fff}.btn--outline:hover{background:#fff;color:#000;opacity:1}.btn--outline-dark{background:#000;border:2px solid #000;color:#fff}.btn--outline-dark:hover{background:#b22c3b;border-color:#b22c3b;color:#000;opacity:1}.text-center{text-align:center}.about-grid,.mt-40{margin-top:40px}.about-grid{display:grid;gap:40px;grid-template-columns:1fr 1fr}@media (max-width:768px){.about-grid{grid-template-columns:1fr}}.contact-info{font-size:1.3rem;margin-top:30px;text-align:center}.contact-info a.btn{color:#000;font-weight:700}footer{border-top:1px solid #b22c3b;padding:60px 20px}footer .footer-grid{display:grid;gap:40px;grid-template-columns:repeat(3,1fr);text-align:center}@media (max-width:768px){footer .footer-grid{gap:30px;grid-template-columns:1fr}}footer h3{color:#fff;font-size:1rem;letter-spacing:2px;margin-bottom:15px;text-transform:uppercase}footer a,footer p{color:hsla(0,0%,100%,.8);font-size:.95rem}.social-links{display:flex;gap:20px;justify-content:center}.social-links a{align-items:center;border:2px solid #fff;border-radius:50%;color:#fff;display:inline-flex;font-size:1.2rem;height:45px;justify-content:center;transition:all .3s;width:45px}.social-links a:hover{background:#cddc39;border-color:#cddc39;color:#000;opacity:1}.footer-bottom{border-top:1px solid hsla(0,0%,100%,.1);font-size:.85rem;margin-top:40px;padding-top:40px;text-align:center}.footer-bottom,.footer-bottom a{color:hsla(0,0%,100%,.6)}.modal{background:rgba(0,0,0,.95);bottom:0;display:none;left:0;overflow-y:auto;padding:40px 20px;position:fixed;right:0;top:0;z-index:2000}.modal.active{display:block}.modal-content{background:#0d0d0d;border:1px solid #b22c3b;margin:0 auto;max-width:800px;padding:40px;position:relative}.modal-close{background:none;border:none;color:#fff;cursor:pointer;font-size:2rem;line-height:1;position:absolute;right:20px;top:20px}.modal-close:hover{color:#b22c3b}.modal h2{margin-bottom:20px;text-align:left}.modal img{margin:20px 0}.modal .details{border-top:1px solid hsla(0,0%,100%,.2);margin-top:30px;padding-top:20px}.modal .details span{display:inline-block;font-size:.9rem;margin-right:30px}.modal .details span strong{color:#cddc39}.scroll-top{bottom:30px;opacity:0;position:fixed;right:30px;transition:all .3s;visibility:hidden;z-index:1000}.scroll-top.visible{opacity:1;visibility:visible}.scroll-top a{align-items:center;background:#b22c3b;color:#fff;display:flex;font-size:1.2rem;height:50px;justify-content:center;width:50px}.scroll-top a:hover{background:#cddc39;color:#000;opacity:1}