/* Public presentation, 2026-11-13. No portal/admin rules. */
:root { --public-header-offset: 8rem; }
html { scroll-padding-top: var(--public-header-offset); }
.public-site main [id] { scroll-margin-top: 1rem; }
.public-site .nav-wrap { width: min(calc(100% - 2rem), 1440px); gap: 1.25rem; }
.public-site .brand-shell { flex: 0 0 250px; }
.public-site .main-nav { gap: .85rem; font-size: .78rem; letter-spacing: .04em; }
.public-site .main-nav > a, .public-site .nav-dropdown__parent { white-space: nowrap; }
.public-site .nav-partner-login { border: 1px solid var(--line); padding: .6rem .8rem; border-radius: .4rem; }
.public-site .section { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.public-site .section-heading { margin-bottom: 2rem; }
.public-site .section-heading h2, .public-site .shop-cta h2, .public-site .social-section h2 { font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.12; }
.public-site .product-hub-hero { background: var(--cream); color: var(--green-950); padding-block: 2.5rem 1rem; }
.public-site .product-hub-hero h1 { font-size: clamp(2.2rem, 4.5vw, 3.7rem); }
.public-site .product-hub-hero p:not(.eyebrow) { color: #465447; }
.public-site .product-worlds--overview { padding-top: 1.5rem; }
.public-site .product-hub-grid--home { margin-bottom: 0; }
.public-site .product-hub-card--clear { display: flex; flex-direction: column; min-height: 0; background: #fffdf8; color: var(--green-950); border: 1px solid var(--line); }
.public-site .product-hub-card__media { display: block; overflow: hidden; }
.public-site .product-hub-card--clear img { position: static; display: block; width: 100%; height: auto; aspect-ratio: 1.85; object-fit: cover; }
.public-site .product-hub-card--partner img, .public-site .product-hub-card--clear[data-cms-image-key="product_worlds_partner_image"] img { object-position: center top; }
.public-site .product-hub-card--clear .product-hub-card__content { position: static; display: flex; flex: 1; flex-direction: column; gap: .75rem; padding: 1.5rem; }
.public-site .product-hub-card--clear .product-hub-card__content strong { font-size: clamp(1.7rem, 2.5vw, 2.35rem); }
.public-site .product-hub-card--clear .product-hub-card__content small { color: #79521a; }
.public-site .product-hub-card--clear .product-hub-card__content > span { color: #465447; }
.public-site .product-hub-card--clear .product-hub-card__route { font-size: .9rem; font-weight: 600; }
.public-site .product-hub-card--clear .product-hub-card__content b { margin-top: auto; background: var(--green-900); color: white; max-width: 100%; width: fit-content; white-space: normal; }
/* Captions participate in layout: no overlap with buttons, no clipped circles. */
.public-site .ai-image-label { position: relative; inset: auto; display: block; width: fit-content; max-width: calc(100% - 1rem); margin: .5rem; padding: .4rem .65rem; border: 1px solid #cbd8ce; border-radius: .4rem; background: #edf3ee; color: #173923; box-shadow: none; font-size: .75rem; font-weight: 600; line-height: 1.4; text-transform: none; letter-spacing: normal; }
.public-site .team-panel__visual { overflow: visible; aspect-ratio: auto; border: 0; border-radius: 0; background: none; box-shadow: none; }
.public-site .team-panel__visual img { height: auto; aspect-ratio: 1; border-radius: 50%; background: #f6ead6; border: 1px solid var(--line); }
.public-site .team-panel__visual .ai-image-label { margin-inline: auto; }
.public-site .story__visual { min-height: 0; }
.public-site .cookbook-card__image { aspect-ratio: auto; background: #fffdf8; }
.public-site .cookbook-card__image img { height: auto; aspect-ratio: 1; }
.public-site .cookbook-gallery__main { aspect-ratio: auto; min-height: 0; }
.public-site .cookbook-gallery__main img { height: auto; aspect-ratio: 1; }
.public-site .partner-card__logo { height: auto; min-height: 150px; flex-wrap: wrap; }
.public-site .partner-card__logo .ai-image-label { flex-basis: 100%; }
.public-site .partner-product-card__image { aspect-ratio: auto; }
.public-site .partner-product-card__image img { height: auto; aspect-ratio: 1; }
.public-site .recipe-card__link { text-transform: none; letter-spacing: normal; font-weight: 400; font-size: 1rem; }
.public-site .recipe-card__link .recipe-card__image { padding: 0; }
.public-site .recipe-card__link p { text-transform: none; letter-spacing: normal; font-weight: 400; line-height: 1.65; }
.public-site .cookbook-detail__hero .recipe-back { color: #f5d99d; }
.public-site .region__grid, .public-site .shop-cta__grid, .public-site .social-section__grid { grid-template-columns: minmax(0, 1fr); min-height: 0; }
.public-site .region__content { max-width: 900px; }
.public-site .shop-cta__content { max-width: 900px; padding-block: 2.75rem; }
.public-site .social-section { padding-block: 2.75rem; }
.public-site .partner-section { margin-top: 2.75rem; padding-top: 2.75rem; }
.public-site .partner-join { padding-block: 2.5rem; background: #f3e8d5; }
.public-site .partner-join__inner { max-width: 900px; }
.public-site .partner-join h2 { font: 500 clamp(1.8rem, 3vw, 2.6rem)/1.2 Georgia, serif; color: var(--green-950); margin-top: 0; }
.public-site .partner-join details { margin-top: 1rem; }
.public-site .partner-join summary { cursor: pointer; font-weight: 600; padding-block: .5rem; }
.public-site .partner-join .button { margin-top: .5rem; }
.public-site a:focus-visible, .public-site button:focus-visible, .public-site summary:focus-visible { outline: 3px solid #b7832d; outline-offset: 4px; }
@media (max-width: 1399px) {
  .public-site .menu-toggle { display: block; }
  .public-site .main-nav { position: fixed; inset: var(--public-menu-top, var(--public-header-offset)) 0 auto; display: grid; gap: 0; padding: 1rem 1.4rem; max-height: calc(100dvh - var(--public-menu-top, var(--public-header-offset))); overflow-y: auto; background: #fffdf8; border-bottom: 1px solid var(--line); transform: translateY(-150%); opacity: 0; pointer-events: none; visibility: hidden; }
  .public-site .main-nav.is-open { transform: none; opacity: 1; pointer-events: auto; visibility: visible; }
  .public-site .main-nav > a { padding: .75rem; }
  .public-site .nav-dropdown { display: grid; grid-template-columns: 1fr auto; }
  .public-site .nav-dropdown__parent { padding: .75rem; }
  .public-site .nav-dropdown__menu { position: static; grid-column: 1 / -1; min-width: 0; box-shadow: none; }
}
@media (max-width: 760px) {
  .public-site .product-hub-grid { grid-template-columns: 1fr; }
  .public-site .product-hub-card__content b { font-size: .72rem; }
  .public-site .section { padding-block: 2.25rem; }
  .public-site .team-panel { padding: 1.25rem; }
}
