/* Public identity, extracted from the accepted homepage. Existing page sizes and geometry remain with their owners. */
.public-product, .minimal-home, .resource-page, .public-chrome {
 --home-font: var(--font-sans); --display: var(--font-sans); --public-muted: var(--mute);
 font-family: var(--font-sans); font-synthesis: none; color: var(--ink);
}
.minimal-home .shell, .resource-page.shell, .public-chrome .shell { width: calc(100% - clamp(96px, 10vw, 144px)); max-width: 1296px; margin-inline: auto; }
.product-button { display: inline-flex; align-items: center; justify-content: center; text-align: center; min-height: 54px; padding: 14px 24px; border: 1px solid var(--line-strong); border-radius: 8px; font-size: 15px; line-height: 1.5; font-weight: 500; box-shadow: none; transition: background-color 140ms ease, border-color 140ms ease; }
.product-button.primary { background: var(--primary); color: #fff; border-color: var(--primary); }
.product-button.primary:hover, .product-button.primary:active { background: var(--primary-hover); border-color: var(--primary-hover); }
.product-button.secondary { background: #fff; border-color: var(--line); color: var(--ink); }
.product-button.secondary:hover { border-color: var(--primary); }
.public-product .portal-controls { font-family: var(--font-sans); }
.public-product .portal-controls :is(h2,h3,strong,button) { font-weight: 500; }
@media(max-width:1100px) { .minimal-home .shell, .resource-page.shell, .public-chrome .shell { width: calc(100% - 96px); } }
@media(max-width:800px) { .minimal-home .shell, .resource-page.shell, .public-chrome .shell { width: calc(100% - 48px); } }
@media(max-width:500px) { .product-button { padding-inline: 18px; } }
@media(max-width:340px) { .minimal-home .shell, .resource-page.shell, .public-chrome .shell { width: calc(100% - 32px); } }

.product-button.primary:visited { color: #fff; }
.product-button:focus-visible { outline: 2px solid var(--focus); outline-offset: 5px; }
