/* Getting Closer's public root — signup-only (see app/views/sites/
   getting_closer/static_pages/landing.html.erb). Design ported from
   Michael's step-by-step mockup (Claude artifact 6cb7a867). Every selector
   here is scoped under .gc-landing to avoid bleeding into the rest of the
   app's Bootstrap-based pages. Loaded only by app/views/layouts/
   getting_closer_landing.html.erb. */

:root {
  --gc-cream: #F3EEE3;
  --gc-card: #FFFFFF;
  --gc-ink: #2E3748;
  --gc-muted: #79808F;
  --gc-gold: #C5A470;
  --gc-gold-dark: #A98C52;
  --gc-gold-tint: #F8EFDE;
  --gc-gold-line: #E3CCA3;
  --gc-line: #EAE4D6;
  --gc-input: #F5F5F3;
  --gc-input-line: #E4E3DD;
  --gc-serif: 'Playfair Display', Georgia, serif;
  --gc-sans: 'Nunito Sans', 'Helvetica Neue', Arial, sans-serif;
}

body { margin: 0; }

.gc-landing * { box-sizing: border-box; }
.gc-landing {
  font-family: var(--gc-sans);
  background: var(--gc-cream);
  color: var(--gc-ink);
  min-height: 100vh;
}

/* ---------- nav ---------- */
.gc-landing nav { border-bottom: 1px solid var(--gc-line); }
.gc-landing .gc-nav-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px 48px;
}
.gc-landing .gc-logo {
  font-family: var(--gc-serif); font-weight: 700; font-size: 30px;
  color: #171B26; text-decoration: none;
}
.gc-landing .gc-nav-right { display: flex; align-items: center; gap: 34px; }
.gc-landing .gc-nav-link {
  font-size: 12.5px; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: var(--gc-ink); text-decoration: none;
}
.gc-landing .gc-nav-cta {
  background: #171B26; color: #fff; padding: 14px 26px; font-size: 12.5px;
  font-weight: 700; letter-spacing: .18em; text-transform: uppercase; text-decoration: none;
  border-radius: 4px;
}
.gc-landing .gc-nav-secure {
  font-size: 12.5px; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: var(--gc-gold-dark); text-decoration: none;
}
.gc-landing .gc-nav-signin {
  font-size: 15px; font-weight: 700; color: var(--gc-muted); text-decoration: none;
}
.gc-landing .gc-nav-signin:hover { color: var(--gc-ink); }

/* ---------- plan switcher (step 1, real feature — not the mockup's
   internal-review-only demo toggle) ---------- */
.gc-landing .gc-plan-switch { display: flex; gap: 10px; margin-bottom: 24px; }
.gc-landing .gc-plan-pill {
  font-size: 12px; font-weight: 800; padding: 7px 14px; border-radius: 20px;
  border: 1px solid var(--gc-input-line); background: var(--gc-card); color: var(--gc-muted);
  cursor: pointer; font-family: inherit; transition: all .15s;
}
.gc-landing .gc-plan-pill:hover { border-color: var(--gc-gold); }
.gc-landing .gc-plan-pill.gc-selected {
  border-color: var(--gc-gold); color: var(--gc-gold-dark); background: var(--gc-gold-tint);
}

/* ---------- shell ---------- */
.gc-landing .gc-shell { max-width: 820px; margin: 16px auto 90px; padding: 0 20px; }
.gc-landing .gc-card {
  background: var(--gc-card); border-radius: 14px;
  box-shadow: 0 24px 60px -30px rgba(46,55,72,.28), 0 2px 6px rgba(46,55,72,.05);
  padding: 56px 64px 60px;
}

