﻿:root{--bg-main:#ffffff;--bg-card:#f9fafb;--bg-card-hover:#f3f4f6;--text-main:#111827;--text-muted:#6b7280;--text-dim:#9ca3af;--border-color:#e5e7eb;--header-bg:rgba(255,255,255,.95);--accent-red:#d10000;--accent-red-hover:#b80000;--shadow-sm:0 4px 6px rgba(0,0,0,.05);--shadow-hover:0 15px 30px rgba(0,0,0,.08);--transition-smooth:all .4s cubic-bezier(.25,1,.5,1);--transition-fast:all .2s ease-out;--header-h:96px;}[data-theme="dark"]{--bg-main:#0a0a0a;--bg-card:#141414;--bg-card-hover:#1f1f1f;--text-main:#ffffff;--text-muted:#9ca3af;--text-dim:#555555;--border-color:#262626;--header-bg:rgba(10,10,10,.95);--shadow-sm:0 4px 6px rgba(0,0,0,.3);--shadow-hover:0 15px 30px rgba(0,0,0,.6);}html{scroll-behavior:smooth;}*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;}img{max-width:100%;height:auto;display:block;}*,button,a,[role="button"],[tabindex],.carousel-slide,.product-card,.home-product-card,.detail-carousel-slide{touch-action:manipulation;}body{background:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;transition:background-color .4s ease,color .4s ease;}a{text-decoration:none;color:inherit;}ul{list-style:none;}.page-view{display:none;opacity:0;padding-top:var(--header-h);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);min-height:80vh;}.page-view.active-view{display:block;animation:fadeIn .4s cubic-bezier(.25,1,.5,1)both;}@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}@keyframes cardIn{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.35);}50%{box-shadow:0 0 0 10px rgba(37,211,102,0);}}header{position:fixed;top:0;width:100%;min-height:56px;background:var(--header-bg);backdrop-filter:blur(12px);display:flex;justify-content:space-between;align-items:center;padding:0 40px;padding-top:env(safe-area-inset-top,0px);padding-left:calc(40px+env(safe-area-inset-left,0px));padding-right:calc(40px+env(safe-area-inset-right,0px));z-index:1000;border-bottom:1px solid var(--border-color);gap:16px;flex-wrap:wrap;transition:background-color .4s ease,border-color .4s ease,box-shadow .4s ease;}header.header-scrolled{box-shadow:0 4px 20px rgba(0,0,0,.06);}[data-theme="dark"] header.header-scrolled{box-shadow:0 4px 20px rgba(0,0,0,.4);}.logo{cursor:pointer;user-select:none;flex-shrink:0;}header .logo{height:56px;display:flex;align-items:center;overflow:visible;}.logo img{height:100px;width:auto;display:block;}[data-theme="dark"] .logo img{filter:invert(1);}nav{flex:1 1 auto;min-width:0;}nav ul{display:flex;gap:35px;flex-wrap:wrap;align-items:center;}nav a{color:var(--text-muted);font-size:14px;font-weight:600;padding:10px 0;cursor:pointer;transition:var(--transition-fast);position:relative;white-space:nowrap;}nav a:hover,nav a.active{color:var(--text-main);}nav a::after{content:'';position:absolute;width:0;height:2px;bottom:0;left:0;background:var(--accent-red);transition:var(--transition-smooth);}nav a:hover::after,nav a.active::after{width:100%;}.header-controls{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap;flex-shrink:0;}.theme-toggle{background:transparent;border:none;color:var(--text-main);width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:opacity .2s;flex-shrink:0;opacity:.65;}.theme-toggle:hover{opacity:1;}.theme-toggle .theme-icon{font-size:15px;line-height:1;}.lang-select{border:1px solid var(--border-color);color:var(--text-main);padding:6px 22px 6px 6px;border-radius:4px;font-size:13px;font-weight:bold;cursor:pointer;outline:none;transition:var(--transition-fast);width:auto;-webkit-appearance:none;appearance:none;background-color:transparent;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right 8px top 55%,right 5px top 55%;background-size:5px 5px;background-repeat:no-repeat;}.lang-select:hover{border-color:var(--accent-red);color:var(--accent-red);}.lang-select option{background:var(--bg-card);color:var(--text-main);}.section-header{text-align:center;margin:20px 0 36px;}.title-lg{font-size:38px;font-weight:900;margin-bottom:15px;letter-spacing:.5px;text-transform:uppercase;color:var(--text-main);}.badge{display:inline-block;background:rgba(230,0,0,.10);color:var(--accent-red);border:1px solid rgba(230,0,0,.15);font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;letter-spacing:.5px;margin-bottom:10px;}.carousel-container{width:95%;max-width:1500px;margin:20px auto 50px;position:relative;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);background:var(--bg-card);}.carousel-track{display:flex;width:100%;transition:transform .6s cubic-bezier(.25,1,.5,1);user-select:none;touch-action:pan-y;}.carousel-slide{width:100%;min-width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;cursor:pointer;background:var(--bg-card);}.carousel-slide img{width:100%;height:100%;object-fit:contain;display:block;user-select:none;pointer-events:none;}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.3);color:#fff;border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;font-size:20px;z-index:10;transition:var(--transition-fast);backdrop-filter:blur(4px);}.carousel-btn:hover{background:var(--accent-red);}.carousel-btn.prev{left:20px;}.carousel-btn.next{right:20px;}.carousel-indicators{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10;background:rgba(0,0,0,0.25);backdrop-filter:blur(12px)saturate(150%);-webkit-backdrop-filter:blur(12px)saturate(150%);border:1px solid rgba(255,255,255,0.12);border-radius:20px;padding:7px 14px;}.indicator-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.35);cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);border:none;padding:0;}.indicator-dot.active{background:rgba(255,255,255,0.75);width:22px;border-radius:4px;}.home-products-section{margin-bottom:100px;}.home-products-grid{width:95%;max-width:1500px;margin:0 auto 100px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}.home-product-card{min-height:auto;background:var(--bg-main);border:1px solid var(--border-color);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition-smooth);cursor:pointer;display:flex;flex-direction:column;}.home-product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:var(--accent-red);}.home-product-card .product-img{aspect-ratio:1 / 1;margin-bottom:0;border-radius:0;background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-weight:bold;overflow:hidden;position:relative;}[data-theme="dark"] .home-product-card .product-img{background:linear-gradient(135deg,#1f1f1f 0%,#141414 100%);}.home-product-card .product-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.25,1,.5,1);}.home-product-card:hover .product-img img{transform:scale(1.05);}.home-product-card .home-product-body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:12px;flex:1;}.home-product-card .home-product-title{font-size:24px;font-weight:900;line-height:1.15;text-transform:uppercase;overflow-wrap:anywhere;}.home-product-card .home-product-desc{color:var(--text-muted);font-size:14px;line-height:1.8;flex:1;overflow-wrap:anywhere;}.home-product-card .home-product-link{color:var(--accent-red);font-size:13px;font-weight:800;letter-spacing:.5px;}.star-products-section{margin-bottom:100px;}.star-carousel-wrap{width:95%;max-width:1500px;margin:0 auto;position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);background:var(--bg-card);}.star-carousel-track{display:flex;width:100%;transition:transform .6s ease;user-select:none;touch-action:pan-y;}.star-carousel-slide{width:100%;min-width:100%;aspect-ratio:16/9;background:var(--bg-card);position:relative;cursor:pointer;overflow:hidden;}.star-carousel-slide img{width:100%;height:100%;object-fit:contain;display:block;user-select:none;pointer-events:none;}.tech-section{width:95%;max-width:1500px;margin:0 auto 100px;padding:56px 30px 40px;background:var(--bg-card);border:none;box-shadow:var(--shadow-sm);border-radius:24px;transition:var(--transition-smooth);}.tech-header{text-align:center;margin:0 0 34px;}.tech-header p{color:var(--text-muted);font-size:18px;max-width:820px;margin:0 auto;}.core-tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}.tech-card-new{min-height:235px;background:var(--bg-main);border:1px solid var(--border-color);border-radius:20px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-sm);transition:var(--transition-smooth);}.tech-card-new:hover{border-color:var(--accent-red);transform:translateY(-4px);box-shadow:var(--shadow-hover);}.tech-card-new .tech-icon{width:48px;height:48px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px;}.tech-card-new h3{color:var(--text-main);font-size:20px;font-weight:900;margin-bottom:10px;overflow-wrap:anywhere;}.tech-card-new p{color:var(--text-muted);font-size:14px;line-height:1.8;overflow-wrap:anywhere;}.tech-card-new .mini-graph{margin-top:20px;height:54px;display:flex;align-items:end;gap:6px;}.tech-card-new .bar{width:8px;border-radius:999px;opacity:.95;}.cta-banner{width:95%;max-width:1500px;margin-left:auto;margin-right:auto;background:var(--bg-card);border:1px solid var(--border-color);padding:80px 40px;border-radius:8px;text-align:center;margin-bottom:60px;box-shadow:var(--shadow-sm);}.cta-banner h2{font-size:36px;margin-bottom:20px;font-weight:900;}.cta-banner p{font-size:16px;color:var(--text-muted);max-width:600px;margin:0 auto 40px;}.cta-actions{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;}.btn-primary{background:var(--accent-red);color:#fff;border:1px solid var(--accent-red);padding:14px 36px;border-radius:4px;font-size:15px;font-weight:bold;cursor:pointer;transition:var(--transition-smooth);text-transform:uppercase;letter-spacing:1px;display:inline-flex;align-items:center;justify-content:center;}.btn-primary:hover{background:var(--accent-red-hover);border-color:var(--accent-red-hover);box-shadow:0 5px 15px rgba(230,0,0,.3);}.btn-outline{background:transparent;border:1px solid var(--text-muted);color:var(--text-main);padding:14px 36px;border-radius:4px;font-size:15px;font-weight:bold;cursor:pointer;transition:var(--transition-smooth);text-transform:uppercase;letter-spacing:1px;}.btn-outline:hover{border-color:var(--text-main);background:var(--bg-card-hover);}.filter-tabs{display:flex;justify-content:center;gap:12px;margin-bottom:50px;flex-wrap:wrap;}.filter-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-muted);padding:10px 24px;border-radius:4px;font-size:13px;font-weight:bold;cursor:pointer;transition:var(--transition-smooth);text-transform:uppercase;}.filter-btn.active,.filter-btn:hover{background:var(--text-main);color:var(--bg-main);border-color:var(--text-main);}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:25px;width:92%;max-width:1400px;margin:0 auto 80px;}.product-card{background:var(--bg-main);border-radius:8px;padding:25px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);cursor:pointer;}.product-card:hover{transform:translateY(-5px);border-color:var(--accent-red);box-shadow:var(--shadow-hover);}.product-card:hover .product-img img{transform:scale(1.05);}.product-img{width:100%;aspect-ratio:1 / 1;background:var(--bg-card-hover);border-radius:4px;margin-bottom:25px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);text-align:center;padding:0;overflow:hidden;font-weight:700;position:relative;}.product-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.25,1,.5,1);}.card-color-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:2;}.card-color-dot{width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.2);}.product-name{font-size:22px;font-weight:900;margin:10px 0 8px;text-transform:uppercase;overflow-wrap:anywhere;}.product-desc{font-size:14px;color:var(--text-muted);margin-bottom:20px;line-height:1.6;overflow-wrap:anywhere;}.product-link{color:var(--text-main);font-size:13px;font-weight:bold;display:inline-flex;align-items:center;gap:5px;transition:var(--transition-fast);}.product-card:hover .product-link{color:var(--accent-red);gap:10px;}.download-container{width:92%;max-width:1200px;margin:0 auto;}.dl-category{margin-bottom:50px;}.dl-category-title{font-size:24px;font-weight:900;margin-bottom:20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border-color);padding-bottom:12px;text-transform:uppercase;}.dl-item{background:var(--bg-main);border-radius:8px;padding:24px 30px;margin-bottom:15px;display:flex;align-items:center;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);border-left:4px solid transparent;gap:24px;}.dl-item:hover{transform:translateX(5px);border-left-color:var(--accent-red);box-shadow:var(--shadow-hover);}.dl-left{display:flex;align-items:center;gap:18px;flex:1;min-width:0;}.dl-thumb{width:92px;height:92px;border-radius:10px;background:var(--bg-card-hover);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden;}.dl-thumb::before{display:none;}.dl-thumb span{font-size:12px;color:var(--text-muted);font-weight:700;text-align:center;padding-top:16px;line-height:1.3;}.dl-info{min-width:0;}.dl-info h3{font-size:18px;font-weight:bold;margin-bottom:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;overflow-wrap:anywhere;}.dl-badge{display:inline-block;font-size:11px;font-weight:700;color:var(--accent-red);background:rgba(230,0,0,.08);border:1px solid rgba(230,0,0,.14);padding:3px 8px;border-radius:999px;}.dl-info p{font-size:14px;color:var(--text-muted);line-height:1.7;margin-top:4px;overflow-wrap:anywhere;}.dl-meta{display:inline-block;font-size:12px;color:var(--text-dim);margin-top:6px;}.dl-actions{display:flex;gap:12px;flex-shrink:0;flex-wrap:wrap;align-items:center;}.btn-dl{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);padding:8px 18px;border-radius:4px;font-size:13px;font-weight:bold;cursor:pointer;transition:var(--transition-fast);text-transform:uppercase;min-width:110px;}.btn-dl:hover{background:var(--accent-red);color:#fff;border-color:var(--accent-red);}.btn-dl:disabled{background:var(--bg-card);color:var(--text-placeholder,#999);border-color:var(--border-color);cursor:not-allowed;opacity:.5;}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;width:92%;max-width:1000px;margin:0 auto 100px;}.contact-card{background:var(--bg-main);padding:32px 32px 28px;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);text-align:center;display:flex;flex-direction:column;align-items:center;}.contact-card:hover{border-color:var(--text-dim);box-shadow:0 12px 32px rgba(0,0,0,.08);transform:translateY(-2px);}[data-theme="dark"] .contact-card:hover{border-color:#444;box-shadow:0 12px 32px rgba(0,0,0,.50);}#view-contact .contact-card,#view-products .product-card,#view-download .dl-item,#view-home .home-product-card,#view-home .tech-card-new{opacity:0;}#view-contact.active-view .contact-card{animation:cardIn .5s cubic-bezier(.25,1,.5,1)both;}#view-contact .contact-card:nth-child(1){animation-delay:.05s;}#view-contact .contact-card:nth-child(2){animation-delay:.15s;}#view-contact .contact-card:nth-child(3){animation-delay:.25s;}#view-products.active-view .product-card{animation:cardIn .5s cubic-bezier(.25,1,.5,1)both;}#view-products .product-card:nth-child(1){animation-delay:.03s;}#view-products .product-card:nth-child(2){animation-delay:.08s;}#view-products .product-card:nth-child(3){animation-delay:.13s;}#view-products .product-card:nth-child(4){animation-delay:.18s;}#view-products .product-card:nth-child(5){animation-delay:.23s;}#view-products .product-card:nth-child(6){animation-delay:.28s;}#view-products .product-card:nth-child(7){animation-delay:.33s;}#view-products .product-card:nth-child(8){animation-delay:.38s;}#view-products .product-card:nth-child(n+9){animation-delay:.43s;}#view-download.active-view .dl-item{animation:cardIn .5s cubic-bezier(.25,1,.5,1)both;}#view-download .dl-item:nth-child(1){animation-delay:.04s;}#view-download .dl-item:nth-child(2){animation-delay:.10s;}#view-download .dl-item:nth-child(3){animation-delay:.16s;}#view-download .dl-item:nth-child(4){animation-delay:.22s;}#view-download .dl-item:nth-child(5){animation-delay:.28s;}#view-download .dl-item:nth-child(6){animation-delay:.34s;}#view-download .dl-item:nth-child(n+7){animation-delay:.40s;}#view-home.active-view .home-product-card,#view-home.active-view .tech-card-new{animation:cardIn .5s cubic-bezier(.25,1,.5,1)both;}#view-home .home-product-card:nth-child(1),#view-home .tech-card-new:nth-child(1){animation-delay:.05s;}#view-home .home-product-card:nth-child(2),#view-home .tech-card-new:nth-child(2){animation-delay:.12s;}#view-home .home-product-card:nth-child(3),#view-home .tech-card-new:nth-child(3){animation-delay:.19s;}#view-home .home-product-card:nth-child(4),#view-home .tech-card-new:nth-child(4){animation-delay:.26s;}#view-home .home-product-card:nth-child(5),#view-home .tech-card-new:nth-child(5){animation-delay:.33s;}#view-home .home-product-card:nth-child(6),#view-home .tech-card-new:nth-child(6){animation-delay:.40s;}#view-home .home-product-card:nth-child(n+7),#view-home .tech-card-new:nth-child(n+7){animation-delay:.47s;}.contact-card-icon{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-card);color:var(--text-muted);flex-shrink:0;border:1px solid var(--border-color);margin-bottom:10px;transition:var(--transition-smooth);}.icon-email{color:#3b82f6;background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.15);}.icon-whatsapp{color:#25D366;background:rgba(37,211,102,.08);border-color:rgba(37,211,102,.15);}.icon-globe{color:#6366f1;background:rgba(99,102,241,.08);border-color:rgba(99,102,241,.15);}.contact-card h4{font-size:12px;color:var(--text-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:1.5px;font-weight:700;}.contact-card p{font-size:20px;font-weight:bold;color:var(--text-main);overflow-wrap:anywhere;}.social-card{grid-column:1 / -1;}.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:100%;margin-top:4px;}.social-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);padding:22px 12px 18px;border-radius:10px;font-weight:700;font-size:13px;transition:var(--transition-smooth);text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;}.social-btn:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);}.social-btn:hover svg{transform:scale(1.2);}.social-btn:active{transform:scale(.95);}.social-btn svg{transition:transform .3s cubic-bezier(.25,1,.5,1);flex-shrink:0;}.social-yt{color:#FF0000;}.social-yt:hover{background:#FF0000;color:#fff;border-color:#FF0000;}.social-fb{color:#1877F2;}.social-fb:hover{background:#1877F2;color:#fff;border-color:#1877F2;}.social-ig{color:#E4405F;}.social-ig:hover{background:#E4405F;color:#fff;border-color:#E4405F;}.social-tt{color:#000;}.social-tt:hover{background:#000;color:#fff;border-color:#000;}[data-theme="dark"] .social-tt{color:#fff;}[data-theme="dark"] .social-tt:hover{background:#fff;color:#000;border-color:#fff;}.artist-carousel-wrap{width:92%;max-width:1100px;margin:0 auto 32px;position:relative;overflow:hidden;padding:44px 0 20px;outline:none;user-select:none;-webkit-user-select:none;touch-action:pan-y;}.artist-carousel-track{display:flex;gap:16px;transition:transform .45s cubic-bezier(.25,1,.5,1);will-change:transform;align-items:center;}.artist-carousel-card{flex-shrink:0;width:320px;border-radius:14px;overflow:hidden;background:var(--bg-main);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:transform .45s cubic-bezier(.25,1,.5,1),opacity .45s cubic-bezier(.25,1,.5,1),box-shadow .45s cubic-bezier(.25,1,.5,1),border-color .45s cubic-bezier(.25,1,.5,1);cursor:pointer;transform:scale(.85);opacity:.55;}.artist-carousel-card.active{transform:scale(1);opacity:1;box-shadow:var(--shadow-hover);border-color:var(--border-color);}.artist-carousel-card:hover{border-color:var(--text-dim);}.artist-carousel-card.active:hover{border-color:var(--text-dim);}.artist-carousel-card .ac-photo{width:100%;aspect-ratio:9/16;max-height:500px;overflow:hidden;background:var(--bg-card-hover);}.artist-carousel-card .ac-photo img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none;-webkit-user-drag:none;}.artist-carousel-card--cta .ac-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1e1e24;color:#fff;text-align:center;padding:24px 20px;box-sizing:border-box;}.ac-cta-icon{display:flex;align-items:center;justify-content:center;gap:0;font-size:56px;line-height:1;}.ac-cta-icon span:nth-child(2){font-size:.55em;transform:translateY(.25em);}.artist-carousel-card .ac-info{padding:18px 20px 22px;text-align:center;}.artist-carousel-card .ac-name{font-size:20px;font-weight:900;text-transform:uppercase;margin-bottom:4px;overflow-wrap:anywhere;}.artist-carousel-card .ac-desc{font-size:13px;color:var(--text-muted);line-height:1.6;overflow-wrap:anywhere;}.artist-carousel-card:not(.active).ac-info{display:none;}.artist-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-main);font-size:18px;cursor:pointer;z-index:2;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);}.artist-carousel-btn:hover{background:var(--bg-card-hover);border-color:var(--text-dim);box-shadow:var(--shadow-hover);}.artist-carousel-btn.prev{left:12px;}.artist-carousel-btn.next{right:12px;}.artist-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:24px;background:rgba(0,0,0,0.18);backdrop-filter:blur(12px)saturate(150%);-webkit-backdrop-filter:blur(12px)saturate(150%);border:1px solid rgba(0,0,0,0.10);border-radius:20px;padding:7px 14px;width:fit-content;margin-left:auto;margin-right:auto;box-shadow:0 1px 3px rgba(0,0,0,0.04);}.artist-carousel-dots button{width:7px;height:7px;border-radius:50%;border:none;background:rgba(0,0,0,0.25);cursor:pointer;transition:all .3s ease;padding:0;}.artist-carousel-dots button.active{width:18px;border-radius:4px;background:rgba(0,0,0,0.55);}[data-theme="dark"] .artist-carousel-dots button{background:rgba(255,255,255,0.35);}[data-theme="dark"] .artist-carousel-dots button.active{background:#fff;}[data-theme="dark"] .artist-carousel-dots{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.12);}@media(max-width:768px){.artist-carousel-wrap{padding:34px 0 12px;margin-bottom:28px;}.artist-carousel-card{width:260px;}.artist-carousel-btn{width:44px;height:44px;font-size:18px;}.artist-carousel-btn.prev{left:2px;}.artist-carousel-btn.next{right:2px;}.artist-carousel-dots button{width:10px;height:10px;min-width:10px;min-height:10px;}.artist-carousel-dots button.active{width:24px;}.artist-carousel-dots{gap:12px;padding:10px 16px;}.artist-carousel-card .ac-info{padding:14px 16px 18px;}.artist-carousel-card .ac-name{font-size:17px;}.artist-carousel-card .ac-desc{font-size:12px;}.ac-cta-icon{font-size:44px;}}@media(max-width:480px){.artist-carousel-wrap{padding:30px 0 8px;margin-bottom:20px;}.artist-carousel-card{width:220px;transform:scale(.8);}.artist-carousel-track{gap:8px;}.artist-carousel-card.active{transform:scale(1);}.artist-carousel-btn{width:40px;height:40px;font-size:16px;}.artist-carousel-dots button{width:12px;height:12px;min-width:12px;min-height:12px;}.artist-carousel-dots button.active{width:26px;}.artist-carousel-dots{gap:14px;padding:10px 18px;}.artist-carousel-card .ac-info{padding:10px 12px 14px;}.artist-carousel-card .ac-name{font-size:16px;}.artist-carousel-card .ac-desc{font-size:11px;line-height:1.5;}.ac-cta-icon{font-size:38px;}}.about-panel,.policy-panel,.product-detail-panel{width:92%;max-width:1200px;margin:0 auto 100px;background:var(--bg-main);border:1px solid var(--border-color);border-radius:8px;padding:40px;box-shadow:var(--shadow-sm);}.about-panel p,.policy-panel p{font-size:16px;line-height:1.9;color:var(--text-muted);overflow-wrap:anywhere;}.about-text{max-width:900px;margin:0 auto;}.about-row{display:flex;align-items:baseline;gap:32px;padding:18px 0;border-bottom:1px solid var(--border-color);}.about-row:last-child{border-bottom:none;}.about-label{flex:0 0 140px;font-size:18px;font-weight:700;color:var(--text-main);letter-spacing:-0.01em;line-height:1.4;}.about-row p{flex:1;font-size:15px;line-height:1.8;color:var(--text-muted);margin:0;}.about-carousel-wrap{position:relative;margin-bottom:28px;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--border-color);background:var(--bg-card);}.about-carousel-track{display:flex;width:100%;height:100%;transition:transform .6s ease;user-select:none;touch-action:pan-y;}.about-carousel-slide{min-width:100%;height:100%;background:var(--bg-card);overflow:hidden;}.about-carousel-slide img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;pointer-events:none;}.about-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.3);color:#fff;border:none;border-radius:50%;width:38px;height:38px;font-size:16px;cursor:pointer;z-index:2;backdrop-filter:blur(4px);transition:var(--transition-fast);}.about-carousel-btn:hover{background:var(--accent-red);}.about-carousel-btn.prev{left:12px;}.about-carousel-btn.next{right:12px;}.about-carousel-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10;background:rgba(0,0,0,0.25);backdrop-filter:blur(12px)saturate(150%);-webkit-backdrop-filter:blur(12px)saturate(150%);border:1px solid rgba(255,255,255,0.12);border-radius:20px;padding:7px 14px;}.about-carousel-dots button{width:7px;height:7px;border-radius:50%;border:none;background:rgba(255,255,255,0.35);cursor:pointer;padding:0;transition:all .35s cubic-bezier(.4,0,.2,1);}.about-carousel-dots button.active{background:rgba(255,255,255,0.75);width:22px;border-radius:4px;}[data-theme="dark"] .about-carousel-dots{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.12);}[data-theme="dark"] .about-carousel-dots button{background:rgba(255,255,255,0.35);}[data-theme="dark"] .about-carousel-dots button.active{background:#fff;}.policy-section{margin-bottom:30px;}.policy-section h3{font-size:20px;margin-bottom:12px;color:var(--text-main);}.policy-section h4{font-size:15px;margin:16px 0 8px;color:var(--text-main);}.policy-section p,.policy-section li{color:var(--text-muted);font-size:15px;line-height:1.9;overflow-wrap:anywhere;}.policy-section ul{list-style:disc;padding-left:22px;}.product-detail-top{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:start;}.detail-gallery-wrap{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;}.detail-main-carousel{position:relative;width:100%;aspect-ratio:1 / 1;height:auto;border-radius:10px;overflow:hidden;background:var(--bg-main);border:1px solid var(--border-color);}.detail-carousel-track{display:flex;width:100%;height:100%;transition:transform .5s ease;}.detail-carousel-slide{min-width:100%;height:100%;position:relative;overflow:hidden;background:var(--bg-card);color:var(--text-muted);font-weight:700;font-size:22px;}.detail-carousel-slide img{width:100%;height:100%;object-fit:cover;display:block;}.detail-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:none;background:rgba(0,0,0,.35);color:#fff;cursor:pointer;z-index:4;}.detail-carousel-btn:hover{background:var(--accent-red);}.detail-carousel-btn.prev{left:14px;}.detail-carousel-btn.next{right:14px;}.detail-indicators{display:flex;gap:8px;justify-content:center;margin-top:14px;flex-wrap:wrap;}.detail-dot{width:26px;height:4px;border-radius:999px;background:rgba(120,120,120,.35);cursor:pointer;}.detail-dot.active{width:44px;background:var(--accent-red);}.detail-side{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;}.detail-side h2{font-size:34px;line-height:1.1;margin-bottom:10px;font-weight:900;overflow-wrap:anywhere;}.detail-side .meta{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px;}.detail-side p{color:var(--text-muted);font-size:15px;line-height:1.8;margin-bottom:18px;overflow-wrap:anywhere;}.color-swatch-wrap{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap;}.color-swatch-list{display:flex;gap:8px;flex-wrap:wrap;}.color-swatch-btn{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-color);cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s;padding:0;outline:none;}.color-swatch-btn:hover{transform:scale(1.15);}.color-swatch-btn.active{border-color:#555;box-shadow:0 2px 8px rgba(0,0,0,.35);transform:scale(1.15);}.manual-box{background:var(--bg-main);border:1px solid var(--border-color);border-radius:10px;padding:16px;margin-top:20px;}.manual-box h4{margin-bottom:10px;font-size:15px;}.spec-wrap{margin-top:28px;}.spec-wrap h3{font-size:22px;margin-bottom:16px;}.spec-text{color:var(--text-muted);font-size:15px;line-height:1.9;overflow-wrap:anywhere;}.detail-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:var(--text-muted);font-weight:700;cursor:pointer;}.detail-back:hover{color:var(--accent-red);}.detail-back .crumb-link{color:var(--text-muted);text-decoration:none;cursor:pointer;}.detail-back .crumb-link:hover{color:var(--accent-red);}.detail-back .crumb-sep{color:var(--text-muted);opacity:.5;}.detail-back .crumb-current{color:var(--text-main);}.detail-back .crumb-current:hover{color:var(--text-main);}footer{background:var(--bg-card);border-top:1px solid var(--border-color);padding:140px 40px calc(80px+env(safe-area-inset-bottom,0px));padding-left:calc(40px+env(safe-area-inset-left,0px));padding-right:calc(40px+env(safe-area-inset-right,0px));margin-top:80px;}.footer-inner{display:flex;justify-content:space-between;max-width:1500px;margin:0 auto;gap:40px;align-items:flex-start;}.footer-left{padding-left:20px;}.footer-left p{color:var(--text-muted);font-size:14px;max-width:420px;margin-top:14px;line-height:2.5;overflow-wrap:anywhere;}.footer-mini-social{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap;}.footer-mini-social a{width:26px;height:26px;border-radius:6px;display:inline-flex;justify-content:center;align-items:center;background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-main);font-size:12px;transition:var(--transition-fast);}.footer-mini-social a:hover{background:var(--accent-red);color:#fff;border-color:var(--accent-red);transform:translateY(-2px);}.footer-right{display:flex;gap:24px;flex-wrap:wrap;margin-top:14px;}.footer-nav-card{min-width:160px;background:transparent;border:none;border-radius:10px;padding:0;box-shadow:none;}.footer-nav-card h4{margin-bottom:14px;color:var(--text-main);text-transform:uppercase;font-size:14px;}.footer-nav-card a{display:block;color:var(--text-muted);font-size:14px;margin-bottom:12px;transition:var(--transition-fast);font-weight:500;cursor:pointer;}.footer-nav-card a:hover{color:var(--accent-red);transform:translateX(3px);}.footer-copy{margin-top:20px;font-size:12px;color:var(--text-muted);font-weight:700;}.home-products-grid,.core-tech-grid,.product-grid,.contact-grid{scroll-margin-top:calc(var(--header-h)+20px);}@media(min-width:1440px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}}@media(max-width:1100px){header{padding:12px 16px;gap:10px;}nav{order:3;width:100%;}nav ul{gap:10px 16px;}.header-controls{width:100%;margin-left:0;justify-content:space-between;order:2;}.footer-inner{flex-direction:column;align-items:stretch;}.footer-right{flex-direction:column;align-items:flex-start;width:auto;padding-left:20px;}.footer-nav-card{min-width:0;width:auto;}.contact-grid{grid-template-columns:1fr;}.social-grid{grid-template-columns:repeat(2,1fr);}.product-detail-top{grid-template-columns:1fr;}.home-products-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.core-tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media(max-width:768px){header{padding:10px 12px;}.logo img{height:70px;}nav{width:100%;order:3;}nav ul{flex-wrap:nowrap;overflow-x:auto;gap:14px;padding-bottom:4px;scrollbar-width:none;-ms-overflow-style:none;white-space:nowrap;}nav ul::-webkit-scrollbar{display:none;}nav a{font-size:13px;}.header-controls{width:auto;margin-left:auto;order:0;justify-content:flex-end;}.carousel-container{width:100%;margin:0 0 40px;border-radius:0;border-left:none;border-right:none;}.carousel-slide{aspect-ratio:16/9;}.star-carousel-wrap{width:95%;}.star-carousel-slide{aspect-ratio:16/9;}.title-lg{font-size:26px;}.section-header{margin:16px 0 20px;}.cta-banner{width:95%;margin-left:auto;margin-right:auto;padding:36px 18px;}.cta-banner h2{font-size:28px;}.cta-banner p{font-size:14px;}.home-products-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.core-tech-grid,.contact-grid{grid-template-columns:1fr;}.social-grid{grid-template-columns:repeat(2,1fr);}.home-product-card .product-img{aspect-ratio:1 / 1;}.product-card{padding:18px;}.product-img{aspect-ratio:1 / 1;}.dl-item{flex-direction:column;align-items:stretch;padding:16px;gap:14px;}.dl-left{flex:auto;width:100%;gap:14px;}.dl-thumb{width:80px;height:80px;border-radius:8px;}.dl-info h3{font-size:16px;}.dl-actions{width:100%;flex-shrink:1;gap:10px;}.btn-dl{min-width:0;flex:1;}.filter-tabs{gap:8px;padding:0 10px;}.filter-btn{padding:8px 14px;font-size:12px;}.social-grid{flex-direction:column;}.social-btn{width:100%;}.detail-main-carousel{aspect-ratio:1 / 1;}.detail-side{padding:18px;}.detail-side h2{font-size:28px;}.detail-indicators{gap:6px;}.detail-dot{width:20px;}.detail-dot.active{width:34px;}footer{padding:20px 24px 40px;}.footer-left p{max-width:100%;}.about-row{flex-direction:column;gap:6px;padding:14px 0;}.about-label{flex:auto;font-size:16px;}.about-row p{font-size:14px;line-height:1.75;}.about-carousel-wrap{aspect-ratio:4/3;}.about-carousel-btn{opacity:1;width:30px;height:30px;font-size:14px;}.about-panel{padding:20px;}}@media(max-width:480px){header{padding:10px 12px;}.lang-select{width:auto;}.carousel-container{width:100%;margin:0 0 30px;border-radius:0;border-left:none;border-right:none;}.carousel-slide{aspect-ratio:16/9;}.star-carousel-slide{aspect-ratio:16/9;}.title-lg{font-size:22px;}.badge{font-size:10px;}.home-product-card .product-img{aspect-ratio:1 / 1;}.product-name,.home-product-title,.artist-carousel-card .ac-name{font-size:20px;}.dl-category-title{font-size:16px;gap:6px;}.dl-item{padding:14px;gap:10px;}.dl-left{flex:auto;width:100%;gap:10px;}.dl-thumb{width:64px;height:64px;flex-shrink:0;}.dl-info h3{font-size:15px;}.dl-info p{font-size:13px;line-height:1.5;}.btn-dl{font-size:12px;padding:8px 12px;}.filter-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:0 6px 4px;scrollbar-width:none;-ms-overflow-style:none;}.filter-tabs::-webkit-scrollbar{display:none;}.filter-btn{padding:6px 10px;font-size:11px;white-space:nowrap;flex-shrink:0;}.contact-card{padding:24px;}.contact-card-icon{width:36px;height:36px;}.social-grid{grid-template-columns:repeat(2,1fr);}.artist-carousel-card{width:280px;}.carousel-btn,.detail-carousel-btn{width:40px;height:40px;font-size:16px;}.detail-carousel-btn.prev{left:10px;}.detail-carousel-btn.next{right:10px;}}.contact-email-link{color:var(--text-main);font-size:18px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--border-color);transition:var(--transition-smooth);padding-bottom:2px;cursor:pointer;}.contact-email-link:hover{border-bottom-color:var(--text-main);}.contact-email-link.copied{color:#16a34a;border-bottom-color:#16a34a;pointer-events:none;}.contact-whatsapp-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;border-radius:999px;background:#25D366;color:#fff;font-size:14px;font-weight:700;text-decoration:none;transition:var(--transition-smooth);white-space:nowrap;margin-top:4px;}.contact-whatsapp-btn:hover{background:#1ebe5b;transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,211,102,.35);}.contact-whatsapp-btn:active{transform:scale(.95);}#view-contact.active-view .contact-whatsapp-btn{animation:pulse 2.5s ease-out .6s both;}.artist-detail-panel{max-width:960px;margin:0 auto;padding:20px 24px 60px;}.artist-detail-panel .detail-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text-muted);cursor:pointer;margin-bottom:32px;padding:8px 14px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);transition:var(--transition-smooth);user-select:none;}.artist-detail-panel .detail-back:hover{color:var(--accent-red);border-color:var(--accent-red);}.artist-detail-top{display:flex;gap:48px;align-items:flex-start;flex-wrap:wrap;}.artist-detail-photo-wrap{flex-shrink:0;width:360px;aspect-ratio:1/1;border-radius:16px;overflow:hidden;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:var(--bg-card-hover);}.artist-detail-photo-wrap img{width:100%;height:100%;object-fit:cover;display:block;}.artist-detail-side{flex:1 1 300px;min-width:0;}.artist-detail-side h2{font-size:36px;font-weight:900;line-height:1.1;margin-bottom:20px;letter-spacing:-0.5px;}.artist-social-links{display:flex;gap:10px;margin-bottom:20px;}.as-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-color);transition:color .2s,background .2s,transform .15s;}.as-active{color:var(--text-main);background:var(--bg-card-hover);box-shadow:0 0 0 1px var(--border-color);}.as-active:hover{transform:scale(1.15);}.as-active:active{transform:scale(.92);}.as-btn:not(.as-active):hover{transform:none;}.as-yt:hover{background:#ff0033;color:#fff;border-color:#ff0033;}.as-ig:hover{background:#d6249f;color:#fff;border-color:#d6249f;}.as-fb:hover{background:#1877f2;color:#fff;border-color:#1877f2;}.as-tk:hover{background:#000;color:#fff;border-color:#000;}[data-theme="dark"] .as-tk:hover{background:#fff;color:#000;border-color:#fff;}.artist-detail-bio{font-size:15px;line-height:1.85;color:var(--text-muted);}@media(max-width:600px){.artist-detail-panel{padding:12px 16px 40px;}.artist-detail-panel .detail-back{margin-bottom:20px;font-size:13px;padding:6px 12px;}.artist-detail-top{gap:24px;}.artist-detail-photo-wrap{width:100%;aspect-ratio:1/1;}.artist-detail-side h2{font-size:24px;margin-bottom:14px;}.artist-detail-bio{font-size:14px;line-height:1.75;}}@media(max-width:380px){.artist-detail-side h2{font-size:22px;}}*:focus-visible{outline:2px solid var(--accent-red);outline-offset:2px;}.artist-carousel-wrap:focus-visible,.artist-carousel-card:focus-visible{outline:none;}[data-touch] *:focus-visible{outline:none;}[data-touch] .home-product-card:hover,[data-touch] .product-card:hover,[data-touch] .tech-card-new:hover,[data-touch] .artist-carousel-card:hover,[data-touch] .social-btn:hover{transform:none;}[data-touch] .home-product-card:hover .product-img img,[data-touch] .product-card:hover .product-img img{transform:none;}[data-touch] .home-product-card:hover,[data-touch] .product-card:hover,[data-touch] .tech-card-new:hover,[data-touch] .artist-carousel-card:hover,[data-touch] .contact-card:hover{border-color:var(--border-color);box-shadow:var(--shadow-sm);transform:none;}[data-touch] .contact-email-link:hover{border-bottom-color:var(--border-color);}[data-touch] .contact-whatsapp-btn:hover{background:#25D366;transform:none;box-shadow:none;}[data-touch] .social-btn:active{transform:none;}[data-touch] .contact-whatsapp-btn:active{transform:none;}[data-touch] .product-card:hover,[data-touch] .home-product-card:hover,[data-touch] .tech-card-new:hover,[data-touch] .dl-item:hover{box-shadow:var(--shadow-sm);}[data-touch] .dl-item:hover{transform:translateX(0);border-left-color:transparent;}[data-touch] .social-btn:hover{background:var(--bg-card);border-color:var(--border-color);color:var(--text-main);transform:none;box-shadow:none;}[data-touch] .btn-outline:hover{background:transparent;}[data-touch] .product-card:hover .product-link{color:var(--text-main);}[data-touch] .footer-nav-card a:hover{transform:none;}[data-touch] .footer-mini-social a:hover{transform:none;}[data-touch] .contact-whatsapp-btn:hover{transform:none;}
/* Download page compact enhancement. Remove this block to restore the original long-list layout. */
.download-tools{width:92%;max-width:1200px;margin:0 auto 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}.download-search-wrap{flex:1 1 360px;display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;box-shadow:var(--shadow-sm);}.download-search-wrap span{font-size:12px;font-weight:900;text-transform:uppercase;color:var(--text-muted);letter-spacing:.6px;white-space:nowrap;}.download-search-wrap input{width:100%;border:0;outline:0;background:transparent;color:var(--text-main);font-size:15px;line-height:1.4;}.download-search-wrap input::placeholder{color:var(--text-dim);}.download-result-count{min-width:90px;text-align:right;color:var(--text-muted);font-size:13px;font-weight:700;}.download-container--compact{max-width:1280px;}.download-card-group{margin-bottom:34px;}.download-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;}.download-card{min-height:150px;margin:0;padding:18px;align-items:stretch;flex-direction:column;border-left:1px solid var(--border-color);gap:16px;}.download-card:hover{transform:translateY(-3px);border-left-color:var(--border-color);}.download-card .dl-left{align-items:flex-start;gap:14px;}.download-card .dl-thumb{width:62px;height:62px;border-radius:8px;}.download-card .dl-thumb img{width:100%;height:100%;object-fit:cover;border-radius:7px;}.dl-thumb--text span{padding:0;font-size:12px;color:var(--accent-red);font-weight:900;}.download-card .dl-info h3{font-size:17px;line-height:1.25;margin-bottom:4px;}.download-card .dl-info p{font-size:13px;line-height:1.55;margin-top:0;}.download-card .dl-meta{font-size:12px;margin-top:7px;}.download-card .dl-actions{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;}.download-platform-btn{min-width:0;width:100%;padding:9px 10px;border-radius:6px;}.download-empty{width:100%;padding:28px;text-align:center;border:1px dashed var(--border-color);border-radius:8px;color:var(--text-muted);background:var(--bg-card);}@media(max-width:768px){.download-tools{margin-bottom:16px;}.download-search-wrap{flex-basis:100%;}.download-result-count{text-align:left;}.download-card-grid{grid-template-columns:1fr;}.download-card{min-height:0;}.download-card:hover{transform:none;}.download-card .dl-actions{grid-template-columns:repeat(2,minmax(0,1fr));}}@media(max-width:420px){.download-search-wrap{align-items:flex-start;flex-direction:column;gap:6px;}.download-card .dl-left{gap:10px;}.download-card .dl-thumb{width:54px;height:54px;}.download-card .dl-actions{grid-template-columns:1fr;}}

