.catalog-header{padding-top:clamp(2.75rem,5vw,4.5rem);padding-bottom:clamp(1.7rem,3vw,2.6rem);background:linear-gradient(120deg,#f0f6fb,#f9fbfd)}
.catalog-header-inner{max-width:1160px;margin:auto}
.catalog-header h1{max-width:680px;color:#091a35}
.catalog-header-inner>p:last-child{max-width:640px;margin:.85rem 0 0;color:#52647c}
.catalog-filters{display:grid;grid-template-columns:minmax(180px,1.6fr) repeat(3,minmax(135px,1fr)) auto;align-items:end;gap:.75rem;max-width:1160px;margin:2rem auto 0}
.catalog-filters label{min-width:0;color:#344960;font-size:.72rem;font-weight:750;letter-spacing:.02em}
.catalog-filters input,.catalog-filters select{width:100%;min-width:0;min-height:43px;border:1px solid #cad9e6;border-radius:6px;background:#fff;color:#102b45;font-size:.85rem;font-weight:400}
.catalog-filters input:focus,.catalog-filters select:focus{outline:2px solid var(--reef-primary);outline-offset:1px}
.catalog-filters .button{min-height:43px;white-space:nowrap}
.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(.75rem,1.5vw,1.25rem);max-width:1440px;margin-inline:auto}
.catalog-product-card{display:block;height:100%;min-width:0;border:1px solid #dce7f0;border-radius:9px;background:#fff;overflow:hidden;box-shadow:0 4px 18px #071a3509;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.catalog-product-card:hover,.catalog-product-card:focus-within{transform:translateY(-3px);border-color:#a7cce7;box-shadow:0 12px 28px #071a3517}
.catalog-product-trigger{display:flex;width:100%;min-height:100%;flex-direction:column;padding:0;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}
.catalog-product-trigger:focus-visible{outline:3px solid var(--reef-primary);outline-offset:-3px}
.catalog-product-image{display:grid;width:100%;aspect-ratio:4/3;height:auto;place-items:center;padding:clamp(1rem,1.6vw,1.5rem);overflow:hidden;background:#f5f8fb}
.catalog-product-image img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;padding:0;object-fit:contain;object-position:center;mix-blend-mode:normal;transition:transform .2s ease}
.catalog-product-card:hover .catalog-product-image img{transform:scale(1.01)}
.catalog-product-info{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:.3rem;width:100%;padding:1rem 1.1rem 1.05rem}
.catalog-product-info>strong{color:#10243e;font-size:1rem;line-height:1.28}
.catalog-product-brand{color:var(--reef-primary);font-size:.78rem;font-weight:750}
.catalog-product-info>small{color:#65788d;font-size:.75rem;line-height:1.3}
.catalog-product-action{display:inline-flex;align-items:center;gap:.35rem;margin-top:auto;padding-top:.75rem;color:var(--reef-primary);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.catalog-product-action .icon{width:14px;height:14px}
.catalog-grid .empty-state{grid-column:1/-1}
.technology-card[data-product-dialog]{width:100%;border:0;font:inherit;text-align:left;cursor:pointer}
.product-dialog{width:min(900px,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);padding:0;border:1px solid #d8e6f0;border-radius:12px;background:#fff;color:#10243e;box-shadow:0 25px 80px #001a3760;overflow:auto}
.product-dialog::backdrop{background:rgba(2,13,31,.78)}
.product-dialog-panel{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);position:relative}
.product-dialog-close{position:absolute;z-index:2;top:.65rem;right:.7rem;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#e9f3fa;color:#0b4168;font-size:1.65rem;line-height:1;cursor:pointer}
.product-dialog-close:focus-visible{outline:3px solid var(--reef-primary);outline-offset:2px}
.product-dialog-image{display:grid;place-items:center;min-height:330px;max-height:calc(100dvh - 2rem);padding:clamp(1rem,3vw,2rem);background:#f4f8fb}
.product-dialog-image img{display:block;width:100%;height:auto;max-width:100%;max-height:min(450px,calc(100dvh - 6rem));object-fit:contain}
.product-dialog-copy{min-width:0;padding:clamp(1.5rem,3vw,2.5rem);padding-right:clamp(2rem,4vw,3.25rem);overflow-wrap:anywhere}
.product-dialog-copy .eyebrow{margin:0 0 .45rem}
.product-dialog-copy h2{margin:0 0 1rem;font-size:clamp(1.65rem,2.5vw,2.4rem);line-height:1.1;letter-spacing:-.045em}
.product-dialog-reference{margin:.15rem 0;color:#687b8c;font-size:.78rem}
.product-dialog-summary{margin:1rem 0;color:#344960;font-weight:650}
.product-dialog-description{color:#42576c;font-size:.92rem;line-height:1.6}
.product-dialog-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.1rem 0}
.product-dialog-tags span{padding:.3rem .6rem;border-radius:3px;background:#eaf4fb;color:#126a9e;font-size:.72rem;font-weight:750}
.product-dialog-applications{color:#42576c;font-size:.86rem}
.product-dialog-details{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #dce7f0}
.product-dialog-details h3{margin:0 0 .7rem;font-size:.95rem}
.product-dialog-details dl{grid-template-columns:minmax(90px,max-content) minmax(0,1fr);gap:.3rem .8rem;font-size:.82rem}
.product-dialog-details dd{margin:0;color:#52647c}
.product-dialog-details p{margin:.35rem 0;font-size:.83rem}
.product-dialog-details a{color:var(--reef-primary)}
@media(max-width:1100px){.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filters .button{width:max-content}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-dialog-panel{grid-template-columns:1fr}.product-dialog-image{min-height:0;max-height:none;aspect-ratio:4/3;padding:1.5rem}.product-dialog-image img{max-height:min(280px,34dvh)}.product-dialog-copy{padding:1.25rem 1.4rem 1.7rem}}
@media(max-width:480px){.catalog-filters{grid-template-columns:1fr}.catalog-filters .button{width:100%}.catalog-grid{gap:.65rem;padding-inline:.85rem}.catalog-product-info{padding:.8rem}.catalog-product-info>strong{font-size:.86rem}.catalog-product-brand,.catalog-product-info>small{font-size:.69rem}.catalog-product-action{font-size:.63rem}.product-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}}
@media(max-width:360px){.catalog-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.catalog-product-card,.catalog-product-image img{transition:none}}
.catalog-product-image{padding:clamp(1.3rem,1.8vw,1.7rem)}
.catalog-product-image img{max-width:86%;max-height:82%}
.catalog-header{position:relative;isolation:isolate;background:linear-gradient(100deg,rgba(3,16,37,.96) 0%,rgba(3,16,37,.88) 48%,rgba(3,16,37,.48) 100%),url('/static/images/hero/reef-tank.jpg') center 47%/cover no-repeat;color:#fff}
.catalog-header .eyebrow{color:#53c3ff}
.catalog-header h1{color:#fff}
.catalog-header-inner>p:last-child{color:#d7e3f0}
.catalog-filters{padding:1rem;border:1px solid #ffffff30;border-radius:8px;background:rgba(3,18,42,.56);backdrop-filter:blur(8px)}
.catalog-filters label{color:#f4f8fc}
.catalog-pagination{display:flex;max-width:1250px;align-items:center;justify-content:space-between;gap:1rem;margin:0 auto 2rem;padding:.85rem clamp(1.25rem,5vw,5rem);border-top:1px solid #e1e9f0}
.catalog-pagination-count{margin:0;color:#65788d;font-size:.86rem}
.catalog-pagination-count strong{color:#10243e;font-size:1rem}
.catalog-pagination-actions{display:flex;align-items:center;gap:.45rem}
.catalog-page-link,.catalog-page-current{display:inline-flex;min-width:40px;min-height:40px;align-items:center;justify-content:center;gap:.45rem;padding:.5rem .8rem;border:1px solid #d5e2ec;border-radius:5px;font-size:.78rem;font-weight:750;text-decoration:none}
.catalog-page-link{background:#fff;color:var(--reef-primary);transition:background .18s ease,border-color .18s ease,color .18s ease}
.catalog-page-link:hover,.catalog-page-link:focus-visible{border-color:#128cda;background:#f0f8fe;color:#075f99}
.catalog-page-current{border-color:var(--reef-primary);background:var(--reef-primary);color:#fff}
@media(max-width:600px){.catalog-filters{padding:.8rem}.catalog-pagination{align-items:flex-start;flex-direction:column;margin-bottom:1rem}.catalog-pagination-actions{width:100%;justify-content:space-between}.catalog-page-link{flex:1}}
@media(max-width:600px){.catalog-header-inner,.catalog-filters{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.catalog-filters{grid-template-columns:minmax(0,1fr)}.catalog-grid{grid-template-columns:minmax(0,1fr)}}