/* ---------- progress: two rings drawing closer ---------- */
.gc-landing .gc-progress { margin-bottom: 44px; }
.gc-landing .gc-progress-top {
  display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 14px;
}
.gc-landing .gc-progress-step { font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.gc-landing .gc-progress-label { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gc-gold-dark); }
.gc-landing .gc-track { position: relative; height: 22px; }
.gc-landing .gc-track::before {
  content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px;
  background: var(--gc-line); transform: translateY(-50%);
}
.gc-landing .gc-track-fill {
  position: absolute; top: 50%; height: 2px; background: var(--gc-gold);
  transform: translateY(-50%); transition: all .55s cubic-bezier(.4,0,.2,1);
}
.gc-landing .gc-fill-l { left: 0; width: 6%; }
.gc-landing .gc-fill-r { right: 0; width: 6%; }
.gc-landing .gc-ring {
  position: absolute; top: 50%; width: 18px; height: 18px; border-radius: 50%;
  border: 2.5px solid var(--gc-gold); background: var(--gc-card);
  transform: translate(-50%,-50%); transition: left .55s cubic-bezier(.4,0,.2,1);
}

/* ---------- steps ---------- */
.gc-landing .gc-step { display: none; animation: gc-fade .4s ease; }
.gc-landing .gc-step.gc-active { display: block; }
@keyframes gc-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.gc-landing .gc-eyebrow {
  font-size: 12.5px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;
  color: var(--gc-gold-dark); margin-bottom: 14px;
}
.gc-landing h1 {
  font-family: var(--gc-serif); font-weight: 600; font-size: 46px; line-height: 1.08;
  margin: 0 0 14px; color: #232B3D;
}
.gc-landing .gc-lede { font-size: 17px; line-height: 1.55; color: var(--gc-muted); max-width: 56ch; margin: 0; }

.gc-landing .gc-value { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 20px; }
.gc-landing .gc-value span { display: flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 700; }
.gc-landing .gc-value .gc-check-ico { color: var(--gc-gold-dark); font-weight: 800; }

