.elementor-42 .elementor-element.elementor-element-4d31473{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-42 .elementor-element.elementor-element-cdf98da{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-42 .elementor-element.elementor-element-b2f4bb0{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-42 .elementor-element.elementor-element-52c1a4c{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-42 .elementor-element.elementor-element-bb00685{--display:flex;}.elementor-42 .elementor-element.elementor-element-086299f{--display:flex;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-42 .elementor-element.elementor-element-9ac41a2{--grid-columns:1;--grid-row-gap:0px;}.elementor-42 .elementor-element.elementor-element-3897a9b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1024px){.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-42 .elementor-element.elementor-element-9ac41a2{--grid-columns:2;}}@media(max-width:767px){.elementor-42 .elementor-element.elementor-element-52c1a4c{--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-42 .elementor-element.elementor-element-9ac41a2{--grid-columns:1;}}/* Start custom CSS for html, class: .elementor-element-81f905f */.elementor-42 .elementor-element.elementor-element-81f905f .cac-hero{position:relative;background:#0B0C0C;isolation:isolate}

.elementor-42 .elementor-element.elementor-element-81f905f .cac-hero__img{
  width:100%;
  height:clamp(420px,62vh,600px);
  object-fit:cover;
  object-position:center 42%;
  display:block;
}

/* Directional scrim, dark at the left where the type sits, nearly clear at
   the right so the rack stays readable. A flat overlay across the whole
   frame mutes the photograph and buys no extra contrast where it matters. */
.elementor-42 .elementor-element.elementor-element-81f905f .cac-hero__scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,
    rgba(8,9,9,.88) 0%,
    rgba(8,9,9,.72) 26%,
    rgba(8,9,9,.42) 54%,
    rgba(8,9,9,.10) 100%);
}

/* Second, very soft pass from the bottom. Stops the buttons floating on a
   light patch if the photo is ever swapped for a brighter frame. */
.elementor-42 .elementor-element.elementor-element-81f905f .cac-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:150px;z-index:1;
  background:linear-gradient(transparent,rgba(8,9,9,.45));pointer-events:none;
}

.elementor-42 .elementor-element.elementor-element-81f905f .cac-hero__inner{
  position:absolute;inset:0;z-index:2;
  display:flex;align-items:center;
}
/* width:100% is load bearing. The inner is a flex row, and a flex child
   with no width shrinks to fit its content; the wrap would then be the
   width of the headline and margin auto would centre it in the viewport
   instead of aligning to the 1360px grid. */
.elementor-42 .elementor-element.elementor-element-81f905f .cac-hero__inner .cac-wrap{width:100%}

.elementor-42 .elementor-element.elementor-element-81f905f .cac-hero__title{
  font-family:var(--cac-display);
  font-weight:700;
  font-size:clamp(30px,4.2vw,54px);
  line-height:1.06;
  letter-spacing:-.022em;
  color:#fff;
  max-width:17ch;
  margin:0;
  text-wrap:balance;
}

.elementor-42 .elementor-element.elementor-element-81f905f .cac-hero__lede{
  margin:14px 0 0;
  max-width:44ch;
  font-family:var(--cac-body);
  font-size:16.5px;
  line-height:1.55;
  color:#DDDEDA;
}

.elementor-42 .elementor-element.elementor-element-81f905f .cac-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

@media(max-width:1000px){
  .elementor-42 .elementor-element.elementor-element-81f905f .cac-hero__img{height:clamp(380px,54vh,520px)}
}
@media(max-width:680px){
  .elementor-42 .elementor-element.elementor-element-81f905f .cac-hero__img{height:440px;object-position:58% 42%}
  .elementor-42 .elementor-element.elementor-element-81f905f .cac-hero__title{font-size:28px;max-width:none}
  .elementor-42 .elementor-element.elementor-element-81f905f .cac-hero__lede{font-size:15.5px}
  .elementor-42 .elementor-element.elementor-element-81f905f .cac-hero__cta .cac-btn{flex:1 1 100%}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cdf98da */.elementor-42 .elementor-element.elementor-element-cdf98da .cac-line{
  background:#141412;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:0;
}
.elementor-42 .elementor-element.elementor-element-cdf98da .cac-line p{
  margin:0;
  padding:16px 0;
  text-align:center;
  font-family:var(--cac-body);
  font-size:13.5px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fff;
}
@media(max-width:680px){
  .elementor-42 .elementor-element.elementor-element-cdf98da .cac-line p{font-size:11.5px;letter-spacing:.1em;padding:13px 16px}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1bc967a */.elementor-42 .elementor-element.elementor-element-1bc967a .cac-cats{padding:38px 0 10px}
.elementor-42 .elementor-element.elementor-element-1bc967a .cac-catrow{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
.elementor-42 .elementor-element.elementor-element-1bc967a .cac-tile{position:relative;display:block;overflow:hidden;background:#111}
.elementor-42 .elementor-element.elementor-element-1bc967a .cac-tile img{
  width:100%;height:184px;object-fit:cover;
  opacity:.88;transition:transform .4s ease-out,opacity .3s ease;
}
.elementor-42 .elementor-element.elementor-element-1bc967a .cac-tile:hover img{transform:scale(1.05);opacity:1}
.elementor-42 .elementor-element.elementor-element-1bc967a .cac-tile__label{
  position:absolute;left:0;right:0;bottom:0;
  padding:14px 16px;
  color:#fff;
  font-family:var(--cac-body);
  font-size:15px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  background:linear-gradient(0deg,rgba(8,9,8,.86),rgba(8,9,8,0));
}

/* tablet: 3x2 so tiles don't get too narrow */
@media(max-width:1100px){
  .elementor-42 .elementor-element.elementor-element-1bc967a .cac-catrow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .elementor-42 .elementor-element.elementor-element-1bc967a .cac-tile img{height:160px}
}

/* mobile: stacked, one per row */
@media(max-width:680px){
  .elementor-42 .elementor-element.elementor-element-1bc967a .cac-cats{padding:28px 0 6px}
  .elementor-42 .elementor-element.elementor-element-1bc967a .cac-cats .cac-wrap{padding:0 16px}
  .elementor-42 .elementor-element.elementor-element-1bc967a .cac-catrow{grid-template-columns:1fr;gap:12px}
  .elementor-42 .elementor-element.elementor-element-1bc967a .cac-tile img{height:170px}
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-9ac41a2 *//* grid becomes a snap rail. Four cards and a peek at desktop; the peek is
   the scroll cue, same as the category tiles. */
.elementor-42 .elementor-element.elementor-element-9ac41a2 .elementor-loop-container{
  display:grid;
  grid-template-columns:none;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 3*20px)/4.25);
  gap:20px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  padding-bottom:6px;
  -webkit-overflow-scrolling:touch;
}
.elementor-42 .elementor-element.elementor-element-9ac41a2 .elementor-loop-container::-webkit-scrollbar{display:none}
.elementor-42 .elementor-element.elementor-element-9ac41a2 .elementor-loop-container > *{
  scroll-snap-align:start;
  width:auto;max-width:none;
}

@media(max-width:1000px){
  .elementor-42 .elementor-element.elementor-element-9ac41a2 .elementor-loop-container{grid-auto-columns:calc((100% - 20px)/2.2)}
}
@media(max-width:680px){
  .elementor-42 .elementor-element.elementor-element-9ac41a2 .elementor-loop-container{grid-auto-columns:78%}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-52c1a4c *//* full-bleed gradient band behind header + product rail */
.elementor-42 .elementor-element.elementor-element-52c1a4c{
  background:linear-gradient(135deg,#1e1e1a 0%,#33332c 55%,#4a4a40 100%);
  padding-top:48px;padding-bottom:52px;
}

/* header flips to light-on-dark */
.elementor-42 .elementor-element.elementor-element-52c1a4c .cac-sechead h2{color:#fff}
.elementor-42 .elementor-element.elementor-element-52c1a4c .cac-link{color:#b7c383}
.elementor-42 .elementor-element.elementor-element-52c1a4c .cac-link:hover{color:#fff}

/* arrows: ghost buttons on the gradient */
.elementor-42 .elementor-element.elementor-element-52c1a4c .cac-railbtn{
  background:transparent;
  border-color:rgba(255,255,255,.28);
  color:#fff;
}
.elementor-42 .elementor-element.elementor-element-52c1a4c .cac-railbtn:hover{border-color:#fff}
.elementor-42 .elementor-element.elementor-element-52c1a4c .cac-railbtn:disabled{
  color:rgba(255,255,255,.25);
  border-color:rgba(255,255,255,.12);
}

/* white cards pop on the dark ground; drop their border, it reads as grey fuzz on dark */
.elementor-42 .elementor-element.elementor-element-52c1a4c .e-loop-item{border:0}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-035239f */.elementor-42 .elementor-element.elementor-element-035239f .cac-direct{
  background:var(--cac-tint);
  border-top:1px solid var(--cac-rule);
  border-bottom:1px solid var(--cac-rule);
}

.elementor-42 .elementor-element.elementor-element-035239f .cac-direct__in{
  max-width:1360px;margin:0 auto;
  display:grid;grid-template-columns:1.15fr .85fr;
  align-items:stretch;
}

.elementor-42 .elementor-element.elementor-element-035239f .cac-direct__pic{position:relative;min-height:380px}
.elementor-42 .elementor-element.elementor-element-035239f .cac-direct__pic img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
}

.elementor-42 .elementor-element.elementor-element-035239f .cac-direct__txt{
  padding:56px 28px 56px 48px;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
}
.elementor-42 .elementor-element.elementor-element-035239f .cac-direct__txt h2{
  font-family:var(--cac-display);font-weight:700;
  font-size:clamp(24px,2.8vw,34px);letter-spacing:-.02em;line-height:1.08;
  margin:0 0 14px;color:var(--cac-ink);
}
.elementor-42 .elementor-element.elementor-element-035239f .cac-direct__txt > p{
  margin:0;max-width:46ch;color:var(--cac-ink-2);
  font-family:var(--cac-body);font-size:16px;line-height:1.6;
}

.elementor-42 .elementor-element.elementor-element-035239f .cac-direct__txt dl{margin:24px 0 28px;width:100%;border-top:1px solid var(--cac-rule-2)}
.elementor-42 .elementor-element.elementor-element-035239f .cac-direct__row{
  display:grid;grid-template-columns:120px 1fr;gap:18px;
  padding:12px 0;border-bottom:1px solid var(--cac-rule-2);margin:0;
}
.elementor-42 .elementor-element.elementor-element-035239f .cac-direct__row dt{
  font-family:var(--cac-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--cac-mute);padding-top:3px;
}
.elementor-42 .elementor-element.elementor-element-035239f .cac-direct__row dd{
  margin:0;font-family:var(--cac-body);font-size:15px;color:var(--cac-ink);
}

@media(max-width:1000px){
  .elementor-42 .elementor-element.elementor-element-035239f .cac-direct__in{grid-template-columns:1fr}
  .elementor-42 .elementor-element.elementor-element-035239f .cac-direct__pic{min-height:260px}
  .elementor-42 .elementor-element.elementor-element-035239f .cac-direct__txt{padding:40px 28px}
}
@media(max-width:680px){
  .elementor-42 .elementor-element.elementor-element-035239f .cac-direct__row{grid-template-columns:96px 1fr;gap:12px}
  .elementor-42 .elementor-element.elementor-element-035239f .cac-direct__txt .cac-btn{width:100%}
}/* End custom CSS */