/*
  Product Landing add-on
  Scoped to .pl-* classes only — safe to load site-wide, affects nothing
  outside the 6 category hub pages.
*/

/* ---------- Hero load-in motion (screen 1) ---------- */
@keyframes plFadeUp{
  from{opacity:0; transform:translateY(22px);}
  to{opacity:1; transform:translateY(0);}
}
.pl-animate{animation:plFadeUp .8s cubic-bezier(.19,1,.22,1) both;}
.pl-hero-copy .eyebrow{animation:plFadeUp .6s cubic-bezier(.19,1,.22,1) both;}
.pl-hero-copy h1{animation:plFadeUp .7s .08s cubic-bezier(.19,1,.22,1) both;}
.pl-hero-copy .lead{animation:plFadeUp .7s .16s cubic-bezier(.19,1,.22,1) both;}
.pl-hero-copy .service-badges{animation:plFadeUp .7s .24s cubic-bezier(.19,1,.22,1) both;}
.pl-hero-copy .hero-ctas{animation:plFadeUp .7s .32s cubic-bezier(.19,1,.22,1) both;}
.pl-hero-card{animation:plFadeUp .9s .18s cubic-bezier(.19,1,.22,1) both;}

/* ---------- Quick stat strip (top of screen 2) ---------- */
.pl-quick .service-quick-item{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
.pl-quick .service-quick-item.is-visible{opacity:1; transform:translateY(0);}
.pl-quick .service-quick-item:nth-child(1){transition-delay:.02s;}
.pl-quick .service-quick-item:nth-child(2){transition-delay:.10s;}
.pl-quick .service-quick-item:nth-child(3){transition-delay:.18s;}
.pl-quick .service-quick-item:nth-child(4){transition-delay:.26s;}

/* ---------- Insight / scroll-reveal section (rest of screen 2) ---------- */
.pl-insights{padding:96px 0 88px;}
.pl-insights-head{max-width:680px; margin-bottom:48px;}
.pl-insights-head h2{font-size:clamp(28px,3.6vw,42px); line-height:1.1; margin:14px 0;}
.pl-insights-head p{color:var(--ink-soft); font-size:16px;}

.pl-insight-grid{display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden;}
.pl-insight{background:var(--paper); padding:36px 34px 34px; position:relative;}
.pl-insight-tag{
  display:inline-block; font-family:'IBM Plex Mono', monospace; font-size:10px;
  letter-spacing:.08em; text-transform:uppercase; color:var(--seal);
  background:rgba(163,45,45,0.07); border-radius:999px; padding:5px 12px; margin-bottom:18px;
}
.pl-insight h3{
  font-family:'Fraunces', serif; font-weight:500; font-size:21px; line-height:1.28;
  margin:0 0 12px; color:var(--ink);
}
.pl-insight p{font-size:14.5px; line-height:1.65; color:var(--ink-soft); margin:0;}

/* ---------- Product tiles: shield icon + hover lift (catalogue upgrade) ---------- */
.pl-product-card{position:relative; transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease;}
.pl-product-card:hover{transform:translateY(-4px); box-shadow:0 20px 38px rgba(18,32,58,.13); background:var(--white);}
.pl-product-icon{
  display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:10px; margin-bottom:16px;
  background:var(--teal-tint); color:var(--teal); flex-shrink:0;
}
.pl-product-icon svg{width:18px; height:18px;}
.pl-view-link{font-weight:600;}

/* Chemical-page dense grid: small accent dot per item (keeps directory density) */
.pl-mega-link{display:flex!important; align-items:center; gap:9px;}
.pl-mega-icon{
  width:7px; height:7px; border-radius:50%; flex-shrink:0;
  background:var(--amber); display:inline-block;
}

.pl-reveal{opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(.19,1,.22,1), transform .8s cubic-bezier(.19,1,.22,1);}
.pl-reveal.is-visible{opacity:1; transform:translateY(0);}
.pl-insight-grid .pl-insight:nth-child(2){transition-delay:.12s;}

@media(max-width:900px){
  .pl-insight-grid{grid-template-columns:1fr;}
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce){
  .pl-animate, .pl-hero-copy .eyebrow, .pl-hero-copy h1, .pl-hero-copy .lead,
  .pl-hero-copy .service-badges, .pl-hero-copy .hero-ctas, .pl-hero-card{animation:none; opacity:1; transform:none;}
  .pl-reveal, .pl-quick .service-quick-item{transition:none; opacity:1; transform:none;}
}
