/* Products page: product showcases (Revision Assistant, Atelier). Shared layout under .product-show;
   each product sets its own colours. Links need the extra scope to beat .gallery-collection a{color:inherit}. */
.product-show{--pa-paper:#f7f5f0;--pa-wall:#fffefb;--pa-ink:#16151a;--pa-muted:#6e6a73;--pa-rule:rgba(22,21,26,.12);--pa-accent:#c4472f;--pa-chrome:#f1eee7;--pa-glow:rgba(196,71,47,.08);position:relative;padding:clamp(80px,9vw,130px) 7vw clamp(80px,9vw,120px);background:var(--pa-paper);color:var(--pa-ink);scroll-margin-top:76px;overflow:hidden}
.product-show::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 50% at 85% 20%,var(--pa-glow),transparent 70%)}
.product-revision{--pa-paper:#eef1e8;--pa-wall:#fbfcf8;--pa-ink:#171a14;--pa-muted:#646b5e;--pa-rule:rgba(23,26,20,.13);--pa-accent:#c0262b;--pa-chrome:#e4e9dc;--pa-glow:rgba(141,163,121,.22)}
.product-revision::before{background:radial-gradient(60% 50% at 15% 25%,var(--pa-glow),transparent 70%)}

.pa-top{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,5vw,90px);align-items:center}
.pa-reverse .pa-top{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.pa-reverse .pa-copy{order:2}
.pa-brand{display:flex;align-items:center;gap:16px}
.pa-logo{width:clamp(150px,13vw,190px);height:auto;display:block}
.pa-app-icon{width:64px;height:64px;border-radius:22%;display:block;box-shadow:0 10px 24px -14px rgba(23,26,20,.5)}
.pa-app-name{font:400 clamp(24px,2vw,30px)/1.1 'Songti SC','STSong',Georgia,serif;letter-spacing:-.02em}
.product-show h2{margin:30px 0 16px;font:400 clamp(34px,3.4vw,54px)/1.12 'Songti SC','STSong',Georgia,serif;letter-spacing:-.025em}
.pa-lede{margin:0;max-width:440px;font:15px/1.8 'PingFang SC',sans-serif;color:var(--pa-muted)}
.pa-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.product-show .pa-button{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 22px;border:1px solid var(--pa-ink);border-radius:999px;font:13px 'PingFang SC',sans-serif;text-decoration:none;color:var(--pa-ink);transition:background .3s,color .3s,border-color .3s}
.product-show .pa-button:hover{background:var(--pa-ink);color:var(--pa-paper)}
.product-show .pa-primary{background:var(--pa-ink);color:var(--pa-paper)}
.product-show .pa-primary:hover{background:var(--pa-accent);border-color:var(--pa-accent)}
.pa-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:38px 0 0;border-top:1px solid var(--pa-rule)}
.pa-facts div{padding:16px 0;border-bottom:1px solid var(--pa-rule)}
.pa-facts div:nth-child(odd){padding-right:18px}
.pa-facts div:nth-child(even){padding-left:18px;border-left:1px solid var(--pa-rule)}
.pa-facts dt{font:400 22px/1.2 'Songti SC','STSong',Georgia,serif}
.pa-facts dd{margin:4px 0 0;font:11px/1.6 monospace;letter-spacing:.06em;color:var(--pa-muted)}
.pa-facts dt small{margin-right:8px;font:11px/1 monospace;letter-spacing:.08em;color:var(--pa-accent);vertical-align:3px}

/* Device frames */
.pa-stage{position:relative;margin:0}
.pa-stage.has-phone{padding:0 7% 9% 0}
.pa-browser{border-radius:14px;overflow:hidden;background:var(--pa-wall);border:1px solid var(--pa-rule);box-shadow:0 2px 4px rgba(22,21,26,.04),0 40px 80px -36px rgba(22,21,26,.45)}
.pa-chrome{display:flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-bottom:1px solid var(--pa-rule);background:var(--pa-chrome)}
.pa-chrome i{width:10px;height:10px;border-radius:50%;background:rgba(22,21,26,.16)}
.pa-chrome span{flex:1;max-width:280px;margin:0 auto;padding:4px 14px;border-radius:999px;background:var(--pa-wall);font:11px/1.4 monospace;color:var(--pa-muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-shot{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.pa-shot img{display:block;width:100%;height:auto}
.pa-phone{position:absolute;right:0;bottom:0;width:23%;padding:6px;border-radius:30px;background:var(--pa-ink);box-shadow:0 30px 60px -24px rgba(22,21,26,.6)}
.pa-phone .pa-shot{border-radius:24px;overflow:hidden}

/* Features */
.pa-features{position:relative;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,34px);margin:clamp(70px,8vw,110px) 0 0;padding:0}
.pa-features li{display:flex;flex-direction:column}
.pa-feature-shot{display:block;width:100%;aspect-ratio:16/10;padding:0;border:1px solid var(--pa-rule);border-radius:12px;overflow:hidden;background:var(--pa-wall);cursor:zoom-in;transition:transform .5s cubic-bezier(.22,.8,.18,1),box-shadow .5s}
.pa-feature-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.pa-feature-shot.pa-contain{background:#e6e3dc}
.pa-feature-shot.pa-contain img{object-fit:contain;object-position:center;padding:6%;box-sizing:border-box}
.pa-feature-shot:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(22,21,26,.5)}
.pa-num{margin-top:22px;font:11px/1 monospace;letter-spacing:.12em;color:var(--pa-accent)}
.pa-features h3{margin:10px 0 8px;font:400 22px/1.25 'Songti SC','STSong',Georgia,serif;letter-spacing:-.01em}
.pa-features p{margin:0;font:13px/1.75 'PingFang SC',sans-serif;color:var(--pa-muted)}
.product-show :focus-visible{outline:2px solid var(--pa-accent);outline-offset:4px}

@media(max-width:1000px){
  .pa-top,.pa-reverse .pa-top{grid-template-columns:1fr}
  .pa-reverse .pa-copy{order:0}
  .pa-lede{max-width:620px}
  .pa-features{grid-template-columns:1fr 1fr}
  .pa-features li:last-child{grid-column:1/-1;max-width:calc(50% - 12px)}
}
@media(max-width:600px){
  .product-show{padding:70px 24px 76px}
  .product-show h2{font-size:32px;margin-top:24px}
  .pa-lede{font-size:14px}
  .pa-app-icon{width:54px;height:54px}
  .pa-actions{flex-direction:column}
  .product-show .pa-button{justify-content:center;white-space:nowrap}
  .pa-facts dt{font-size:19px}
  .pa-stage.has-phone{padding:0 10% 16% 0}
  .pa-phone{width:30%;padding:4px;border-radius:20px}
  .pa-phone .pa-shot{border-radius:16px}
  .pa-chrome{height:28px;gap:5px;padding:0 10px}.pa-chrome i{width:7px;height:7px}.pa-chrome span{font-size:9px;padding:3px 10px}
  .pa-features{grid-template-columns:1fr;gap:44px}
  .pa-features li:last-child{max-width:none}
}
@media(prefers-reduced-motion:reduce){.pa-feature-shot,.pa-button{transition:none}.pa-feature-shot:hover{transform:none}}
