/* Portal additions to the shared Uplivra stylesheet. */
.foot { max-width: 1100px; margin: 0 auto; padding: 1rem 1.5rem 2rem; }
.hero { padding: 2rem 0 1.5rem; display: grid; gap: .75rem; }
.hero h1 { font-size: 2rem; }
.narrow { max-width: 440px; margin: 2rem auto; display: grid; gap: 1rem; }
.buy-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1rem; align-items: start; }
@media (max-width: 800px) { .buy-grid { grid-template-columns: 1fr; } }
.quote { position: sticky; top: 1rem; }
.quote .lines { list-style: none; padding: 0; margin: 0 0 .75rem; display: grid; gap: .4rem; }
.quote .lines li { display: flex; justify-content: space-between; gap: 1rem; font-size: .9rem; }
.quote .big { font-size: 1.8rem; font-weight: 700; margin: .25rem 0; }
pre.key { font-size: .8rem; }
ul.plain { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.facts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .75rem 1.25rem; margin: 0 0 1rem; }
.facts-grid dt { font-size: .75rem; text-transform: uppercase; letter-spacing: .03em; color: var(--muted); font-weight: 600; }
.facts-grid dd { margin: 0; overflow-wrap: anywhere; }
.js .js-hide { display: none; }
.who .button { padding: .3rem .7rem; }
