:root{
  --green:#145845;
  --green2:#1a6650;
  --gold:#e2b84f;
  --cream:#fbf8f1;
  --ink:#173b31;
  --muted:#607a70;
  --live-green:#0e503e;
  --live-gold:#dba62f;
  --live-gold-light:#f2ca5b;
}

/* Stage 1 review sheets are portrait product documents; show the full sheet without cropping. */
.catalog-page .shop-card-media{aspect-ratio:3/4;background:#fff}
@media(max-width:520px){.catalog-page .shop-card-media{aspect-ratio:3/4}}

.topbar{background:#0a4032}
.header{background:rgba(14,80,62,.99);border-bottom-color:rgba(242,202,91,.34)}
.btn-gold,.rfq-add,.rfq-floating,.site-nav .nav-quote{background:#e2b84f}
.eyebrow,.hero-stat strong,.catalog-summary strong{color:#f2ca5b}
.card .icon{width:32px;height:32px;border-radius:7px;background:#fbf2d7;color:#a97812;font-size:.9rem}
.process{gap:7px}
.step{padding:8px 11px;font-size:.78rem}
.brand-mark-crop{display:block;flex:0 0 76px;width:76px;height:72px;overflow:hidden}
.brand-logo .brand-mark-crop img{display:block;width:100%!important;max-width:100%!important;height:100%!important;object-fit:contain!important}

/* Compact, consistent page rhythm shared with the product catalogue. */
.page-hero{padding:2.2rem 0}
.page-hero h1{max-width:820px;margin:.3rem 0 .65rem;font-size:clamp(1.8rem,3.8vw,3rem);line-height:1.05}
.page-hero p{max-width:760px;margin:0;font-size:.92rem;line-height:1.55}
.content-section,.section{padding:3.2rem 0}
.section-head{max-width:720px;margin-bottom:1.6rem}
.section-head h2{font-size:clamp(1.55rem,3vw,2.35rem)}
.featured-link{min-height:280px;border-radius:10px}
.featured-link div{padding:1.6rem}
.featured-link h2{font-size:clamp(1.55rem,3vw,2.25rem)}
.hero.live-hero,.hero.live-hero .hero-content{min-height:205px}
.hero.live-hero .hero-content{padding:.65rem 0}
.hero-copy{width:min(610px,64%)}
.hero-brand{padding-bottom:.45rem}
.hero-brand-name{font-size:1.75rem;line-height:.92}
.hero-brand-desc{margin-top:.25rem;font-size:.56rem;letter-spacing:.12em}
.hero-message{margin-top:.42rem}
.hero.live-hero h1{font-size:1.18rem;line-height:1.12;letter-spacing:-.01em}
.hero.live-hero p{margin-top:.24rem;font-size:.68rem}
.hero-actions{gap:.4rem;margin-top:.46rem}
.hero-actions .btn{min-width:105px;padding:.4rem .58rem;border-radius:4px;font-size:.65rem}
.classification-hero{min-height:360px}
.classification-hero .container{padding-bottom:2.5rem}
.classification-hero h1{margin:.35rem 0 .65rem;font-size:clamp(2rem,4.4vw,3.8rem);line-height:1}
.classification-main{padding:3rem 0}
.classification-intro h2{font-size:clamp(1.55rem,3vw,2.25rem)}
.scope-panel{padding:1.25rem;border-radius:10px}
.technical-band{margin-top:2.2rem;padding:1.7rem;border-radius:12px}
.classification-cta{margin-top:2.2rem;padding:1.7rem;border-radius:12px}

.catalog-page .catalog-hero{padding:.72rem 0}
.catalog-page .catalog-hero h1{margin:.15rem 0 0;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.05}
.catalog-page .catalog-hero p{font-size:.82rem;line-height:1.45}
.catalog-page .catalog-section{padding-top:.7rem}
.catalog-page .catalog-intro{display:none}
.catalog-page .catalog-tools{top:83px;margin-bottom:.65rem;padding:.48rem;border-radius:6px;background:#fff;backdrop-filter:none}
.catalog-page .catalog-tools .search{min-height:38px;padding:.55rem .72rem;font-size:.78rem}
.catalog-page .category-options{gap:0}
.catalog-page .category-options .filter{position:relative;min-height:36px;padding:.5rem .72rem;border:0;border-bottom:1px solid #edf0ee;border-radius:0;background:#fff;color:#2b342f;font-size:.78rem;font-weight:600}
.catalog-page .category-options .filter:hover{background:#f5f5f3;color:#145845}
.catalog-page .category-options .filter.active{border-inline-start:3px solid #e2b84f;background:#f0f3f1;color:#145845}
.catalog-page .catalog-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.62rem}
.catalog-page .shop-card{border-radius:7px;box-shadow:0 2px 8px rgba(13,59,46,.055)}
.catalog-page .shop-card-media{aspect-ratio:1/1;background:#fff;border-bottom:1px solid #eef1ef}
.catalog-page .shop-card-body{padding:.55rem}
.catalog-page .shop-card-meta{font-size:.58rem}
.catalog-page .shop-card h2{min-height:2.1em;margin:.3rem 0;font-size:.78rem;line-height:1.18}
.catalog-page .shop-card details{margin:.05rem 0 .32rem;font-size:.66rem}
.catalog-page .price-line{padding-top:.25rem}
.catalog-page .price-line strong{font-size:.82rem}
.catalog-page .price-line span{font-size:.62rem;line-height:1.2}
.catalog-page .shop-actions{grid-template-columns:1fr;gap:.28rem;margin-top:.38rem}
.catalog-page .rfq-add,.catalog-page .shop-wa{min-height:32px;border-radius:5px;padding:.35rem .42rem;font-size:.68rem}
.catalog-page .text-link{margin-top:.35rem;font-size:.68rem}

@media(min-width:1100px){
  .catalog-page main,.catalog-page .footer{margin-inline-start:220px}
  .catalog-page .category-drawer{inset-block:136px 0;width:220px;padding:0;background:#fff;box-shadow:6px 0 18px rgba(0,0,0,.10)}
  .catalog-page .category-drawer-head{top:0;margin:0;padding:.72rem .8rem;background:#145845;font-size:.82rem}
}

@media(max-width:1199px) and (min-width:1100px){.catalog-page .catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1180px){.brand-mark-crop{flex-basis:60px;width:60px;height:58px}}
@media(max-width:1099px) and (min-width:901px){.catalog-page .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){
  .catalog-page .catalog-hero{padding:.6rem 0}
  .catalog-page .catalog-hero p{display:none}
  .catalog-page .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero.live-hero,.hero.live-hero .hero-content{min-height:205px}
  .classification-hero{min-height:320px}
}
@media(max-width:620px){
  .brand-mark-crop{flex-basis:48px;width:48px;height:46px}
  .catalog-page .catalog-hero{display:none}
  .catalog-page .catalog-section{padding-top:.45rem}
  .catalog-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .catalog-page .shop-card h2{font-size:.75rem}
  .hero.live-hero,.hero.live-hero .hero-content{min-height:205px}
  .hero.live-hero .hero-content{padding:.38rem 0}
  .hero-copy{width:100%}
  .hero-brand{padding-bottom:.55rem}
  .hero-brand-name{font-size:1.55rem}
  .hero-brand-desc{font-size:.56rem;letter-spacing:.1em}
  .hero-message{margin-top:.4rem}
  .hero.live-hero h1{font-size:1.05rem;line-height:1.12}
  .hero.live-hero p{font-size:.65rem}
  .hero-actions{max-width:none;flex-direction:row;align-items:center;margin-top:.45rem}
  .hero-actions .btn{min-width:0;padding:.4rem .5rem;font-size:.61rem}
  .content-section,.section{padding:2.35rem 0}
  .classification-hero{min-height:300px}
  .classification-hero .container{padding-bottom:1.8rem}
  .classification-main{padding:2.25rem 0}
}

/* Horizontal classification rail: one row with touch, wheel and mouse-drag scrolling. */
.catalog-page main,.catalog-page .footer{margin-inline-start:0!important}
.catalog-page .category-drawer{
  position:sticky;
  inset:auto!important;
  top:139px!important;
  z-index:42;
  display:block;
  width:100%;
  max-width:none;
  margin:0 0 .72rem;
  padding:.42rem 0;
  overflow:hidden;
  background:#fff;
  box-shadow:0 5px 15px rgba(14,80,62,.08);
  transform:none!important;
}
.catalog-page .category-drawer-head,.catalog-page .category-toggle,.catalog-page .category-backdrop{display:none!important}
.catalog-page .category-rail-shell{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.38rem;
  width:100%;
  padding-inline:.35rem;
}
.catalog-page .category-rail-control{
  min-height:38px;
  padding:.5rem .68rem;
  border:1px solid #145845;
  border-radius:999px;
  background:#145845;
  color:#fff;
  font:inherit;
  font-size:.68rem;
  font-weight:800;
  cursor:pointer;
}
.catalog-page .category-rail-control:hover,.catalog-page .category-rail-control:focus-visible{background:#0e503e;box-shadow:0 0 0 3px rgba(219,166,47,.26)}
.catalog-page .category-rail-control:disabled{border-color:#d5dfda;background:#eef3f0;color:#72847d;box-shadow:none;cursor:not-allowed}
.catalog-page .category-options,
#filters.filters{
  display:flex;
  flex-wrap:nowrap;
  gap:.48rem;
  width:100%;
  padding:.1rem .38rem .45rem;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:#dba62f #eef3f0;
  cursor:grab;
  -webkit-overflow-scrolling:touch;
}
.catalog-page .category-options.is-dragging{cursor:grabbing;user-select:none}
.catalog-page .category-options .filter,
#filters.filters .filter{
  flex:0 0 auto;
  width:auto;
  min-height:38px;
  padding:.52rem .84rem;
  border:1px solid #d5dfda;
  border-radius:999px;
  background:#fff;
  color:#173b31;
  font-size:.76rem;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
  scroll-snap-align:center;
}
.catalog-page .category-options .filter.active,
#filters.filters .filter.active{
  border:1px solid #145845;
  background:#145845;
  color:#fff;
  box-shadow:0 3px 10px rgba(20,88,69,.18);
}
#filters.filters{margin-bottom:1rem}

@media(min-width:1181px){
  .catalog-page .catalog-tools{top:101px}
  .catalog-page .category-drawer{top:157px!important;padding:.42rem 0}
}

/* Mobile feed: one product per viewport with vertical snap scrolling. */
@media(max-width:620px){
  .catalog-page .catalog-tools{position:sticky;top:73px;z-index:44;margin-bottom:.35rem}
  .catalog-page .category-drawer{top:163px!important;margin-bottom:.38rem;padding:.3rem 0}
  .catalog-page .category-rail-shell{gap:.24rem;padding-inline:.2rem}
  .catalog-page .category-rail-control{min-height:34px;padding:.42rem .5rem;font-size:.61rem}
  .catalog-page .category-options{padding-inline:.1rem}
  .catalog-page .catalog-grid{
    display:block;
    height:calc(100dvh - 236px);
    min-height:430px;
    padding:0 .12rem 1px;
    overflow-x:hidden;
    overflow-y:auto;
    scroll-snap-type:y mandatory;
    overscroll-behavior-y:contain;
    scrollbar-width:thin;
    scrollbar-color:#dba62f #eef3f0;
    -webkit-overflow-scrolling:touch;
  }
  .catalog-page .shop-card{
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:430px;
    margin:0 0 .55rem;
    overflow:hidden;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    border:1px solid #dbe4df;
    border-radius:10px;
    box-shadow:0 5px 18px rgba(14,80,62,.09);
  }
  .catalog-page .shop-card-media{
    flex:0 0 53%;
    width:100%;
    min-height:0;
    aspect-ratio:auto;
    background:#fff;
  }
  .catalog-page .shop-card-media img{width:100%;height:100%;object-fit:contain}
  .catalog-page .shop-card-body{flex:1;min-height:0;padding:.65rem .72rem;overflow-y:auto}
  .catalog-page .shop-card h2{min-height:0;font-size:.9rem}
  .catalog-page .shop-card details{font-size:.72rem}
  .catalog-page .price-line strong{font-size:.9rem}
  .catalog-page .shop-actions{grid-template-columns:1fr 1fr}
  .catalog-page .shop-actions .rfq-add{grid-column:auto}
  .catalog-page .shop-actions .shop-wa:only-of-type{grid-column:auto}
  .catalog-page .rfq-add,.catalog-page .shop-wa{min-height:40px;font-size:.7rem}
  .catalog-page .rfq-floating{display:none}
  .catalog-page .load-more-wrap{display:none}
}