/* Download search alignment fix. */
.download-tools{justify-content:center;flex-direction:column;align-items:center;}.download-search-wrap{width:min(760px,100%);flex:0 1 auto;}.download-result-count{min-width:0;width:100%;text-align:center;min-height:18px;}

/* Download search history and clear button. */
.download-search-history{width:min(760px,100%);display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:-6px;min-height:0;}.download-history-chip{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer;transition:var(--transition-fast);}.download-history-chip:hover{border-color:var(--accent-red);color:var(--accent-red);background:var(--bg-main);}@media(max-width:420px){.download-search-history{justify-content:flex-start;}.download-history-chip{font-size:11px;padding:5px 9px;}}

/* Download empty state text. */
.download-empty strong{display:block;color:var(--text-main);font-size:16px;margin-bottom:6px;}.download-empty span{display:block;color:var(--text-muted);font-size:13px;}


/* Download search history dropdown behavior. */
.download-search-history{display:none;}.download-search-history.is-visible{display:flex;}.download-history-chip{display:inline-flex;align-items:center;overflow:hidden;padding:0;}.download-history-term{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:5px 8px 5px 10px;cursor:pointer;}.download-history-remove{width:24px;align-self:stretch;border:0;border-left:1px solid var(--border-color);background:transparent;color:var(--text-dim);font-size:14px;line-height:1;cursor:pointer;}.download-history-remove:hover{background:var(--accent-red);color:#fff;border-left-color:var(--accent-red);}

/* Download search history browser-style dropdown. */
.download-tools{position:relative;}.download-search-history{position:absolute;top:52px;left:50%;transform:translateX(-50%);z-index:20;width:min(760px,92vw);max-height:240px;overflow:auto;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;margin:0;padding:6px;background:var(--bg-main);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 18px 40px rgba(0,0,0,.14);}.download-search-history.is-visible{display:flex;}.download-history-chip{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:6px;background:transparent;color:var(--text-main);padding:0;overflow:hidden;}.download-history-chip:hover{background:var(--bg-card-hover);}.download-history-term{flex:1;text-align:left;border:0;background:transparent;color:inherit;font:inherit;font-size:14px;font-weight:600;padding:9px 12px;cursor:pointer;}.download-history-remove{width:34px;align-self:stretch;border:0;background:transparent;color:var(--text-dim);font-size:16px;line-height:1;cursor:pointer;}.download-history-remove:hover{background:rgba(209,0,0,.10);color:var(--accent-red);}@media(max-width:420px){.download-search-history{top:74px;width:92%;}.download-history-term{font-size:13px;padding:9px 10px;}}

/* Download search autocomplete rows. */
.download-search-history{padding:6px 0;}.download-history-chip{border-radius:0;}.download-history-chip:hover{background:var(--bg-card-hover);}.download-history-term{display:flex;align-items:center;gap:12px;padding:10px 14px;}.download-history-icon{width:18px;color:var(--text-muted);font-size:18px;line-height:1;flex-shrink:0;}.download-history-text{display:flex;flex-direction:column;gap:1px;min-width:0;}.download-history-text strong{font-size:14px;font-weight:650;color:var(--text-main);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.download-history-text small{font-size:12px;font-weight:500;color:var(--text-muted);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.download-history-remove{width:42px;font-size:17px;}

/* Download search dropdown sizing trim. */
.download-search-history{max-height:174px;overflow-x:hidden;}.download-history-chip,.download-history-term{min-width:0;}.download-history-text{max-width:100%;}.download-history-remove{flex-shrink:0;}

/* Download search clear button affordance. */
.download-search-wrap input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none;}.download-search-clear{width:28px;height:28px;border:1px solid transparent;border-radius:50%;background:transparent;color:#2f5ea8;font-size:20px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background-color .16s,border-color .16s,color .16s,transform .12s,box-shadow .16s;}.download-search-clear:hover{background:rgba(209,0,0,.10);border-color:rgba(209,0,0,.28);color:var(--accent-red);box-shadow:0 2px 8px rgba(209,0,0,.12);}.download-search-clear:active{transform:scale(.92);background:rgba(209,0,0,.16);}.download-search-clear[hidden]{display:none;}



/* Cropped EROK logo sizing. */
.logo img{height:30px;width:auto;}[data-theme="dark"] .logo img{filter:invert(1);}@media(max-width:768px){header .logo{width:auto;height:32px;overflow:visible;align-items:center;}header .logo img{width:auto;height:24px;max-width:none;margin:0;transform:none;object-fit:contain;}.header-controls{padding-top:0;align-items:center;}}
@media(max-width:480px){header .logo{height:30px;}header .logo img{height:23px;}}

/* Header logo/control visual balance. */
header .logo{height:44px;display:flex;align-items:center;}header .logo img{height:28px;width:auto;}@media(max-width:768px){header{align-items:center;}header .logo{height:36px;}header .logo img{height:25px;}.theme-toggle{width:34px;height:34px;}.theme-toggle .theme-icon{font-size:15px;}.lang-select{height:36px;font-size:13px;padding:6px 26px 6px 11px;border-radius:6px;}.header-controls{height:36px;align-items:center;gap:8px;padding-top:0;}}
@media(max-width:480px){header .logo{height:34px;}header .logo img{height:24px;}.theme-toggle{width:32px;height:32px;}.lang-select{height:34px;max-width:124px;font-size:13px;}.header-controls{height:34px;}}

/* Desktop/mobile logo split sizing. */
@media(min-width:769px){header .logo{height:56px;display:flex;align-items:center;}header .logo img{height:20px;width:auto;max-width:none;}nav ul{align-items:center;}.header-controls{align-items:center;}}
@media(max-width:768px){header .logo img{height:25px;}}
@media(max-width:480px){header .logo img{height:24px;}}

/* Desktop header side breathing room. */
@media(min-width:769px){header{padding-left:56px;padding-right:56px;}}
@media(min-width:1440px){header{padding-left:72px;padding-right:72px;}}

/* Desktop header final: brand and nav stay together, controls stay right. */
@media(min-width:769px){header{display:flex;grid-template-columns:none;align-items:center;gap:0;padding-left:64px;padding-right:64px;}header .logo{height:56px;justify-self:auto;margin-right:44px;flex:0 0 auto;}header .logo img{height:20px;width:auto;}nav{flex:0 1 auto;justify-self:auto;width:auto;}nav ul{justify-content:flex-start;gap:34px;flex-wrap:nowrap;}nav a{font-size:14px;padding:10px 0;}.header-controls{margin-left:auto;width:auto;justify-self:auto;justify-content:flex-end;gap:8px;}}
@media(min-width:1440px){header{padding-left:84px;padding-right:84px;}header .logo{margin-right:52px;}nav ul{gap:40px;}}
@media(max-width:1100px) and (min-width:769px){header{padding-left:40px;padding-right:40px;}header .logo{margin-right:32px;}nav ul{gap:24px;}nav a{font-size:13px;}}

/* Desktop brand-nav spacing tweak. */
@media(min-width:769px){header .logo{margin-right:28px;}nav ul{gap:32px;}}
@media(min-width:1440px){header .logo{margin-right:34px;}nav ul{gap:38px;}}
@media(max-width:1100px) and (min-width:769px){header .logo{margin-right:22px;}nav ul{gap:22px;}}

/* Mobile hamburger navigation. */
.mobile-menu-toggle{display:none;}@media(max-width:768px){.mobile-menu-toggle{width:34px;height:34px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:0;transition:var(--transition-fast);}.mobile-menu-toggle span{width:16px;height:2px;border-radius:2px;background:var(--text-main);transition:transform .18s,opacity .18s;}.mobile-menu-toggle:hover{border-color:var(--text-dim);background:var(--bg-card-hover);}header.mobile-menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg);}header.mobile-menu-open .mobile-menu-toggle span:nth-child(2){opacity:0;}header.mobile-menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}header nav{display:none;order:3;width:100%;margin-top:6px;border-top:1px solid var(--border-color);padding-top:8px;}header.mobile-menu-open nav{display:block;}header nav ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px;overflow:visible;white-space:normal;}header nav a{display:block;text-align:center;padding:8px 4px;border-radius:6px;}header nav a::after{display:none;}header nav a.active{background:var(--bg-card);color:var(--accent-red);}.header-controls{gap:6px;}.lang-select{max-width:118px;}}
@media(max-width:420px){header nav ul{grid-template-columns:repeat(2,minmax(0,1fr));}.mobile-menu-toggle{width:32px;height:32px;}.mobile-menu-toggle span{width:15px;}}

