/* Shared public-page layout; Studio has its own measured composer space. */
html { scroll-padding-top: 130px; }
main, article, .card-body, .hero-actions, .doc-article { min-width: 0; }
:where(a, button, input, summary, [tabindex]):focus-visible { outline: 2px solid #cbd5e1; outline-offset: 4px; }
.home-nav-sub { flex-wrap: wrap; }
.home-nav .nav-models-dropdown-container, .home-nav .nav-link-pricing { display: inline-flex !important; }
.home-nav .nav-models-menu { max-width: calc(100vw - 32px); max-height: min(420px, 65dvh); overflow-y: auto; }
.home-nav .nav-models-menu { position: fixed !important; left: var(--nav-menu-left, 12px) !important; top: var(--nav-menu-top, 100px) !important; transform: translateY(6px) !important; }
.home-nav .nav-models-menu.active { transform: translateY(0) !important; }
.home-nav .model-nav-item { transition-property: color, background-color, border-color !important; }
.home-nav .nav-models-menu:not(.active) { visibility: hidden; }
.home-nav .nav-models-menu.active { visibility: visible; }
.home-nav #navModelsMenu { box-sizing: border-box !important; overflow-x: hidden !important; overflow-y: hidden !important; padding: 6px !important; transform: none !important; }
.home-nav #navModelsMenu .custom-nav-scroll { min-width: 0; max-height: min(380px, 60dvh) !important; overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain; }
.home-nav #navModelsMenu .model-nav-item { min-width: 0; flex-shrink: 0; padding: 9px 12px !important; white-space: normal; line-height: 1.4; }
.home-nav #navModelsMenu .model-nav-item:hover, .home-nav #navModelsMenu .model-nav-item:focus-visible { padding: 9px 12px !important; background: #252529 !important; color: #fff !important; }
.home-nav #navModelsMenu .model-nav-item span { min-width: 0; overflow-wrap: anywhere; }
.hero-headline { overflow-wrap: anywhere; }
.hero-actions { flex-wrap: wrap; }
.hero-actions a { max-width: 100%; white-space: normal; text-align: center; }
.meta-prompt-text { overflow-wrap: anywhere; }
.model-specifications dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
.model-specifications dl > div { border-bottom: 1px solid #27272a; padding: 10px 0; }
.model-specifications dt { color: #a1a1aa; font-size: .85rem; }
.model-specifications dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.release-article { max-width: 850px; margin: 36px auto 70px; padding: 0 24px; }
.release-article h2 { margin-top: 32px; }
.blog-showcase-card { display: flex; flex-direction: column; height: 100%; }
.blog-showcase-card .card-media-wrapper { aspect-ratio: 16/10; height: auto; overflow: hidden; }
.blog-showcase-card .card-media-wrapper img { width: 100%; height: 100%; object-fit: cover; }
.blog-showcase-card .card-body { flex: 1; display: flex; flex-direction: column; }
.blog-showcase-card .card-title { overflow-wrap: anywhere; }
.blog-showcase-card .card-footer { margin-top: auto; padding-top: 16px; }
.billing-switcher-wrapper { max-width: 100%; flex-wrap: wrap; gap: 8px; }
.billing-cycle-btn { white-space: normal !important; flex-wrap: wrap; justify-content: center; }
.billing-rec-badge { position: static !important; }
#pastDueLegalBanner.hidden, #planCancelStatusBanner.hidden { display: none !important; }
#premiumTierSlider { min-height: 28px; }
#starterPriceContainer { flex-wrap: wrap; white-space: normal; }
#starterPricePeriod, #proPeriodText, #premiumPeriodText { white-space: normal; }
#couponCaptchaBox { max-width: 100%; }
#unlimitedModelsPopover { max-height: min(310px, 50dvh); }
#unlimitedModelsPopover .model-item { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
#unlimitedModelsPopover .model-item > div { min-width: 0; }
#unlimitedModelsPopover .model-item .marquee-container { overflow: visible !important; white-space: normal !important; }
#unlimitedModelsPopover .model-item .marquee-content { display: block !important; white-space: normal !important; overflow-wrap: anywhere; transform: none !important; animation: none !important; }
#unlimitedModelsPopover .model-item small { display: block; white-space: normal; overflow: visible; }
.public-help-layer { position: fixed; z-index: 10050; max-width: min(280px, calc(100vw - 24px)); padding: 12px; border: 1px solid #3f3f46; border-radius: 12px; background: #18181b; color: #e4e4e7; font-size: 12px; line-height: 1.5; pointer-events: none; }
.public-help-layer[hidden] { display: none; }
.gallery-provenance, .attribution-note { color: #a1a1aa; font-size: .85rem; }
.toc-mobile-toggle { display: none; }
@media (max-width: 900px) {
  .toc-mobile-toggle { display: block; width: 100%; border: 0; padding: 8px 0; background: transparent; color: #e4e4e7; font: inherit; text-align: left; cursor: pointer; }
  .toc-sidebar .toc-label { display: none; }
  .toc-sidebar[data-toc-collapsed="true"] .toc-nav { display: none !important; }
}
@media (max-width: 580px) {
  .model-specifications dl { grid-template-columns: 1fr; }
  .container { padding-left: 16px; padding-right: 16px; }
  .home-nav-sub { gap: 14px !important; }
  .hero-section { padding-top: 24px; }
  .billing-cycle-btn { padding: 10px 12px !important; font-size: .82rem !important; min-width: 0; }
  .billing-switcher-wrapper { width: 100%; }
  .release-article { margin-top: 24px; padding: 0 16px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
