
/* Keep public HTML out of app layout, available without working scripts. */
html[data-ptp-public-fallback], html[data-ptp-public-fallback] body { overflow: hidden !important; scroll-snap-type: none !important; }
html[data-ptp-public-fallback] #ptp-bootstrap-shell { display: none !important; }
html[data-ptp-public-fallback] #app { visibility: hidden !important; }
html[data-ptp-public-fallback] [data-ptp-bootstrap-public] { position: fixed; inset: 0; z-index: 9999; box-sizing: border-box; overflow: auto; overscroll-behavior: contain; padding: 2rem max(1.25rem, calc((100vw - 48rem) / 2)); color: #241c18; background: #faf9f6; font: 16px/1.7 system-ui, sans-serif; }
html[data-ptp-public-fallback] [data-ptp-bootstrap-public]:not([data-ptp-prerender]) a { color: #bb4d13; }
html[data-ptp-public-fallback] [data-ptp-bootstrap-public]:not([data-ptp-prerender]) h1 { font-size: 1.75rem; line-height: 1.3; }
html[data-ptp-public-fallback] [data-ptp-bootstrap-public]:not([data-ptp-prerender]) h2 { font-size: 1.25rem; margin-top: 2rem; }
html[data-ptp-public-fallback] [data-ptp-bootstrap-public]:not([data-ptp-prerender]) li { margin-bottom: .5rem; }
/* Preserve the original brand transition for script-enabled visitors. Both
 * animations fail open after 8s even if bootstrap.js never executes. */
@media (scripting: enabled) {
  html[data-ptp-public-fallback][data-ptp-public-loading] #ptp-bootstrap-shell { display: grid !important; visibility: visible; animation: ptp-public-shell-timeout 0s 8s forwards; }
  html[data-ptp-public-fallback][data-ptp-public-loading] [data-ptp-bootstrap-public] { visibility: hidden; animation: ptp-public-content-timeout 0s 8s forwards; }
}
@keyframes ptp-public-shell-timeout { to { visibility: hidden; } }
@keyframes ptp-public-content-timeout { to { visibility: visible; } }
/* The homepage is a build-time render of its real components, not a prose cover. */
html[data-ptp-public-fallback] [data-ptp-prerender="home"] { padding: 0; font: inherit; color: inherit; isolation: isolate; }
html[data-ptp-public-fallback] [data-ptp-prerender="home"] .pt-home-carousel-slide { position: relative; inset: auto; width: min(calc(100% - 40px), 1100px); height: 100%; margin-inline: auto; opacity: 1; transform: none; }
html[data-ptp-public-fallback] [data-ptp-prerender="home"] [inert] { cursor: default; }
[data-ptp-prerender="home"] [data-ptp-static-viewport="mobile"] { display: none !important; }
@media (max-width: 640px) {
  [data-ptp-prerender="home"] [data-ptp-static-viewport="desktop"] { display: none !important; }
  [data-ptp-prerender="home"] [data-ptp-static-viewport="mobile"] { display: flex !important; }
}
