@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Bricolage+Grotesque:opsz,wght@12..96,400..800&family=DM+Sans:opsz,wght@9..40,400..800&family=Fraunces:opsz,wght@9..144,600..900&display=swap');

/* FLOMM USA — visual experience layer. Content and commerce data remain untouched. */
:root{
  --vfx-ink:#10142b;
  --vfx-cream:#fff8ec;
  --vfx-hot:#ff3f83;
  --vfx-sun:#ffd43b;
  --vfx-mint:#35e0c1;
  --vfx-blue:#4d65ff;
  --vfx-purple:#8b5cf6;
  --vfx-orange:#ff7043;
  --vfx-display:"Bricolage Grotesque",Impact,"Arial Black",sans-serif;
  --vfx-body:"DM Sans",Inter,system-ui,sans-serif;
  --vfx-serif:"Fraunces",Georgia,serif;
  --vfx-condensed:"Bebas Neue",Impact,sans-serif;
  --vfx-radius:34px;
  --vfx-ease:cubic-bezier(.2,.85,.2,1);
}

body.visual-upgrade{
  --theme-a:var(--vfx-hot);
  --theme-b:var(--vfx-mint);
  --theme-c:var(--vfx-sun);
  --theme-deep:var(--vfx-ink);
  font-family:var(--vfx-body);
  background-color:var(--vfx-cream);
  background-image:
    radial-gradient(circle at var(--mouse-x,10%) var(--mouse-y,12%),color-mix(in srgb,var(--theme-b) 16%,transparent),transparent 24rem),
    radial-gradient(circle at 88% 6%,color-mix(in srgb,var(--theme-a) 12%,transparent),transparent 26rem);
}
body.visual-upgrade[data-visual-theme="jerga"]{--theme-a:#ff4f87;--theme-b:#28dfcb;--theme-c:#ffd23f;--theme-deep:#10223c}
body.visual-upgrade[data-visual-theme="sherpa-jorongo"]{--theme-a:#ff713c;--theme-b:#8d68ff;--theme-c:#ffd45d;--theme-deep:#24143c}
body.visual-upgrade[data-visual-theme="hoodie"]{--theme-a:#ff4a95;--theme-b:#38d9d2;--theme-c:#ffc947;--theme-deep:#172040}
body.visual-upgrade[data-visual-theme="sherpa-vest"]{--theme-a:#f24f5d;--theme-b:#ffbf38;--theme-c:#48d7c2;--theme-deep:#312034}
body.visual-upgrade[data-visual-theme="economy-sweater"]{--theme-a:#4169e1;--theme-b:#ffd43b;--theme-c:#ff6c76;--theme-deep:#101c42}
body.visual-upgrade[data-visual-theme="light-jorongo"]{--theme-a:#47c96e;--theme-b:#ff5d8f;--theme-c:#ffd15a;--theme-deep:#18372c}
body.visual-upgrade[data-visual-theme="guayabera"]{--theme-a:#21c7c4;--theme-b:#ffca3a;--theme-c:#ff6f61;--theme-deep:#123b4b}
body.visual-upgrade[data-visual-theme="apron"]{--theme-a:#ff7a37;--theme-b:#4e72ff;--theme-c:#ffd843;--theme-deep:#212e52}
body.visual-upgrade[data-visual-theme="denim"]{--theme-a:#3159c9;--theme-b:#ffcf43;--theme-c:#fe5f75;--theme-deep:#101f46}
body.visual-upgrade[data-visual-theme="dress"]{--theme-a:#ff4da6;--theme-b:#9b5de5;--theme-c:#ffd166;--theme-deep:#391f4d}
body.visual-upgrade[data-visual-theme="chest-harness"]{--theme-a:#92d83e;--theme-b:#4672ff;--theme-c:#ff8d45;--theme-deep:#183548}
body.visual-upgrade[data-visual-theme="harness"]{--theme-a:#ff7043;--theme-b:#35c3b3;--theme-c:#ffd23f;--theme-deep:#26333d}
body.visual-upgrade[data-visual-theme="bandanas"]{--theme-a:#e83e8c;--theme-b:#ffd33d;--theme-c:#4bd6c9;--theme-deep:#3a1637}

body.visual-upgrade::after{
  content:"";position:fixed;inset:0;z-index:99999;pointer-events:none;opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
body.visual-upgrade main,body.visual-upgrade footer,body.visual-upgrade header{position:relative}
body.visual-upgrade h1,body.visual-upgrade h2,body.visual-upgrade h3{font-family:var(--vfx-display);letter-spacing:-.035em}
body.visual-upgrade button,body.visual-upgrade a{tap-highlight-color:transparent}

.vfx-stage{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.vfx-stage i{position:absolute;width:clamp(10px,1.5vw,24px);aspect-ratio:1;border:2px solid color-mix(in srgb,var(--theme-a) 55%,transparent);border-radius:5px;opacity:.38;animation:vfxDrift var(--dur,13s) ease-in-out infinite alternate;transform:rotate(var(--rot,10deg))}
.vfx-stage i:nth-child(3n){border-radius:50%;background:color-mix(in srgb,var(--theme-b) 17%,transparent)}
.vfx-stage i:nth-child(4n){width:42px;clip-path:polygon(50% 0,62% 35%,100% 50%,62% 65%,50% 100%,38% 65%,0 50%,38% 35%);border:0;background:color-mix(in srgb,var(--theme-c) 45%,transparent)}
@keyframes vfxDrift{0%{translate:0 0;rotate:0deg}50%{translate:24px -40px;rotate:75deg}100%{translate:-18px 28px;rotate:150deg}}

.vfx-reveal{opacity:0;transform:translateY(38px) scale(.985);filter:blur(7px);transition:opacity .8s var(--vfx-ease),transform .85s var(--vfx-ease),filter .85s var(--vfx-ease);transition-delay:calc(var(--vfx-i,0) * 55ms)}
.vfx-reveal.vfx-in{opacity:1;transform:none;filter:none}
.vfx-reveal.vfx-left{transform:translateX(-48px) rotate(-1.5deg)}
.vfx-reveal.vfx-right{transform:translateX(48px) rotate(1.5deg)}
.vfx-reveal.vfx-left.vfx-in,.vfx-reveal.vfx-right.vfx-in{transform:none}

.vfx-ripple{position:absolute;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.6);transform:translate(-50%,-50%) scale(0);animation:vfxRipple .7s ease-out forwards}
@keyframes vfxRipple{to{transform:translate(-50%,-50%) scale(10);opacity:0}}
@keyframes vfxHue{to{filter:hue-rotate(360deg)}}
@keyframes vfxFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes vfxPulse{0%,100%{scale:1}50%{scale:1.055}}
@keyframes vfxSweep{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes vfxSpin{to{rotate:360deg}}
@keyframes vfxDash{to{stroke-dashoffset:-40}}

/* HOME PAGE */
body.visual-home .site-header{
  border-bottom:2px solid color-mix(in srgb,var(--vfx-ink) 14%,transparent);
  background:color-mix(in srgb,#fff8ed 82%,transparent);
  box-shadow:0 12px 40px rgba(16,20,43,.08);
}
body.visual-home .site-header::after{content:"";position:absolute;left:clamp(18px,4vw,64px);right:clamp(18px,4vw,64px);bottom:-2px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--vfx-hot),var(--vfx-sun),var(--vfx-mint),var(--vfx-blue),var(--vfx-hot));background-size:240% 100%;animation:vfxSweep 6s linear infinite;opacity:.9}
body.visual-home .brand img{filter:drop-shadow(0 8px 10px rgba(255,63,131,.22))}
body.visual-home .main-nav a{font-family:var(--vfx-display);font-weight:800;letter-spacing:.015em}
body.visual-home .cart-trigger{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--vfx-ink),#272f58);box-shadow:5px 5px 0 var(--vfx-hot)}
body.visual-home .cart-trigger::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);translate:-130% 0;transition:translate .7s}
body.visual-home .cart-trigger:hover::before{translate:130% 0}

body.visual-home .hero{isolation:isolate;overflow:hidden;background:
  radial-gradient(circle at 6% 8%,rgba(255,209,102,.72),transparent 19rem),
  radial-gradient(circle at 92% 14%,rgba(67,230,210,.46),transparent 25rem),
  linear-gradient(124deg,#fff8ed 0 51%,#f0fff9 51% 68%,#fff0f6 68%)}
body.visual-home .hero::before{content:"";position:absolute;width:70vw;height:70vw;max-width:950px;max-height:950px;right:-28vw;top:-34vw;border:2px dashed rgba(16,20,43,.16);border-radius:50%;animation:vfxSpin 42s linear infinite;z-index:-1}
body.visual-home .hero::after{content:"";position:absolute;left:-6vw;bottom:-5vw;width:26vw;height:14vw;background:repeating-linear-gradient(135deg,var(--vfx-hot) 0 8px,transparent 8px 22px);opacity:.08;rotate:-8deg;z-index:-1}
body.visual-home .hero-copy h1{font-size:clamp(3.7rem,8.8vw,9.5rem);line-height:.82;max-width:11ch;text-wrap:balance;text-shadow:4px 5px 0 rgba(255,255,255,.8)}
body.visual-home .hero-copy h1 .accent{font-family:var(--vfx-serif);font-style:italic;font-weight:800;color:var(--vfx-hot);filter:drop-shadow(3px 4px 0 var(--vfx-sun))}
body.visual-home .hero-copy h1 .underlined{text-decoration-thickness:.09em;text-decoration-color:var(--vfx-mint);text-underline-offset:.12em}
body.visual-home .eyebrow{background:#fff;border:2px solid var(--vfx-ink);box-shadow:5px 5px 0 var(--vfx-sun);rotate:-1deg}
body.visual-home .hero-lead{max-width:630px;padding:18px 22px;border-left:7px solid var(--vfx-mint);border-radius:0 20px 20px 0;background:rgba(255,255,255,.68);backdrop-filter:blur(8px)}
body.visual-home .button{overflow:hidden;isolation:isolate;box-shadow:6px 6px 0 var(--vfx-ink)}
body.visual-home .button::after{content:"";position:absolute;inset:-3px;z-index:-1;background:linear-gradient(120deg,var(--vfx-hot),var(--vfx-sun),var(--vfx-mint));opacity:0;transition:.35s}
body.visual-home .button:hover::after{opacity:1}
body.visual-home .button:hover{translate:-2px -3px;box-shadow:9px 10px 0 var(--vfx-ink)}
body.visual-home .hero-visual{filter:drop-shadow(0 35px 38px rgba(16,20,43,.18))}
body.visual-home .hero-photo.main{border:3px solid var(--vfx-ink);box-shadow:14px 14px 0 var(--vfx-hot);rotate:-1.4deg;transition:rotate .55s var(--vfx-ease),scale .55s var(--vfx-ease)}
body.visual-home .hero-photo.main:hover{rotate:.5deg;scale:1.018}
body.visual-home .hero-photo.p1{border:3px solid var(--vfx-ink);box-shadow:8px 8px 0 var(--vfx-mint);animation:vfxFloat 5.5s ease-in-out infinite}
body.visual-home .hero-photo.p2{border:3px solid var(--vfx-ink);box-shadow:8px 8px 0 var(--vfx-sun);animation:vfxFloat 6.4s ease-in-out .7s infinite}
body.visual-home .hero-badge{border:3px solid var(--vfx-ink);box-shadow:6px 6px 0 var(--vfx-blue);animation:vfxPulse 3.3s ease-in-out infinite}
body.visual-home .floating-pill{border:2px solid var(--vfx-ink);box-shadow:4px 4px 0 var(--vfx-ink);font-family:var(--vfx-display);letter-spacing:.03em}
body.visual-home .hero-proof{gap:8px}
body.visual-home .proof-item{border:2px solid var(--vfx-ink);border-radius:18px;background:rgba(255,255,255,.82);box-shadow:4px 4px 0 color-mix(in srgb,var(--vfx-ink) 85%,transparent);transition:.3s}
body.visual-home .proof-item:nth-child(2){background:#effffa}.visual-home .proof-item:nth-child(3){background:#fff5cf}
body.visual-home .proof-item:hover{translate:0 -6px;rotate:-1deg}
body.visual-home .proof-number{font-family:var(--vfx-condensed);font-size:1.8rem;letter-spacing:.04em}

body.visual-home .section{position:relative;overflow:hidden}
body.visual-home .section-head h2{font-size:clamp(2.9rem,6.2vw,6.3rem);line-height:.9;text-wrap:balance}
body.visual-home .section-index{font-family:var(--vfx-condensed);font-size:1.05rem;letter-spacing:.17em;background:var(--vfx-ink);color:#fff;padding:5px 11px;border-radius:7px;box-shadow:4px 4px 0 var(--vfx-hot)}
body.visual-home .kicker{font-family:var(--vfx-display);letter-spacing:.18em}

body.visual-home .collections{background:
  linear-gradient(180deg,#10142b,#151b38);
  color:#fff;
}
body.visual-home .collections::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.12) 1.5px,transparent 1.5px);background-size:25px 25px;mask-image:linear-gradient(90deg,#000,transparent 80%)}
body.visual-home .collection-card{border:3px solid #fff;border-radius:34px;box-shadow:10px 10px 0 var(--card-accent,var(--vfx-hot));transition:transform .5s var(--vfx-ease),box-shadow .5s var(--vfx-ease)}
body.visual-home .collection-card:nth-child(1){--card-accent:var(--vfx-mint);rotate:-1deg}
body.visual-home .collection-card:nth-child(2){--card-accent:var(--vfx-sun);rotate:1.3deg}
body.visual-home .collection-card:nth-child(3){--card-accent:var(--vfx-hot);rotate:-.5deg}
body.visual-home .collection-card:hover{rotate:0deg;translate:0 -12px;box-shadow:15px 18px 0 var(--card-accent)}
body.visual-home .collection-number{font-family:var(--vfx-condensed);font-size:4.7rem;color:var(--card-accent);text-shadow:2px 3px 0 #10142b}
body.visual-home .collection-content h3{font-size:clamp(2rem,3vw,3.6rem)}
body.visual-home .collection-arrow{background:var(--card-accent);color:#10142b;border:2px solid #10142b;animation:vfxPulse 2.7s ease-in-out infinite}

body.visual-home .buying{background:
  linear-gradient(115deg,#fff8ed 0 62%,#ffeff6 62%);
}
body.visual-home .step{border:3px solid var(--vfx-ink);border-radius:26px;background:#fff;box-shadow:8px 8px 0 var(--step-color,var(--vfx-hot));transition:.38s var(--vfx-ease)}
body.visual-home .step:nth-child(1){--step-color:#ff4f8b;rotate:-1deg}.visual-home .step:nth-child(2){--step-color:#43e6d2;rotate:1deg}.visual-home .step:nth-child(3){--step-color:#ffd166;rotate:-.7deg}.visual-home .step:nth-child(4){--step-color:#7c5cff;rotate:1.1deg}.visual-home .step:nth-child(5){--step-color:#ff6b4a;rotate:-1deg}
body.visual-home .step:hover{rotate:0deg;translate:0 -10px;box-shadow:12px 14px 0 var(--step-color)}
body.visual-home .step-number{font-family:var(--vfx-condensed);background:var(--step-color);border:2px solid var(--vfx-ink);box-shadow:3px 3px 0 var(--vfx-ink)}
body.visual-home .policy-note{border:3px solid var(--vfx-ink);background:linear-gradient(120deg,#fff5c4,#fff);box-shadow:8px 8px 0 var(--vfx-mint)}

body.visual-home .catalog{background:
  radial-gradient(circle at 90% 5%,rgba(67,230,210,.2),transparent 24rem),
  linear-gradient(180deg,#f6f0ff,#fff8ed 34%);
}
body.visual-home .catalog-controls{border:3px solid var(--vfx-ink);box-shadow:9px 9px 0 var(--vfx-purple);background:rgba(255,255,255,.9)}
body.visual-home .filter{border:2px solid var(--vfx-ink);box-shadow:3px 3px 0 var(--vfx-ink);font-family:var(--vfx-display);letter-spacing:.03em}
body.visual-home .filter.active{background:linear-gradient(115deg,var(--vfx-hot),#ff80ac);color:#fff;translate:-1px -2px;box-shadow:5px 6px 0 var(--vfx-ink)}
body.visual-home .search-box{border:2px solid var(--vfx-ink);box-shadow:3px 3px 0 var(--vfx-mint)}
body.visual-home .product-card{max-width:340px;border:3px solid var(--vfx-ink);border-radius:31px;box-shadow:9px 10px 0 var(--card-accent,var(--vfx-hot)),0 22px 48px rgba(16,20,43,.12);animation:none;transition:transform .5s var(--vfx-ease),box-shadow .5s var(--vfx-ease)}
body.visual-home .product-card:nth-child(4n+1){--card-accent:#ff4f8b;rotate:-.65deg}.visual-home .product-card:nth-child(4n+2){--card-accent:#43e6d2;rotate:.7deg}.visual-home .product-card:nth-child(4n+3){--card-accent:#ffd166;rotate:-.45deg}.visual-home .product-card:nth-child(4n){--card-accent:#7c5cff;rotate:.55deg}
body.visual-home .product-card:hover{rotate:0deg;translate:0 -11px;box-shadow:14px 17px 0 var(--card-accent),0 30px 70px rgba(16,20,43,.18)}
body.visual-home .product-image{background:
  radial-gradient(circle at 20% 14%,rgba(255,255,255,.9),transparent 22%),
  linear-gradient(145deg,color-mix(in srgb,var(--card-accent) 18%,#fff),#fff)}
body.visual-home .product-category{border:2px solid var(--vfx-ink);background:var(--card-accent);color:var(--vfx-ink);box-shadow:3px 3px 0 var(--vfx-ink)}
body.visual-home .product-body h3{font-size:1.6rem}
body.visual-home .product-page-link{border:2px solid var(--vfx-ink);box-shadow:4px 4px 0 var(--vfx-ink);font-family:var(--vfx-display)}

body.visual-home .story{background:linear-gradient(120deg,#f1fff9 0 45%,#fff4cb 45% 62%,#fff8ed 62%)}
body.visual-home .story-collage{filter:drop-shadow(13px 16px 0 var(--vfx-ink))}
body.visual-home .story-note{border:3px solid var(--vfx-ink);box-shadow:7px 7px 0 var(--vfx-hot);rotate:-2deg;font-family:var(--vfx-serif);font-weight:800}
body.visual-home .benefit{border:2px solid var(--vfx-ink);background:#fff;box-shadow:5px 5px 0 var(--benefit,var(--vfx-mint));transition:.3s}
body.visual-home .benefit:nth-child(3n+2){--benefit:var(--vfx-sun)}.visual-home .benefit:nth-child(3n){--benefit:var(--vfx-hot)}
body.visual-home .benefit:hover{translate:5px -5px;box-shadow:8px 9px 0 var(--benefit)}

body.visual-home .reviews{background:#11162f;color:#fff}
body.visual-home .review-summary{border:3px solid #fff;background:linear-gradient(135deg,#252c54,#151a34);box-shadow:10px 10px 0 var(--vfx-hot)}
body.visual-home .review-score{font-family:var(--vfx-condensed);font-size:5rem;color:var(--vfx-sun)}
body.visual-home .review-viewport{border:3px solid #fff;box-shadow:10px 10px 0 var(--vfx-mint)}
body.visual-home .reviews .section-head h2{color:#fff!important;background:none!important;-webkit-text-fill-color:initial}

body.visual-home .faq{background:linear-gradient(120deg,#fff8ed,#eefdfa 55%,#fff0f6)}
body.visual-home .faq-sticky{border:3px solid var(--vfx-ink);box-shadow:10px 10px 0 var(--vfx-sun);background:#fff;rotate:-.6deg}
body.visual-home .faq-item{border:3px solid var(--vfx-ink);border-radius:20px;background:#fff;box-shadow:5px 5px 0 var(--faq,var(--vfx-mint));overflow:hidden;transition:.3s}
body.visual-home .faq-item:nth-child(even){--faq:var(--vfx-hot)}
body.visual-home .faq-item:hover{translate:-3px -3px;box-shadow:8px 9px 0 var(--faq)}
body.visual-home .faq-icon{background:var(--faq);border:2px solid var(--vfx-ink)}

body.visual-home .contact{background:
  radial-gradient(circle at 11% 12%,rgba(255,212,59,.34),transparent 22rem),
  radial-gradient(circle at 90% 78%,rgba(53,224,193,.26),transparent 28rem),
  #11162f;color:#fff;
}
body.visual-home .contact-layout{border:3px solid #fff;border-radius:42px;background:linear-gradient(125deg,rgba(255,255,255,.09),rgba(255,255,255,.02));box-shadow:13px 14px 0 var(--vfx-hot);backdrop-filter:blur(12px)}
body.visual-home .contact-link{border:2px solid #fff;background:#fff;color:var(--vfx-ink);box-shadow:5px 5px 0 var(--contact-color,var(--vfx-mint));transition:.35s}
body.visual-home .contact-link:nth-child(2){--contact-color:var(--vfx-hot)}.visual-home .contact-link:nth-child(3){--contact-color:var(--vfx-sun)}.visual-home .contact-link:nth-child(4){--contact-color:var(--vfx-blue)}.visual-home .contact-link:nth-child(5){--contact-color:var(--vfx-purple)}
body.visual-home .contact-link:hover{translate:-4px -5px;box-shadow:9px 10px 0 var(--contact-color)}
body.visual-home footer{border-top:4px solid transparent;border-image:linear-gradient(90deg,var(--vfx-hot),var(--vfx-sun),var(--vfx-mint),var(--vfx-blue)) 1}

/* PRODUCT SUBPAGES */
body.visual-product{
  --bg:#fff8ed;
  --ink:var(--theme-deep);
  --accent:var(--theme-b);
  --accent2:var(--theme-c);
  --pop:var(--theme-a);
  --soft:color-mix(in srgb,var(--theme-b) 10%,#fff);
  font-family:var(--vfx-body);
  background:
    radial-gradient(circle at 90% 7%,color-mix(in srgb,var(--theme-a) 17%,transparent),transparent 24rem),
    radial-gradient(circle at 8% 40%,color-mix(in srgb,var(--theme-b) 13%,transparent),transparent 26rem),
    #fff8ed;
}
body.visual-product .site-bg::before{background-image:
  linear-gradient(color-mix(in srgb,var(--theme-deep) 5%,transparent) 1px,transparent 1px),
  linear-gradient(90deg,color-mix(in srgb,var(--theme-deep) 5%,transparent) 1px,transparent 1px);background-size:34px 34px}
body.visual-product .orb.one{background:var(--theme-a);opacity:.22}.visual-product .orb.two{background:var(--theme-b);opacity:.25}.visual-product .orb.three{background:var(--theme-c);opacity:.18}
body.visual-product header{height:82px;border-bottom:2px solid color-mix(in srgb,var(--theme-deep) 15%,transparent);background:color-mix(in srgb,#fff8ed 82%,transparent);box-shadow:0 15px 45px rgba(16,20,43,.08)}
body.visual-product header::after{content:"";position:absolute;left:clamp(14px,4.5vw,64px);right:clamp(14px,4.5vw,64px);bottom:-2px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--theme-a),var(--theme-c),var(--theme-b),var(--theme-a));background-size:250%;animation:vfxSweep 6s linear infinite}
body.visual-product .brand img{filter:drop-shadow(0 8px 12px color-mix(in srgb,var(--theme-a) 30%,transparent))}
body.visual-product .back-link,body.visual-product .cart-button{position:relative;overflow:hidden;border:2px solid var(--theme-deep);font-family:var(--vfx-display);letter-spacing:.02em;box-shadow:4px 4px 0 var(--theme-a);background:#fff}
body.visual-product .back-link:hover,body.visual-product .cart-button:hover{background:var(--theme-b);box-shadow:7px 7px 0 var(--theme-deep);translate:-2px -2px}
body.visual-product .cart-count{background:var(--theme-c);border:1px solid var(--theme-deep)}

body.visual-product .hero{min-height:calc(100svh - 82px);isolation:isolate;overflow:hidden;background:
  linear-gradient(119deg,transparent 0 58%,color-mix(in srgb,var(--theme-b) 10%,#fff) 58%),
  radial-gradient(circle at 4% 12%,color-mix(in srgb,var(--theme-c) 34%,transparent),transparent 18rem)}
body.visual-product .hero::before{content:"";position:absolute;right:-12vw;top:7%;width:42vw;aspect-ratio:1;border:3px dashed color-mix(in srgb,var(--theme-deep) 17%,transparent);border-radius:50%;animation:vfxSpin 48s linear infinite;z-index:-1}
body.visual-product .hero::after{content:"";position:absolute;left:-6vw;bottom:0;width:35vw;height:13vw;background:repeating-linear-gradient(135deg,var(--theme-a) 0 8px,transparent 8px 24px);opacity:.075;rotate:7deg;z-index:-1}
body.visual-product .gallery{filter:drop-shadow(0 32px 40px rgba(16,20,43,.13))}
body.visual-product .main-frame{overflow:visible;border:3px solid var(--theme-deep);border-radius:42px;background:
  radial-gradient(circle at 18% 14%,rgba(255,255,255,.9),transparent 16rem),
  linear-gradient(145deg,color-mix(in srgb,var(--theme-b) 14%,#fff),color-mix(in srgb,var(--theme-c) 10%,#fff));
  box-shadow:14px 15px 0 var(--theme-a),0 35px 85px rgba(16,20,43,.14);animation:vfxGalleryFloat 6s ease-in-out infinite;isolation:isolate}
body.visual-product .main-frame::before{inset:-13px;border:3px dotted color-mix(in srgb,var(--theme-deep) 24%,transparent);background:none;opacity:1;z-index:-2;animation:vfxSpin 30s linear infinite}
body.visual-product .main-frame::after{width:170px;height:170px;right:-34px;bottom:-43px;background:repeating-radial-gradient(circle,var(--theme-c) 0 3px,transparent 4px 12px);opacity:.38;z-index:-1}
@keyframes vfxGalleryFloat{0%,100%{translate:0 0;rotate:-.35deg}50%{translate:0 -9px;rotate:.35deg}}
body.visual-product .main-frame img{filter:drop-shadow(0 28px 24px rgba(16,20,43,.2)) saturate(1.04);transition:.6s var(--vfx-ease)}
body.visual-product .main-frame:hover img{transform:scale(1.045) rotate(.5deg) translateY(-7px);filter:drop-shadow(0 34px 26px rgba(16,20,43,.25)) saturate(1.14)}
body.visual-product .model-chip{border:2px solid var(--theme-deep);background:var(--theme-c);box-shadow:4px 4px 0 var(--theme-deep);font-family:var(--vfx-display);font-size:.72rem}
body.visual-product .model-counter{border:2px solid var(--theme-deep);background:var(--theme-deep);box-shadow:4px 4px 0 var(--theme-b)}
body.visual-product .gallery-arrow{border:2px solid var(--theme-deep);background:#fff;box-shadow:4px 4px 0 var(--theme-a);transition:.32s}
body.visual-product .gallery-arrow:hover{background:var(--theme-b);translate:0 -4px;box-shadow:6px 8px 0 var(--theme-deep)}
body.visual-product .thumb{border:2px solid var(--theme-deep);border-radius:18px;background:#fff;box-shadow:3px 3px 0 var(--theme-deep);transition:.35s var(--vfx-ease)}
body.visual-product .thumb:nth-child(odd){rotate:-1.4deg}.visual-product .thumb:nth-child(even){rotate:1.4deg}
body.visual-product .thumb:hover,body.visual-product .thumb.active{rotate:0deg;translate:0 -5px;box-shadow:5px 7px 0 var(--theme-a);border-color:var(--theme-deep)}

body.visual-product .hero-copy{position:relative;padding:clamp(12px,2vw,28px)}
body.visual-product .hero-copy::before{content:"";position:absolute;inset:0;border-radius:40px;background:rgba(255,255,255,.44);backdrop-filter:blur(7px);border:1px solid rgba(255,255,255,.7);z-index:-1;transform:rotate(.35deg)}
body.visual-product .hero-copy .eyebrow{display:inline-flex;border:2px solid var(--theme-deep);border-radius:10px;background:var(--theme-b);box-shadow:4px 4px 0 var(--theme-deep);font-family:var(--vfx-display);letter-spacing:.14em;rotate:-1.4deg}
body.visual-product .hero-copy h1{font-family:var(--vfx-display);font-size:clamp(3.8rem,7.2vw,8.5rem);line-height:.78;letter-spacing:-.055em;text-wrap:balance;margin-block:.22em .26em;background:linear-gradient(130deg,var(--theme-deep) 0 58%,var(--theme-a) 58% 78%,var(--theme-deep) 78%);background-size:230% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:vfxTitleSlide 8s ease-in-out infinite}
@keyframes vfxTitleSlide{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
body.visual-product[data-visual-theme="guayabera"] .hero-copy h1,body.visual-product[data-visual-theme="dress"] .hero-copy h1{font-family:var(--vfx-serif);font-style:italic;line-height:.88}
body.visual-product[data-visual-theme="harness"] .hero-copy h1,body.visual-product[data-visual-theme="chest-harness"] .hero-copy h1,body.visual-product[data-visual-theme="bandanas"] .hero-copy h1{font-family:var(--vfx-condensed);letter-spacing:.015em;line-height:.84}
body.visual-product .lead{font-size:clamp(1rem,1.5vw,1.18rem);padding:16px 19px;border-left:6px solid var(--theme-b);background:rgba(255,255,255,.72);border-radius:0 18px 18px 0}
body.visual-product .hero-price{display:inline-flex;padding:11px 18px;border:3px solid var(--theme-deep);border-radius:17px;background:var(--theme-c);box-shadow:6px 6px 0 var(--theme-deep);font-family:var(--vfx-condensed);font-size:clamp(2rem,4vw,4rem);letter-spacing:.035em;rotate:-1deg}
body.visual-product .feature-chips span{border:2px solid var(--theme-deep);background:#fff;box-shadow:3px 3px 0 var(--chip-color,var(--theme-b));font-family:var(--vfx-display);transition:.32s;animation:vfxChip 4.3s ease-in-out calc(var(--chip-i,0) * .4s) infinite}
body.visual-product .feature-chips span:nth-child(2){--chip-color:var(--theme-c)}.visual-product .feature-chips span:nth-child(3){--chip-color:var(--theme-a)}
@keyframes vfxChip{0%,100%{translate:0 0}50%{translate:0 -5px}}
body.visual-product .feature-chips span:hover{background:var(--chip-color);translate:0 -7px;box-shadow:5px 7px 0 var(--theme-deep)}
body.visual-product .jump-buy{border:3px solid var(--theme-deep);background:linear-gradient(120deg,var(--theme-a),color-mix(in srgb,var(--theme-a) 72%,#fff));color:#fff;box-shadow:7px 7px 0 var(--theme-deep);font-family:var(--vfx-display);font-size:1rem;letter-spacing:.04em;overflow:hidden;isolation:isolate}
body.visual-product .jump-buy::before{content:"";position:absolute;inset:-30%;z-index:-1;background:conic-gradient(from 90deg,var(--theme-a),var(--theme-c),var(--theme-b),var(--theme-a));animation:vfxSpin 8s linear infinite;opacity:0;transition:.3s}
body.visual-product .jump-buy:hover::before{opacity:1}.visual-product .jump-buy:hover{translate:-3px -4px;box-shadow:11px 12px 0 var(--theme-deep)}
body.visual-product .marquee{border-block:3px solid var(--theme-deep);background:var(--theme-deep);color:#fff;box-shadow:0 8px 0 var(--theme-a)}
body.visual-product .marquee-track{font-family:var(--vfx-condensed);font-size:1.08rem;letter-spacing:.13em}

body.visual-product .buy-section{position:relative;overflow:hidden;background:
  radial-gradient(circle at 88% 14%,color-mix(in srgb,var(--theme-a) 30%,transparent),transparent 24rem),
  linear-gradient(130deg,var(--theme-deep) 0 56%,color-mix(in srgb,var(--theme-deep) 91%,var(--theme-a)) 56%);color:#fff}
body.visual-product .buy-section::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.11) 1.4px,transparent 1.4px);background-size:23px 23px;mask-image:linear-gradient(90deg,#000,transparent 76%)}
body.visual-product .buy-head h2{font-size:clamp(3rem,6.5vw,6.8rem);line-height:.86;color:#fff;text-shadow:5px 6px 0 color-mix(in srgb,var(--theme-a) 75%,transparent)}
body.visual-product .buy-head .eyebrow{border:2px solid #fff;background:var(--theme-c);color:var(--theme-deep);box-shadow:4px 4px 0 #fff}
body.visual-product .buy-layout{position:relative}
body.visual-product .buy-table{border:3px solid #fff;border-radius:34px;background:rgba(255,255,255,.09);backdrop-filter:blur(15px);box-shadow:12px 13px 0 var(--theme-a);overflow:hidden}
body.visual-product .buy-table-head{background:linear-gradient(110deg,var(--theme-b),var(--theme-c));color:var(--theme-deep);font-family:var(--vfx-display);letter-spacing:.06em;border-bottom:3px solid #fff}
body.visual-product .buy-row{position:relative;border-bottom:1px solid rgba(255,255,255,.18);transition:.3s;background:rgba(255,255,255,.035)}
body.visual-product .buy-row:nth-child(even){background:rgba(255,255,255,.075)}
body.visual-product .buy-row:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--theme-b) 26%,transparent),color-mix(in srgb,var(--theme-a) 18%,transparent));padding-left:clamp(18px,2.5vw,32px)}
body.visual-product .qty{border:2px solid #fff;background:#fff;color:var(--theme-deep);box-shadow:3px 3px 0 var(--theme-b)}
body.visual-product .qty button{background:var(--theme-c);font-weight:950}.visual-product .qty button:hover{background:var(--theme-b)}
body.visual-product .order-mini{border:3px solid #fff;border-radius:32px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--theme-c) 13%,#fff));color:var(--theme-deep);box-shadow:12px 13px 0 var(--theme-b);rotate:.55deg}
body.visual-product .order-mini h3{font-size:2rem}
body.visual-product .open-order{border:3px solid var(--theme-deep);background:var(--theme-a);color:#fff;box-shadow:6px 6px 0 var(--theme-deep);font-family:var(--vfx-display);overflow:hidden}
body.visual-product .open-order:hover{translate:-3px -4px;box-shadow:9px 10px 0 var(--theme-deep);background:var(--theme-b);color:var(--theme-deep)}

body.visual-product .story-section{position:relative;background:
  linear-gradient(118deg,#fff8ed 0 51%,color-mix(in srgb,var(--theme-b) 13%,#fff) 51% 72%,color-mix(in srgb,var(--theme-c) 18%,#fff) 72%)}
body.visual-product .story-section::after{content:"";position:absolute;left:4vw;top:10%;width:130px;aspect-ratio:1;background:repeating-radial-gradient(circle,var(--theme-a) 0 3px,transparent 4px 13px);opacity:.17;animation:vfxSpin 26s linear infinite}
body.visual-product .story-copy h2{font-size:clamp(3rem,5.8vw,6rem);line-height:.9}
body.visual-product .story-copy .eyebrow{border:2px solid var(--theme-deep);background:var(--theme-b);box-shadow:4px 4px 0 var(--theme-deep)}
body.visual-product .care-card{border:3px solid var(--theme-deep);border-radius:34px;background:#fff;box-shadow:12px 13px 0 var(--theme-a);rotate:-.75deg;transition:.45s var(--vfx-ease)}
body.visual-product .care-card:hover{rotate:.35deg;translate:0 -8px;box-shadow:16px 18px 0 var(--theme-b)}
body.visual-product .care-card h3{font-size:2rem}

body.visual-product .measure-section{position:relative;background:var(--theme-c);color:var(--theme-deep);border-block:4px solid var(--theme-deep);overflow:hidden}
body.visual-product .measure-section::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.23) 0 8px,transparent 8px 27px);opacity:.5}
body.visual-product .measure-wrap{position:relative;border:3px solid var(--theme-deep);border-radius:36px;background:rgba(255,255,255,.8);box-shadow:12px 13px 0 var(--theme-deep);backdrop-filter:blur(8px)}
body.visual-product .measure-wrap h2{font-size:clamp(2.8rem,5vw,5.3rem)}

body.visual-product .related{background:
  radial-gradient(circle at 93% 8%,color-mix(in srgb,var(--theme-a) 16%,transparent),transparent 22rem),
  #fff8ed}
body.visual-product .related>h2{font-size:clamp(3rem,5vw,5.7rem);text-align:center}
body.visual-product .related-card{border:3px solid var(--theme-deep);border-radius:30px;background:#fff;box-shadow:9px 10px 0 var(--related-color,var(--theme-a));transition:.45s var(--vfx-ease);overflow:hidden}
body.visual-product .related-card:nth-child(2){--related-color:var(--theme-b);rotate:1deg}.visual-product .related-card:nth-child(3){--related-color:var(--theme-c);rotate:-.7deg}
body.visual-product .related-card:hover{rotate:0deg;translate:0 -12px;box-shadow:14px 16px 0 var(--related-color)}
body.visual-product .related-card img{transition:.6s var(--vfx-ease)}.visual-product .related-card:hover img{transform:scale(1.08) rotate(.7deg);filter:saturate(1.15)}
body.visual-product .related-card h3{font-size:1.45rem}
body.visual-product footer{background:var(--theme-deep);color:#fff;border-top:5px solid var(--theme-a)}
body.visual-product footer a{color:var(--theme-c);font-weight:900}

body.visual-product .cart-drawer{border-left:4px solid var(--theme-a);background:#fffaf2;box-shadow:-25px 0 70px rgba(16,20,43,.18)}
body.visual-product .cart-head{background:linear-gradient(120deg,var(--theme-deep),color-mix(in srgb,var(--theme-deep) 78%,var(--theme-a)));color:#fff;border-bottom:4px solid var(--theme-b)}
body.visual-product .cart-close{background:var(--theme-c);color:var(--theme-deep);border:2px solid #fff;box-shadow:3px 3px 0 var(--theme-a)}
body.visual-product .checkout input,body.visual-product .checkout textarea{border:2px solid var(--theme-deep);box-shadow:3px 3px 0 color-mix(in srgb,var(--theme-b) 60%,transparent);background:#fff}
body.visual-product .send-order{border:3px solid var(--theme-deep);background:var(--theme-a);color:#fff;box-shadow:6px 6px 0 var(--theme-deep);font-family:var(--vfx-display)}

/* Pointer-driven depth for eligible cards */
.vfx-tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px));transition:transform .16s ease-out,box-shadow .35s var(--vfx-ease);transform-style:preserve-3d}
.vfx-tilt>*{transform:translateZ(10px)}

@media(max-width:900px){
  body.visual-home .hero-copy h1{font-size:clamp(3.2rem,15vw,6.8rem)}
  body.visual-product .hero{background:radial-gradient(circle at 90% 5%,color-mix(in srgb,var(--theme-b) 18%,transparent),transparent 20rem)}
  body.visual-product .hero-copy h1{font-size:clamp(3.5rem,15vw,6.8rem)}
  body.visual-product .hero-copy{padding:18px}
  body.visual-product .main-frame{box-shadow:9px 10px 0 var(--theme-a),0 25px 60px rgba(16,20,43,.13)}
  body.visual-product .buy-section{background:linear-gradient(150deg,var(--theme-deep),color-mix(in srgb,var(--theme-deep) 86%,var(--theme-a)))}
  body.visual-home .contact-layout{box-shadow:8px 9px 0 var(--vfx-hot)}
}
@media(max-width:620px){
  body.visual-upgrade::after{opacity:.1}
  .vfx-stage i:nth-child(n+7){display:none}
  body.visual-home .hero{background:radial-gradient(circle at 70% 5%,rgba(67,230,210,.32),transparent 18rem),#fff8ed}
  body.visual-home .hero-copy h1{line-height:.86}
  body.visual-home .collection-card,body.visual-home .step,body.visual-home .product-card,body.visual-home .faq-sticky,body.visual-home .faq-item{rotate:0deg}
  body.visual-product header{height:72px}
  body.visual-product .hero{min-height:auto}
  body.visual-product .main-frame{border-radius:29px;animation:none;rotate:0deg}
  body.visual-product .hero-copy::before{border-radius:28px}
  body.visual-product .hero-copy h1{line-height:.86}
  body.visual-product .hero-price{font-size:2.5rem}
  body.visual-product .order-mini,body.visual-product .care-card,body.visual-product .related-card{rotate:0deg}
  body.visual-product .buy-table{box-shadow:7px 8px 0 var(--theme-a)}
  .vfx-tilt{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  body.visual-upgrade *,body.visual-upgrade *::before,body.visual-upgrade *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
  .vfx-reveal{opacity:1!important;transform:none!important;filter:none!important}
  .vfx-stage{display:none}
}

/* =========================================================
   PERFORMANCE + READABILITY PATCH
   Keeps the premium design while reducing continuous repaints.
   ========================================================= */

/* Remove the two costliest full-screen paint layers. */
body.visual-upgrade::after,
.vfx-stage,
.root-spark{display:none!important}

/* Lightweight entrance motion: no blur, no directional rotation. */
.vfx-reveal{
  filter:none!important;
  transform:translateY(18px)!important;
  transition:opacity .42s ease,transform .42s var(--vfx-ease)!important;
  transition-delay:calc(var(--vfx-i,0) * 28ms)!important;
}
.vfx-reveal.vfx-in{transform:none!important}
.vfx-reveal.vfx-left,.vfx-reveal.vfx-right{transform:translateY(18px)!important}
.vfx-reveal.vfx-left.vfx-in,.vfx-reveal.vfx-right.vfx-in{transform:none!important}

/* Stop continuous decorative motion; hover interactions remain available. */
body.visual-home .site-header::after,
body.visual-home .hero::before,
body.visual-home .hero-photo.p1,
body.visual-home .hero-photo.p2,
body.visual-home .hero-badge,
body.visual-home .collection-arrow,
body.visual-home .section-head h2,
body.visual-home .product-page-link,
body.visual-product header::after,
body.visual-product .hero::before,
body.visual-product .main-frame,
body.visual-product .main-frame::before,
body.visual-product .hero-copy h1,
body.visual-product .feature-chips span,
body.visual-product .jump-buy::before,
body.visual-product .story-section::after,
body.visual-product .orb,
body.visual-product .eyebrow::before,
body.visual-product .care-card::after{
  animation:none!important;
}

/* Reduce large GPU filters and glass effects. */
body.visual-home .site-header,
body.visual-home .hero-lead,
body.visual-home .contact-layout,
body.visual-product header,
body.visual-product .hero-copy::before,
body.visual-product .buy-table,
body.visual-product .order-mini,
body.visual-product .measure-wrap,
body.visual-product .cart-shell{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.visual-home .hero-visual,
body.visual-product .gallery,
body.visual-product .main-frame img{
  filter:none!important;
}

/* Collection cards: guarantee readable text over light product photos. */
body.visual-home .collection-card{isolation:isolate}
body.visual-home .collection-card img{z-index:0!important}
body.visual-home .collection-card::after{
  z-index:1!important;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(16,20,43,.02) 20%,rgba(16,20,43,.36) 58%,rgba(16,20,43,.94) 100%)!important;
}
body.visual-home .collection-content,
body.visual-home .collection-number,
body.visual-home .collection-arrow{z-index:2}
body.visual-home .collection-content{
  left:26px;
  right:86px;
  bottom:24px;
  padding:13px 15px;
  border-radius:16px;
  background:rgba(16,20,43,.72);
  color:#fff!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
body.visual-home .collection-content span{
  color:#78f4df!important;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
body.visual-home .collection-content h3{
  margin-top:5px;
  color:#fff!important;
  font-size:clamp(1.65rem,2.65vw,3.25rem)!important;
  line-height:.96!important;
  text-shadow:0 2px 4px rgba(0,0,0,.5);
  overflow-wrap:anywhere;
}

/* Correct color assignment: the decorative line is not an article. */
body.visual-home .steps-grid article.step:nth-of-type(1){--step-color:#ff4f8b!important}
body.visual-home .steps-grid article.step:nth-of-type(2){--step-color:#43e6d2!important}
body.visual-home .steps-grid article.step:nth-of-type(3){--step-color:#ffd166!important}
body.visual-home .steps-grid article.step:nth-of-type(4){--step-color:#7c5cff!important}
body.visual-home .steps-grid article.step:nth-of-type(5){--step-color:#ff6b4a!important}
body.visual-home .step-number{
  background:var(--step-color,#ff4f8b)!important;
  color:#10142b!important;
  font-weight:950!important;
}

/* Catalog controls: dark text on light surfaces and guaranteed click layer. */
body.visual-home .catalog::before{pointer-events:none!important}
body.visual-home .catalog-controls{
  position:relative;
  z-index:4;
}
body.visual-home .filter{
  background:#fff!important;
  color:var(--vfx-ink)!important;
}
body.visual-home .filter:hover{
  background:#fff3b8!important;
  color:var(--vfx-ink)!important;
}
body.visual-home .filter.active{
  background:linear-gradient(115deg,var(--vfx-hot),#ff80ac)!important;
  color:#fff!important;
}
body.visual-home .search-box{
  position:relative;
  z-index:5;
  background:#fff;
}
body.visual-home .search-box input{
  position:relative;
  z-index:2;
  background:#fff!important;
  color:var(--vfx-ink)!important;
  caret-color:var(--vfx-hot);
  pointer-events:auto!important;
}
body.visual-home .search-box input::placeholder{color:#7b8499!important;opacity:1}
body.visual-home .search-box svg{z-index:3;pointer-events:none;color:#68738c!important}

/* Keep hover polish, but avoid perspective/tilt calculations. */
.vfx-tilt,.vfx-tilt>*{transform:none!important}
body.visual-home .collection-card:hover,
body.visual-home .step:hover,
body.visual-home .product-card:hover,
body.visual-product .care-card:hover,
body.visual-product .related-card:hover{
  translate:0 -5px!important;
  rotate:0deg!important;
}

/* Mobile and lower-powered devices: static gradients and shorter transitions. */
@media(max-width:900px){
  body.visual-upgrade{background-image:none!important}
  body.visual-home .collection-content{left:16px;right:72px;bottom:16px;padding:11px 12px}
  body.visual-home .collection-content h3{font-size:clamp(1.55rem,7vw,2.45rem)!important}
  body.visual-home .collection-card,
  body.visual-home .step,
  body.visual-home .product-card,
  body.visual-product .main-frame,
  body.visual-product .care-card,
  body.visual-product .related-card{transition-duration:.22s!important}
}

/* Additional contrast corrections for dark and light redesigned sections. */
body.visual-home .collections .section-head h2,
body.visual-home .reviews .section-head h2{
  background:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:none!important;
}
body.visual-home .collections .section-head p:not(.kicker),
body.visual-home .reviews .section-head p:not(.kicker){color:#c9d2e5!important}
body.visual-home .collections .kicker,
body.visual-home .reviews .kicker{color:#70f0dc!important}

body.visual-home .policy-note p{color:#343b50!important}
body.visual-home .policy-note strong{color:#087f74!important}
body.visual-home .policy-note>span{color:var(--vfx-ink)!important}

body.visual-home .category-heading h3{color:var(--vfx-ink)!important}
body.visual-home .category-heading p{color:#657087!important}
body.visual-home .category-heading .kicker{color:#e92f73!important}
body.visual-home .category-index{color:rgba(16,20,43,.12)!important}
body.visual-home .no-results{color:var(--vfx-ink)!important}

/* =========================================================
   REVIEWS — premium contrast and motion upgrade
   Keeps the original structure/content intact.
   ========================================================= */
body.visual-home .reviews{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 86% 10%,rgba(255,63,131,.22),transparent 25rem),
    radial-gradient(circle at 12% 88%,rgba(53,224,193,.16),transparent 28rem),
    linear-gradient(150deg,#0d1229 0%,#151c3b 52%,#0e132c 100%);
}
body.visual-home .reviews::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.25;
  background-image:radial-gradient(circle,rgba(255,255,255,.22) 1px,transparent 1.5px);
  background-size:28px 28px;
  mask-image:linear-gradient(120deg,#000,transparent 78%);
}
body.visual-home .reviews::after{
  content:"";position:absolute;right:-9rem;top:-10rem;width:31rem;aspect-ratio:1;border-radius:50%;z-index:-1;
  border:2px dashed rgba(255,255,255,.16);animation:reviewsOrbit 36s linear infinite;
}
@keyframes reviewsOrbit{to{transform:rotate(360deg)}}

body.visual-home .reviews .section-head{align-items:center}
body.visual-home .review-summary{
  position:relative;overflow:hidden;isolation:isolate;
  min-width:285px;padding:18px 24px;border:2px solid rgba(255,255,255,.88);border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.055));
  box-shadow:0 18px 48px rgba(0,0,0,.25),8px 8px 0 var(--vfx-hot);
  backdrop-filter:blur(16px);transform:rotate(-1deg);transition:.4s var(--vfx-ease);
}
body.visual-home .review-summary::before{
  content:"";position:absolute;inset:-80% -40%;z-index:-1;
  background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.2) 50%,transparent 58%);
  transform:translateX(-55%) rotate(10deg);animation:reviewSummaryShine 5.5s ease-in-out infinite;
}
@keyframes reviewSummaryShine{0%,55%{transform:translateX(-65%) rotate(10deg)}85%,100%{transform:translateX(65%) rotate(10deg)}}
body.visual-home .review-summary:hover{transform:rotate(0) translateY(-6px);box-shadow:0 24px 58px rgba(0,0,0,.3),11px 12px 0 var(--vfx-hot)}
body.visual-home .review-score{font-size:clamp(4.2rem,7vw,6rem);line-height:.72;text-shadow:3px 4px 0 rgba(0,0,0,.28)}
body.visual-home .review-meta{color:#e8ecf7!important;gap:6px}
body.visual-home .review-summary .stars{font-size:1.15rem;filter:drop-shadow(0 0 10px rgba(255,63,131,.35))}
body.visual-home .review-meta span:last-child{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#bac5dc}

body.visual-home .review-viewport{
  position:relative;border:2px solid rgba(255,255,255,.9);border-radius:34px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  box-shadow:0 28px 70px rgba(0,0,0,.28),10px 10px 0 var(--vfx-mint);
  backdrop-filter:blur(10px);
}
body.visual-home .review-viewport::before,
body.visual-home .review-viewport::after{
  content:"";position:absolute;top:0;bottom:0;width:clamp(24px,7vw,100px);z-index:4;pointer-events:none;
}
body.visual-home .review-viewport::before{left:0;background:linear-gradient(90deg,#11162f,transparent)}
body.visual-home .review-viewport::after{right:0;background:linear-gradient(-90deg,#11162f,transparent)}

body.visual-home .review-track{gap:22px;animation-duration:92s}
body.visual-home .review-card{
  position:relative;isolation:isolate;overflow:hidden;
  color:#11162f!important;
  border:2px solid #11162f;border-radius:27px;
  background:linear-gradient(145deg,#fffdf8 0%,#f6f8ff 100%);
  box-shadow:9px 10px 0 var(--review-accent,#35e0c1),0 18px 45px rgba(0,0,0,.18);
  transition:transform .45s var(--vfx-ease),box-shadow .45s var(--vfx-ease),border-color .45s;
}
body.visual-home .review-card:nth-child(4n+1){--review-accent:#35e0c1;background:linear-gradient(145deg,#f2fffc,#ffffff)}
body.visual-home .review-card:nth-child(4n+2){--review-accent:#ffd43b;background:linear-gradient(145deg,#fffbea,#ffffff)}
body.visual-home .review-card:nth-child(4n+3){--review-accent:#ff3f83;background:linear-gradient(145deg,#fff2f7,#ffffff)}
body.visual-home .review-card:nth-child(4n){--review-accent:#8b5cf6;background:linear-gradient(145deg,#f7f3ff,#ffffff)}
body.visual-home .review-card::before{
  content:"“";position:absolute;right:17px;top:0;z-index:-1;
  font-family:Georgia,serif;font-size:8.5rem;line-height:1;color:color-mix(in srgb,var(--review-accent) 15%,transparent);
  transition:transform .5s var(--vfx-ease),color .5s;
}
body.visual-home .review-card::after{
  content:"";position:absolute;left:-30%;bottom:-55%;width:78%;aspect-ratio:1;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,color-mix(in srgb,var(--review-accent) 18%,transparent),transparent 68%);
  transition:transform .55s var(--vfx-ease);
}
body.visual-home .review-card:hover{
  transform:translateY(-10px) rotate(-.4deg);border-color:var(--review-accent);
  box-shadow:13px 17px 0 var(--review-accent),0 28px 62px rgba(0,0,0,.24);
}
body.visual-home .review-card:hover::before{transform:translateY(-6px) rotate(-5deg);color:color-mix(in srgb,var(--review-accent) 24%,transparent)}
body.visual-home .review-card:hover::after{transform:scale(1.28)}

/* Explicit text contrast: fixes white text on white cards. */
body.visual-home .review-card .stars{color:#f2387d!important;text-shadow:none}
body.visual-home .review-card>small{color:#657087!important;font-weight:800}
body.visual-home .review-card blockquote{
  color:#18203b!important;font-weight:650;line-height:1.68;letter-spacing:-.01em;
}
body.visual-home .review-card .review-person strong{color:#10142b!important;font-weight:900}
body.visual-home .review-card .review-person small{display:block;color:#657087!important}
body.visual-home .review-card .review-avatar{
  color:#10142b!important;background:var(--review-accent)!important;border-color:#10142b!important;
  box-shadow:3px 3px 0 #10142b;transition:.35s var(--vfx-ease);
}
body.visual-home .review-card:hover .review-avatar{transform:rotate(-8deg) scale(1.08)}
body.visual-home .review-card .review-product{
  color:#b82062!important;border-top-color:rgba(16,20,43,.14)!important;
  letter-spacing:.04em;text-transform:uppercase;
}

@media(max-width:760px){
  body.visual-home .reviews .section-head{align-items:start}
  body.visual-home .review-summary{min-width:0;width:100%;transform:none;padding:16px 18px}
  body.visual-home .review-score{font-size:4.2rem}
  body.visual-home .review-viewport{border-radius:24px;box-shadow:7px 8px 0 var(--vfx-mint)}
  body.visual-home .review-card{width:min(330px,82vw);padding:21px}
}
@media(prefers-reduced-motion:reduce){
  body.visual-home .reviews::after,body.visual-home .review-summary::before{animation:none!important}
  body.visual-home .review-card:hover{transform:none}
}

