/* 86 · detail: the home and store detail pass (the user, 2026-10-13: "detail the site, develop detail"). Additive only,
   on existing parts and tokens: a still paper grain on the raised surfaces, engraved hairline edges, micro-typography
   and hover states. Nothing here moves per frame, no blur and no filter, so it costs a phone nothing (2v2's mobile
   lag work stays untouched). The grain is one tiny still noise tile, mixed in at a whisper. */

/* the grain: the same still tile on the solid raised surfaces (the gradient ones keep their own ground untouched) */
.rw-item,.rw-dialog{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .4 0 0 0 0 .45 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='96' height='96' filter='url(%23g)'/%3E%3C/svg%3E")}

/* engraved hairlines: a second fine line struck just inside each surface's border, as an outline, so no part's own
   background, shadow or transition is touched */
.rw-engine,.rw-item,.rw-plate,.rw-fund{outline:1px solid color-mix(in srgb,var(--rw-engine-edge) 55%,transparent);outline-offset:-5px}
.rw-engine{outline-offset:-7px}
.rw-section__head{position:relative;padding-bottom:12px}
.rw-section__head::after{content:"";position:absolute;left:0;bottom:0;width:min(220px,40%);height:1px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--rose) 70%,transparent),transparent)}

/* micro-typography: kerning and ligatures on, old-style figures in running text, lining tabular figures where numbers
   line up, balanced headings, no orphans in ledes, eyebrows tracked, hanging quotes */
.rw-body{font-kerning:normal;font-feature-settings:"kern","liga","calt";text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.rw-lede,.rw-item__pitch,.rw-caption__desc,.rw-plate__line,.rw-fund__lede{font-variant-numeric:oldstyle-nums;text-wrap:pretty;hanging-punctuation:first last}
.rw-item__price,.rw-fund__sum,.rw-fund__of,.rw-pulled,.rw-radar__value,.rw-item__slots{font-variant-numeric:lining-nums tabular-nums}
.rw-section__title,.rw-hero__title,.rw-item__title,.rw-plate__name{text-wrap:balance;font-feature-settings:"kern","liga","dlig"}
.rw-eyebrow,.rw-item__tag,.rw-fund__eyebrow{letter-spacing:.16em;font-feature-settings:"kern","case"}
.rw-manifesto__title{font-style:italic}

/* hover states: every link shows where it goes, every surface answers the hand with its edge, never a jump */
.rw-tagline__and,.rw-pulled__link,.rw-footer a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;
  text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);transition:text-decoration-color var(--t1) var(--e),color var(--t1) var(--e)}
.rw-tagline__and:hover,.rw-pulled__link:hover,.rw-footer a:hover{text-decoration-color:currentColor}
.rw-item:hover,.rw-plate:hover,.rw-fund:hover{outline-color:color-mix(in srgb,var(--rw-item-edge,var(--rose)) 60%,transparent)}
.rw-dots__dot:hover{background:color-mix(in srgb,var(--pk,var(--rose)) 55%,var(--rw-dot))}
.rw-dots__dot:focus-visible{outline:2px solid var(--rw-focus);outline-offset:3px}
.rw-mark{transition:letter-spacing var(--t2) var(--e)}
.rw-mark:hover{letter-spacing:.01em}

@media (prefers-reduced-motion:reduce){.rw-mark,.rw-tagline__and,.rw-pulled__link,.rw-footer a{transition:none}}
