/* mirror_pages.py - generated. Do not hand-edit; edit the tool.

   Palette-neutral by construction: this sheet references ONLY the CSS custom
   properties every mirror's compiled Tailwind sheet defines, so each site's own
   colours and fonts come through without this file knowing any of them. It must
   never name a site-specific token (navy, aqua, brand, charcoal, cream, gold):
   those exist on some mirrors and not others.

   --color-muted-foreground is the one near-miss (absent on the ForceWash-derived
   sheet), so every use carries a fallback. */

.mp-wrap{--mp-measure:72ch;max-width:64rem;margin-inline:auto;padding-inline:1.25rem}
.mp-hero{padding-block:clamp(2.5rem,5.5vw,4.25rem);
  background:color-mix(in oklab,var(--color-accent) 10%,var(--color-background));
  border-bottom:1px solid var(--color-border)}
.mp-section{padding-block:clamp(1.75rem,3.2vw,2.75rem)}
.mp-eyebrow{font-family:var(--font-sans);font-size:.8125rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem;
  color:var(--color-muted-foreground,var(--color-foreground));opacity:.85}
.mp-h1{font-family:var(--font-heading);font-size:clamp(2rem,4.5vw,3rem);
  font-weight:700;line-height:1.12;margin-bottom:1rem}
.mp-h2{font-family:var(--font-heading);font-size:clamp(1.5rem,2.8vw,2rem);
  font-weight:700;line-height:1.2;margin-bottom:1rem}
.mp-h3{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;
  margin-bottom:.5rem}
.mp-lede{font-size:clamp(1.0625rem,1.6vw,1.25rem);line-height:1.6;max-width:52ch;
  color:var(--color-muted-foreground,var(--color-foreground))}
.mp-prose p{line-height:1.7;margin-bottom:1rem;max-width:var(--mp-measure)}
.mp-prose p:last-child{margin-bottom:0}
.mp-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media(min-width:640px){.mp-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.mp-grid{grid-template-columns:repeat(3,1fr)}}
.mp-card{padding:1.5rem;border:1px solid var(--color-border);
  border-radius:var(--radius,.75rem);background:var(--color-background)}
.mp-card p{line-height:1.65;color:var(--color-muted-foreground,var(--color-foreground))}
.mp-card-link{display:flex;flex-direction:column;text-decoration:none;color:inherit;
  transition:border-color .2s ease,transform .2s ease}
.mp-card-link:hover{border-color:var(--color-accent);transform:translateY(-2px)}
.mp-card-link:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}
.mp-more{margin-top:auto;padding-top:.75rem;font-weight:600;font-size:.9375rem;
  color:var(--color-primary)}
@media(prefers-reduced-motion:reduce){.mp-card-link{transition:none}
  .mp-card-link:hover{transform:none}}
.mp-list{margin:0 0 1rem;padding-left:1.25rem;list-style:disc;max-width:var(--mp-measure)}
.mp-list li{line-height:1.7;margin-bottom:.5rem}
.mp-faq-item{padding-block:1.25rem;border-top:1px solid var(--color-border);max-width:var(--mp-measure)}
.mp-faq-item p{line-height:1.7;color:var(--color-muted-foreground,var(--color-foreground))}
.mp-figure{margin:0}
.mp-img{width:100%;height:auto;display:block;border-radius:var(--radius,.75rem)}
.mp-caption{margin-top:.625rem;font-size:.875rem;
  color:var(--color-muted-foreground,var(--color-foreground))}
.mp-note{padding:1rem 1.25rem;border-left:3px solid var(--color-accent);
  background:color-mix(in oklab,var(--color-accent) 7%,var(--color-background));
  border-radius:var(--radius,.75rem);font-size:.9375rem;line-height:1.65;max-width:var(--mp-measure)}
.mp-cta{padding-block:clamp(2.25rem,4.5vw,3.5rem);text-align:center;
  background:color-mix(in oklab,var(--color-accent) 12%,var(--color-background));
  border-top:1px solid var(--color-border)}
.mp-cta p{margin-bottom:1.5rem;line-height:1.7}
.mp-btn{display:inline-flex;align-items:center;justify-content:center;
  padding:.8125rem 1.75rem;border-radius:999px;font-weight:600;text-decoration:none;
  background:var(--color-primary);color:var(--color-primary-foreground);
  transition:opacity .2s ease}
.mp-btn:hover{opacity:.9}
.mp-btn:focus-visible,.mp-list a:focus-visible{outline:2px solid var(--color-ring);
  outline-offset:2px}
@media(prefers-reduced-motion:reduce){.mp-btn{transition:none}}
