@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;0,900;1,700&family=Manrope:wght@400;500;600;700;800&display=swap");

:root { --ink:#070707; --panel:#141415; --soft:#202022; --text:#fffdf9; --muted:#b9b6b0; --orange:#ff671b; --line:rgba(255,255,255,.14); --max:1240px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:radial-gradient(circle at 85% -10%,rgba(255,103,27,.2),transparent 28rem),var(--ink); color:var(--text); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.catalog-header { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px clamp(20px,4vw,56px); border-bottom:1px solid var(--line); background:rgba(7,7,7,.9); backdrop-filter:blur(16px); }
.catalog-logo { display:block; width:108px; height:96px; object-fit:contain; object-position:left center; }
.catalog-back,.catalog-cta { font-size:.75rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.catalog-cta { padding:12px 16px; background:var(--orange); color:#1c0801; }
.catalog-main { width:min(var(--max),calc(100% - 40px)); margin:0 auto; padding:74px 0 100px; }
.catalog-kicker { margin:0 0 14px; color:var(--orange); font-size:.7rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3 { margin:0; font-family:"Barlow Condensed",Impact,sans-serif; text-transform:uppercase; }
.catalog-title { max-width:860px; font-size:clamp(4.2rem,10vw,9rem); line-height:.77; letter-spacing:-.045em; }
.catalog-intro { max-width:590px; margin:28px 0 54px; color:var(--muted); font-size:1rem; line-height:1.75; }
.catalog-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
.catalog-filter { border:1px solid var(--line); background:transparent; color:var(--muted); padding:10px 13px; cursor:pointer; font:700 .73rem Manrope,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.catalog-filter.is-active,.catalog-filter:hover { border-color:var(--orange); color:var(--text); background:rgba(255,103,27,.12); }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.product-tile { display:flex; flex-direction:column; min-height:100%; overflow:hidden; border:1px solid var(--line); background:linear-gradient(145deg,#1b1b1d,#0e0e10); transition:transform .25s ease,border-color .25s ease; }
.product-tile:hover { border-color:rgba(255,103,27,.75); transform:translateY(-5px); }
.product-image { position:relative; display:grid; height:320px; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 60%,rgba(255,103,27,.18),transparent 46%),#111; }
.product-image img { width:100%; height:100%; object-fit:contain; transition:transform .45s cubic-bezier(.16,1,.3,1); }
.product-tile:hover .product-image img { transform:scale(1.045); }
.product-body { display:flex; flex:1; flex-direction:column; padding:22px; }
.product-category { color:var(--orange); font-size:.67rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.product-body h2 { margin:9px 0 10px; font-size:2rem; line-height:.9; letter-spacing:-.02em; }
.product-body p { margin:0 0 22px; color:var(--muted); font-size:.86rem; line-height:1.6; }
.tile-action { margin-top:auto; color:var(--text); font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,.8fr); gap:clamp(32px,7vw,100px); align-items:start; }
.detail-visual { position:sticky; top:100px; display:grid; min-height:580px; place-items:center; overflow:hidden; border:1px solid var(--line); background:radial-gradient(circle at 50% 55%,rgba(255,103,27,.26),transparent 42%),#101011; }
.product-gallery { width:100%; padding:22px; }
.detail-main-image { display:block; width:100%; height:470px; object-fit:contain; }
.gallery-thumbs { display:flex; gap:8px; margin-top:14px; overflow:auto; padding-bottom:2px; }
.gallery-thumb { flex:0 0 62px; width:62px; height:62px; padding:3px; border:1px solid var(--line); background:#0d0d0e; cursor:pointer; }
.gallery-thumb.is-active { border-color:var(--orange); }
.gallery-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.detail-copy h1 { margin:9px 0 24px; font-size:clamp(3.7rem,6vw,6.8rem); line-height:.78; letter-spacing:-.045em; }
.detail-lead { color:#e8e4dd; font-size:1.1rem; line-height:1.7; }
.detail-section { padding:28px 0; border-top:1px solid var(--line); }
.detail-section h2 { margin-bottom:14px; font-size:1.85rem; letter-spacing:-.02em; }
.detail-section ul { display:grid; gap:10px; padding:0; margin:0; list-style:none; }
.detail-section li { color:var(--muted); font-size:.9rem; }
.detail-section li::before { content:"—"; color:var(--orange); margin-right:9px; }
.spec-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); }
.spec-grid div { padding:16px; background:#151517; }
.spec-grid strong,.spec-grid span { display:block; }
.spec-grid strong { color:var(--orange); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.spec-grid span { margin-top:5px; color:#ddd8d0; font-size:.84rem; line-height:1.45; }
.video-slot { display:grid; min-height:190px; place-content:center; padding:24px; border:1px dashed rgba(255,103,27,.5); background:rgba(255,103,27,.06); color:var(--muted); text-align:center; font-size:.86rem; line-height:1.6; }
.product-video-wrap { overflow:hidden; border:1px solid var(--line); background:#090909; }
.product-video-wrap video { display:block; width:100%; max-height:390px; background:#050505; }
.video-note { margin:0; padding:10px 13px; color:var(--muted); font-size:.73rem; line-height:1.5; }
.product-request { display:inline-flex; margin-top:8px; padding:15px 20px; background:var(--orange); color:#1c0801; font-size:.78rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.empty { padding:60px 0; color:var(--muted); }
@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.detail{grid-template-columns:1fr;}.detail-visual{position:relative;top:auto;min-height:420px;}}
@media(max-width:600px){.catalog-main{width:min(var(--max),calc(100% - 28px));padding-top:52px}.catalog-header{padding:12px 14px}.catalog-logo{width:78px;height:70px}.catalog-cta{display:none}.catalog-grid{grid-template-columns:1fr}.product-image{height:290px}.detail-visual{min-height:340px}.spec-grid{grid-template-columns:1fr}.catalog-title{font-size:clamp(3.9rem,19vw,5.5rem)}}
