.promo{margin-block:var(--sp-4)}.promo__title{font-family:var(--font-heading);font-weight:900;font-size:var(--fs-lg);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);margin:0 0 var(--sp-2);padding-top:var(--sp-2);border-top:var(--rule-ink)}.promo__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--sp-2)}.promo__card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1);padding:var(--sp-3)}.promo__body{display:contents}.promo__logo-link{display:inline-block;line-height:0}.promo__logo{border:var(--rule-soft);background:var(--surface)}.promo__brand{font-family:var(--font-heading);font-weight:900;font-size:var(--fs-md);letter-spacing:var(--ls-heading);margin:0}.promo__brand a{color:var(--text);text-decoration:none}.promo__brand a:hover{color:var(--primary);text-decoration:underline}.promo__bonus{margin:0;font-weight:700;color:var(--text)}.promo__bonus-label{display:block}.promo__cta{margin-top:auto;width:100%}@media(max-width:40rem){.promo__card{flex-direction:row;align-items:center;gap:var(--sp-3)}.promo__body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1);flex:1;min-width:0}}.rating{display:flex;width:fit-content;align-items:center;gap:.5rem;margin:0 0 var(--sp-meta-block);font-size:var(--fs-sm);color:var(--text-soft)}.rating__stars{position:relative;font-size:1.05rem;line-height:1;letter-spacing:.1em;color:var(--surface-sunken)}.rating__stars-fill{position:absolute;inset:0;overflow:hidden;white-space:nowrap;color:var(--star)}.rating__score{font-size:var(--fs-md);color:var(--text)}.trust-links{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 var(--sp-meta-block)}.trust-links__chip{display:inline-flex;align-items:center;min-height:var(--tap);padding:.25rem .75rem;border:var(--rule-soft);border-radius:var(--r-pill);background:var(--surface-alt);color:var(--text-soft);font-family:var(--font-heading);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}.trust-links__chip:hover{color:var(--text);border-color:var(--text)}.author-box{display:flex;gap:var(--sp-3);align-items:flex-start;padding-top:var(--sp-3);margin-block:var(--sp-4);border-top:var(--rule-ink);overflow-wrap:break-word}.author-box__photo{flex-shrink:0;width:6rem;height:6rem;object-fit:cover;border:var(--rule-soft);background:var(--surface-alt)}.author-box__text{min-width:0}.author-box__role{margin:0 0 .25rem}.author-box__name{margin:0 0 var(--sp-1);font-family:var(--font-heading);font-weight:900;font-size:var(--fs-lg);line-height:var(--lh-heading);letter-spacing:var(--ls-heading)}.author-box__name a{color:var(--text);text-decoration:none}.author-box__name a:hover{color:var(--primary);text-decoration:underline}.author-box__bio{max-width:62ch;color:var(--text-soft)}.author-box__bio p:last-child{margin-bottom:0}@media(max-width:40rem){.author-box{flex-direction:column;gap:var(--sp-2)}}.side-promo{padding:var(--sp-2) var(--sp-3);border:var(--rule-ink);background:var(--surface-alt)}.side-promo__title{margin:0 0 var(--sp-1);padding-bottom:var(--sp-1);border-bottom:var(--rule-ink);font-family:var(--font-heading);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.side-promo__list{list-style:none;margin:0;padding:0}.side-promo__row{display:flex;align-items:center;gap:.5rem;padding-block:.5rem;border-bottom:var(--rule-soft)}.side-promo__row:last-child{border-bottom:0}.side-promo__rank{min-width:1.5ch;font-family:var(--font-heading);font-weight:900;font-variant-numeric:tabular-nums;color:var(--accent)}.side-promo__logo{flex-shrink:0;width:2.25rem;height:2.25rem;object-fit:contain;background:var(--surface)}.side-promo__name{flex:1;min-width:0;font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:800;overflow-wrap:anywhere}.side-promo__name a{color:var(--text);text-decoration:none}.side-promo__name a:hover{color:var(--primary)}.side-promo__cta{display:inline-flex;align-items:center;min-height:var(--tap);padding:.25rem .75rem;background:var(--gold);color:var(--gold-ink);font-family:var(--font-heading);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.side-promo__cta:hover{background:var(--gold-deep);color:var(--gold-ink)}.side-promo__disclosure{margin:var(--sp-1) 0 0;font-size:.75rem;color:var(--text-faint)}
