/* Shared welcome/Discover presentation from the annotated page review. */
.welcome-landing .landing-page{padding:24px!important}
.welcome-landing .landing-hero-brand{width:min(560px,100%)}
.welcome-landing .landing-lead{font-size:clamp(20px,1.8vw,23px)!important;margin-top:12px!important}
.welcome-landing .landing-card-nav{margin-top:22px!important}
.welcome-landing .landing-auth{margin-top:22px!important}
.welcome-landing .landing-card-nav,
.page-discover .discover-card-nav{width:min(600px,100%)!important;max-width:600px!important;gap:12px!important;grid-template-columns:1.35fr 1fr .8fr!important}
.welcome-landing .landing-card-nav button,
.page-discover .discover-card-nav button{min-height:64px!important;gap:8px;grid-template-columns:44px minmax(0,1fr)}
.welcome-landing .landing-nav-icon,.page-discover .discover-nav-icon{width:44px;height:44px;font-size:22px}
.welcome-landing .landing-card-nav strong,
.page-discover .discover-card-nav strong{font-size:19px;line-height:1.35;white-space:normal;overflow:visible;text-overflow:clip}
.welcome-landing .landing-auth .auth-legal{font-size:16px!important;line-height:1.6!important;color:#f4f8ef!important}
.welcome-landing .landing-auth .auth-legal a{color:#d7fca6!important;text-decoration:underline;text-underline-offset:3px}
.page-discover .site-presence-banner small,.page-chats .site-presence-banner small,.page-match-history .site-presence-banner small{font-size:18px}
.page-discover .site-presence-banner strong,.page-chats .site-presence-banner strong,.page-match-history .site-presence-banner strong{font-size:28px}
.page-discover .site-presence-banner>i,.page-chats .site-presence-banner>i,.page-match-history .site-presence-banner>i,.page-discover .site-presence-banner>b,.page-chats .site-presence-banner>b,.page-match-history .site-presence-banner>b{display:none}
.page-discover .site-presence-banner,.page-chats .site-presence-banner,.page-match-history .site-presence-banner{max-width:calc(100vw - 116px);padding:12px 16px}

.welcome-landing .landing-modal,.page-discover .landing-modal{width:min(720px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:64px 32px 28px;border:1px solid #e5e1ed;border-radius:26px;background:#fff;color:#173b2a;text-align:left;box-sizing:border-box}
.welcome-landing .landing-modal-close,.page-discover .landing-modal-close{width:44px;height:44px;right:14px;top:12px;font-size:26px}
.welcome-landing .landing-modal-kicker,.page-discover .landing-modal-kicker{font-size:16px;letter-spacing:.1em;margin-bottom:20px}
.welcome-landing .landing-modal article strong,.page-discover .landing-modal article strong{font-size:19px;line-height:1.45}
.welcome-landing .landing-modal article p,.page-discover .landing-modal article p,
.welcome-landing .landing-modal article ul,.page-discover .landing-modal article ul{font-size:17px;line-height:1.6;color:#4a5d53;margin:8px 0 0}
.landing-modal article ul{padding-left:20px}
.landing-modal .landing-modal-steps article{align-items:center;padding:18px}
.landing-modal .landing-modal-steps article>span,.landing-modal .landing-safety-grid article>span{font-size:20px}
.landing-modal .landing-safety-grid{gap:14px}
.landing-modal .landing-safety-grid article{padding:18px;gap:10px;grid-template-columns:36px minmax(0,1fr)}
.landing-modal .landing-safety-grid .bannable-icon{background:linear-gradient(145deg,#fa6464,#c82c25);color:#fff;box-shadow:0 4px 12px #c82c2526}
.welcome-landing .landing-modal>.btn,.page-discover .landing-modal>.btn{font-size:18px;min-height:54px}
/* FAQ cards retain the reference layout, with readable text and a white panel. */
.welcome-landing .landing-modal.landing-faq,.page-discover .landing-modal.landing-faq{width:min(980px,calc(100% - 28px))}
.welcome-landing .landing-faq-heading,.page-discover .landing-faq-heading{max-width:none;margin:0 0 28px;text-align:center}
.welcome-landing .landing-faq-heading h2,.page-discover .landing-faq-heading h2{max-width:580px;margin:0 auto;color:#173b2a;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,4vw,42px);line-height:1.1;letter-spacing:-.035em}
.welcome-landing .landing-faq-list,.page-discover .landing-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.welcome-landing .landing-faq-list details,.page-discover .landing-faq-list details{min-width:0;border:1px solid #e3e7db;border-radius:16px;background:#fcfdf8;box-shadow:0 6px 18px rgba(26,61,39,.08);overflow:hidden}
.welcome-landing .landing-faq-list summary,.page-discover .landing-faq-list summary{position:relative;display:flex;align-items:center;min-height:64px;padding:18px 54px 18px 20px;list-style:none;color:#7138e9;font-size:18px;font-weight:800;line-height:1.4;cursor:pointer}
.landing-faq-list summary::-webkit-details-marker{display:none}
.welcome-landing .landing-faq-list summary::after,.page-discover .landing-faq-list summary::after{content:'+';position:absolute;left:auto;right:16px;top:20px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#7138e9;color:#fff;font-size:20px;line-height:1;transform:none}
.welcome-landing .landing-faq-list details[open] summary::after,.page-discover .landing-faq-list details[open] summary::after{content:'×';background:#7138e9;transform:none}
.welcome-landing .landing-faq-list details p,.page-discover .landing-faq-list details p{margin:0;padding:0 20px 20px;color:#4a5d53;font-size:17px;line-height:1.65}
.welcome-landing .landing-faq-list details ul,.page-discover .landing-faq-list details ul{margin:0;padding:0 20px 20px 40px;color:#4a5d53;font-size:17px;line-height:1.65}
@media(max-width:600px){.welcome-landing .landing-faq-list,.page-discover .landing-faq-list{grid-template-columns:1fr}}
.landing-faq-list .landing-faq-ribbons{grid-column:1 / -1}
.landing-faq-list li+li{margin-top:8px}
.landing-modal :focus-visible,.landing-card-nav button:focus-visible,.discover-card-nav button:focus-visible{outline:3px solid #8a53ed;outline-offset:3px}

/* Reveal decoded video only after playback starts; retain the poster on error. */
.welcome-landing .jungle-video-bg video{opacity:0!important;object-fit:cover;object-position:var(--video-position);transform:none!important}
.jungle-video-playing .welcome-landing .jungle-video-bg video{opacity:1!important}
.jungle-video-fallback .welcome-landing .jungle-video-bg video{display:none!important}
@media(max-width:719px){
  .page-discover .site-presence-banner,.page-chats .site-presence-banner,.page-match-history .site-presence-banner{right:14px!important;max-width:calc(100vw - 90px);padding:10px 12px}
  .page-discover .site-presence-banner small,.page-chats .site-presence-banner small,.page-match-history .site-presence-banner small{font-size:16px}
  .page-discover .site-presence-banner strong,.page-chats .site-presence-banner strong,.page-match-history .site-presence-banner strong{font-size:24px}
}
@media(max-width:600px){
  .welcome-landing .landing-card-nav,.page-discover .discover-card-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .welcome-landing .landing-card-nav button,.page-discover .discover-card-nav button{display:flex;flex-direction:column;justify-content:flex-start;text-align:center}
  .welcome-landing .landing-card-nav strong,.page-discover .discover-card-nav strong{font-size:16px}
  .welcome-landing .landing-modal,.page-discover .landing-modal{padding:64px 20px 24px;border-radius:22px}
  .landing-modal .landing-safety-grid{grid-template-columns:1fr}
}

/* Safari reveals the page canvas as its toolbars move and the page overscrolls. */
@media(max-width:900px){
  html:has(body.welcome-landing),
  html:has(body.page-discover){background:#071a12;overscroll-behavior-y:none}
  body.welcome-landing,body.page-discover{background:#071a12;min-height:100svh;overscroll-behavior-y:none}
  .welcome-landing .app-shell,.page-discover .app-shell{background:transparent;overflow:visible;min-height:100svh}
  .welcome-landing .jungle-video-bg,.page-discover .jungle-video-bg{top:0;bottom:auto;height:100vh;height:100lvh}
  .welcome-landing .landing-page{padding-bottom:max(28px,env(safe-area-inset-bottom))!important}
}

/* Let the navigation labels sit directly on the jungle scene. */
.welcome-landing .landing-card-nav button > span:last-child,
.page-discover .discover-card-nav button > span:last-child{background:transparent;box-shadow:none}

/* Compact accordion: all questions are visible without a wall of open answers. */
.welcome-landing .landing-modal.landing-faq,.page-discover .landing-modal.landing-faq{padding:58px 22px 20px}
.welcome-landing .landing-faq-heading,.page-discover .landing-faq-heading{margin-bottom:18px}
.welcome-landing .landing-faq-heading h2,.page-discover .landing-faq-heading h2{font-size:clamp(25px,3.5vw,36px)}
.welcome-landing .landing-faq-list,.page-discover .landing-faq-list{gap:10px}
.landing-faq-list .landing-faq-ribbons{grid-column:auto}
.welcome-landing .landing-faq-list summary,.page-discover .landing-faq-list summary{min-height:48px;padding:12px 44px 12px 14px;font-size:16px;line-height:1.3}
.welcome-landing .landing-faq-list summary::after,.page-discover .landing-faq-list summary::after{right:12px;top:12px;width:24px;height:24px}
.welcome-landing .landing-faq-list details p,.page-discover .landing-faq-list details p{padding:0 14px 12px;font-size:15px;line-height:1.45}
.welcome-landing .landing-faq-list details ul,.page-discover .landing-faq-list details ul{padding:0 14px 12px 30px;font-size:15px;line-height:1.45}
@media(max-width:600px){
  .welcome-landing .landing-modal.landing-faq,.page-discover .landing-modal.landing-faq{padding:52px 14px 14px}
  .welcome-landing .landing-faq-list,.page-discover .landing-faq-list{gap:6px}
  .welcome-landing .landing-faq-list summary,.page-discover .landing-faq-list summary{font-size:14px;min-height:44px;padding-block:10px}
}