/* Products search tools. */
.product-tools{width:92%;max-width:1200px;margin:0 auto 24px;display:flex;flex-direction:column;align-items:center;gap:8px;}.product-search-wrap{width:min(700px,100%);display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;box-shadow:var(--shadow-sm);}.product-search-wrap span{font-size:12px;font-weight:900;text-transform:uppercase;color:var(--text-muted);letter-spacing:.6px;white-space:nowrap;}.product-search-wrap input{width:100%;border:0;outline:0;background:transparent;color:var(--text-main);font-size:15px;line-height:1.4;}.product-search-wrap input::placeholder{color:var(--text-dim);}.product-search-wrap input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none;}.product-search-clear{width:28px;height:28px;border:1px solid transparent;border-radius:50%;background:transparent;color:#2f5ea8;font-size:20px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background-color .16s,border-color .16s,color .16s,transform .12s,box-shadow .16s;}.product-search-clear:hover{background:rgba(209,0,0,.10);border-color:rgba(209,0,0,.28);color:var(--accent-red);box-shadow:0 2px 8px rgba(209,0,0,.12);}.product-search-clear:active{transform:scale(.92);}.product-search-clear[hidden]{display:none;}.product-result-count{min-height:18px;color:var(--text-muted);font-size:13px;font-weight:700;text-align:center;}.product-search-empty{width:92%;max-width:900px;margin:-48px auto 80px;padding:28px;text-align:center;border:1px dashed var(--border-color);border-radius:8px;color:var(--text-muted);background:var(--bg-card);}.product-search-empty strong{display:block;color:var(--text-main);font-size:16px;margin-bottom:6px;}.product-search-empty span{display:block;color:var(--text-muted);font-size:13px;}@media(max-width:768px){.product-tools{margin-bottom:18px;}.product-search-wrap{padding:10px 12px;}.product-search-empty{margin:-44px auto 64px;}}

/* Mobile home section rhythm tightening. */
@media(max-width:768px){.home-products-section,.star-products-section{margin-bottom:46px;}.home-products-grid{margin-bottom:46px;}.section-header{margin:10px 0 18px;}.star-products-section .section-header{margin-top:2px;margin-bottom:16px;}.star-carousel-wrap{margin-bottom:0;}.tech-section{margin-top:18px;margin-bottom:54px;padding-top:34px;padding-bottom:30px;border-radius:16px;}.tech-header{margin-bottom:24px;}.tech-header p{font-size:15px;line-height:1.7;}.core-tech-grid{gap:16px;}.tech-card-new{min-height:0;padding:24px;}.cta-banner{margin-bottom:44px;}}
@media(max-width:480px){.home-products-section,.star-products-section{margin-bottom:36px;}.home-products-grid{margin-bottom:36px;}.section-header{margin:8px 0 16px;}.star-products-section .section-header{margin-top:0;margin-bottom:14px;}.tech-section{margin-top:14px;margin-bottom:44px;padding-top:28px;padding-bottom:26px;border-radius:14px;}.tech-header{margin-bottom:20px;}.tech-card-new{padding:22px;}.cta-banner{margin-bottom:36px;}}

/* Mobile tech section internal whitespace reduction. */
@media(max-width:768px){.tech-section{padding-top:18px;margin-top:10px;}.tech-header{margin-bottom:18px;}.tech-header .badge{margin-bottom:8px;}.tech-header .title-lg{margin-bottom:10px;}.star-carousel-wrap + .tech-section{margin-top:10px;}}
@media(max-width:480px){.tech-section{padding-top:14px;margin-top:8px;}.tech-header{margin-bottom:16px;}.tech-header .badge{margin-bottom:7px;}.tech-header .title-lg{margin-bottom:8px;}.star-carousel-wrap + .tech-section{margin-top:8px;}}

/* Mobile hero carousel refinement. */
@media(max-width:768px){.carousel-container{width:94%;margin:12px auto 38px;border-radius:14px;border:1px solid var(--border-color);box-shadow:0 8px 24px rgba(0,0,0,.08);}.carousel-slide{aspect-ratio:16/9;}.carousel-btn{width:42px;height:42px;font-size:17px;}.carousel-btn.prev{left:12px;}.carousel-btn.next{right:12px;}.carousel-indicators{bottom:10px;padding:6px 12px;}}
@media(max-width:480px){.carousel-container{width:94%;margin:10px auto 34px;border-radius:12px;}.carousel-btn{width:38px;height:38px;font-size:16px;}.carousel-btn.prev{left:10px;}.carousel-btn.next{right:10px;}.carousel-indicators{bottom:9px;}}

/* Mobile home horizontal alignment. */
@media(max-width:768px){#view-home .carousel-container,#view-home .home-products-grid,#view-home .star-carousel-wrap,#view-home .tech-section,#view-home .cta-banner{width:calc(100% - 24px);max-width:none;margin-left:auto;margin-right:auto;}#view-home .product-grid,#view-home .contact-grid{width:calc(100% - 24px);} }
@media(max-width:480px){#view-home .carousel-container,#view-home .home-products-grid,#view-home .star-carousel-wrap,#view-home .tech-section,#view-home .cta-banner{width:calc(100% - 24px);} }

/* Mobile tech section unframed layout. */
@media(max-width:768px){#view-home .tech-section{background:transparent;border:0;box-shadow:none;padding-left:0;padding-right:0;border-radius:0;}#view-home .tech-header{padding-left:10px;padding-right:10px;}#view-home .core-tech-grid{width:100%;}.tech-card-new{border-radius:14px;}.cta-banner{border-radius:10px;}}
@media(max-width:480px){#view-home .tech-header{padding-left:4px;padding-right:4px;}.tech-card-new{border-radius:12px;}.cta-banner{border-radius:8px;}}

/* Mobile download search final: keep label and input on one line. */
@media(max-width:480px){#view-download .download-search-wrap{flex-direction:row;align-items:center;gap:10px;padding:10px 12px;}#view-download .download-search-wrap span{flex:0 0 auto;font-size:11px;letter-spacing:.35px;}#view-download .download-search-wrap input{min-width:0;flex:1;font-size:14px;}#view-download .download-search-clear{width:26px;height:26px;font-size:18px;}}

/* Mobile core tech final layout guard. */
@media(max-width:768px){
  #view-home .tech-section{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:14px 0 0 !important;
    margin:10px auto 44px !important;
    width:calc(100% - 24px) !important;
    max-width:none !important;
  }
  #view-home .tech-header{
    padding:0 4px !important;
    margin:0 0 18px !important;
  }
  #view-home .core-tech-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px !important;
    width:100% !important;
  }
  #view-home .tech-card-new{
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    column-gap:13px !important;
    row-gap:10px !important;
    align-items:center !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:18px 20px !important;
    border-radius:12px !important;
    background:var(--bg-main) !important;
    border:1px solid var(--border-color) !important;
    box-shadow:var(--shadow-sm) !important;
  }
  #view-home .tech-card-new .tech-icon{
    grid-column:1 !important;
    grid-row:1 !important;
    width:42px !important;
    height:42px !important;
    margin:0 !important;
    border-radius:12px !important;
    font-size:19px !important;
  }
  #view-home .tech-card-new h3{
    grid-column:2 !important;
    grid-row:1 !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    font-size:19px !important;
    line-height:1.35 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
  #view-home .tech-card-new p{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.7 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
  #view-home .tech-card-new .mini-graph{
    display:none !important;
  }
}

