.prod-hero{padding:var(--s8) 0 var(--s7)}.prod-hero-top{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s5);font-size:var(--fs-xs);color:var(--color-text-faint)}.prod-pill{display:inline-block;font-size:var(--fs-micro);letter-spacing:.06em;padding:2px var(--s2);border:1px dashed var(--color-rule);color:var(--color-text-muted)}.prod-path{font-family:var(--font-mono)}.prod-hero-title{font-family:var(--font-display);font-size:clamp(30px,4.5vw,var(--fs-3xl));font-weight:500;line-height:1.15;letter-spacing:-.01em;margin-bottom:var(--s4)}.prod-hero-sub{font-size:var(--fs-md);color:var(--color-text-muted);max-width:55ch;line-height:1.6;margin-bottom:var(--s6)}.prod-hero-actions{display:flex;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s7)}.prod-spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));border-top:1px dashed var(--color-rule);border-bottom:1px dashed var(--color-rule);margin-bottom:var(--s7)}.prod-spec-item{display:flex;flex-direction:column;align-items:center;padding:var(--s4) 0;gap:var(--s1)}.prod-spec-item+.prod-spec-item{border-left:1px dashed var(--color-rule)}.prod-spec-val{font-size:var(--fs-md);color:var(--color-text);letter-spacing:.03em}.prod-spec-key{font-size:var(--fs-micro);color:var(--color-text-faint);letter-spacing:.06em;text-transform:lowercase}.prod-shot{border:1px dashed var(--color-rule);overflow:hidden}.prod-shot-bar{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);border-bottom:1px dashed var(--color-rule);background:var(--color-bg-alt)}.prod-shot-dots{display:inline-flex;gap:6px}.prod-shot-dots span{display:block;width:8px;height:8px;border:1px solid var(--color-rule-strong)}.prod-shot-label{font-size:var(--fs-micro);color:var(--color-text-faint);letter-spacing:.04em}.prod-shot img{display:block;width:100%;height:auto}.chapter{padding:var(--s8) 0 var(--s7);border-top:1px dashed var(--color-rule)}.chapter-head{margin-bottom:var(--s6)}.chapter-num{display:block;font-size:var(--fs-micro);color:var(--color-text-faint);letter-spacing:.1em;margin-bottom:var(--s3)}.chapter-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:500;line-height:var(--lh-snug);letter-spacing:-.01em;margin-bottom:var(--s2)}.chapter-sub{color:var(--color-text-muted);font-size:var(--fs-base);line-height:var(--lh-base);max-width:50ch}.chapter-body{font-size:var(--fs-sm);color:var(--color-text-muted);line-height:1.8;max-width:55ch}.feat-grid{display:grid;gap:var(--s4)}.feat-grid-2{grid-template-columns:1fr 1fr}.feat-grid-3{grid-template-columns:1fr 1fr 1fr}.feat{border:1px dashed var(--color-rule);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s2)}.feat-ix{font-size:var(--fs-micro);color:var(--color-text-faint);letter-spacing:.08em;font-variant-numeric:tabular-nums}.feat-title{font-size:var(--fs-sm);font-weight:400;color:var(--color-text);letter-spacing:.03em}.feat-copy{font-size:var(--fs-xs);color:var(--color-text-muted);line-height:1.7;flex:1}.feat-tag{font-size:var(--fs-micro);color:var(--color-text-faint);letter-spacing:.06em;margin-top:auto}.feat-tag:before{content:"["}.feat-tag:after{content:"]"}.prod-cta{padding:var(--s8) 0;text-align:center;border-top:1px dashed var(--color-rule)}.prod-cta-heading{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:500;letter-spacing:-.01em;margin-bottom:var(--s6)}.prod-cta-actions{display:flex;justify-content:center;gap:var(--s3);flex-wrap:wrap}@media(max-width:768px){.prod-hero{padding:var(--s7) 0 var(--s6)}.prod-spec{grid-template-columns:repeat(3,1fr)}.prod-spec-item:nth-child(4){border-left:none}.prod-spec-item:nth-child(n+4){border-top:1px dashed var(--color-rule)}.feat-grid-2,.feat-grid-3{grid-template-columns:1fr}.chapter{padding:var(--s7) 0 var(--s6)}}@media(max-width:480px){.prod-spec{grid-template-columns:repeat(2,1fr)}.prod-spec-item:nth-child(odd){border-left:none}.prod-spec-item:nth-child(n+3){border-top:1px dashed var(--color-rule)}.prod-hero-actions,.prod-cta-actions{flex-direction:column;align-items:center}.prod-hero-actions .btn,.prod-cta-actions .btn{width:100%;justify-content:center}}
