/* Public introduction only; dashboard and existing venue pages retain their styles. */
.venue-landing {
  padding: 0;
  background: radial-gradient(ellipse at 85% 12%, #13352377, transparent 32%), #080c0b;
  color: #f3f5ef;
  font-family: "Segoe UI", system-ui, sans-serif;
}
.homepage-shell > :is(.homepage-main, .homepage-rail) { display: none; }
.homepage-shell:not(.mobile-venue-selected) .venue-explore { display: none; }
.homepage-shell.mobile-venue-selected .venue-explore { display: block; grid-column: 1 / -1; }
.venue-home.mobile-audience-gateway {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  align-content: stretch;
  gap: 0;
  min-height: max(620px, 100vh);
  min-height: max(620px, 100svh);
  padding: 0 48px;
  overflow: hidden;
  isolation: isolate;
  background: #050a07;
  color: #fff;
}
.venue-home .venue-home-background { position: absolute; inset: 0; z-index: -2; }
.venue-home .venue-home-background img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.venue-home::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #020805bb, #02080528 65%, #02080510), linear-gradient(180deg, #0007, transparent 28%, transparent 45%, #000c 86%, #000e); }
.venue-home :is(h1, p) { margin: 0; }
.venue-home a { color: inherit; text-decoration: none; }
.venue-home :is(a, button):focus-visible { outline: 3px solid #b9ed7a; outline-offset: 5px; }
.venue-home .venue-home-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 108px; }
.venue-home .venue-home-brand { display: block; width: 320px; }
.venue-home .venue-home-brand img { display: block; width: 100%; height: auto; }
.venue-home .venue-home-instagram { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; font-size: 18px; font-weight: 600; }
.venue-home .venue-home-instagram svg { width: 28px; height: 28px; flex-shrink: 0; }
.venue-home .venue-home-instagram:hover { color: #b9ed7a; }
.venue-home .venue-home-main { align-self: center; width: 100%; padding: 36px 0 62px; }
.venue-home .venue-home-eyebrow { margin-bottom: 20px; color: #c4f18d; font-size: 10px; font-weight: 700; letter-spacing: .2em; }
.venue-home .venue-home-main h1 { font-family: "Segoe UI", system-ui, sans-serif; font-size: clamp(54px, 6.4vw, 100px); line-height: 1.02; letter-spacing: -.055em; font-weight: 650; text-transform: none; text-shadow: 0 2px 30px #0005; }
.venue-home .venue-home-main h1::after { display: none; }
.venue-home .venue-home-intro { margin-top: 24px; max-width: 380px; color: #e0e5de; font-size: 18px; line-height: 1.7; }
.venue-home .venue-home-intro span { display: block; }
.venue-home .venue-home-options { display: grid; grid-template-columns: 1.1fr .9fr 1.4fr .6fr; border-block: 1px solid #ffffff55; background: #02080526; backdrop-filter: blur(8px); }
.venue-home .venue-home-option { display: flex; align-items: center; gap: 18px; min-height: 94px; padding: 22px 32px; border: 0; border-left: 1px solid #ffffff40; background: none; color: #fff; text-align: left; text-decoration: none; font-size: 16px; font-weight: 600; transition: background 150ms; }
.venue-home .venue-home-option:first-child { border-left: 0; }
.venue-home .venue-home-option:hover { background: #b9ed7a1a; }
.venue-home .venue-home-option-login strong { font-weight: 800; }
.venue-home .venue-home-arrow { margin-left: auto; color: #c4f18d; font-size: 22px; font-weight: 400; }
.venue-home .venue-home-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 48px; color: #aeb9af; font-size: 10px; }
.venue-home .venue-home-footer a { padding-block: 12px; }
.venue-home .venue-home-footer a:hover { color: #fff; }
@media (min-width: 1600px) { .venue-home.mobile-audience-gateway { padding-inline: 64px; } .venue-home .venue-home-main { padding-left: 28px; } }
@media (max-width: 900px) {
  .venue-home.mobile-audience-gateway { padding-inline: 28px; }
  .venue-home .venue-home-option { padding-inline: 18px; gap: 12px; font-size: 14px; }
  .venue-home .venue-home-brand { width: 280px; }
}
@media (max-width: 600px) {
  .venue-home.mobile-audience-gateway { padding-inline: 22px; min-height: max(690px, 100vh); min-height: max(690px, 100svh); }
  .venue-home .venue-home-background img { object-position: 71% center; }
  .venue-home::before { background: linear-gradient(90deg, #02080570, #02080522), linear-gradient(180deg, #0008, #0002 24%, #0006 45%, #000c 74%, #000e); }
  .venue-home .venue-home-header { min-height: 82px; gap: 18px; }
  .venue-home .venue-home-brand { width: min(250px, 75%); }
  .venue-home .venue-home-instagram { width: 48px; flex-shrink: 0; justify-content: center; }
  .venue-home .venue-home-instagram span { display: none; }
  .venue-home .venue-home-main { padding-block: 44px 34px; }
  .venue-home .venue-home-eyebrow { font-size: 9px; margin-bottom: 16px; }
  .venue-home .venue-home-main h1 { font-size: clamp(44px, 12.6vw, 70px); }
  .venue-home .venue-home-intro { max-width: 320px; font-size: 16px; margin-top: 20px; }
  .venue-home .venue-home-options { grid-template-columns: 1fr; }
  .venue-home .venue-home-option { min-height: 66px; padding: 18px 12px; border-left: 0; border-top: 1px solid #ffffff35; font-size: 14px; }
  .venue-home .venue-home-option:first-child { border-top: 0; }
  .venue-home .venue-home-footer { min-height: 42px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) { .venue-home .venue-home-option { transition: none; } }
.public-entry-close { display: none; }
.public-entry-back { display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; text-decoration: none; }
body.public-entry-overlay { overflow: hidden; }
body.public-entry-overlay.gateway-visible .homepage-shell { display: grid; }
body.public-entry-overlay #dashboard-gateway {
  position: fixed; inset: 0; z-index: 50; min-height: 0; padding: 20px;
  background: rgba(0, 0, 0, .72); backdrop-filter: blur(12px);
}
body.public-entry-overlay #dashboard-gateway::after { display: none; }
body.public-entry-overlay .gateway-panel {
  position: relative; width: min(560px, 100%); max-height: calc(100svh - 40px);
  overflow-y: auto; padding: 32px 28px 28px; border-radius: 20px;
  border-color: #28c64f52; background: linear-gradient(135deg, #0a1b11ed, #180b0ded), #040908;
}
body.public-entry-overlay[data-public-page="apply"] .gateway-panel { width: min(760px, 100%); }
body.public-entry-overlay :is(.gateway-logo-panel, .gateway-options) { display: none; }
body.public-entry-overlay .gateway-auth-panel { margin: 0; padding: 0; border: 0; background: none; }
body.public-entry-overlay .gateway-auth-heading { padding-right: 24px; }
body.public-entry-overlay .gateway-auth-heading h2 { font-size: clamp(28px, 3.4vw, 42px); }
body.public-entry-overlay .public-entry-close {
  position: absolute; top: 14px; right: 14px; z-index: 2; display: flex;
  align-items: center; justify-content: center; width: 36px; height: 36px;
  border: 1px solid #ffffff26; border-radius: 50%; background: #ffffff08;
  color: #fff; font-size: 26px; line-height: 1; text-decoration: none;
}
body.public-entry-overlay :is(a, button, input):focus-visible { outline: 2px solid #b9ed7a; outline-offset: 3px; }
@media (min-width: 601px) and (max-width: 1000px) {
  .venue-home .venue-home-options { grid-template-columns: 1fr 1fr; }
  .venue-home .venue-home-option:nth-child(3) { border-left: 0; }
  .venue-home .venue-home-option:nth-child(n+3) { border-top: 1px solid #ffffff40; }
}
@media (max-width: 600px) {
  body.public-entry-overlay #dashboard-gateway { padding: 12px; }
  body.public-entry-overlay .gateway-panel { max-height: calc(100svh - 24px); padding: 30px 20px 24px; }
}
.venue-landing .landing-width { width: min(1320px, calc(100% - 96px)); margin-inline: auto; }
.venue-landing a { color: inherit; text-decoration: none; }
.venue-landing button { font: inherit; }
.venue-landing :is(a, button, summary, select):focus-visible { outline: 3px solid #c4f779; outline-offset: 6px; }
.venue-landing :is(h1, h2, h3, p, figure) { margin: 0; }
.venue-landing :is(h1, h2)::after { display: none; }
.venue-landing em { color: #b9ed7a; font-style: normal; }
.venue-landing .landing-skip { position: absolute; top: 12px; left: 12px; z-index: 10; padding: 12px 18px; color: #080c0b; background: #b9ed7a; transform: translateY(-200%); }
.venue-landing .landing-skip:focus { transform: none; }
.venue-landing .landing-header { display: flex; justify-content: space-between; align-items: center; gap: 40px; min-height: 112px; border-bottom: 1px solid #ffffff1f; }
.venue-landing .landing-brand { display: block; width: 295px; flex-shrink: 0; }
.venue-landing .landing-brand img { display: block; width: 100%; height: auto; }
.venue-landing .landing-nav { display: flex; align-items: center; gap: 32px; font-size: 13px; font-weight: 600; }
.venue-landing .landing-nav a { padding-block: 14px; }
.venue-landing .landing-nav button { min-height: 44px; padding: 10px 18px; border: 1px solid #ffffff40; border-radius: 4px; background: none; color: #f3f5ef; }
.venue-landing .landing-nav .landing-nav-link { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border: 1px solid #ffffff40; border-radius: 4px; }
.venue-landing .landing-nav span { margin-left: 8px; color: #b9ed7a; }
.venue-landing .landing-nav a:hover, .venue-landing .landing-footer a:hover { color: #b9ed7a; }
.venue-landing .landing-hero { display: grid; grid-template-columns: 0.9fr 1.1fr; align-items: center; gap: 52px; padding: 76px 0 72px; }
.venue-landing .landing-eyebrow { display: flex; align-items: center; gap: 10px; color: #b9ed7a; font-size: 11px; font-weight: 700; line-height: 1.6; letter-spacing: 0.14em; text-transform: uppercase; }
.venue-landing .landing-eyebrow > span { width: 7px; height: 7px; border-radius: 50%; background: #b9ed7a; box-shadow: 0 0 16px #b9ed7a80; }
.venue-landing .landing-hero h1 { margin: 24px 0; font-size: clamp(56px, 6.4vw, 94px); line-height: 0.97; letter-spacing: -0.065em; font-weight: 800; text-transform: none; text-shadow: none; }
.venue-landing .landing-lede { max-width: 470px; font-size: clamp(19px, 1.6vw, 23px); line-height: 1.45; letter-spacing: -0.025em; }
.venue-landing .landing-intro { max-width: 470px; margin-top: 16px; color: #aab6af; font-size: 15px; line-height: 1.8; }
.venue-landing .landing-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.venue-landing .landing-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 50px; padding: 14px 20px; border: 1px solid transparent; border-radius: 4px; font-size: 13px; line-height: 1.4; font-weight: 700; text-align: center; transition: background 150ms; }
.venue-landing .landing-button-primary { color: #10190c; background: #b9ed7a; }
.venue-landing .landing-button-primary:hover { background: #d1ffa0; }
.venue-landing .landing-button-secondary { color: #f3f5ef; background: #ffffff06; border-color: #ffffff30; }
.venue-landing .landing-button-secondary:hover { background: #ffffff12; }
.venue-landing .landing-small { display: block; margin-top: 18px; color: #91a198; font-size: 11px; line-height: 1.6; }
.venue-landing .landing-showcase { min-width: 0; padding: 12px; border: 1px solid #b9ed7a33; border-radius: 8px; background: linear-gradient(135deg, #1d2b22, #101815); box-shadow: 0 25px 100px #0005; scroll-margin-top: 24px; }
.venue-landing .landing-screen-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 5px 18px; color: #c7d2ca; font-size: 9px; letter-spacing: 0.09em; }
.venue-landing .landing-screen-label span:first-child { display: flex; align-items: center; gap: 7px; font-weight: 700; }
.venue-landing .landing-screen-label i { width: 6px; height: 6px; background: #b9ed7a; border-radius: 50%; }
.venue-landing .landing-showcase video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #030504; border: 1px solid #ffffff12; border-radius: 3px; }
.venue-landing .landing-showcase figcaption { display: grid; gap: 8px; padding: 24px 14px; }
.venue-landing .landing-showcase figcaption strong { font-size: 18px; font-weight: 600; letter-spacing: -0.03em; }
.venue-landing .landing-showcase figcaption > span { color: #aab6af; font-size: 12px; line-height: 1.7; }
.venue-landing .landing-market-strip { display: flex; justify-content: space-around; gap: 8px; padding: 16px 4px 5px; border-top: 1px solid #ffffff1a; font: 10px/1.4 ui-monospace, monospace; letter-spacing: 0.04em; color: #91a198; }
.venue-landing .landing-market-strip b { margin-left: 8px; color: #b9ed7a; }
.venue-landing .landing-market-strip span:nth-child(2) b { color: #ff7b70; }
.venue-landing .landing-benefits { display: grid; grid-template-columns: repeat(3, 1fr); padding: 32px 0; border-block: 1px solid #ffffff26; }
.venue-landing .landing-benefits article { padding: 6px 32px; border-left: 1px solid #ffffff26; }
.venue-landing .landing-benefits article:first-child { padding-left: 0; border: 0; }
.venue-landing .landing-benefits article:last-child { padding-right: 0; }
.venue-landing .landing-benefits article > span, .venue-landing .landing-feature-copy > span { color: #b9ed7a; font-size: 10px; font-weight: 600; letter-spacing: 0.12em; }
.venue-landing .landing-benefits h2 { margin-top: 16px; font-size: 22px; line-height: 1.3; letter-spacing: -0.025em; text-transform: none; }
.venue-landing .landing-benefits p { margin-top: 12px; color: #aab6af; font-size: 13px; line-height: 1.8; }
.venue-landing .landing-section { padding: 90px 0; border-bottom: 1px solid #ffffff26; scroll-margin-top: 20px; }
.venue-landing .landing-section-heading h2 { margin-top: 18px; font-size: clamp(32px, 3.8vw, 53px); font-weight: 650; line-height: 1.1; letter-spacing: -0.045em; text-transform: none; }
.venue-landing .landing-section-heading > p:last-child:not(.landing-eyebrow) { margin-top: 22px; color: #aab6af; font-size: 15px; line-height: 1.7; }
.venue-landing .landing-how, .venue-landing .landing-faq { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; }
.venue-landing .landing-steps { display: grid; gap: 30px; list-style: none; margin: 0; padding: 0; }
.venue-landing .landing-steps li { display: flex; gap: 24px; }
.venue-landing .landing-steps li > span { flex: 0 0 38px; padding-top: 4px; color: #b9ed7a; font: 12px/1.5 ui-monospace, monospace; }
.venue-landing .landing-steps h3 { font-size: 21px; font-weight: 600; letter-spacing: -0.025em; }
.venue-landing .landing-steps p { margin-top: 10px; color: #aab6af; font-size: 14px; line-height: 1.8; }
.venue-landing .landing-feature-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 24px; margin-top: 40px; }
.venue-landing .landing-feature-grid article { min-width: 0; overflow: hidden; border: 1px solid #ffffff1a; border-radius: 6px; background: #111b16; }
.venue-landing .landing-feature-image { display: flex; align-items: flex-start; justify-content: center; height: 325px; overflow: hidden; padding-top: 28px; background: radial-gradient(ellipse at center bottom, #37503580, transparent 70%); }
.venue-landing .landing-feature-phone img { display: block; width: 195px; height: auto; border: 5px solid #344339; border-radius: 26px 26px 0 0; box-shadow: 0 0 50px #0006; }
.venue-landing .landing-feature-dashboard .landing-feature-image { align-items: flex-start; padding: 28px 28px 0; }
.venue-landing .landing-feature-dashboard img { display: block; width: 100%; height: auto; border: 3px solid #344339; border-radius: 6px; }
.venue-landing .landing-feature-copy { position: relative; padding: 28px 30px 32px; background: #111b16; border-top: 1px solid #ffffff12; }
.venue-landing .landing-feature-copy h3 { margin-top: 12px; font-size: 27px; font-weight: 600; letter-spacing: -0.035em; }
.venue-landing .landing-feature-copy p { max-width: 490px; margin-top: 12px; color: #aab6af; font-size: 14px; line-height: 1.8; }
.venue-landing .landing-faq-list details { border-bottom: 1px solid #ffffff26; padding: 21px 0; }
.venue-landing .landing-faq-list details:first-child { padding-top: 0; }
.venue-landing .landing-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; font-size: 16px; line-height: 1.5; font-weight: 600; list-style: none; }
.venue-landing .landing-faq-list summary::-webkit-details-marker { display: none; }
.venue-landing .landing-faq-list summary::after { content: "+"; color: #b9ed7a; font-size: 23px; font-weight: 400; }
.venue-landing .landing-faq-list details[open] summary::after { content: "−"; }
.venue-landing .landing-faq-list details p { margin-top: 16px; color: #aab6af; font-size: 14px; line-height: 1.8; }
.venue-landing .landing-faq-list details a { color: #b9ed7a; text-decoration: underline; overflow-wrap: anywhere; }
.venue-landing .landing-text-button { padding: 12px 0; border: none; background: none; color: #b9ed7a; font-size: 14px; font-weight: 600; }
.venue-landing .landing-cta { padding: 80px 24px; text-align: center; background: radial-gradient(ellipse at center, #243e2255, transparent 65%); }
.venue-landing .landing-cta .landing-eyebrow, .venue-landing .landing-cta .landing-actions { justify-content: center; }
.venue-landing .landing-cta h2 { margin-top: 20px; font-size: clamp(30px, 3.8vw, 52px); font-weight: 650; line-height: 1.15; letter-spacing: -0.04em; text-transform: none; }
.venue-landing .landing-cta > p:not(.landing-eyebrow) { margin-top: 24px; color: #aab6af; font-size: 15px; }
.venue-landing .landing-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 30px; padding: 30px 0; border-top: 1px solid #ffffff26; font-size: 12px; line-height: 1.7; }
.venue-landing .landing-footer > div:first-child > a { color: #b9ed7a; }
.venue-landing .landing-footer p { margin-top: 8px; color: #91a198; font-size: 10px; }
.venue-landing .landing-footer-links { display: flex; flex-wrap: wrap; gap: 20px; }
.venue-landing .landing-footer .language-select { width: 135px; margin: 0; }
.venue-landing .landing-footer .language-select > span { font-size: 9px; }
.venue-landing .landing-footer .language-select select { min-height: 38px; padding: 6px 10px; font-size: 11px; }
@media (min-width: 1450px) { .venue-landing .landing-hero { padding-block: 92px; } }
@media (max-width: 1100px) {
  .venue-landing .landing-width { width: calc(100% - 56px); }
  .venue-landing .landing-hero { gap: 28px; }
  .venue-landing .landing-nav { gap: 20px; }
  .venue-landing .landing-brand { width: 250px; }
  .venue-landing .landing-how, .venue-landing .landing-faq { gap: 40px; }
  .venue-landing .landing-benefits article { padding-inline: 24px; }
}
@media (max-width: 800px) {
  .venue-landing .landing-width { width: calc(100% - 40px); }
  .venue-landing .landing-header { min-height: 88px; gap: 20px; }
  .venue-landing .landing-brand { width: 220px; }
  .venue-landing .landing-nav { gap: 16px; font-size: 11px; }
  .venue-landing .landing-nav > a:first-child { display: inline-flex; }
  .venue-landing .landing-hero { grid-template-columns: 1fr; gap: 40px; padding-block: 48px; }
  .venue-landing .landing-hero h1 { font-size: clamp(64px, 12vw, 88px); }
  .venue-landing .landing-hero h1 br:nth-of-type(2) { display: none; }
  .venue-landing .landing-intro, .venue-landing .landing-lede { max-width: 600px; }
  .venue-landing .landing-benefits { grid-template-columns: 1fr; padding: 8px 0; }
  .venue-landing .landing-benefits article, .venue-landing .landing-benefits article:first-child, .venue-landing .landing-benefits article:last-child { padding: 24px 0; border-left: 0; border-bottom: 1px solid #ffffff1a; }
  .venue-landing .landing-benefits article:last-child { border-bottom: 0; }
  .venue-landing .landing-benefits h2 { margin-top: 10px; }
  .venue-landing .landing-section { padding-block: 56px; }
  .venue-landing .landing-how, .venue-landing .landing-faq { grid-template-columns: 1fr; gap: 36px; }
  .venue-landing .landing-feature-grid { grid-template-columns: 1fr; }
  .venue-landing .landing-feature-image { height: 300px; }
  .venue-landing .landing-cta { padding: 56px 0; }
}
@media (max-width: 520px) {
  .venue-landing .landing-header { flex-wrap: wrap; justify-content: center; gap: 16px; padding-block: 24px 16px; }
  .venue-landing .landing-brand { width: 280px; max-width: 100%; }
  .venue-landing .landing-nav { width: 100%; justify-content: space-between; gap: 10px; font-size: 12px; }
  .venue-landing .landing-nav > a:first-child { display: block; }
  .venue-landing .landing-nav button { padding-inline: 12px; }
  .venue-landing .landing-nav span { margin-left: 3px; }
  .venue-landing .landing-hero h1 { font-size: clamp(56px, 13.5vw, 70px); }
  .venue-landing .landing-hero h1 br:nth-of-type(2) { display: block; }
  .venue-landing .landing-eyebrow { font-size: 9px; }
  .venue-landing .landing-actions { flex-direction: column; }
  .venue-landing .landing-button { width: 100%; min-height: 52px; }
  .venue-landing .landing-showcase { padding: 8px; }
  .venue-landing .landing-screen-label { font-size: 8px; letter-spacing: 0; }
  .venue-landing .landing-showcase figcaption { padding: 20px 8px; }
  .venue-landing .landing-showcase figcaption strong { font-size: 17px; }
  .venue-landing .landing-market-strip { font-size: 8px; letter-spacing: 0; }
  .venue-landing .landing-market-strip b { margin-left: 3px; }
  .venue-landing .landing-steps li { gap: 12px; }
  .venue-landing .landing-feature-copy { padding: 24px; }
  .venue-landing .landing-feature-dashboard .landing-feature-image { height: auto; min-height: 210px; padding: 20px; }
  .venue-landing .landing-footer { align-items: flex-start; gap: 24px; }
  .venue-landing .landing-footer-links { width: 100%; gap: 18px; }
}
@media (prefers-reduced-motion: reduce) { .venue-landing .landing-button { transition: none; } }

/* A shared photographic introduction, with more space for the venue sign-in. */
body.public-entry-overlay[data-public-page="login"] .gateway-panel { width: min(660px, 100%); padding: 44px 44px 36px; }
body.public-entry-overlay[data-public-page="login"] .gateway-auth-heading { margin-bottom: 30px; padding-right: 20px; }
body.public-entry-overlay[data-public-page="login"] .gateway-auth-heading h2 { margin-top: 14px; font-family: "Segoe UI", system-ui, sans-serif; font-size: clamp(30px, 3.2vw, 42px); font-weight: 650; line-height: 1.1; letter-spacing: -.04em; text-transform: none; }
body.public-entry-overlay[data-public-page="login"] .gateway-auth-heading h2::after { display: none; }
body.public-entry-overlay[data-public-page="login"] .gateway-auth-form { grid-template-columns: 1fr; gap: 22px; }
body.public-entry-overlay[data-public-page="login"] .gateway-auth-form label { gap: 10px; }
body.public-entry-overlay[data-public-page="login"] .gateway-password-help { align-items: flex-start; flex-direction: column; gap: 14px; margin: 0; }
body.public-entry-overlay[data-public-page="login"] .gateway-forgot-password { min-height: 36px; padding: 4px 0; border: 0; background: none; color: #b9ed7a; font-size: 13px; font-weight: 600; text-align: left; line-height: 1.6; }
body.public-entry-overlay[data-public-page="login"] .gateway-auth-actions { gap: 16px; margin-top: 4px; }
.venue-explore { background: #080c0b; }
.venue-explore .explore-masthead { position: relative; isolation: isolate; display: grid; grid-template-rows: auto auto 1fr; min-height: 760px; min-height: max(760px, 100svh); padding-bottom: 40px; }
.venue-explore .explore-background { position: absolute; inset: 0; z-index: -2; }
.venue-explore .explore-background img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.venue-explore .explore-masthead::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #020805d9, #02080560 55%, #02080515), linear-gradient(180deg, #0007, transparent 35%, #080c0bf2); }
.venue-explore .landing-header { min-height: 108px; border: 0; }
.venue-explore .landing-brand { width: 320px; }
.venue-explore .landing-nav .landing-nav-link { border: 0; padding-inline: 0; font-size: 15px; }
.venue-explore .landing-hero { grid-template-columns: 1fr; padding-block: 70px; }
.venue-explore .landing-hero h1 { font-size: clamp(54px, 6.4vw, 100px); font-weight: 650; line-height: 1.02; letter-spacing: -.055em; margin: 22px 0 28px; }
.venue-explore .landing-lede { max-width: 590px; font-size: 21px; line-height: 1.6; letter-spacing: 0; }
.venue-explore .landing-intro { max-width: 490px; color: #d2d9d2; margin-top: 20px; font-size: 16px; }
.venue-explore .explore-actions { display: grid; grid-template-columns: 1.4fr 1fr 1fr; border-block: 1px solid #ffffff55; background: #02080526; backdrop-filter: blur(8px); }
.venue-explore .explore-actions a { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; padding: 18px 28px; border-left: 1px solid #ffffff40; font-size: 16px; font-weight: 600; }
.venue-explore .explore-actions a:first-child { border-left: 0; }
.venue-explore .explore-actions a:hover { background: #b9ed7a1a; }
.venue-explore .explore-actions span { color: #c4f18d; font-size: 22px; font-weight: 400; }
.venue-explore .landing-showcase { border-color: #ffffff26; background: #ffffff04; box-shadow: none; }
.venue-explore .landing-feature-grid article, .venue-explore .landing-feature-copy { background: #ffffff04; }
.venue-explore .landing-benefits h2 { font-weight: 600; }
.venue-explore .landing-section-heading em, .venue-explore .landing-cta em { color: inherit; }
.venue-explore .landing-text-button { display: inline-block; }
@media (max-width: 900px) {
  .venue-explore .landing-brand { width: 250px; }
  .venue-explore .landing-nav { gap: 20px; }
  .venue-explore .explore-actions a { padding-inline: 20px; font-size: 14px; }
}
@media (max-width: 600px) {
  body.public-entry-overlay[data-public-page="login"] .gateway-panel { padding: 42px 24px 24px; }
  body.public-entry-overlay[data-public-page="login"] .gateway-auth-heading { margin-bottom: 26px; padding-right: 12px; }
  body.public-entry-overlay[data-public-page="login"] .gateway-auth-form { gap: 20px; }
  .venue-explore .explore-masthead { min-height: max(760px, 100svh); padding-bottom: 24px; }
  .venue-explore .explore-background img { object-position: 71% center; }
  .venue-explore .explore-masthead::before { background: linear-gradient(90deg, #02080599, #02080555), linear-gradient(180deg, #0007, #0004 30%, #080c0bf5 80%); }
  .venue-explore .landing-header { flex-direction: column; align-items: flex-start; padding-top: 28px; gap: 14px; }
  .venue-explore .landing-brand { width: min(280px, 100%); }
  .venue-explore .landing-nav { width: 100%; justify-content: space-between; gap: 16px; }
  .venue-explore .landing-nav .landing-nav-link { font-size: 14px; }
  .venue-explore .landing-hero { padding-block: 44px; }
  .venue-explore .landing-hero h1 { font-size: clamp(44px, 12.6vw, 70px); }
  .venue-explore .landing-lede { font-size: 18px; }
  .venue-explore .landing-lede br { display: none; }
  .venue-explore .landing-intro { font-size: 15px; }
  .venue-explore .explore-actions { grid-template-columns: 1fr; }
  .venue-explore .explore-actions a { min-height: 66px; padding: 18px 12px; border-left: 0; border-top: 1px solid #ffffff40; }
  .venue-explore .explore-actions a:first-child { border-top: 0; }
}

.gateway-auth-form .gateway-privacy-notice { margin: 4px 0; color: #c4cdc7; font-size: 13px; line-height: 1.7; }
.gateway-auth-form .gateway-privacy-notice a { color: #b9ed7a; text-decoration: underline; }

/* Homepage POS list uses static markup, independent of the venue dashboard. */
.venue-landing .landing-pos-logos { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; align-items: stretch; margin-top: 32px; }
.venue-landing .landing-pos-logos .loyverse-logo img { transform: scale(1.8); }
.myepos-logo img { transform: scale(1.8); }
.venue-landing .landing-pos-contact { margin-top: 24px; color: #aab6af; font-size: 14px; line-height: 1.8; }
.venue-landing .landing-pos-contact a { color: #b9ed7a; text-decoration: underline; }
@media (max-width: 680px) {
  .venue-landing .landing-pos-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