/* ---------- form ---------- */
.gc-landing .gc-formish { margin-top: 32px; }
.gc-landing .gc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.gc-landing .gc-field { margin-bottom: 24px; }
.gc-landing .gc-flabel { display: block; font-size: 15px; font-weight: 800; margin-bottom: 9px; }
.gc-landing .gc-flabel .gc-opt { font-weight: 400; color: var(--gc-muted); }
.gc-landing input[type=text],
.gc-landing input[type=email],
.gc-landing input[type=tel] {
  width: 100%; padding: 17px 18px; font: inherit; font-size: 16px; color: var(--gc-ink);
  background: var(--gc-input); border: 1px solid var(--gc-input-line); border-radius: 8px;
  transition: border-color .15s, box-shadow .15s;
}
.gc-landing input.gc-error { border-color: #C0524B; }
.gc-landing input:focus { outline: none; border-color: var(--gc-gold); box-shadow: 0 0 0 3px rgba(197,164,112,.18); }
.gc-landing input::placeholder { color: #A9ADB7; }

/* select (e.g. "I am a" on the at-the-door mini sign-up form —
   admin/members/_form_for_new_member_mini.html.erb's Getting Closer
   override) — same footprint as the text inputs above, plus a custom
   chevron since native select arrows don't pick up the rest of this
   design's colors. */
.gc-landing select {
  width: 100%; padding: 17px 44px 17px 18px; font: inherit; font-size: 16px; color: var(--gc-ink);
  background-color: var(--gc-input); border: 1px solid var(--gc-input-line); border-radius: 8px;
  transition: border-color .15s, box-shadow .15s; appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2379808F' stroke-width='1.6'%3E%3Cpath d='M5 7.5l5 5 5-5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; background-size: 16px;
}
.gc-landing select:focus { outline: none; border-color: var(--gc-gold); box-shadow: 0 0 0 3px rgba(197,164,112,.18); }

/* Photo upload control (native file input hidden, a styled label stands
   in for it) — same mini sign-up form. */
.gc-landing .gc-photo-input {
  width: .1px; height: .1px; opacity: 0; overflow: hidden; position: absolute; z-index: -1;
}
.gc-landing .gc-photo-upload {
  display: flex; align-items: center; justify-content: center; gap: 9px; text-align: center;
  width: 100%; padding: 20px 18px; border: 1.5px dashed var(--gc-input-line); border-radius: 8px;
  background: var(--gc-input); color: var(--gc-muted); font-size: 14.5px; font-weight: 700;
  cursor: pointer; transition: border-color .15s, color .15s;
}
.gc-landing .gc-photo-upload:hover,
.gc-landing .gc-photo-upload:focus-within { border-color: var(--gc-gold); color: var(--gc-gold-dark); }

/* Thumbnails of the selected photo(s), shown under the upload control once
   a file is chosen (Chileap, 2026-09-04: "upload photo in this page should
   have preview too"). Empty (no files picked yet) collapses to nothing.
   Each thumbnail carries its own remove button — picking more photos adds
   to this list rather than replacing it, so a way to drop one is needed
   too (Chileap, 2026-09-04: "it should be add new photos and remove
   photo"). */
.gc-landing .gc-photo-preview {
  display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px;
}
.gc-landing .gc-photo-preview:empty { display: none; margin-top: 0; }
.gc-landing .gc-photo-thumb { position: relative; width: 74px; height: 74px; }
.gc-landing .gc-photo-thumb img {
  width: 74px; height: 74px; object-fit: cover; border-radius: 8px;
  border: 1px solid var(--gc-input-line); background: var(--gc-input); display: block;
}
.gc-landing .gc-photo-thumb-remove {
  position: absolute; top: -7px; right: -7px; width: 22px; height: 22px;
  display: flex; align-items: center; justify-content: center; padding: 0;
  border-radius: 50%; border: 1px solid var(--gc-input-line); background: #fff;
  color: var(--gc-muted); font-size: 15px; line-height: 1; cursor: pointer;
  transition: border-color .15s, color .15s;
}
.gc-landing .gc-photo-thumb-remove:hover { border-color: #C0524B; color: #C0524B; }

.gc-landing .gc-context-chip {
  display: flex; align-items: center; gap: 10px; background: var(--gc-gold-tint);
  border: 1px solid var(--gc-gold-line); border-radius: 8px; padding: 16px 18px;
  font-size: 15.5px; margin-bottom: 24px;
}
.gc-landing .gc-context-chip b { font-weight: 800; }

.gc-landing .gc-fine { font-size: 14px; line-height: 1.6; color: var(--gc-muted); margin: 6px 0 26px; }
.gc-landing .gc-fine a { color: var(--gc-gold-dark); font-weight: 700; text-decoration: none; }

.gc-landing .gc-lead-error {
  background: #FBEAE8; border: 1px solid #E6B7B1; color: #8A342B;
  border-radius: 8px; padding: 14px 16px; font-size: 14.5px; margin-bottom: 22px; line-height: 1.5;
}
.gc-landing .gc-lead-error a { color: #8A342B; font-weight: 700; }

.gc-landing .gc-btn {
  display: block; width: 100%; cursor: pointer; text-align: center; border: none;
  background: var(--gc-gold); color: #fff; border-radius: 8px; padding: 19px; font-size: 14.5px;
  font-family: inherit; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;
  text-decoration: none; transition: background .15s, transform .1s;
}
.gc-landing .gc-btn:hover { background: var(--gc-gold-dark); color: #fff; }
.gc-landing .gc-btn:active { transform: translateY(1px); }
.gc-landing .gc-btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.gc-landing button.gc-btn-quiet {
  display: block; width: max-content; margin: 14px auto 0; font-size: 14px; font-weight: 700;
  color: var(--gc-muted); padding: 10px; cursor: pointer; background: none; border: none; font-family: inherit;
}
.gc-landing button.gc-btn-quiet:hover { color: var(--gc-ink); }

.gc-landing .gc-trust {
  display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 22px;
  font-size: 13.5px; color: var(--gc-muted); text-align: center;
}
.gc-landing .gc-trust svg { flex: none; }

/* Sign-in prompt below the About-you form itself, not just the nav link
   (Chileap, Slack 2026-09-03: "add this text below the form to make them
   can login"). */
.gc-landing .gc-form-signin {
  margin-top: 10px; font-size: 13.5px; color: var(--gc-muted); text-align: center;
}
.gc-landing .gc-form-signin a {
  color: var(--gc-gold-dark); font-weight: 700; text-decoration: none;
}
.gc-landing .gc-form-signin a:hover { text-decoration: underline; }

/* ---------- billing plan cards ---------- */
.gc-landing .gc-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 34px 0 8px; }
.gc-landing .gc-plan {
  position: relative; display: block; text-align: left; cursor: pointer;
  background: var(--gc-card); border: 1.5px solid var(--gc-input-line); border-radius: 12px;
  padding: 28px 26px 24px; transition: border-color .15s, box-shadow .15s;
}
.gc-landing .gc-plan:hover { border-color: var(--gc-gold); }
.gc-landing .gc-plan.gc-selected { border-color: var(--gc-gold); box-shadow: 0 0 0 3px rgba(197,164,112,.18); }
.gc-landing .gc-plan .gc-tag {
  position: absolute; top: -11px; left: 22px; background: var(--gc-gold); color: #fff;
  font-size: 10.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 20px;
}
.gc-landing .gc-plan h3 { font-size: 16px; font-weight: 800; margin: 0 0 4px; }
.gc-landing .gc-plan .gc-price { font-family: var(--gc-serif); font-size: 36px; font-weight: 600; color: #232B3D; margin: 8px 0 2px; }
.gc-landing .gc-plan .gc-per { font-size: 14px; color: var(--gc-muted); }
.gc-landing .gc-plan p { font-size: 14.5px; line-height: 1.55; color: var(--gc-muted); margin-top: 12px; }
.gc-landing .gc-plan .gc-check {
  position: absolute; top: 22px; right: 22px; width: 22px; height: 22px; border-radius: 50%;
  border: 1.5px solid var(--gc-input-line); display: grid; place-items: center; color: transparent;
  transition: all .15s; font-size: 12px;
}
.gc-landing .gc-plan.gc-selected .gc-check { background: var(--gc-gold); border-color: var(--gc-gold); color: #fff; }

/* ---------- payment order summary ---------- */
.gc-landing .gc-order {
  display: flex; justify-content: space-between; align-items: baseline; background: var(--gc-gold-tint);
  border: 1px solid var(--gc-gold-line); border-radius: 8px; padding: 18px 20px; margin: 0 0 26px; font-size: 15.5px;
}
.gc-landing .gc-order b { font-weight: 800; }
.gc-landing .gc-order .gc-amount { font-family: var(--gc-serif); font-size: 22px; }

.gc-landing .gc-payment-slot { min-height: 60px; }
.gc-landing .gc-payment-spinner {
  display: flex; align-items: center; gap: 10px; color: var(--gc-muted); font-size: 14.5px; padding: 20px 0;
}

/* ---------- welcome (post-payment success page) ---------- */
.gc-landing .gc-welcome { text-align: center; }
.gc-landing .gc-welcome h1,
.gc-landing .gc-welcome .gc-lede { text-align: center; margin-left: auto; margin-right: auto; }
.gc-landing .gc-welcome-mark {
  width: 88px; height: 88px; margin: 6px auto 26px; border-radius: 50%;
  background: var(--gc-gold-tint); display: grid; place-items: center;
}
.gc-landing .gc-welcome-tasks {
  border: 1px solid var(--gc-input-line); border-radius: 12px; margin: 34px 0 28px; text-align: left;
}
.gc-landing .gc-welcome-task {
  display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px;
  border-bottom: 1px solid var(--gc-input-line);
}
.gc-landing .gc-welcome-task:last-child { border-bottom: none; }
.gc-landing .gc-welcome-task-n {
  flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--gc-gold-tint);
  border: 1px solid var(--gc-gold-line); color: var(--gc-gold-dark); font-size: 13px; font-weight: 800;
  display: grid; place-items: center; margin-top: 1px;
}
.gc-landing .gc-welcome-task b { display: block; font-size: 15.5px; font-weight: 800; }
.gc-landing .gc-welcome-task-note { font-size: 13.5px; color: var(--gc-muted); }
.gc-landing .gc-welcome-skip { font-size: 14px; color: var(--gc-muted); margin-top: 20px; }

/* ---------- responsive ---------- */
@media (max-width: 720px) {
  .gc-landing .gc-nav-inner { padding: 18px 22px; }
  .gc-landing .gc-nav-link { display: none; }
  /* "Already a Member? Sign In" (2026-09-07, was just "Sign in") no longer
     fits comfortably beside "Secure Signup" on narrow screens — shrink it
     and let the pair wrap right-aligned instead of overflowing. */
  .gc-landing .gc-nav-right { gap: 16px; flex-wrap: wrap; justify-content: flex-end; }
  .gc-landing .gc-nav-signin { font-size: 13px; }
  .gc-landing .gc-card { padding: 38px 26px 44px; }
  .gc-landing h1 { font-size: 34px; }
  .gc-landing .gc-row,
  .gc-landing .gc-plans { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .gc-landing * { transition: none !important; animation: none !important; }
}

/* Coupon-code fallback on the mini sign-up form (manual entry when the
   invite link's own coupon param doesn't apply, or wasn't on the link at
   all — Chileap, 2026-09-03: "where is coupon input? they need to input
   coupon else they need to pay"). Reuses the .gc-field/.gc-flabel/
   input[type=text] styling above, plus a small "Apply" button and a
   struck-through original price inside .gc-order once a coupon applies. */
.gc-landing .gc-coupon-row { display: flex; gap: 10px; align-items: stretch; }
.gc-landing .gc-coupon-row input[type=text] { flex: 1; text-transform: uppercase; }
.gc-landing .gc-coupon-row button {
  flex: none; padding: 0 20px; font: inherit; font-size: 14px; font-weight: 800; letter-spacing: .05em;
  color: var(--gc-gold-dark); background: #fff; border: 1px solid var(--gc-gold-line); border-radius: 8px; cursor: pointer;
}
.gc-landing .gc-coupon-row button:hover { background: var(--gc-gold-tint); }
.gc-landing .gc-order .gc-was { color: var(--gc-muted); text-decoration: line-through; font-size: 14px; margin-right: 8px; }

/* Coupon disclosure on the GettingCloser wizard's About-you step (Chileap,
   2026-09-10: "the coupon should be during their signup too"). Kept as a
   <details> toggle rather than JS-shown/hidden, so it needs no JS to be
   usable — see landing.html.erb's own comment on why. */
.gc-landing .gc-coupon-details { margin: -6px 0 26px; }
.gc-landing .gc-coupon-summary {
  cursor: pointer; font-size: 14px; font-weight: 700; color: var(--gc-gold-dark); list-style: none;
}
.gc-landing .gc-coupon-summary::-webkit-details-marker { display: none; }
.gc-landing .gc-coupon-summary:before { content: "+ "; }
.gc-landing details[open] .gc-coupon-summary:before { content: "\2212 "; }
.gc-landing .gc-coupon-details .gc-field { margin: 14px 0 0; }

/* Coupon status banner — lives outside the per-step <section>s (see
   landing.html.erb, right after .gc-progress) so it stays visible through
   Billing and Payment too, not just the About step where it's typed
   (Chileap, 2026-09-10: "when i add coupon and it is wrong it should say
   that it is invalid but i don't get anything" / "in here it should
   mentioned that i have coupon" on the Billing step). Same
   success/error color pairing as .gc-context-chip / .gc-lead-error above. */
.gc-landing .gc-coupon-note {
  display: flex; align-items: center; border-radius: 8px; padding: 14px 16px;
  font-size: 14px; font-weight: 700; margin: 0 0 24px; line-height: 1.5;
  background: var(--gc-gold-tint); border: 1px solid var(--gc-gold-line); color: var(--gc-gold-dark);
}
.gc-landing .gc-coupon-note.gc-coupon-note-error {
  background: #FBEAE8; border-color: #E6B7B1; color: #8A342B;
}

/* ---------- partner landing page (/:slug -- see ReferralLanding) ----------
   Split layout: partner photo + copy on the left (copy anchored to the bottom
   of the photo), the normal signup card on the right. Stacks on tablet/phone
   with a button that jumps to the form. */
.gc-landing { --gc-nav-h: 78px; }
.gc-landing .gc-split {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: calc(100vh - var(--gc-nav-h));
  align-items: start;
}
/* Logo bar stays put and the photo panel is exactly one screen tall and sticks under it, so the
   partner's copy (anchored to the bottom of the panel) is on screen the whole time the visitor
   scrolls the form. */
.gc-landing nav.gc-nav-partner { position: sticky; top: 0; z-index: 20; background: var(--gc-cream); height: var(--gc-nav-h); }
.gc-landing nav.gc-nav-partner .gc-nav-inner { height: 100%; padding-top: 0; padding-bottom: 0; }
.gc-landing .gc-split .gc-about-intro { display: none; }
.gc-landing .gc-split-form { display: flex; align-items: flex-start; justify-content: center; scroll-margin-top: 12px; }
.gc-landing .gc-split-form .gc-shell { width: 100%; max-width: 640px; margin: 40px auto 70px; }
.gc-landing .gc-partner-panel {
  position: sticky; top: var(--gc-nav-h); height: calc(100vh - var(--gc-nav-h));
  overflow: hidden; display: flex; align-items: flex-end;
  background-color: #171B26; background-size: cover; background-position: center 28%;
  color: #fff; isolation: isolate;
}
.gc-landing .gc-partner-panel::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(23,27,38,.04) 0%, rgba(23,27,38,.22) 26%, rgba(23,27,38,.86) 64%, rgba(23,27,38,.96) 100%);
}
.gc-landing .gc-partner-inner { width: 100%; max-width: 640px; padding: 48px 64px 56px; }
.gc-landing .gc-partner-label {
  display: inline-flex; align-items: center; gap: 10px; max-width: 100%; padding: 8px 14px;
  border: 1px solid rgba(255,255,255,.55); border-radius: 9999px; background: rgba(23,27,38,.34);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: 13px; font-weight: 700;
}
.gc-landing .gc-partner-label::before { content: ""; width: 6px; height: 6px; border-radius: 9999px; background: var(--gc-gold); flex-shrink: 0; }
.gc-landing .gc-partner-eyebrow {
  margin: 24px 0 10px; font-size: 12.5px; font-weight: 800; letter-spacing: .18em;
  text-transform: uppercase; color: var(--gc-gold-line);
}
.gc-landing .gc-partner-h1 {
  margin: 0 0 16px; font-family: var(--gc-serif); font-weight: 600; color: #fff;
  font-size: clamp(34px, 3.5vw, 50px); line-height: 1.12; letter-spacing: -.01em;
}
.gc-landing .gc-partner-intro { margin: 0; font-size: 17px; line-height: 1.55; color: #fbf6ec; max-width: 540px; }
.gc-landing .gc-partner-rule { width: 54px; height: 2px; margin: 22px 0 18px; background: var(--gc-gold); }
.gc-landing .gc-partner-details { margin: 0; font-size: 16px; line-height: 1.55; color: #f1eadc; max-width: 540px; }
.gc-landing .gc-partner-details strong { color: #fff; font-weight: 800; }
.gc-landing .gc-partner-value { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 18px 0 0; max-width: 540px; }
.gc-landing .gc-partner-value span { display: flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 700; color: #fbf6ec; }
.gc-landing .gc-partner-value i { font-style: normal; font-weight: 800; color: var(--gc-gold); }
.gc-landing .gc-value-live-only[hidden] { display: none; }
.gc-landing .gc-partner-proof { margin: 20px 0 0; font-size: 13px; line-height: 1.5; color: #dccfb8; max-width: 540px; }
.gc-landing .gc-partner-jump {
  display: none; margin-top: 22px; padding: 15px 22px; border-radius: 4px; text-align: center;
  background: var(--gc-gold); color: #fff; font-weight: 800; text-decoration: none;
}
@media (max-width: 900px) {
  .gc-landing { --gc-nav-h: 64px; }
  .gc-landing .gc-split { grid-template-columns: 1fr; min-height: 0; }
  .gc-landing .gc-partner-panel { position: relative; top: auto; height: auto; min-height: calc(100vh - var(--gc-nav-h)); }
  .gc-landing .gc-partner-inner { padding: 40px 28px 32px; }
  .gc-landing .gc-partner-jump { display: block; }
  .gc-landing .gc-split-form .gc-shell { margin-top: 24px; }
}
