/** Shopify CDN: Minification failed

Line 27:0 All "@import" rules must come first

**/
/* ============================================================
   Infinity Thread — Shared tokens, keyframes, font override
   ============================================================ */

/* --- Brand tokens ----------------------------------------- */
:root {
  --it-red:        #ff3131;
  --it-red-hover:  #ff4747;
  --it-black:      #0a0a0a;
  --it-surface:    #0e0e0e;
  --it-surface2:   #141414;
  --it-border:     #1a1a1a;
  --it-border2:    #1f1f1f;
  --it-text:       #ffffff;
  --it-text-soft:  #cfcfcf;
  --it-text-mute:  #9a9a9a;
  --it-text-dim:   #666666;
  --it-wrap:       1200px;
}

/* --- Font override: force Inter on all .it-* elements ----- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');

.it-header, .it-footer,
.it-hero, .it-collection-cards, .it-trust-badges, .it-about-teaser,
.it-product, .it-collection, .it-custom-order,
.it-cart, .it-search, .it-about-page, .it-policies-page, .it-404 {
  font-family: 'Inter', sans-serif !important;
  background: var(--it-black);
  color: var(--it-text);
  box-sizing: border-box;
}

.it-wrap {
  max-width: var(--it-wrap);
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* --- Buttons ---------------------------------------------- */
.it-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--it-red);
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: .85rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  border: none;
  border-radius: 9px;
  padding: 12px 22px;
  cursor: pointer;
  transition: background .2s, transform .2s;
  text-decoration: none;
}
.it-btn-primary:hover { background: var(--it-red-hover); transform: translateY(-1px); }
.it-btn-primary .it-arrow { transition: transform .2s; }
.it-btn-primary:hover .it-arrow { transform: translateX(4px); }

.it-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: transparent;
  color: var(--it-text-soft);
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: .85rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  border: 1.5px solid #2a2a2a;
  border-radius: 9px;
  padding: 12px 22px;
  cursor: pointer;
  transition: border-color .2s, color .2s, transform .2s;
  text-decoration: none;
}
.it-btn-outline:hover { border-color: var(--it-red); color: var(--it-red); transform: translateY(-1px); }

/* --- Stars ------------------------------------------------- */
.it-stars { display: flex; gap: 2px; }
.it-stars span {
  color: #ff3131;
  font-size: .9rem;
  animation: star-wave 2s ease infinite;
}
.it-stars span:nth-child(1) { animation-delay: 0s; }
.it-stars span:nth-child(2) { animation-delay: .1s; }
.it-stars span:nth-child(3) { animation-delay: .2s; }
.it-stars span:nth-child(4) { animation-delay: .3s; }
.it-stars span:nth-child(5) { animation-delay: .4s; }

/* --- Divider ---------------------------------------------- */
.it-stitch-rule {
  border: none;
  border-top: 2px dashed var(--it-border);
  animation: stitch-flow 3s linear infinite;
  background: none;
  margin: 0;
}

/* ============================================================
   KEYFRAMES — complete library
   ============================================================ */

@keyframes pulse-soft {
  0%, 100% { opacity: .5; }
  50%       { opacity: 1; }
}

@keyframes star-wave {
  0%, 100% { transform: scale(1); opacity: .7; }
  50%       { transform: scale(1.2); opacity: 1; }
}

@keyframes tick-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes truck-bob {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-1px); }
}

@keyframes road-move {
  from { stroke-dashoffset: 0; }
  to   { stroke-dashoffset: -24; }
}

@keyframes ring-grow {
  0%, 100% { transform: scale(1);    opacity: .35; }
  50%       { transform: scale(1.12); opacity: .6; }
}

@keyframes stitch-glow {
  0%, 100% { opacity: .3; }
  50%       { opacity: .8; }
}

@keyframes stitch-flow {
  from { stroke-dashoffset: 0; }
  to   { stroke-dashoffset: -24; }
}

@keyframes check-draw {
  from { stroke-dashoffset: 40; }
  to   { stroke-dashoffset: 0; }
}

@keyframes spool-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes plus-pulse {
  0%, 100% { transform: scale(1);    opacity: .7; }
  50%       { transform: scale(1.15); opacity: 1; }
}

@keyframes icon-pulse {
  0%, 100% { transform: scale(1); }
  50%       { transform: scale(1.06); }
}

@keyframes dot-blink {
  0%, 100% { opacity: .35; }
  50%       { opacity: 1; }
}

@keyframes shutter-blink {
  0%, 90%, 100% { opacity: 1; }
  95%            { opacity: .3; }
}

@keyframes inbox-bob {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-2px); }
}

@keyframes arrow-step {
  0%   { opacity: 0; transform: translateX(-6px); }
  20%  { opacity: 1; transform: translateX(0); }
  80%  { opacity: 1; }
  100% { opacity: 0; transform: translateX(4px); }
}

