:root{--c-blue:#132a43;--c-black:#000000;--c-grey:#9d9d9c;--c-white:#ffffff;--c-blue-light:#1c3b5e;--c-bg-light:#f4f5f7;--c-border:rgba(157, 157, 156, 0.2);--font-display:'Montserrat', sans-serif;--font-body:'Inter', sans-serif;--container-width:1400px;--container-padding:5%;--section-spacing:120px;--transition-smooth:0.6s cubic-bezier(0.16, 1, 0.3, 1);}
*{margin:0;padding:0;box-sizing:border-box;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:var(--font-body);background-color:var(--c-white);color:var(--c-black);line-height:1.6;}
h1, h2, h3, h4, .font-display{font-family:var(--font-display);font-weight:700;line-height:1.1;letter-spacing:-0.02em;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;display:block;}
.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--container-padding);}
header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1.5rem 0;transition:var(--transition-smooth);background:rgba(255, 255, 255, 0.0);}
header.scrolled{background:rgba(255, 255, 255, 0.95);backdrop-filter:blur(10px);padding:1rem 0;box-shadow:0 4px 30px rgba(0, 0, 0, 0.05);}
.nav-inner{display:flex;justify-content:space-between;align-items:center;}
.brand-logo img{height:32px;transition:var(--transition-smooth);}
nav ul{list-style:none;display:flex;gap:3rem;align-items:center;}
nav a{font-family:var(--font-display);font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--c-white);position:relative;padding:0.5rem 0;transition:color 0.3s ease;}
header.scrolled nav a{color:var(--c-blue);}
nav a::after{content:'';position:absolute;bottom:0;left:0;width:0%;height:2px;background-color:var(--c-blue);transition:var(--transition-smooth);}
nav a:hover::after, nav a.active::after{width:100%;}
.menu-toggle{display:none;background:none;border:none;width:30px;height:20px;position:relative;cursor:pointer;z-index:1001;}
.menu-toggle span{position:absolute;width:100%;height:2px;background:var(--c-white);left:0;transition:var(--transition-smooth);}
header.scrolled .menu-toggle span{background:var(--c-blue);}
.menu-toggle span:nth-child(1){top:0;}
.menu-toggle span:nth-child(2){top:9px;}
.menu-toggle span:nth-child(3){top:18px;}
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:0.9rem;letter-spacing:0.05em;text-transform:uppercase;padding:1.2rem 2.5rem;border-radius:0;transition:var(--transition-smooth);cursor:pointer;border:none;}
.btn-primary{background-color:var(--c-blue);color:var(--c-white);}
.btn-primary:hover{background-color:var(--c-grey);color:var(--c-white);}
.internal-hero{background-color:var(--c-blue);padding:10rem 0 5rem;color:var(--c-white);position:relative;overflow:hidden;}
.internal-hero::after{content:'';position:absolute;top:0;right:0;width:50vw;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.05));transform:skewX(-20deg);}
.internal-hero h1{font-size:clamp(2.5rem, 5vw, 4.5rem);position:relative;z-index:2;margin-bottom:1rem;}
.internal-hero p{font-size:1.2rem;opacity:0.8;max-width:600px;position:relative;z-index:2;}
.home-hero{min-height:100vh;background-color:var(--c-blue);display:flex;align-items:center;padding-top:5rem;position:relative;overflow:hidden;}
.home-hero::after{content:'';position:absolute;top:-20%;right:-10%;width:70vw;height:70vw;border-radius:50%;background:radial-gradient(circle, rgba(157, 157, 156, 0.15) 0%, rgba(19, 42, 67, 0) 70%);pointer-events:none;}
.hero-content{position:relative;z-index:2;max-width:800px;color:var(--c-white);}
.hero-badge{display:inline-block;font-family:var(--font-display);font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.5rem 1.2rem;border:1px solid rgba(255, 255, 255, 0.3);border-radius:50px;margin-bottom:2rem;}
.home-hero h1{font-size:clamp(3rem, 6vw, 5.5rem);margin-bottom:1.5rem;text-wrap:balance;}
.home-hero h1 span{color:var(--c-grey);font-weight:300;}
.home-hero p{font-size:clamp(1.1rem, 2vw, 1.35rem);color:rgba(255, 255, 255, 0.8);max-width:600px;margin-bottom:3rem;font-weight:300;}
.page-content{padding:var(--section-spacing) 0;background-color:var(--c-white);min-height:50vh;}
.section-block{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;margin-bottom:calc(var(--section-spacing) / 1.5);}
.section-block:nth-child(even){direction:rtl;}
.section-block:nth-child(even)>*{direction:ltr;}
.content-text h2{font-size:clamp(2rem, 4vw, 3rem);color:var(--c-blue);margin-bottom:1.5rem;position:relative;text-transform:uppercase;}
.content-text h2::before{content:'';display:block;width:40px;height:4px;background-color:var(--c-grey);margin-bottom:1.5rem;}
.content-text p{font-size:1.125rem;color:#555;margin-bottom:1.5rem;}
.content-media{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 20px 50px rgba(19, 42, 67, 0.1);}
.content-media img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
.youtube-embed{position:relative;padding-bottom:56.25%;height:0;border-radius:4px;box-shadow:0 20px 50px rgba(0, 0, 0, 0.15);margin:3rem 0;overflow:hidden;}
.youtube-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.downloads-wrapper{background-color:var(--c-bg-light);padding:5rem 0;margin-top:4rem;}
.downloads-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:2rem;margin-top:3rem;}
.download-card{background:var(--c-white);padding:2.5rem 2rem;border:1px solid var(--c-border);display:flex;flex-direction:column;gap:1rem;transition:var(--transition-smooth);}
.download-card:hover{border-color:var(--c-blue);transform:translateY(-5px);box-shadow:0 15px 35px rgba(19, 42, 67, 0.08);}
.dl-icon{width:48px;height:48px;border-radius:50%;background:rgba(19, 42, 67, 0.05);display:flex;align-items:center;justify-content:center;color:var(--c-blue);}
.dl-info h4{font-size:1.1rem;color:var(--c-black);margin-bottom:0.25rem;}
.dl-info p{font-size:0.85rem;color:var(--c-grey);text-transform:uppercase;letter-spacing:0.05em;}
.products-search-bar{width:100%;max-width:600px;margin:0 auto 3rem;position:relative;}
.products-search-bar input{width:100%;padding:1.2rem 1.5rem;font-size:1.1rem;font-family:var(--font-body);border:2px solid var(--c-border);border-radius:4px;outline:none;transition:var(--transition-smooth);background:var(--c-bg-light);}
.products-search-bar input:focus{border-color:var(--c-blue);background:var(--c-white);box-shadow:0 10px 20px rgba(19, 42, 67, 0.05);}
.products-list-container{border-top:1px solid var(--c-border);}
.product-list-item{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:2rem;padding:1.5rem 0;border-bottom:1px solid var(--c-border);transition:var(--transition-smooth);}
.product-list-item:hover{background-color:var(--c-bg-light);padding-left:1rem;padding-right:1rem;margin-left:-1rem;margin-right:-1rem;}
.plist-sku{font-family:var(--font-display);font-size:0.9rem;color:var(--c-grey);font-weight:600;}
.plist-name{font-size:1.2rem;color:var(--c-blue);font-weight:500;}
.product-list-item:hover .plist-name{color:var(--c-black);}
.plist-action{font-family:var(--font-display);font-size:0.8rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--c-blue);opacity:0;transform:translateX(-10px);transition:var(--transition-smooth);}
.product-list-item:hover .plist-action{opacity:1;transform:translateX(0);}
.no-results{text-align:center;padding:4rem;color:var(--c-grey);display:none;}
.product-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:6rem 0;align-items:start;}
.product-gallery{position:sticky;top:120px;}
.gallery-main{width:100%;aspect-ratio:4/3;background:var(--c-bg-light);border:1px solid var(--c-border);margin-bottom:1rem;display:flex;align-items:center;justify-content:center;color:var(--c-grey);font-family:var(--font-display);}
.gallery-thumbs{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:0.5rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;}
.gallery-thumbs::-webkit-scrollbar{height:6px;}
.gallery-thumbs::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:3px;}
.g-thumb{width:80px;height:80px;flex-shrink:0;scroll-snap-align:start;aspect-ratio:1/1;background:var(--c-bg-light);border:1px solid var(--c-border);cursor:pointer;transition:var(--transition-smooth);}
.g-thumb:hover{border-color:var(--c-blue);}
.product-info h1{font-size:clamp(2.5rem, 4vw, 3.5rem);margin-bottom:0.5rem;color:var(--c-blue);}
.product-info .sku-tag{display:inline-block;background:var(--c-blue);color:var(--c-white);font-family:var(--font-display);font-size:0.8rem;padding:0.3rem 0.8rem;letter-spacing:0.1em;margin-bottom:2rem;}
.product-description{font-size:1.15rem;color:#555;margin-bottom:3rem;}
.product-description p{margin-bottom:1.5rem;}
footer{position:relative;background-color:var(--c-black);color:var(--c-white);padding:8rem 0 2rem;overflow:hidden;}
.footer-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url('../assets/footer-bg.png');background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:0.3;z-index:1;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;margin-bottom:4rem;position:relative;z-index:2;}
.footer-brand img{height:40px;margin-bottom:1.5rem;filter:brightness(0) invert(1);}
.footer-brand p{color:var(--c-grey);font-weight:300;max-width:300px;}
.footer-links h4{font-family:var(--font-display);font-size:1rem;margin-bottom:1.5rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--c-white);}
.footer-links ul{list-style:none;}
.footer-links li{margin-bottom:0.8rem;}
.footer-links a{color:var(--c-grey);transition:color 0.3s;font-weight:300;}
.footer-links a:hover{color:var(--c-white);}
.footer-bottom{position:relative;z-index:2;padding-top:2rem;border-top:1px solid rgba(255, 255, 255, 0.1);display:flex;justify-content:space-between;font-size:0.85rem;color:var(--c-grey);}
.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0, 0, 0, 0.9);backdrop-filter:blur(5px);}
.modal-content{margin:auto;display:block;max-width:90%;max-height:90vh;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);border-radius:4px;box-shadow:0 0 50px rgba(0, 0, 0, 0.5);object-fit:contain;}
.modal-close{position:absolute;top:20px;right:35px;color:#f1f1f1;font-size:40px;font-weight:bold;cursor:pointer;transition:0.3s;z-index:2001;}
.modal-close:hover, .modal-close:focus{color:#bbb;text-decoration:none;cursor:pointer;}
.mobile-gallery-container{display:none;margin-bottom:2rem;}
.mobile-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.mobile-gallery-track::-webkit-scrollbar{display:none;}
.mobile-gallery-slide{flex:0 0 100%;scroll-snap-align:start;padding:0 0;}
.mobile-gallery-slide img{width:100%;height:auto;border:1px solid var(--c-border);background:var(--c-white);aspect-ratio:4/3;object-fit:contain;border-radius:12px;}
.mobile-gallery-dots{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:1rem;}
.mobile-gallery-dots .dot{width:8px;height:8px;border-radius:50%;background:var(--c-border);transition:0.3s;}
.mobile-gallery-dots .dot.active{background:var(--c-blue);transform:scale(1.2);}
@media (max-width: 1024px){
.section-block{grid-template-columns:1fr;gap:3rem;}
.section-block:nth-child(even){direction:ltr;}
.section-block:nth-child(even)>*{direction:ltr;}
.content-media{order:-1;}
.product-detail-layout{grid-template-columns:1fr;gap:3rem;}
.product-gallery.desktop-gallery{display:none;}
.mobile-gallery-container{display:block;}
.footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 768px){
.products-list-container .product-list-item{grid-template-columns:80px 1fr;gap:0.5rem;}
.products-list-container .product-list-item .plist-action{display:none;}
.menu-toggle{display:block;}
nav{position:absolute;top:100%;left:0;width:100%;background-color:var(--c-white);padding:2rem;box-shadow:0 20px 30px rgba(0, 0, 0, 0.1);opacity:0;visibility:hidden;transform:translateY(-10px);transition:var(--transition-smooth);}
nav.open{opacity:1;visibility:visible;transform:translateY(0);}
nav ul{flex-direction:column;align-items:flex-start;gap:1.5rem;}
nav a{color:var(--c-black) !important;font-size:1.25rem;}
header.scrolled .brand-logo img{filter:none !important;}
.footer-grid{grid-template-columns:1fr;gap:3rem;}
.footer-bottom{flex-direction:column;gap:1rem;text-align:center;}
}