/* Product detail image viewer. */
.detail-main-carousel{
  cursor:zoom-in;
}
.detail-carousel-btn,
.detail-zoom-btn{
  cursor:pointer;
}
.detail-zoom-btn{
  position:absolute;
  top:12px;
  right:12px;
  z-index:5;
  width:38px;
  height:38px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(0,0,0,.46);
  color:#fff;
  font-size:19px;
  line-height:1;
  backdrop-filter:blur(6px);
  transition:background-color .2s ease,transform .2s ease;
}
.detail-zoom-btn:hover{
  background:var(--accent-red);
  transform:scale(1.06);
}
body.product-lightbox-open{
  overflow:hidden;
}
.product-lightbox[hidden]{
  display:none !important;
}
.product-lightbox{
  position:fixed;
  inset:0;
  z-index:5000;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(5,7,10,.94);
  color:#fff;
  padding:56px 72px;
  touch-action:none;
}
.product-lightbox-stage{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  cursor:default;
}
.product-lightbox-stage img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
  transform-origin:center center;
  transition:transform .18s ease;
  will-change:transform;
}
.product-lightbox-stage.is-zoomed{
  cursor:grab;
}
.product-lightbox-stage.is-dragging{
  cursor:grabbing;
}
.product-lightbox-stage.is-dragging img{
  transition:none;
}
.manual-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.manual-actions .btn-dl{
  width:100%;
  min-width:0;
}
.manual-download-card .dl-actions{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

/* Manual preview and download are separate actions on every viewport. */
#view-download .manual-download-card .dl-actions{
  width:100% !important;
  min-width:0 !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.product-lightbox-close,
.product-lightbox-nav{
  position:absolute;
  z-index:2;
  width:46px;
  height:46px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.24);
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(8px);
  transition:background-color .2s ease,transform .2s ease;
}
.product-lightbox-close:hover,
.product-lightbox-nav:hover{
  background:var(--accent-red);
  transform:scale(1.06);
}
.product-lightbox-close{
  top:max(16px,env(safe-area-inset-top));
  right:max(16px,env(safe-area-inset-right));
  font-size:30px;
}
.product-lightbox-nav.prev{left:18px;}
.product-lightbox-nav.next{right:18px;}
.product-lightbox-zoom{
  position:absolute;
  top:max(16px,env(safe-area-inset-top));
  left:50%;
  z-index:3;
  transform:translateX(-50%);
  height:42px;
  display:grid;
  grid-template-columns:40px 66px 40px;
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(25,27,31,.82);
  color:#fff;
  backdrop-filter:blur(10px);
}
.product-lightbox-zoom button{
  width:40px;
  height:40px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.product-lightbox-zoom button:hover:not(:disabled){
  background:rgba(255,255,255,.16);
}
.product-lightbox-zoom button:disabled{
  color:rgba(255,255,255,.32);
  cursor:default;
}
.product-lightbox-zoom output{
  font-size:12px;
  font-weight:800;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.product-lightbox-counter{
  position:absolute;
  bottom:max(16px,env(safe-area-inset-bottom));
  left:50%;
  transform:translateX(-50%);
  min-width:64px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.48);
  color:#fff;
  font-size:13px;
  font-weight:700;
  text-align:center;
}
@media(max-width:640px){
  .detail-zoom-btn{
    top:8px;
    right:8px;
    width:34px;
    height:34px;
    font-size:17px;
  }
  .product-lightbox{
    padding:58px 44px 54px;
  }
  .product-lightbox-close,
  .product-lightbox-nav{
    width:40px;
    height:40px;
  }
  .product-lightbox-close{
    top:max(10px,env(safe-area-inset-top));
    right:max(10px,env(safe-area-inset-right));
  }
  .product-lightbox-zoom{
    top:max(10px,env(safe-area-inset-top));
    height:40px;
    grid-template-columns:38px 58px 38px;
  }
  .product-lightbox-zoom button{
    width:38px;
    height:38px;
    font-size:20px;
  }
  .product-lightbox-nav.prev{left:4px;}
  .product-lightbox-nav.next{right:4px;}
}

/* Mobile core tech generated markup fix. */
@media(max-width:768px){
  #view-home .tech-card-new{
    display:block !important;
  }
  #view-home .tech-card-new > div:first-child{
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    column-gap:13px !important;
    row-gap:10px !important;
    align-items:center !important;
    width:100% !important;
    min-width:0 !important;
  }
  #view-home .tech-card-new > div:first-child .tech-icon{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  #view-home .tech-card-new > div:first-child h3{
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
  }
  #view-home .tech-card-new > div:first-child p{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    min-width:0 !important;
  }
}