@keyframes quote-glow {
  0%, 100% { opacity: .4; transform: scale(1); }
  50%       { opacity: 1;  transform: scale(1.1); }
}

@keyframes cart-dot-pulse {
  0%, 100% { transform: scale(1); }
  50%       { transform: scale(1.3); }
}

@keyframes zero-breathe {
  0%, 100% { transform: scale(1); }
  50%       { transform: scale(1.05); }
}

@keyframes drop-sway {
  0%, 100% { transform: rotate(-6deg); }
  50%       { transform: rotate(6deg); }
}

@keyframes thumb-glow {
  0%, 100% { box-shadow: 0 0 0 2px transparent; }
  50%       { box-shadow: 0 0 0 2px var(--it-red); }
}

@keyframes floor-breathe {
  0%, 100% { transform: scale(1); }
  50%       { transform: scale(1.025); }
}

@keyframes wrist-breathe {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-2px); }
}

@keyframes mouse-bob {
  0%, 100% { transform: translateX(0); }
  50%       { transform: translateX(-3px); }
}

/* ============================================================
   Scroll reveal — applied via JS
   ============================================================ */
.it-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}
.it-reveal.it-in {
  opacity: 1;
  transform: translateY(0);
}
.it-reveal-child {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.it-reveal.it-in .it-reveal-child {
  opacity: 1;
  transform: translateY(0);
}

/* ============================================================
   Card shimmer hover overlay
   ============================================================ */
.it-collection-cards__card::after,
.it-collection__card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.04) 0%, transparent 60%);
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none;
  border-radius: inherit;
}
.it-collection-cards__card:hover::after,
.it-collection__card:hover::after {
  opacity: 1;
}

/* ── Home "image with text": button below image on mobile ──
   The native section nests the button inside the text group, so on mobile we
   dissolve the group wrappers (display:contents) and push the button to the end,
   landing it below the image. Targets the home page image-with-text section IDs. */
@media (max-width: 749px) {
  #shopify-section-section_Ci9eMH .group-block,
  #shopify-section-section_Ci9eMH .group-block-content,
  #shopify-section-section_QktLbT .group-block,
  #shopify-section-section_QktLbT .group-block-content {
    display: contents;
  }
  #shopify-section-section_Ci9eMH .group-block__media-wrapper,
  #shopify-section-section_QktLbT .group-block__media-wrapper {
    display: none;
  }
  #shopify-section-section_Ci9eMH .group-block-content > .button,
  #shopify-section-section_QktLbT .group-block-content > .button {
    order: 1;
  }
}

/* ── Animated heading on the home top "Image with text" (native section) ──
   Targets the h3 text block inside section_Ci9eMH. Red "shine" sweeps across
   the white text on a loop, and each line rises/fades in once on load. */
#shopify-section-section_Ci9eMH .text-block.h3 p {
  background: linear-gradient(
    100deg,
    #ffffff 0%, #ffffff 42%,
    var(--it-red-hover, #ff4747) 50%,
    #ffffff 58%, #ffffff 100%
  );
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #fff;
  animation:
    it-nat-rise .85s cubic-bezier(.2,.7,.2,1) both,
    it-nat-shine 7s linear 1s infinite;
}
#shopify-section-section_Ci9eMH .text-block.h3 p:nth-child(2) {
  animation-delay: .18s, 1.2s;
}
@keyframes it-nat-rise {
  from { opacity: 0; transform: translateY(22px); filter: blur(4px); }
  to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
}
@keyframes it-nat-shine {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@media (prefers-reduced-motion: reduce) {
  #shopify-section-section_Ci9eMH .text-block.h3 p {
    animation: none;
    -webkit-text-fill-color: #fff;
  }
}

/* ── Animated product benefit headline (red shine sweep + fade-up) ──
   Sync-proof copy so the effect shows even if the section CSS lags. */
.it-product__benefit-headline {
  background: linear-gradient(
    100deg,
    #ffffff 0%, #ffffff 42%,
    var(--it-red-hover, #ff4747) 50%,
    #ffffff 58%, #ffffff 100%
  );
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #fff;
  animation:
    it-nat-rise .85s cubic-bezier(.2,.7,.2,1) both,
    it-nat-shine 7s linear 1s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .it-product__benefit-headline {
    animation: none;
    -webkit-text-fill-color: #fff;
  }
}

/* ── Animated product description blurb (same red shine sweep + fade-up) ── */
.it-product__blurb p {
  background: linear-gradient(
    100deg,
    #ffffff 0%, #ffffff 42%,
    var(--it-red-hover, #ff4747) 50%,
    #ffffff 58%, #ffffff 100%
  );
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #fff;
  animation:
    it-nat-rise .85s cubic-bezier(.2,.7,.2,1) both,
    it-nat-shine 7s linear 1.2s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .it-product__blurb p {
    animation: none;
    -webkit-text-fill-color: var(--it-text-mute);
  }
}
