/* V28: one clean ground, larger botanical subjects and matching detail pages. */
body.psq-flora-index,body.psq-flora-detail{padding-inline:clamp(16px,3vw,48px);}
.psq-flora-index .head{margin:0 auto 18px;}
.psq-flora-index .grid{
  max-width:1480px;width:100%;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,2vw,28px)!important;
  background:transparent!important;border:0!important;
}
.psq-flora-index .grid > .card{
  position:relative;display:block;min-width:0;aspect-ratio:4/5;
  background:transparent!important;border:0;transform:none!important;
}
.psq-flora-index .card .frame{
  position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;
  background:transparent;border:0;overflow:hidden;
}
.psq-flora-index .card:nth-child(1),[data-plant="moonvine"]{--plant-height:86%;}
.psq-flora-index .card:nth-child(2),[data-plant="dream-whisper-flower"]{--plant-height:106%;}
.psq-flora-index .card:nth-child(3),[data-plant="pyrothorn-bloom"]{--plant-height:96%;}
.psq-flora-index .card .frame img,.psq-flora-detail .flora-art img{
  position:absolute;left:50%;top:50%;width:auto;max-width:none;height:var(--plant-height,92%);
  display:block;opacity:1;object-fit:contain;
  transform:translate(-50%,-50%) scale(1);
  filter:url(#flora-clean);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 5%,#000 95%,transparent);
  -webkit-mask-composite:source-in;mask-composite:intersect;
  transition:transform .65s cubic-bezier(.22,1,.36,1);
}
.psq-flora-index .card .label{
  position:absolute;left:8px;right:8px;bottom:0;z-index:2;
  background:linear-gradient(transparent,rgba(21,22,23,.9));
  padding:36px 12px 18px;text-align:center;
  opacity:0;transform:translateY(5px);pointer-events:none;
  transition:opacity .25s ease,transform .35s ease;
}
.psq-flora-index .card .pname{font-size:clamp(18px,2vw,26px);line-height:1.2;color:#eceeef;}
.psq-flora-index .card:is(:focus-visible,.psq-revealed) .label{opacity:1;transform:none;}
.psq-flora-index .card:is(:focus-visible,.psq-revealed) .frame img{transform:translate(-50%,-50%) scale(1.035);}
@media(hover:hover) and (pointer:fine){
  .psq-flora-index .card:hover .label{opacity:1;transform:none;}
  .psq-flora-index .card:hover .frame img,
  .psq-flora-detail .flora-art:hover img{transform:translate(-50%,-50%) scale(1.035);}
}

.psq-flora-detail .flora-story{
  max-width:1280px;margin:18px auto 0;
  display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;
}
.psq-flora-detail .flora-art{position:relative;height:clamp(360px,48vw,620px);min-width:0;overflow:hidden;background:transparent;}
.psq-flora-detail .flora-copy{padding:28px 0;}
.psq-flora-detail .flora-copy h1{font-size:clamp(38px,4vw,62px);line-height:1.06;margin:0 0 24px;text-wrap:balance;}
.psq-flora-detail .flora-copy .eyebrow{font-size:12px;margin-bottom:18px;}
.psq-flora-detail .flora-copy .lore{font-size:16px;line-height:1.9;color:#b8babd;max-width:40ch;margin:0;}
.psq-flora-detail .shelf-head .shop-link{color:#665432;border-color:#66543266;font-size:13px;}
@media(max-width:700px){
  .psq-flora-index .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 12px!important;}
  .psq-flora-index .grid > .card{grid-column:span 2;}
  .psq-flora-index .grid > .card:last-child:nth-child(odd){grid-column:2 / span 2;}
  .psq-flora-index .card .label{left:0;right:0;padding:26px 4px 10px;}
  .psq-flora-index .card .pname{font-size:16px;}
  .psq-flora-detail .flora-story{grid-template-columns:1fr;gap:8px;margin-top:0;}
  .psq-flora-detail .flora-art{height:clamp(340px,112vw,500px);}
  .psq-flora-detail .flora-copy{padding:12px 8px 20px;text-align:center;}
  .psq-flora-detail .flora-copy .lore{margin:0 auto;}
}
@media(prefers-reduced-motion:reduce){
  .psq-flora-index .card .frame img,.psq-flora-index .card .label,.psq-flora-detail .flora-art img{transition:none;}
  .psq-flora-index .card:is(:hover,:focus-visible,.psq-revealed) .frame img,
  .psq-flora-detail .flora-art:hover img{transform:translate(-50%,-50%) scale(1);}
}