/* Mobile home section spacing final pass. */
@media(max-width:768px){
  #view-home .home-products-section{
    margin-bottom:24px !important;
  }
  #view-home .home-products-grid{
    margin-bottom:0 !important;
  }
  #view-home .star-products-section{
    margin-top:0 !important;
    margin-bottom:28px !important;
  }
  #view-home .star-products-section .section-header{
    margin:0 0 14px !important;
  }
  #view-home .star-products-section .badge,
  #view-home .tech-header .badge{
    margin-bottom:6px !important;
  }
  #view-home .star-products-section .title-lg,
  #view-home .tech-header .title-lg{
    margin-bottom:0 !important;
    line-height:1.18 !important;
  }
  #view-home .tech-section{
    margin-top:0 !important;
    margin-bottom:36px !important;
    padding-top:0 !important;
  }
  #view-home .tech-header{
    margin:0 0 18px !important;
  }
  #view-home .tech-header p{
    margin-top:10px !important;
  }
}

@media(max-width:480px){
  #view-home .home-products-section{
    margin-bottom:20px !important;
  }
  #view-home .star-products-section{
    margin-bottom:24px !important;
  }
  #view-home .star-products-section .section-header{
    margin-bottom:12px !important;
  }
  #view-home .tech-section{
    margin-bottom:32px !important;
  }
  #view-home .tech-header{
    margin-bottom:16px !important;
  }
}

