:root{--primary-color: #333;--text-light: #fff;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden}body{font-family:system-ui,-apple-system,sans-serif;line-height:1.5;color:var(--primary-color);overflow-x:hidden}.app-container{min-height:100vh;position:relative;max-width:100%;overflow-x:hidden}.nav-menu{display:none}@media screen and (min-width: 768px){.nav-menu{position:fixed;top:2rem;right:2rem;z-index:100;display:flex}.nav-menu a{color:var(--text-light);text-decoration:none;margin-left:2rem;font-size:1.1rem;text-transform:uppercase;letter-spacing:1px}}.hero{height:100vh;width:100%;background:linear-gradient(#00000080,#00000080);position:relative;overflow:hidden}.hero-content{position:absolute;left:1.5rem;bottom:30%;color:#fff;padding-right:1rem;z-index:1}.hero-content h1{font-size:2.5rem;font-weight:300;margin-bottom:.5rem}.hero-content .divider{width:80px;border:none;border-top:2px solid white;margin:.8rem 0}.hero-content p{font-size:1.2rem;font-weight:300}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.hero-background img{width:100%;height:100%;object-fit:cover}@media screen and (min-width: 576px){.hero-content{left:2.5rem}.hero-content h1{font-size:3.5rem}.hero-content p{font-size:1.3rem}}@media screen and (min-width: 768px){.hero-content{left:4rem}.hero-content h1{font-size:5rem}.hero-content .divider{width:100px;margin:1rem 0}.hero-content p{font-size:1.5rem}}.progressive-image-container{position:relative;overflow:hidden;width:100%;height:100%;max-width:100%}.progressive-image-container img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease;opacity:1}.compressed-image{filter:blur(10px);transform:scale(1.05)}.original-image{will-change:opacity}.visible{opacity:1}.fading{opacity:0}.about{background:linear-gradient(to bottom,#1a1b25,#1a1a1a);color:var(--text-light);padding:4rem 1rem;text-align:center;position:relative}.about:after{content:"";position:absolute;bottom:-100px;left:0;right:0;height:100px;background:linear-gradient(to bottom,#1a1a1a,transparent);pointer-events:none}.about h1{font-size:2rem;text-transform:uppercase;letter-spacing:.2rem;color:var(--text-light);position:relative;display:inline-block}.divider{width:80px;height:2px;background-color:var(--text-light);margin:1rem auto;border:none}.about-content{width:100%;max-width:800px;margin:0 auto;padding:0 1rem}.about p{font-size:1rem;line-height:1.8;margin-bottom:1.2rem;color:#ccc;opacity:.9;transition:opacity .3s ease}.about p:hover{opacity:1}.social-links{margin-top:3.5rem;display:flex;justify-content:center;flex-wrap:wrap;gap:1.2rem}.social-links a{color:var(--text-light);text-decoration:none;font-size:.9rem;letter-spacing:.05rem;text-transform:uppercase;padding:.6rem 1.2rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:.5rem;margin:.5rem;background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(20px)}.social-links.animated a{animation:popIn .5s cubic-bezier(.34,1.56,.64,1) forwards}.social-links a:nth-child(1){animation-delay:.1s}.social-links a:nth-child(2){animation-delay:.2s}.social-links a:nth-child(3){animation-delay:.3s}.social-links a:nth-child(4){animation-delay:.4s}.social-links a:nth-child(5){animation-delay:.5s}.social-links.animated a[aria-label=Facebook]{animation:popIn .5s cubic-bezier(.34,1.56,.64,1) forwards,facebookPulse 3s .6s forwards}.social-links.animated a[aria-label=Instagram]{animation:popIn .5s cubic-bezier(.34,1.56,.64,1) forwards,instagramPulse 3s .7s forwards}.social-links.animated a[aria-label=Twitter]{animation:popIn .5s cubic-bezier(.34,1.56,.64,1) forwards,twitterPulse 3s .8s forwards}.social-links.animated a[aria-label=YouTube]{animation:popIn .5s cubic-bezier(.34,1.56,.64,1) forwards,youtubePulse 3s .9s forwards}.social-links.animated a[aria-label=GitHub]{animation:popIn .5s cubic-bezier(.34,1.56,.64,1) forwards,githubPulse 3s 1s forwards}.social-links a svg{transition:transform .3s ease}.social-links a:hover svg{transform:scale(1.2)}.social-links a[aria-label=Facebook]:hover{background-color:#1877f2;border-color:#1877f2;color:#fff;transform:translateY(-2px)}.social-links a[aria-label=Instagram]:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);border-color:#e4405f;color:#fff;transform:translateY(-2px)}.social-links a[aria-label=Twitter]:hover{background-color:#1da1f2;border-color:#1da1f2;color:#fff;transform:translateY(-2px)}.social-links a[aria-label=YouTube]:hover{background-color:red;border-color:red;color:#fff;transform:translateY(-2px)}.social-links a[aria-label=GitHub]:hover{background:linear-gradient(135deg,#2b2b2b,#3b3b3b,#4b4b4b);border-color:#fff;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #ffffff1a}@keyframes popIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes facebookPulse{0%{background-color:transparent;border-color:#ffffff1a}20%{background-color:#1877f2;border-color:#1877f2;color:#fff;transform:translateY(-2px)}40%{background-color:transparent;border-color:#ffffff1a;transform:translateY(0)}}@keyframes instagramPulse{0%{background:transparent;border-color:#ffffff1a}20%{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);border-color:#e4405f;color:#fff;transform:translateY(-2px)}40%{background:transparent;border-color:#ffffff1a;transform:translateY(0)}}@keyframes twitterPulse{0%{background-color:transparent;border-color:#ffffff1a}20%{background-color:#1da1f2;border-color:#1da1f2;color:#fff;transform:translateY(-2px)}40%{background-color:transparent;border-color:#ffffff1a;transform:translateY(0)}}@keyframes youtubePulse{0%{background-color:transparent;border-color:#ffffff1a}20%{background-color:red;border-color:red;color:#fff;transform:translateY(-2px)}40%{background-color:transparent;border-color:#ffffff1a;transform:translateY(0)}}@keyframes githubPulse{0%{background:transparent;border-color:#ffffff1a}20%{background:linear-gradient(135deg,#2b2b2b,#3b3b3b,#4b4b4b);border-color:#fff;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #ffffff1a}40%{background:transparent;border-color:#ffffff1a;transform:translateY(0);box-shadow:none}}@media screen and (min-width: 576px){.about{padding:5rem 1.5rem}.about h1{font-size:2.5rem;letter-spacing:.3rem}.about p{font-size:1.1rem}.social-links{flex-wrap:nowrap}}@media screen and (min-width: 768px){.about{padding:6rem 2rem}.about h1{font-size:3.5rem;letter-spacing:.5rem}.divider{width:100px;margin:1.5rem auto}.about p{font-size:1.2rem;line-height:1.8;margin-bottom:2rem;max-width:800px;margin-left:auto;margin-right:auto}.social-links a{font-size:1.1rem;padding:.7rem 1.4rem;gap:.6rem}.social-links a svg{font-size:1.2rem}}.gallery{background-color:#1a1a1a;padding:4rem 0;text-align:center;color:var(--text-light);width:100%}.gallery-content{width:100%;margin:0 auto;padding:0 1rem}.gallery h1{font-size:2.5rem;text-transform:uppercase;letter-spacing:.3rem;margin-bottom:.5rem}.gallery-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem;margin-top:2rem}.gallery-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:12px;cursor:pointer}.gallery-item .progressive-image-container{height:100%}.gallery-item .progressive-image-container .visible{transition:all .5s cubic-bezier(.4,0,.2,1);transform-origin:center}.gallery-item:hover .progressive-image-container .visible{transform:scale(1.08);filter:brightness(1.1)}@media screen and (min-width: 576px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.gallery{padding:5rem 0}}@media screen and (min-width: 768px){.gallery-content{padding:0 2rem}.gallery h1{font-size:3rem}.gallery-grid{gap:2rem;grid-template-columns:repeat(3,1fr)}.gallery{padding:6rem 0}}@media screen and (min-width: 992px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}.feedback{background:linear-gradient(to bottom,#1a1a1a,#1a1b25 15%);padding:4rem 1rem;color:var(--text-light);position:relative}.feedback:before{content:"";position:absolute;top:-100px;left:0;right:0;height:100px;background:linear-gradient(to bottom,transparent,#1a1a1a);pointer-events:none}.feedback-content{max-width:100%;margin:0 auto;padding:0 1rem;text-align:center}.feedback h1{font-size:2rem;text-transform:none;letter-spacing:.1rem;margin-bottom:.5rem;font-weight:300}.divider{width:80px;height:2px;background-color:var(--text-light);margin:1rem auto 2rem;border:none}.feedback-form{display:flex;flex-direction:column;gap:1.2rem;max-width:600px;margin:0 auto}.form-row{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;width:100%;text-align:left}.form-row label{font-size:1rem;color:#ccc}.form-row input,.form-row textarea{width:100%;padding:.8rem;border:1px solid #2d2e3d;background-color:#ffffff08;color:var(--text-light);font-size:1rem;border-radius:8px;font-family:inherit;transition:border-color .3s ease}.form-row input:focus,.form-row textarea:focus{border-color:#8ab4f8;outline:none}.form-row textarea{min-height:100px}.button-row{display:flex;justify-content:center;width:100%;margin-top:1rem}.feedback-form button{background:linear-gradient(135deg,#8ab4f8,#1a73e8,#174ea6);background-size:200% auto;color:var(--text-light);border:none;border-radius:8px;font-size:1rem;padding:.8rem 1.5rem;cursor:pointer;text-transform:none;transition:all .3s ease;width:100%;max-width:200px}.feedback-form button:hover{background-position:right center;transform:translateY(-2px);box-shadow:0 5px 15px #8ab4f84d}.feedback-form button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}@media screen and (min-width: 576px){.feedback{padding:5rem 0}.feedback-content{max-width:90%}.feedback h1{font-size:2.5rem;letter-spacing:.15rem}.feedback-form{gap:1.5rem}}@media screen and (min-width: 768px){.feedback{padding:6rem 0}.feedback-content{max-width:800px}.feedback h1{font-size:3rem;letter-spacing:.2rem}.divider{margin:1.5rem auto 3rem;width:100px}.form-row label{font-size:1.1rem}.form-row textarea{min-height:120px}.feedback-form button{padding:.8rem 2rem}}.dialog{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.dialog-content{background-color:#1a1b25;padding:20px;border-radius:12px;text-align:center;box-shadow:0 4px 6px #0000001a;border:1px solid rgba(138,180,248,.2)}.dialog-content.success{border-color:#81c995}.dialog-content.error{border-color:#f28b82}.dialog-content p{margin-bottom:20px}.dialog-content button{padding:10px 20px;background:linear-gradient(135deg,#8ab4f8,#1a73e8);color:#fff;border:none;border-radius:8px;cursor:pointer}.dialog-content button:hover{background:linear-gradient(135deg,#174ea6,#1a73e8)}.sub-hero{height:50vh;width:100%;background:linear-gradient(#00000080,#00000080);position:relative;overflow:hidden}.sub-hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}@media screen and (min-width: 576px){.sub-hero{height:60vh}}@media screen and (min-width: 768px){.sub-hero{height:70vh}}@media screen and (min-width: 992px){.sub-hero{height:85vh}}.footer{background-color:#1a1a1a;color:var(--text-light);padding:1.5rem 0;text-align:center;width:100%}.footer-content{width:100%;margin:0 auto;padding:0 1rem}.footer p{margin:.5rem 0;font-size:.9rem;font-weight:300}@media screen and (min-width: 576px){.footer{padding:1.75rem 0}.footer p{font-size:1rem}}@media screen and (min-width: 768px){.footer{padding:2rem 0}.footer-content{max-width:1200px;padding:0 2rem}.footer p{font-size:1.1rem}}.navbar{display:flex;justify-content:flex-end;align-items:center;background-color:transparent;padding:1.5rem;position:fixed;width:100%;z-index:1000;transition:all .4s cubic-bezier(.4,0,.2,1)}.navbar.scrolled{background:#1a1b25cc;box-shadow:0 4px 30px #0000001a}.hamburger-menu{display:block;position:relative;z-index:2000;margin-right:1rem}.hamburger-button{display:flex;flex-direction:column;justify-content:space-between;width:30px;height:21px;background:transparent;border:none;cursor:pointer;padding:0;z-index:2000}.hamburger-button span{width:30px;height:2px;background:var(--text-light);border-radius:4px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;transform-origin:1px}.hamburger-button.open span:first-child{transform:rotate(45deg)}.hamburger-button.open span:nth-child(2){opacity:0}.hamburger-button.open span:nth-child(3){transform:rotate(-45deg)}.nav-menu{position:fixed;top:0;right:-100%;width:100%;height:100vh;background:#1a1b25f2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem;transition:all .5s cubic-bezier(.4,0,.2,1);z-index:1500}.nav-menu.mobile-open{right:0}.nav-menu a{color:var(--text-light);text-decoration:none;font-size:1.5rem;text-transform:uppercase;letter-spacing:2px;padding:.5rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.nav-menu a:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--text-light);transition:all .3s cubic-bezier(.4,0,.2,1);transform:translate(-50%)}.nav-menu a:hover:after{width:80%}@media screen and (min-width: 768px){.hamburger-menu{display:none}.nav-menu{position:static;height:auto;width:auto;background-color:transparent;flex-direction:row;gap:0;right:0}.nav-menu a{margin-left:2rem;font-size:1rem;padding:.5rem 1rem;border:none}.nav-menu a:hover{background:#ffffff1a;border-radius:4px;transform:translateY(-2px)}.nav-menu a.scrolled{background:#ffffff0d;border-radius:4px}.nav-menu a.scrolled:hover{background:#ffffff26}}
