/* Public site only: clarity, keyboard navigation and small screens. */
.public-premium { line-height: 1.6; }
.public-premium header { background: #0b170ff5; border-bottom: 1px solid #3b5140; }
.public-premium header > .container { gap: 1rem; flex-wrap: wrap; }
.public-premium .nav-public { flex-wrap: wrap; align-items: center; }
.public-premium .nav-public .btn { padding: .55rem .8rem; }
.public-premium .btn { min-height: 44px; }
.public-premium .btn-primary { background: #b9dc7a; border-color: #b9dc7a; color: #18291a; }
.public-premium a:focus-visible, .public-premium button:focus-visible, .public-premium summary:focus-visible { outline: 3px solid #b9dc7a; outline-offset: 4px; }
.skip-link { position: fixed; top: .5rem; left: .5rem; padding: .8rem 1rem; background: #eef4e4; color: #132b1b; z-index: 10000; transform: translateY(-200%); }
.skip-link:focus { transform: none; }
.public-premium .reveal { opacity: 1; transform: none; }
.public-premium .hero-premium { min-height: auto; }
.public-premium .hero-content { padding: 3rem 0; }
.public-premium .hero-gradient-bg, .public-premium .hero-light-sweep { animation: none; }
.public-next-step { display: grid; grid-template-columns: 1.3fr 1fr; gap: 2rem; padding: 2rem; margin-bottom: 2rem; border: 1px solid #4a664b; border-radius: 18px; background: #172b1d; }
.public-next-step h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: .5rem 0; }
.public-next-step p { color: #d0dece; }
.public-contact-actions { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: .8rem; min-width: 0; }
.public-contact-actions a { overflow-wrap: anywhere; max-width: 100%; }
.public-empty { padding: 1.5rem; border: 1px solid #38513e; border-radius: 16px; margin: 2rem 0; }
.public-premium .gallery-card { display: block; margin: 0; color: #fff; }
.gallery-caption { display: block; padding: 1rem; background: #142219; }
.gallery-caption small { display: block; color: #c6d4c9; }
.public-premium dialog.lightbox { width: 100vw; max-width: 100vw; height: 100vh; max-height: 100vh; margin: 0; border: 0; background: #07110bf5; color: #fff; }
.public-premium dialog.lightbox[open] { display: grid; }
.public-premium dialog.lightbox::backdrop { background: #000b; }
.public-premium dialog.lightbox img { max-width: 90vw; max-height: 80vh; }
.public-premium .about-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.public-premium .about-grid .card { background: #142219; }
.public-premium .about-intro { max-width: 800px; }
.public-premium .about-intro h1 { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.15; }
.public-premium .about-intro p { color: #d2ded4; }
.public-premium .cookie-modal-card { max-height: 90vh; overflow-y: auto; }
@media (max-width: 760px) {
  .public-premium header { position: static; }
  .public-premium .nav-public { width: 100%; justify-content: flex-start; }
  .public-premium .nav-public .btn { font-size: .85rem; }
  .public-next-step, .public-premium .about-grid { grid-template-columns: 1fr; }
  .public-next-step { padding: 1.3rem; gap: 1rem; }
  .public-premium .hero-content { padding: 2rem 0; }
}
.public-premium section > .flex.items-center.justify-between { flex-wrap: wrap; gap: .8rem; }
.public-footer > .card { background: #101e15; border-color: #38513e; }

.site-credit { margin: 1.5rem 0 0; text-align: center; color: #b8c6bc; font-size: .85rem; }
.site-credit strong { color: #dce8d8; font-weight: 600; }

/* Keep native video controls clear of promotional overlays. */
.public-premium .home-video-player{display:block;min-height:0}
.public-premium .home-video-player .home-video-media{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#000}
.public-premium .home-video-player .home-video-content{max-width:none}