/* Mobile home hero-to-products spacing. */
@media(max-width:768px){
  #view-home > .carousel-container{
    margin-bottom:24px !important;
  }
  #view-home .home-products-section > .section-header:first-child{
    margin:0 0 18px !important;
  }
}

@media(max-width:480px){
  #view-home > .carousel-container{
    margin-bottom:20px !important;
  }
  #view-home .home-products-section > .section-header:first-child{
    margin-bottom:16px !important;
  }
}

/* Mobile home CTA-to-footer spacing. */
@media(max-width:768px){
  #view-home .cta-banner{
    margin-bottom:18px !important;
  }
  body:has(#view-home.active-view) footer{
    margin-top:0 !important;
    padding-top:26px !important;
  }
}

@media(max-width:480px){
  #view-home .cta-banner{
    margin-bottom:14px !important;
  }
body:has(#view-home.active-view) footer{
    padding-top:22px !important;
  }
}

/* Language selector chevron refinement. */
.lang-select{
  padding-right:32px !important;
  background-image:
    linear-gradient(45deg,transparent 48%,currentColor 50%,currentColor 62%,transparent 64%),
    linear-gradient(135deg,transparent 48%,currentColor 50%,currentColor 62%,transparent 64%) !important;
  background-position:
    right 16px center,
    right 10px center !important;
  background-size:8px 8px,8px 8px !important;
  background-repeat:no-repeat !important;
}

.lang-select:hover,
.lang-select:focus{
  border-color:var(--accent-red) !important;
  color:var(--accent-red) !important;
}

@media(max-width:768px){
  .lang-select{
    padding-right:32px !important;
    background-position:
      right 16px center,
      right 10px center !important;
  }
}

/* Mobile artists page bottom rhythm. */
@media(max-width:768px){
  #view-artists{
    min-height:auto !important;
    padding-bottom:18px !important;
  }
  #view-artists .artist-carousel-wrap{
    margin-bottom:18px !important;
    padding-bottom:0 !important;
  }
  body:has(#view-artists.active-view) footer{
    margin-top:0 !important;
    padding-top:28px !important;
  }
}

@media(max-width:480px){
  #view-artists{
    padding-bottom:12px !important;
  }
  #view-artists .artist-carousel-wrap{
    margin-bottom:14px !important;
  }
  body:has(#view-artists.active-view) footer{
    padding-top:24px !important;
  }
}

/* Mobile artists page balanced top and bottom spacing. */
@media(max-width:768px){
  #view-artists{
    padding-top:calc(var(--header-h) - 4px) !important;
    padding-bottom:8px !important;
  }
  #view-artists > .section-header{
    margin:10px 0 14px !important;
  }
  #view-artists > .section-header .title-lg{
    margin-bottom:0 !important;
    line-height:1.18 !important;
  }
  #view-artists .artist-carousel-wrap{
    padding-top:10px !important;
    padding-bottom:0 !important;
    margin-bottom:10px !important;
  }
  #view-artists .artist-carousel-dots{
    margin-top:18px !important;
  }
  body:has(#view-artists.active-view) footer{
    padding-top:20px !important;
  }
}

@media(max-width:480px){
  #view-artists{
    padding-top:calc(var(--header-h) - 6px) !important;
    padding-bottom:6px !important;
  }
  #view-artists > .section-header{
    margin:8px 0 12px !important;
  }
  #view-artists .artist-carousel-wrap{
    padding-top:8px !important;
    margin-bottom:8px !important;
  }
  #view-artists .artist-carousel-dots{
    margin-top:16px !important;
  }
  body:has(#view-artists.active-view) footer{
    padding-top:18px !important;
  }
}

/* Mobile global page-to-footer rhythm. */
@media(max-width:768px){
  .page-view{
    min-height:auto !important;
    padding-bottom:0 !important;
  }
  .contact-grid,
  .product-grid,
  #view-download .download-container,
  .about-panel,
  .policy-panel,
  .product-detail-panel{
    margin-bottom:28px !important;
  }
  #view-contact .contact-grid{
    margin-bottom:20px !important;
  }
  footer{
    margin-top:0 !important;
    padding-top:28px !important;
  }
}

@media(max-width:480px){
  .contact-grid,
  .product-grid,
  #view-download .download-container,
  .about-panel,
  .policy-panel,
  .product-detail-panel{
    margin-bottom:22px !important;
  }
  #view-contact .contact-grid{
    margin-bottom:16px !important;
  }
  footer{
    padding-top:24px !important;
  }
}

/* Mobile footer compact rhythm. */
@media(max-width:768px){
  footer{
    padding:24px 24px calc(28px + env(safe-area-inset-bottom,0px)) !important;
  }
  .footer-inner{
    gap:26px !important;
  }
  .footer-left{
    padding-left:0 !important;
  }
  .footer-left p{
    margin-top:0 !important;
    line-height:2 !important;
  }
  .footer-mini-social{
    margin-top:14px !important;
  }
  .footer-copy{
    margin-top:16px !important;
  }
  .footer-right{
    gap:22px !important;
    margin-top:0 !important;
    padding-left:0 !important;
  }
  .footer-nav-card h4{
    margin-bottom:10px !important;
  }
  .footer-nav-card a{
    margin-bottom:9px !important;
    line-height:1.55 !important;
  }
}

@media(max-width:480px){
  footer{
    padding:22px 20px calc(24px + env(safe-area-inset-bottom,0px)) !important;
  }
  .footer-inner{
    gap:22px !important;
  }
  .footer-left p{
    font-size:13px !important;
    line-height:1.9 !important;
  }
  .footer-right{
    gap:18px !important;
  }
  .footer-nav-card h4{
    margin-bottom:8px !important;
  }
  .footer-nav-card a{
    margin-bottom:8px !important;
  }
}

/* Custom language menu with real open/closed arrow states. */
.lang-switcher{
  position:relative;
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
}

.lang-select-native{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
  overflow:hidden !important;
}

.lang-toggle{
  height:36px;
  min-width:118px;
  border:1px solid var(--border-color);
  border-radius:6px;
  background:var(--bg-main);
  color:var(--text-main);
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 12px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:var(--transition-fast);
}

.lang-toggle:hover,
.lang-toggle:focus-visible,
.lang-switcher.is-open .lang-toggle{
  border-color:var(--accent-red);
  color:var(--accent-red);
  background:var(--bg-card);
}

.lang-chevron{
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(135deg);
  transition:transform .18s ease;
  flex-shrink:0;
  margin-left:2px;
}

.lang-switcher.is-open .lang-chevron{
  transform:rotate(45deg);
}

.lang-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  width:max-content;
  min-width:178px;
  max-height:min(360px, calc(100vh - var(--header-h) - 20px));
  overflow:auto;
  padding:6px;
  border:1px solid var(--border-color);
  border-radius:8px;
  background:var(--bg-main);
  box-shadow:0 16px 40px rgba(15,23,42,.16);
  z-index:1200;
  display:none;
}

.lang-switcher.is-open .lang-menu{
  display:block;
}

