.guest-brand-name { display:none; }
body[data-page="user"]:not(.portal-authenticated) { --guest-ink:#071843; --guest-accent:#2388ff; --guest-page:#f5f9fd; --guest-hero:#061321; --guest-hero-panel:#0b2035; --guest-hero-line:#23425f; --guest-hero-text:#f7fbff; --guest-hero-muted:#b7c8da; color:var(--guest-ink); background:var(--guest-page); }
html[data-theme="dark"] body[data-page="user"]:not(.portal-authenticated) { --guest-ink:#f4f8ff; --guest-page:#081525; }
body[data-page="user"]:not(.portal-authenticated) .topbar { position:absolute; inset:0 0 auto; z-index:5; min-height:0; padding:20px clamp(22px,4vw,68px); gap:clamp(18px,3vw,48px); color:var(--guest-hero-text); border:0; background:transparent; backdrop-filter:none; transform:none; }
body[data-page="user"]:not(.portal-authenticated) .brand { gap:10px; height:48px; }
body[data-page="user"]:not(.portal-authenticated) .brand-logo { height:100%; border-radius:50%; }
body[data-page="user"]:not(.portal-authenticated) .guest-brand-name { display:block; color:inherit; font-size:clamp(20px,1.5vw,28px); letter-spacing:-.04em; white-space:nowrap; }
body[data-page="user"]:not(.portal-authenticated) .topnav { flex:1; min-width:0; gap:clamp(8px,1vw,18px); flex-wrap:nowrap; color:inherit; font-size:clamp(12px,.9vw,17px); overflow:visible; }
.guest-primary-nav { display:flex; align-items:center; gap:clamp(8px,1.2vw,24px); margin-right:auto; }
.guest-primary-nav :is(a,button) { min-height:44px; padding:10px 4px; color:inherit; white-space:nowrap; }
.guest-search-button { display:grid; width:44px; height:44px; place-items:center; color:inherit; }
.guest-search-button svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
body[data-page="user"]:not(.portal-authenticated) .topnav > .store-badges, body[data-page="user"]:not(.portal-authenticated) #tcActiveHistoryLink, body[data-page="user"]:not(.portal-authenticated) #mobileStoreBanner { display:none; }
body[data-page="user"]:not(.portal-authenticated).mobile-store-banner-visible { padding-top:0; }
body[data-page="user"]:not(.portal-authenticated) .topnav > #userLogout { order:2; min-height:44px; padding:10px 19px; border:1px solid #59718a; border-radius:12px; background:transparent; color:#fff; }
body[data-page="user"]:not(.portal-authenticated) .topnav > #openRegister { order:3; min-height:44px; padding:10px 19px; border:1px solid var(--guest-accent); border-radius:12px; background:var(--guest-accent); color:#fff; }
body[data-page="user"]:not(.portal-authenticated) #darkModeToggle { width:38px; min-width:38px; height:44px; border:0; background:transparent; }
body[data-page="user"]:not(.portal-authenticated) #darkModeToggle .theme-toggle-track { display:none; }
body[data-page="user"]:not(.portal-authenticated) #darkModeToggle .theme-icon { position:static; width:22px; height:22px; color:currentColor; }
body[data-page="user"]:not(.portal-authenticated) #darkModeToggle .theme-icon-moon { display:none; }
html[data-theme="dark"] body[data-page="user"]:not(.portal-authenticated) #darkModeToggle .theme-icon-sun { display:none; }
html[data-theme="dark"] body[data-page="user"]:not(.portal-authenticated) #darkModeToggle .theme-icon-moon { display:block; }
body[data-page="user"]:not(.portal-authenticated) #guestLanguageToggle { order:4; height:44px; margin-left:6px; padding:3px; color:#fff; border-color:#59718a; background:#0b2035; }
body[data-page="user"]:not(.portal-authenticated) main { display:block; }
.guest-home-hero { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr); grid-template-areas:"copy features" "actions features" "download features"; align-content:center; gap:22px clamp(44px,6vw,112px); min-height:min(900px,100svh); margin:0; padding:clamp(132px,14vh,170px) clamp(24px,6vw,110px) clamp(52px,7vh,86px); overflow:hidden; color:var(--guest-hero-text); background:var(--guest-hero); }
.guest-home-hero::before, .guest-home-hero::after { content:""; position:absolute; z-index:-1; pointer-events:none; }
.guest-home-hero::before { width:min(760px,58vw); aspect-ratio:1; right:-12%; top:-38%; border-radius:50%; background:radial-gradient(circle,#146bc64d 0,#0a284c24 46%,transparent 70%); }
.guest-home-hero::after { inset:auto 0 0; height:1px; background:#315271; }
.guest-hero-copy { grid-area:copy; max-width:760px; }
.guest-home-eyebrow { margin:0 0 18px; color:#87bdff; font-size:clamp(14px,1.05vw,17px); font-weight:760; letter-spacing:.01em; }
.guest-hero-copy h1 { max-width:13ch; margin:0 0 24px; color:var(--guest-hero-text); font-size:clamp(48px,5.3vw,88px); font-weight:880; line-height:.98; letter-spacing:-.04em; text-wrap:balance; }
.guest-hero-copy h1 span { color:#70b0ff; }
.guest-hero-copy > p:last-child { max-width:65ch; margin:0; color:var(--guest-hero-muted); font-size:clamp(16px,1.15vw,20px); line-height:1.65; }
.guest-hero-actions { grid-area:actions; display:flex; flex-wrap:wrap; gap:12px; }
.guest-hero-actions .button { min-height:52px; padding:12px 22px; border-radius:12px; font-size:16px; font-weight:760; }
.guest-hero-actions .primary { border:1px solid var(--guest-accent); background:var(--guest-accent); color:#fff; }
.guest-hero-actions .secondary { border:1px solid #59718a; background:transparent; color:#fff; }
.guest-hero-actions .secondary:hover { border-color:#8baccc; background:#ffffff0d; }
.guest-hero-features { grid-area:features; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-self:center; gap:12px; }
.guest-hero-features > :is(a,button) { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:14px; min-height:100px; padding:18px; border:1px solid var(--guest-hero-line); border-radius:14px; background:var(--guest-hero-panel); color:var(--guest-hero-text); font:inherit; font-size:15px; font-weight:720; line-height:1.35; text-align:left; cursor:pointer; }
.guest-hero-features > :is(a,button):hover { border-color:#4f86b7; background:#0e2944; }
.guest-hero-features svg { width:48px; height:48px; padding:11px; border-radius:13px; background:#143a60; fill:none; stroke:#7fbbff; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.guest-app-download { grid-area:download; width:max-content; max-width:100%; padding-top:4px; color:var(--guest-hero-muted); font-size:14px; }
.guest-app-download > div { display:flex; align-items:center; gap:10px; margin-top:9px; }
.guest-app-download a { display:flex; width:132px; min-height:40px; align-items:center; }
.guest-app-download img { display:block; width:100%; height:auto; }
body[data-page="user"]:not(.portal-authenticated) :is(.guest-hero-actions,.guest-hero-features,.guest-primary-nav,.guest-app-download) :is(a,button):focus-visible { outline:3px solid #8bc2ff; outline-offset:3px; }
body[data-page="user"]:not(.portal-authenticated):not(.guest-finder-open) #events, body[data-page="user"]:not(.portal-authenticated):not(.guest-about-open) #about { display:none !important; }
body[data-page="user"]:not(.portal-authenticated):is(.guest-finder-open,.guest-about-open) #guestHero { display:none; }
body[data-page="user"]:not(.portal-authenticated):is(.guest-finder-open,.guest-about-open) .topbar { position:relative; color:var(--guest-ink); border-bottom:1px solid var(--line); background:var(--guest-page); }
body[data-page="user"]:not(.portal-authenticated):is(.guest-finder-open,.guest-about-open) .topnav > #userLogout { color:var(--guest-ink); border-color:var(--line); }
body[data-page="user"]:not(.portal-authenticated):is(.guest-finder-open,.guest-about-open) #guestLanguageToggle { color:var(--guest-ink); border-color:var(--line); background:var(--surface); }
body[data-page="user"]:not(.portal-authenticated) .site-footer { display:flex; position:relative; margin:0; padding-bottom:24px; color:var(--guest-ink); background:var(--guest-page); }
@media(max-width:1120px) {
  body[data-page="user"]:not(.portal-authenticated) .topbar { position:relative; padding:16px 20px; color:var(--guest-hero-text); background:var(--guest-hero); align-items:center; flex-wrap:wrap; gap:12px; }
  body[data-page="user"]:not(.portal-authenticated) .topnav { flex-wrap:wrap; gap:8px; font-size:14px; }
  .guest-primary-nav { flex-basis:100%; order:5; justify-content:space-between; gap:8px; }
  .guest-home-hero { grid-template-columns:1fr; grid-template-areas:"copy" "actions" "features" "download"; min-height:auto; padding:64px clamp(20px,6vw,72px); }
  .guest-hero-copy h1 { max-width:15ch; font-size:clamp(42px,8vw,72px); }
  .guest-hero-features { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:700px) {
  body[data-page="user"]:not(.portal-authenticated) .topbar { padding:12px 16px; }
  body[data-page="user"]:not(.portal-authenticated) .brand { width:100%; height:40px; }
  body[data-page="user"]:not(.portal-authenticated) .topnav { width:100%; padding:0; justify-content:space-between; }
  body[data-page="user"]:not(.portal-authenticated) .topnav > :is(#userLogout,#openRegister) { padding:8px 11px; font-size:14px; }
  body[data-page="user"]:not(.portal-authenticated) #guestLanguageToggle { margin:0; }
  .guest-primary-nav { flex-wrap:wrap; justify-content:flex-start; gap:0 6px; font-size:12px; }
  .guest-search-button { display:none; }
  .guest-home-hero { gap:24px; padding:46px 20px 54px; }
  .guest-home-eyebrow { margin-bottom:14px; }
  .guest-hero-copy h1 { margin-bottom:20px; font-size:clamp(38px,12vw,58px); line-height:1.01; }
  .guest-hero-copy > p:last-child { font-size:16px; line-height:1.55; }
  .guest-hero-actions { display:grid; grid-template-columns:1fr; }
  .guest-hero-actions .button { width:100%; }
  .guest-hero-features { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .guest-hero-features > :is(a,button) { grid-template-columns:1fr; align-content:start; min-height:132px; padding:15px; }
  .guest-app-download { width:100%; }
}
@media(max-width:390px) {
  .guest-hero-features { grid-template-columns:1fr; }
  .guest-hero-features > :is(a,button) { grid-template-columns:46px 1fr; min-height:82px; }
  .guest-hero-features svg { width:46px; height:46px; }
}
@media(prefers-reduced-motion:reduce) { .guest-home-hero *, body[data-page="user"]:not(.portal-authenticated) .topbar { transition:none; scroll-behavior:auto; } }
