/* Shared by the prerendered and interactive landing pages. */
.qg-static-quest-image { display:block; width:100%; height:210px; object-fit:cover; background:#ecefe9; }
.qg-static-trust-strip { margin:0 auto 36px; padding:8px 14px; }
.qg-landing-preview { min-width:0; width:100%; max-width:480px; justify-self:end; margin:0; overflow:hidden; border:1px solid #dfe7d8; border-radius:28px; background:#fff; color:#142033; box-shadow:0 24px 60px rgba(25,45,13,.12); text-align:start; }
.qg-landing-preview-top { min-height:48px; display:flex; align-items:center; gap:9px; padding:0 20px; font-size:11px; font-weight:850; letter-spacing:.06em; }
.qg-landing-dot { width:8px; height:8px; border-radius:50%; background:#7cfc00; flex-shrink:0; box-shadow:0 0 0 4px #efffdf; }
.qg-landing-preview-hint { margin-inline-start:auto; color:#647168; font-size:11px; font-weight:500; letter-spacing:0; }
.qg-landing-preview-photo { height:205px; position:relative; overflow:hidden; background:#eef2e9; }
.qg-landing-preview-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 65%; }
.qg-landing-place { position:absolute; inset-inline-start:18px; bottom:16px; padding:7px 11px; border-radius:8px; color:#fff; background:rgba(17,26,15,.88); font-size:11px; font-weight:800; letter-spacing:.06em; }
.qg-landing-preview-copy { padding:22px; }
.qg-landing-preview-meta { display:flex; flex-wrap:wrap; gap:8px 14px; color:#365e0c; font-size:10px; font-weight:850; letter-spacing:.04em; }
.qg-landing-preview-copy h2 { margin:10px 0; font-size:26px; line-height:1.15; letter-spacing:-.035em; text-wrap:balance; }
.qg-landing-preview-copy p { margin:0; color:#59677a; font-size:14px; line-height:1.6; }
.qg-landing-objectives { margin:18px 0; padding:0; list-style:none; counter-reset:mission; display:grid; gap:10px; }
.qg-landing-objectives li { display:flex; align-items:center; gap:10px; font-size:13px; line-height:1.45; counter-increment:mission; }
.qg-landing-objectives li::before { content:counter(mission, decimal-leading-zero); width:24px; height:24px; flex:0 0 24px; display:grid; place-items:center; border-radius:8px; background:#efffdf; color:#365e0c; font-size:10px; font-weight:800; }
.qg-landing-preview-link { min-height:46px; display:flex; align-items:center; justify-content:space-between; padding:0 15px; border-radius:12px; background:#7cfc00; color:#152008!important; font-size:13px; font-weight:850; text-decoration:none; }
.qg-landing-preview-link span { font-size:21px; }
.qg-landing-preview-link:focus-visible, .qg-landing-together a:focus-visible { outline:3px solid #365e0c; outline-offset:4px; }
.qg-landing-together { width:100%; max-width:1120px; box-sizing:border-box; margin:0 auto 56px; padding:32px; border:1px solid #e0e9d8; border-radius:28px; background:#f5faef; text-align:start; }
.qg-landing-together-header { display:flex; align-items:end; justify-content:space-between; gap:24px; }
.qg-landing-kicker { display:block; margin-bottom:10px; color:#365e0c; font-size:11px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.qg-landing-together h2 { margin:0; max-width:520px; color:#142033; font-size:clamp(26px,4vw,38px); line-height:1.12; letter-spacing:-.035em; }
.qg-landing-together-header p { max-width:400px; margin:0; color:#59677a; font-size:15px; line-height:1.65; }
.qg-landing-invitation { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; padding-top:20px; border-top:1px solid #dfe8d5; }
.qg-landing-invitation p { margin:0; color:#59677a; font-size:14px; line-height:1.6; }
.qg-landing-invitation a { min-height:44px; display:inline-flex; align-items:center; flex-shrink:0; color:#365e0c; font-size:14px; font-weight:800; text-underline-offset:4px; }
.qg-landing-completions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
.qg-landing-completion { min-width:0; overflow:hidden; border:1px solid #dfe8d5; border-radius:18px; background:#fff; color:#142033; text-decoration:none; }
.qg-landing-completion img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:#e7eedd; }
.qg-landing-completion-copy { display:grid; gap:6px; padding:16px; }
.qg-landing-completion-copy small { color:#365e0c; font-size:11px; font-weight:750; }
.qg-landing-completion-copy strong { font-size:16px; line-height:1.35; }
.qg-landing-completion-copy span { color:#59677a; font-size:12px; overflow-wrap:anywhere; }
@media (max-width:820px) {
  .qg-landing-preview { justify-self:center; }
  .qg-landing-together-header { align-items:start; flex-direction:column; gap:14px; }
}
@media (max-width:620px) {
  .qg-landing-preview { max-width:440px; border-radius:22px; }
  .qg-landing-preview-top { min-height:40px; padding:0 16px; font-size:10px; }
  .qg-landing-preview-hint { display:none; }
  .qg-landing-preview-photo { height:156px; }
  .qg-landing-preview-copy { padding:16px; }
  .qg-landing-preview-copy h2 { font-size:22px; }
  .qg-landing-preview-copy p { font-size:13px; }
  .qg-landing-objectives { display:none; }
  .qg-landing-preview-link { margin-top:14px; }
  .qg-landing-together { padding:22px; border-radius:22px; margin-bottom:36px; }
  .qg-landing-invitation { flex-direction:column; align-items:start; gap:8px; margin-top:18px; padding-top:16px; }
  .qg-landing-completions { grid-template-columns:minmax(0,1fr); }
  .qg-landing-completion { display:grid; grid-template-columns:110px minmax(0,1fr); }
  .qg-landing-completion img { height:100%; aspect-ratio:1; }
  .qg-landing-completion-copy { padding:12px; }
  .qg-landing-completion-copy strong { font-size:14px; }
}