.lang-option{
  width:100%;
  border:none;
  background:transparent;
  color:var(--text-muted);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:8px 10px;
  border-radius:6px;
  font-size:13px;
  font-weight:700;
  text-align:left;
  cursor:pointer;
  white-space:nowrap;
}

.lang-option:hover,
.lang-option.is-active{
  background:var(--bg-card);
  color:var(--text-main);
}

.lang-option.is-active::after{
  content:"";
  width:6px;
  height:10px;
  border-right:2px solid var(--accent-red);
  border-bottom:2px solid var(--accent-red);
  transform:rotate(45deg);
  flex-shrink:0;
}

@media(max-width:480px){
  .lang-toggle{
    height:34px;
    min-width:116px;
    padding:0 10px;
  }
  .lang-menu{
    min-width:168px;
  }
}

/* Mobile product cards should not keep desktop hover borders after CTA navigation. */
@media(max-width:768px){
  #view-products .product-card:hover,
  #view-products .product-card:focus:not(:focus-visible){
    transform:none !important;
    border-color:var(--border-color) !important;
    box-shadow:var(--shadow-sm) !important;
  }
  #view-products .product-card:hover .product-img img{
    transform:none !important;
  }
  #view-products .product-card:hover .product-link{
    color:var(--text-main) !important;
    gap:5px !important;
  }
}

/* Keep the current download content visible while an atomic re-render is prepared. */
.download-container.download-enhancing{
  min-height:180px;
}

/* Mobile header spacing guard: keep page tops stable after in-site navigation/back. */
@media(max-width:768px){
  .page-view{
    padding-top:76px !important;
  }
}

@media(max-width:480px){
  .page-view{
    padding-top:72px !important;
  }
}

/* Responsive system final layer: fluid layouts across phones, tablets, and desktops. */
:root{
  --page-gutter:clamp(16px,4vw,84px);
  --content-max:1440px;
  --content-wide:1500px;
  --content-readable:1180px;
}

.carousel-container,
.star-carousel-wrap,
.home-products-grid,
.tech-section,
.cta-banner,
.product-grid,
.download-tools,
.download-container,
.contact-grid,
.artist-detail-panel{
  width:min(calc(100% - (var(--page-gutter) * 2)), var(--content-max)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.carousel-container,
.star-carousel-wrap,
.home-products-grid,
.tech-section,
.cta-banner{
  max-width:var(--content-wide) !important;
}

.download-tools,
.download-container,
.contact-grid{
  max-width:var(--content-readable) !important;
}

.product-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)) !important;
  gap:clamp(16px,2.2vw,28px) !important;
}

.home-products-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)) !important;
  gap:clamp(16px,2vw,26px) !important;
}

.core-tech-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)) !important;
  gap:clamp(14px,1.8vw,22px) !important;
}

.download-card-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)) !important;
  gap:clamp(12px,1.6vw,18px) !important;
}

header{
  padding-left:var(--page-gutter) !important;
  padding-right:var(--page-gutter) !important;
}

@media(min-width:901px){
  header{
    min-height:60px !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:0 !important;
  }
  header .logo{
    height:56px !important;
    margin-right:clamp(22px,2.4vw,42px) !important;
    flex:0 0 auto !important;
  }
  header .logo img{
    height:clamp(20px,1.45vw,28px) !important;
  }
  header nav{
    display:block !important;
    order:0 !important;
    width:auto !important;
    flex:1 1 auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
  header nav ul{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:clamp(18px,2.2vw,38px) !important;
    overflow:visible !important;
    white-space:nowrap !important;
  }
  header nav a{
    display:inline-block !important;
    padding:10px 0 !important;
    border-radius:0 !important;
    font-size:clamp(12px,1vw,14px) !important;
    text-align:left !important;
  }
  header nav a::after{
    display:block !important;
  }
  header nav a.active{
    background:transparent !important;
    color:var(--text-main) !important;
  }
  .header-controls{
    width:auto !important;
    height:36px !important;
    flex:0 0 auto !important;
    margin-left:auto !important;
    padding:0 !important;
    gap:8px !important;
  }
  .mobile-menu-toggle{
    display:none !important;
  }
  .page-view{
    padding-top:88px !important;
  }
}

/* Firmware release notes live in a dedicated layer so three-column cards stay aligned. */
html.firmware-modal-open,
html.firmware-modal-open body{
  overflow:hidden;
}
.firmware-modal[hidden]{
  display:none !important;
}
.firmware-modal{
  position:fixed;
  inset:0;
  z-index:3200;
  display:grid;
  place-items:center;
  padding:24px;
}
.firmware-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,8,14,.72);
  opacity:0;
  transition:opacity .18s ease;
}
.firmware-modal__panel{
  position:relative;
  width:min(720px,100%);
  height:min(760px,calc(100vh - 32px));
  height:min(760px,calc(100dvh - 32px));
  max-height:calc(100vh - 32px);
  max-height:calc(100dvh - 32px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:var(--bg-main);
  color:var(--text-main);
  border:1px solid var(--border-color);
  border-radius:8px;
  box-shadow:0 24px 70px rgba(0,0,0,.3);
  opacity:0;
  transform:translateY(12px) scale(.985);
  transition:opacity .18s ease,transform .18s ease;
}
.firmware-modal.is-open .firmware-modal__backdrop,
.firmware-modal.is-open .firmware-modal__panel{
  opacity:1;
}
.firmware-modal.is-open .firmware-modal__panel{
  transform:none;
}
.firmware-modal__header{
  position:relative;
  min-height:96px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:24px 72px 20px 28px;
  border-bottom:1px solid var(--border-color);
  background:var(--bg-main);
  flex:0 0 auto;
  overflow:visible;
}
.firmware-modal__eyebrow{
  display:block;
  margin-bottom:4px;
  color:var(--accent-red);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.firmware-modal__header h2{
  margin:0;
  font-size:25px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.firmware-modal__header p{
  margin-top:7px;
  color:var(--text-dim);
  font-size:12px;
}
.firmware-modal__icon-close{
  position:absolute;
  top:20px;
  right:22px;
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid var(--border-color);
  border-radius:50%;
  background:var(--bg-card);
  color:var(--text-main);
  font-size:0;
  line-height:0;
  cursor:pointer;
}
.firmware-modal__icon-close::before,
.firmware-modal__icon-close::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:13px;
  height:1.5px;
  border-radius:999px;
  background:currentColor;
  transform:translate(-50%,-50%) rotate(45deg);
}
.firmware-modal__icon-close::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}
.firmware-modal__icon-close:hover{
  border-color:var(--accent-red);
  color:var(--accent-red);
}
.firmware-modal__body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding:4px 28px;
}
.firmware-modal__body section{
  padding:20px 0;
  border-bottom:1px solid var(--border-color);
}
.firmware-modal__body section:last-child{
  border-bottom:0;
}
.firmware-modal__body h3{
  margin:0 0 8px;
  font-size:15px;
  line-height:1.4;
}
.firmware-modal__body p{
  margin:0;
  color:var(--text-muted);
  font-size:14px;
  line-height:1.8;
  white-space:pre-line;
  overflow-wrap:anywhere;
}
.firmware-modal__footer{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:18px 28px 22px;
  border-top:1px solid var(--border-color);
  background:var(--bg-card);
}
.firmware-release-notes h4{
  margin:24px 0 10px;
  padding-top:2px;
  color:var(--text-main);
  font-size:17px;
  line-height:1.4;
}
.firmware-release-notes h4:first-child{margin-top:0}
.firmware-release-notes h5{
  margin:16px 0 5px;
  color:var(--text-main);
  font-size:14px;
  line-height:1.5;
}
.firmware-release-notes p{
  margin:0 0 7px!important;
  white-space:normal!important;
}
.firmware-release-notes p + h4{margin-top:28px}
.firmware-modal__footer .btn-outline,
.firmware-modal__footer .btn-primary{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  padding:10px 18px;
  border-radius:4px;
  line-height:1.2;
  text-align:center;
}
.firmware-modal__download[hidden]{
  display:none !important;
}
@media(max-width:640px){
  .firmware-modal{
    align-items:end;
    padding:0;
  }
  .firmware-modal__panel{
    width:100%;
    height:min(92vh,760px);
    height:min(92dvh,760px);
    max-height:92vh;
    max-height:92dvh;
    border-width:1px 0 0;
    border-radius:8px 8px 0 0;
    transform:translateY(24px);
  }
  .firmware-modal__header{
    min-height:88px;
    padding:20px 64px 17px 20px;
  }
  .firmware-modal__header h2{
    font-size:21px;
  }
  .firmware-modal__icon-close{
    top:17px;
    right:16px;
  }
  .firmware-modal__body{
    padding:2px 20px;
  }
  .firmware-modal__body section{
    padding:17px 0;
  }
  .firmware-modal__footer{
    grid-template-columns:1fr 1fr;
    padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));
  }
}

/* Download descriptions stay compact until the visitor asks for more. */
#view-download .download-card .dl-description{
  display:-webkit-box;
  max-width:100%;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
}
#view-download .download-card .dl-description.is-expanded{
  display:block;
  overflow:visible;
  -webkit-line-clamp:unset;
  line-clamp:unset;
}
#view-download .download-desc-toggle{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  min-height:24px;
  margin:3px 0 0;
  padding:2px 0;
  border:0;
  background:transparent;
  color:var(--accent-red);
  font:inherit;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
  cursor:pointer;
}
#view-download .download-desc-toggle::after{
  content:"\2304";
  display:inline-block;
  font-size:13px;
  line-height:1;
  transform:translateY(-1px);
}
#view-download .download-desc-toggle[aria-expanded="true"]::after{
  content:"\2303";
  transform:translateY(2px);
}
#view-download .download-desc-toggle:hover,
#view-download .download-desc-toggle:focus-visible{
  color:var(--accent-red-hover);
  text-decoration:underline;
  text-underline-offset:3px;
}
#view-download .download-desc-toggle:focus-visible{
  outline:2px solid currentColor;
  outline-offset:3px;
}
#view-download .download-desc-toggle[hidden]{
  display:none !important;
}

/* Keep short platform choices compact; stack only when the card is truly narrow. */
@media(max-width:640px){
  #view-download .download-card:not(.manual-download-card) .dl-actions{
    grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr)) !important;
  }
}

/* Download content must remain visible even when entry animations are throttled. */
#view-download .dl-item{
  opacity:1 !important;
  animation:none !important;
}

/* Buttons and download anchors must share the same centered layout. */
#view-download .download-platform-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:40px;
  line-height:1.25;
}

@media(min-width:641px) and (max-width:900px){
  :root{
    --page-gutter:clamp(28px,5vw,48px);
  }
  header{
    min-height:62px !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:10px !important;
  }
  header .logo{
    height:46px !important;
    margin-right:0 !important;
    flex:0 0 auto !important;
  }
  header .logo img{
    height:clamp(25px,3.4vw,31px) !important;
  }
  header nav{
    display:none !important;
    order:3 !important;
    width:100% !important;
    flex:0 0 100% !important;
    margin:4px 0 0 !important;
    padding-top:10px !important;
    border-top:1px solid var(--border-color) !important;
  }
  header.mobile-menu-open nav{
    display:block !important;
  }
  header nav ul{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    justify-content:center !important;
    gap:8px 10px !important;
    overflow:visible !important;
    white-space:normal !important;
  }
  header nav a{
    display:block !important;
    font-size:13px !important;
    padding:9px 8px !important;
    text-align:center !important;
    border-radius:6px !important;
  }
  header nav a::after{
    display:none !important;
  }
  header nav a.active{
    background:var(--bg-card) !important;
    color:var(--accent-red) !important;
  }
  .header-controls{
    height:36px !important;
    width:auto !important;
    margin-left:auto !important;
    padding:0 !important;
    flex:0 0 auto !important;
    gap:8px !important;
  }
  .theme-toggle,
  .mobile-menu-toggle{
    width:34px !important;
    height:34px !important;
  }
  .mobile-menu-toggle{
    display:inline-flex !important;
    flex:0 0 34px !important;
    min-width:34px !important;
  }
  .lang-toggle{
    height:36px !important;
    min-width:118px !important;
    padding:0 12px !important;
  }
  .page-view{
    padding-top:82px !important;
  }
  .section-header{
    margin:18px 0 26px !important;
  }
  .product-grid,
  .home-products-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .download-card-grid{
    grid-template-columns:1fr !important;
  }
  #view-download .download-card{
    min-height:auto !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:20px !important;
    padding:18px 22px !important;
  }
  #view-download .download-card .dl-left{
    align-items:center !important;
    gap:16px !important;
  }
  #view-download .download-card .dl-thumb{
    width:72px !important;
    height:72px !important;
  }
  #view-download .download-card .dl-actions{
    width:auto !important;
    min-width:160px !important;
    grid-template-columns:1fr !important;
  }
}

