:root { --cat-card:#f7f1e6; }
.catalogue-page { background:var(--cream); color:var(--ink); }
.catalogue-nav { background:linear-gradient(180deg,rgba(5,8,6,.96),rgba(5,8,6,.62),transparent); }
.catalogue-nav nav a { color:#fff; }
.catalogue-hero { position:relative; min-height:720px; height:88vh; display:flex; align-items:center; overflow:hidden; background:#080b09; color:#fff; }
.catalogue-hero>img,.catalogue-hero-shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.catalogue-hero-shade { background:linear-gradient(90deg,rgba(5,8,6,.97) 0%,rgba(5,8,6,.85) 38%,rgba(5,8,6,.16) 73%),linear-gradient(0deg,rgba(5,8,6,.55),transparent 45%); }
.catalogue-hero-copy { position:relative; z-index:2; width:min(670px,88vw); margin-left:7vw; padding-top:80px; }
.catalogue-hero h1 { font-size:clamp(65px,7.5vw,118px); }.catalogue-hero h1 span { color:var(--gold); }
.catalogue-hero-copy>p:not(.eyebrow) { max-width:590px; color:#e0ddd5; font-size:20px; line-height:1.55; }
.catalogue-intro { background:var(--cream); }
.catalogue-title { display:flex; align-items:end; justify-content:space-between; gap:50px; }.catalogue-title h2 { margin-bottom:0; }
.catalogue-note { max-width:850px; margin:30px 0 55px; color:#315348; font-size:18px; line-height:1.6; }
.category-showcase { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.category-tile { position:relative; min-height:280px; overflow:hidden; border:0; padding:0; color:#fff; background:#0c211a; cursor:pointer; text-align:left; }
.category-tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }.category-tile:hover img { transform:scale(1.035); }
.category-tile:after { content:""; position:absolute; inset:20% 0 0; background:linear-gradient(transparent,rgba(3,7,5,.92)); }
.category-tile-copy { position:absolute; z-index:2; inset:auto 22px 22px; }.category-tile-copy strong { display:block; font-size:23px; }.category-tile-copy span { display:block; margin-top:7px; color:#e2bd69; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.catalogue-products { background:var(--green); color:#fff; }
.catalogue-toolbar { display:grid; grid-template-columns:1fr minmax(300px,440px); align-items:end; gap:50px; }.catalogue-toolbar h2 { margin-bottom:0; }
.catalogue-search span { display:block; margin-bottom:9px; color:#d9c28d; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.catalogue-search input { width:100%; height:56px; padding:0 18px; border:1px solid rgba(255,255,255,.3); background:rgba(0,0,0,.18); color:#fff; font:inherit; outline:none; }.catalogue-search input::placeholder { color:#aebdb6; }.catalogue-search input:focus { border-color:var(--gold); }
.filter-row { display:flex; gap:9px; flex-wrap:wrap; margin:45px 0 24px; }.filter-button { min-height:40px; padding:0 15px; border:1px solid rgba(255,255,255,.24); border-radius:30px; background:transparent; color:#fff; font-weight:800; cursor:pointer; }.filter-button.active { background:var(--gold); border-color:var(--gold); color:var(--ink); }
.catalogue-result-line { display:flex; justify-content:space-between; gap:25px; padding:17px 0; border-top:1px solid rgba(255,255,255,.18); color:#b9c9c1; font-size:13px; }.catalogue-result-line strong { color:#fff; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:12px; }
.product-card { min-height:350px; display:flex; flex-direction:column; background:var(--cat-card); color:var(--ink); overflow:hidden; }
.product-image { height:190px; position:relative; display:flex; align-items:center; justify-content:center; background:#e8e0d2; overflow:hidden; }.product-image img { width:100%; height:100%; object-fit:contain; transition:transform .35s ease; }.product-card:hover .product-image img { transform:scale(1.035); }.product-image:after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(6,12,9,.62)); pointer-events:none; }
.product-category { position:absolute; z-index:1; left:14px; bottom:10px; color:#fff; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.product-copy { display:flex; flex:1; flex-direction:column; padding:17px; }.product-copy h3 { margin:0 0 13px; font-size:17px; line-height:1.3; }.product-precision { margin:0 0 14px; color:#6f786f; font-size:11px; line-height:1.35; }.product-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; color:#67736d; font-size:11px; }.product-status { color:#1d624b; font-weight:900; }.product-source { display:inline-block; margin-top:10px; color:#315e4d; font-size:10px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.empty-state { padding:50px 0; color:#dce6e1; text-align:center; font-size:20px; }
@media (max-width:1100px) { .category-showcase,.product-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px) { .catalogue-hero { min-height:680px; }.catalogue-toolbar { grid-template-columns:1fr; }.category-showcase,.product-grid { grid-template-columns:repeat(2,1fr); }.catalogue-title { display:block; } }
@media (max-width:620px) { .catalogue-hero { min-height:650px; height:82vh; }.catalogue-hero-copy { margin-left:24px; }.catalogue-hero-shade { background:linear-gradient(90deg,rgba(5,8,6,.95),rgba(5,8,6,.58)); }.category-showcase { grid-template-columns:1fr; }.category-tile { min-height:230px; }.product-grid { grid-template-columns:1fr; }.catalogue-result-line { display:block; }.catalogue-result-line span { display:block; margin-top:6px; }.product-card { min-height:350px; }.product-image { height:220px; } }