/* Keep translated manual actions on one line in compact desktop cards. */
@media(min-width:901px){
  #view-download .manual-download-card .download-platform-btn{
    padding-left:4px !important;
    padding-right:4px !important;
    font-size:11px !important;
    white-space:nowrap !important;
  }
}

@media(max-width:640px){
  :root{
    --page-gutter:16px;
  }
  header{
    min-height:56px !important;
    padding:8px var(--page-gutter) !important;
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
  }
  header .logo{
    height:36px !important;
    margin-right:0 !important;
    flex:0 0 auto !important;
  }
  header .logo img{
    height:25px !important;
  }
  .header-controls{
    width:auto !important;
    height:36px !important;
    margin-left:auto !important;
    padding:0 !important;
    gap:7px !important;
    flex:0 0 auto !important;
  }
  .theme-toggle,
  .mobile-menu-toggle{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
  }
  .mobile-menu-toggle{
    display:inline-flex !important;
  }
  .lang-toggle{
    height:36px !important;
    min-width:112px !important;
    max-width:132px !important;
    padding:0 10px !important;
  }
  header nav{
    display:none !important;
    order:3 !important;
    width:100% !important;
    margin:4px 0 0 !important;
    padding-top:8px !important;
    border-top:1px solid var(--border-color) !important;
  }
  header.mobile-menu-open nav{
    display:block !important;
  }
  header nav ul{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
    overflow:visible !important;
    white-space:normal !important;
  }
  header nav a{
    display:block !important;
    padding:8px 6px !important;
    border-radius:6px !important;
    text-align:center !important;
    font-size:13px !important;
  }
  header nav a::after{
    display:none !important;
  }
  header nav a.active{
    background:var(--bg-card) !important;
    color:var(--accent-red) !important;
  }
  .page-view{
    padding-top:72px !important;
  }
  .section-header{
    margin:14px 0 22px !important;
  }
  .title-lg{
    font-size:clamp(22px,7vw,30px) !important;
    line-height:1.15 !important;
  }
  .product-grid,
  .home-products-grid,
  .core-tech-grid,
  .download-card-grid,
  .contact-grid{
    grid-template-columns:1fr !important;
  }
  .filter-tabs{
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    padding:0 var(--page-gutter) 4px !important;
    width:100% !important;
  }
  #view-download .download-search-wrap,
  #view-products .product-search-wrap{
    width:100% !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:10px !important;
    padding:10px 12px !important;
  }
  #view-download .download-search-wrap input,
  #view-products .product-search-wrap input{
    min-width:0 !important;
  }
  #view-download .download-card{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
    padding:15px !important;
  }
  #view-download .download-card .dl-left{
    align-items:flex-start !important;
    gap:12px !important;
  }
  #view-download .download-card .dl-thumb{
    width:64px !important;
    height:64px !important;
  }
  #view-download .download-card .dl-actions{
    width:100% !important;
    min-width:0 !important;
    grid-template-columns:1fr !important;
  }
  footer{
    padding-left:var(--page-gutter) !important;
    padding-right:var(--page-gutter) !important;
  }
}

@media(max-width:380px){
  :root{
    --page-gutter:12px;
  }
  .lang-toggle{
    min-width:104px !important;
    max-width:116px !important;
  }
  .theme-toggle,
  .mobile-menu-toggle{
    width:32px !important;
    height:32px !important;
    flex-basis:32px !important;
  }
  header .logo img{
    height:23px !important;
  }
}

/* Compact home showcase on phone-sized windows. */
@media(max-width:640px){
  #view-home .home-products-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  #view-home .home-product-card .home-product-body{
    padding:12px 12px 14px !important;
    gap:7px !important;
  }

  #view-home .home-product-card .home-product-title{
    font-size:16px !important;
    line-height:1.2 !important;
  }

  #view-home .home-product-card .home-product-desc{
    font-size:12px !important;
    line-height:1.45 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:4 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  #view-home .home-product-card .home-product-link{
    font-size:11px !important;
  }
}

/* Desktop home-page balance: fixed 6-card sections should read as clean 3x2 grids. */
@media(min-width:901px){
  #view-home .core-tech-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  #view-home .home-products-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    margin-bottom:72px !important;
  }

  #view-home .tech-section{
    padding:52px 36px 36px !important;
    margin-bottom:58px !important;
  }

  #view-home .cta-banner{
    margin-top:0 !important;
  }
}

@media(max-width:640px){
  #view-home .home-products-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
}

/* Product listing cards are for scanning; full descriptions stay on detail pages. */
#view-products .product-card .product-desc{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:4 !important;
  overflow:hidden !important;
}

@media(max-width:640px){
  #view-products .product-card{
    padding:10px !important;
    border-radius:8px !important;
  }

  #view-products .product-card .product-name{
    font-size:16px !important;
    line-height:1.2 !important;
    margin:8px 0 6px !important;
  }

  #view-products .product-card .product-desc{
    font-size:12px !important;
    line-height:1.45 !important;
    -webkit-line-clamp:3 !important;
    margin-bottom:10px !important;
  }

  #view-products .product-grid{
    width:calc(100% - 24px) !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    margin-bottom:44px !important;
  }

  #view-products .product-img{
    margin-bottom:10px !important;
    border-radius:6px !important;
  }

  #view-products .product-card .product-link{
    font-size:11px !important;
  }

  #view-products .filter-tabs{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:7px !important;
    width:calc(100% - 24px) !important;
    padding:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
    margin-bottom:36px !important;
  }

  #view-products .filter-btn{
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    line-height:1.15 !important;
    padding:6px 3px !important;
    font-size:10px !important;
  }
}


/* Accessible generated controls and invalid product state. */
.detail-dot,
.indicator-dot,
.card-color-dot{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  padding:0;
  font:inherit;
}
.card-color-dot{
  cursor:pointer;
}
.product-not-found-state{
  width:clamp(72px,18vw,140px);
  aspect-ratio:1;
  margin:auto;
  display:grid;
  place-items:center;
  border:2px solid var(--border-color);
  border-radius:50%;
  color:var(--text-muted);
  font-size:clamp(40px,10vw,76px);
  font-weight:800;
  background:var(--bg-card);
}
.is-product-not-found .detail-zoom-btn{
  display:none !important;
}

/* Keep both manual actions aligned after all responsive download rules. */
#view-download .manual-download-card .dl-actions{
  width:100% !important;
  min-width:0 !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
#view-download .download-card .dl-actions{
  align-items:stretch !important;
}
#view-download .manual-download-card .download-platform-btn,
.manual-actions .btn-dl{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.25;
  white-space:normal;
}
#view-download .download-card .download-platform-btn{
  align-self:stretch;
}

/* Stable portrait-tablet layout: avoid row controls squeezing card copy. */
@media(min-width:641px) and (max-width:900px){
  .mobile-menu-toggle{
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    padding:0 !important;
    border:1px solid var(--border-color) !important;
    border-radius:6px !important;
    background:var(--bg-card) !important;
    color:var(--text-main) !important;
    cursor:pointer !important;
  }
  .mobile-menu-toggle span{
    display:block !important;
    width:16px !important;
    height:2px !important;
    flex:0 0 2px !important;
    border-radius:2px !important;
    background:var(--text-main) !important;
    transition:transform .18s,opacity .18s !important;
  }
  header.mobile-menu-open .mobile-menu-toggle span:nth-child(1){
    transform:translateY(6px) rotate(45deg) !important;
  }
  header.mobile-menu-open .mobile-menu-toggle span:nth-child(2){
    opacity:0 !important;
  }
  header.mobile-menu-open .mobile-menu-toggle span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg) !important;
  }
  #view-download .download-card{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
  }
  #view-download .download-card .dl-left{
    width:100% !important;
    min-width:0 !important;
    align-items:center !important;
  }
  #view-download .download-card .dl-info{
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  #view-download .download-card .dl-actions{
    width:100% !important;
    min-width:0 !important;
    grid-template-columns:repeat(auto-fit,minmax(120px,1fr)) !important;
  }
  #view-download .manual-download-card .dl-actions{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Final desktop manual-card sizing: short labels stay compact; long languages get wider cards. */
@media(min-width:901px){
  #view-download .manual-download-card .download-platform-btn{
    padding-left:4px !important;
    padding-right:4px !important;
    font-size:11px !important;
    white-space:nowrap !important;
  }
  html[lang="de"] #view-download .download-card-grid,
  html[lang="tl"] #view-download .download-card-grid,
  html[lang="es"] #view-download .download-card-grid,
  html[lang="fr"] #view-download .download-card-grid,
  html[lang="pt"] #view-download .download-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
.product-detail-panel .manual-box{display:none!important}.product-support{margin-top:24px;border-top:1px solid var(--border-color);padding-top:22px}.product-support[hidden]{display:none}.product-support>h3{font-size:22px;font-weight:900;margin:0 0 14px}.product-support-group{border:1px solid var(--border-color);border-radius:8px;background:var(--bg-main);margin-bottom:10px;overflow:hidden}.product-support-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;font-size:15px;font-weight:800}.product-support-group>summary::-webkit-details-marker{display:none}.product-support-group>summary::after{content:"+";font-size:20px;line-height:1;color:var(--text-muted)}.product-support-group[open]>summary::after{content:"−"}.product-support-list{padding:0 16px 16px;display:grid;gap:10px}.product-support-item{border-top:1px solid var(--border-color);padding-top:13px}.product-support-item:first-child{border-top:0}.product-support-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.product-support-item h4{font-size:15px;font-weight:800;overflow-wrap:anywhere}.product-support-meta{font-size:12px;color:var(--text-dim);white-space:nowrap}.product-support-desc{font-size:13px;color:var(--text-muted);line-height:1.65;margin-bottom:10px}.product-support-actions{display:flex;flex-wrap:wrap;gap:8px}.product-support-actions .btn-dl{flex:1 1 120px;min-width:0;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.product-support-actions .firmware-details-btn{background:var(--text-main);color:var(--bg-main);border-color:var(--text-main)}@media(max-width:700px){.product-support{margin-top:20px;padding-top:18px}.product-support>h3{font-size:20px}.product-support-group>summary{padding:12px 14px}.product-support-list{padding:0 14px 14px}.product-support-item-head{display:block}.product-support-meta{display:block;margin-top:3px;white-space:normal}}
.firmware-details-btn,.product-support-actions .firmware-details-btn{background:var(--bg-card);color:var(--text-main);border-color:var(--border-color)}
.firmware-details-btn:hover,.product-support-actions .firmware-details-btn:hover{background:var(--accent-red);color:#fff;border-color:var(--accent-red)}
/* Semantic H1 headings retain the established product and artist detail typography. */
.detail-side h1{font-size:34px;line-height:1.1;margin-bottom:10px;font-weight:900;overflow-wrap:anywhere;}
.artist-detail-side h1{font-size:36px;font-weight:900;line-height:1.1;margin-bottom:20px;letter-spacing:0;overflow-wrap:anywhere;}
@media(max-width:768px){.detail-side h1{font-size:28px;}}
@media(max-width:600px){.artist-detail-side h1{font-size:24px;margin-bottom:14px;}}
@media(max-width:380px){.artist-detail-side h1{font-size:22px;}}
