/* GTGF v15.53 - Site 4.0 Phase 2: Homepage Premium Product Polish */

.v1553-home-main > section {
  padding-block: var(--gtgf-section-space);
}

.v1553-home-main > .v1553-hero {
  padding-block: 0;
}

/* Hero: keep the established GTGF photo language, reduce competing copy. */
.v1553-hero {
  min-height: min(900px, calc(100svh - var(--gtgf-header-h)));
}
.v1553-hero .v14-hero-shade {
  background:
    linear-gradient(90deg, rgba(0,0,0,.98) 0%, rgba(0,0,0,.87) 40%, rgba(0,0,0,.30) 73%, rgba(0,0,0,.18) 100%),
    linear-gradient(0deg, rgba(0,0,0,.66), transparent 58%);
}
.v1553-hero__content {
  max-width: 1280px;
}
.v1553-hero .v14-brand-heading {
  margin-bottom: 18px !important;
}
.v1553-hero h1 {
  max-width: 24ch;
  margin-bottom: 18px;
  font-size: clamp(1.85rem, 2.65vw, 2.7rem);
  line-height: 1.08;
}
.v1553-hero .v14-lead {
  max-width: 690px;
  margin-bottom: 0;
  color: rgba(255,255,255,.82);
}
.v1553-goal-picker {
  margin-top: 26px;
}
.v1553-goal-picker button {
  min-width: 112px;
  background: rgba(0,0,0,.52);
  border-color: rgba(255,255,255,.28);
}
.v1553-goal-picker button.is-active {
  border-color: var(--gtgf-accent);
  background: var(--gtgf-accent);
  color: #080808;
}
.v1553-hero__actions {
  margin-top: 22px;
}
.v1553-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 22px;
  margin-top: 22px;
  color: rgba(255,255,255,.68);
  font-size: var(--gtgf-text-small);
  line-height: 1.45;
}
.v1553-hero__trust span {
  position: relative;
  padding-left: 15px;
}
.v1553-hero__trust span::before {
  content: '';
  position: absolute;
  left: 0;
  top: .55em;
  width: 6px;
  height: 6px;
  background: var(--gtgf-accent);
}
.v1553-hero__trust strong {
  color: #fff;
  font-weight: 850;
}

/* Product: one visual explanation instead of three overlapping marketing sections. */
.v1553-product {
  background: var(--gtgf-paper);
  color: var(--gtgf-ink);
  border-bottom: 1px solid var(--gtgf-line);
}
.v1553-product__intro {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(300px,.72fr);
  gap: clamp(32px, 7vw, 96px);
  align-items: end;
  margin-bottom: clamp(36px, 5vw, 64px);
}
.v1553-product__intro h2 {
  max-width: 12ch;
  margin-bottom: 0;
}
.v1553-product__intro > p {
  margin: 0 0 8px;
  color: var(--gtgf-muted);
  font-size: 1.08rem;
  line-height: 1.65;
}
.v1553-product__grid {
  display: grid;
  grid-template-columns: minmax(300px,.78fr) minmax(520px,1.22fr);
  gap: clamp(36px, 7vw, 92px);
  align-items: center;
}
.v1553-product__steps {
  border-top: 1px solid var(--gtgf-line);
}
.v1553-product__steps article {
  display: grid;
  grid-template-columns: 52px minmax(0,1fr);
  gap: 18px;
  padding: 23px 0;
  border-bottom: 1px solid var(--gtgf-line);
}
.v1553-product__steps article > span {
  padding-top: 4px;
  color: var(--gtgf-accent);
  font-size: var(--gtgf-text-micro);
  font-weight: 900;
  letter-spacing: .12em;
}
.v1553-product__steps h3 {
  margin: 0 0 7px;
  font-family: var(--gtgf-font-body);
  font-size: 1.2rem;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.v1553-product__steps p {
  margin: 0;
  color: var(--gtgf-muted);
  line-height: 1.6;
}
.v1553-product__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  align-items: center;
  margin-top: 28px;
}
.v1553-product .v14-btn--dark {
  background: var(--gtgf-black);
  border-color: var(--gtgf-black);
  color: #fff !important;
}

/* Static product preview: no fake buttons, just a realistic GTGF state. */
.v1553-cockpit {
  position: relative;
  overflow: hidden;
  padding: clamp(22px, 3vw, 34px);
  background: #090909;
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 34px 80px rgba(17,17,17,.22);
}
.v1553-cockpit::after {
  content: '';
  position: absolute;
  right: -110px;
  top: -110px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(255,90,0,.2);
  transform: rotate(28deg);
  pointer-events: none;
}
.v1553-cockpit__top,
.v1553-cockpit__card header,
.v1553-cockpit__event,
.v1553-account__preview-top,
.v1553-account__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.v1553-cockpit__top {
  padding-bottom: 17px;
  border-bottom: 1px solid rgba(255,255,255,.13);
}
.v1553-cockpit__top > div {
  display: grid;
  gap: 3px;
}
.v1553-cockpit__top span,
.v1553-cockpit__card header span,
.v1553-cockpit__event span,
.v1553-account__preview-top span,
.v1553-account__row > span {
  color: rgba(255,255,255,.52);
  font-size: var(--gtgf-text-micro);
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.v1553-cockpit__top strong {
  font-size: 1.28rem;
}
.v1553-cockpit__week {
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.17);
  color: #fff !important;
  white-space: nowrap;
}
.v1553-cockpit__status {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 0 2px;
  color: rgba(255,255,255,.68);
  font-size: var(--gtgf-text-small);
}
.v1553-cockpit__status > span {
  width: 8px;
  height: 8px;
  background: var(--gtgf-accent);
  box-shadow: 0 0 0 4px rgba(255,90,0,.12);
}
.v1553-cockpit__card {
  position: relative;
  margin-top: 16px;
  padding: 20px;
  background: #131313;
  border: 1px solid rgba(255,255,255,.13);
}
.v1553-cockpit__card--training {
  border-left: 3px solid var(--gtgf-accent);
}
.v1553-cockpit__card header strong {
  color: rgba(255,255,255,.7);
  font-size: var(--gtgf-text-small);
}
.v1553-cockpit__card h3 {
  margin: 15px 0 6px;
  font-family: var(--gtgf-font-body);
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  letter-spacing: -.03em;
}
.v1553-cockpit__card > p {
  margin: 0;
  color: rgba(255,255,255,.58);
  font-size: var(--gtgf-text-small);
}
.v1553-cockpit__metrics {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
  margin-top: 18px;
}
.v1553-cockpit__metrics span {
  padding: 11px;
  background: rgba(255,255,255,.045);
  color: rgba(255,255,255,.58);
  font-size: var(--gtgf-text-micro);
  line-height: 1.3;
}
.v1553-cockpit__metrics strong {
  display: block;
  margin-bottom: 3px;
  color: #fff;
  font-size: .9rem;
}
.v1553-cockpit__fuel-head {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
  margin-top: 16px;
}
.v1553-cockpit__fuel-head > div {
  padding: 12px;
  background: rgba(255,255,255,.045);
}
.v1553-cockpit__fuel-head strong,
.v1553-cockpit__fuel-head span {
  display: block;
}
.v1553-cockpit__fuel-head strong {
  font-size: 1.04rem;
}
.v1553-cockpit__fuel-head span {
  margin-top: 3px;
  color: rgba(255,255,255,.5);
  font-size: var(--gtgf-text-micro);
}
.v1553-cockpit__card ul {
  display: grid;
  gap: 0;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.v1553-cockpit__card li {
  display: grid;
  grid-template-columns: 56px 90px minmax(0,1fr);
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid rgba(255,255,255,.09);
  font-size: var(--gtgf-text-small);
}
.v1553-cockpit__card li span { color: var(--gtgf-accent); font-weight: 850; }
.v1553-cockpit__card li strong { color: #fff; }
.v1553-cockpit__card li em { color: rgba(255,255,255,.56); font-style: normal; }
.v1553-cockpit__event {
  margin-top: 16px;
  padding: 14px 0 0;
  border-top: 1px solid rgba(255,255,255,.13);
}
.v1553-cockpit__event strong { margin-left: auto; }
.v1553-cockpit__event em { color: var(--gtgf-accent); font-style: normal; font-weight: 900; }

/* Why: short, decisive proof instead of another long explainer. */
.v1553-why {
  background: var(--gtgf-black);
  color: #fff;
}
.v1553-why__grid {
  display: grid;
  grid-template-columns: minmax(260px,.7fr) minmax(0,1.3fr);
  gap: clamp(38px, 8vw, 110px);
  align-items: start;
}
.v1553-why h2 { max-width: 11ch; }
.v1553-why__points { border-top: 1px solid rgba(255,255,255,.15); }
.v1553-why__points article {
  display: grid;
  grid-template-columns: minmax(180px,.72fr) minmax(0,1fr);
  gap: 30px;
  padding: 25px 0;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.v1553-why__points strong {
  font-size: 1.05rem;
  text-transform: uppercase;
}
.v1553-why__points p {
  margin: 0;
  color: rgba(255,255,255,.64);
}

/* Proof keeps the established Earn the Start Line visual identity. */
.v1553-proof { padding-block: var(--gtgf-section-space); }
.v1553-proof__grid { align-items: center; }

/* Discovery: three clear next journeys with one action each. */
.v1553-discover {
  background: #fff;
  color: var(--gtgf-ink);
}
.v1553-discover .v14-section-head--split > p {
  margin: 0;
  color: var(--gtgf-muted);
}
.v1553-discover__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid var(--gtgf-line);
  border-left: 1px solid var(--gtgf-line);
}
.v1553-discover__card {
  position: relative;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 3vw, 38px);
  border-right: 1px solid var(--gtgf-line);
  border-bottom: 1px solid var(--gtgf-line);
  background: #fff;
  transition: transform var(--gtgf-transition), background var(--gtgf-transition);
}
.v1553-discover__card > span {
  color: var(--gtgf-accent);
  font-size: var(--gtgf-text-micro);
  font-weight: 900;
  letter-spacing: .13em;
}
.v1553-discover__card h3 {
  margin-top: auto;
  max-width: 10ch;
  font-size: clamp(1.8rem, 2.7vw, 2.7rem);
}
.v1553-discover__card p {
  color: var(--gtgf-muted);
}
.v1553-discover__card > strong {
  margin-top: 12px;
  font-size: var(--gtgf-text-small);
  text-transform: uppercase;
  letter-spacing: .07em;
}
.v1553-discover__card--dark {
  background: var(--gtgf-black);
  color: #fff;
}
.v1553-discover__card--dark p { color: rgba(255,255,255,.62); }
@media (hover:hover) {
  .v1553-discover__card:hover { transform: translateY(-4px); background: #f8f6f1; }
  .v1553-discover__card--dark:hover { background: #141414; }
}

/* Account appears after product proof: acquisition incentive, not a gate. */
.v1553-account {
  background: #eeebe4;
  color: var(--gtgf-ink);
}
.v1553-account__grid {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr);
  gap: clamp(40px, 8vw, 110px);
  align-items: center;
}
.v1553-account__grid > div:first-child > p:not(.v14-eyebrow) {
  color: var(--gtgf-muted);
  font-size: 1.05rem;
}
.v1553-account__benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 21px;
}
.v1553-account__benefits span {
  padding: 8px 10px;
  border: 1px solid var(--gtgf-line);
  background: rgba(255,255,255,.58);
  font-size: var(--gtgf-text-small);
  font-weight: 800;
}
.v1553-account__preview {
  padding: clamp(22px, 3vw, 32px);
  background: var(--gtgf-black);
  color: #fff;
  box-shadow: 0 30px 70px rgba(17,17,17,.17);
}
.v1553-account__preview-top {
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(255,255,255,.13);
}
.v1553-account__preview-top strong { font-size: 1.35rem; }
.v1553-account__row {
  padding: 15px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.v1553-account__row:last-child { border-bottom: 0; }
.v1553-account__row > strong { margin-left: auto; font-size: .95rem; text-align: right; }
.v1553-account__row > em { min-width: 72px; color: var(--gtgf-accent); font-size: var(--gtgf-text-small); font-style: normal; font-weight: 900; text-align: right; }

/* Performance Week: clearly premium, but not allowed to overtake the free product funnel. */
.v1553-portugal__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  margin: 22px 0 28px;
}
.v1553-portugal__facts span {
  color: rgba(255,255,255,.62);
  font-size: var(--gtgf-text-small);
}
.v1553-portugal__facts strong {
  display: block;
  margin-bottom: 2px;
  color: #fff;
  font-size: 1.15rem;
}

.v1553-final .v14-shell { max-width: 980px; }
.v1553-final h2 { max-width: 15ch; }
.v1553-final p { max-width: 720px; }

@media (max-width: 1080px) {
  .v1553-product__grid,
  .v1553-account__grid {
    grid-template-columns: 1fr;
  }
  .v1553-cockpit,
  .v1553-account__preview { max-width: 760px; width: 100%; }
  .v1553-discover__grid { grid-template-columns: 1fr 1fr; }
  .v1553-discover__card--dark { grid-column: 1 / -1; min-height: 260px; }
}

@media (max-width: 820px) {
  .v1553-home-main > section { padding-block: clamp(54px, 9vw, 76px); }
  .v1553-product__intro,
  .v1553-why__grid { grid-template-columns: 1fr; gap: 24px; }
  .v1553-product__intro > p { margin: 0; }
  .v1553-why__points article { grid-template-columns: 1fr; gap: 8px; }
  .v1553-discover .v14-section-head--split { grid-template-columns: 1fr; gap: 16px; }
  .v1553-cockpit__metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  .v1553-hero { min-height: auto; }
  .v1553-hero__content { padding-block: 68px 46px !important; }
  .v1553-hero .v14-brand-heading { font-size: clamp(3.8rem, 19vw, 5.8rem) !important; }
  .v1553-hero h1 { font-size: 1.55rem; }
  .v1553-hero .v14-lead { font-size: 1rem; line-height: 1.55; }
  .v1553-goal-picker { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .v1553-goal-picker button { min-width: 0; width: 100%; }
  .v1553-hero__actions { align-items: stretch; flex-direction: column; }
  .v1553-hero__actions > * { width: 100%; justify-content: center; text-align: center; }
  .v1553-hero__trust { display: grid; gap: 8px; }
  .v1553-product__steps article { grid-template-columns: 36px minmax(0,1fr); gap: 10px; }
  .v1553-product__actions { align-items: stretch; flex-direction: column; }
  .v1553-product__actions > * { width: 100%; justify-content: center; text-align: center; }
  .v1553-cockpit { margin-inline: -2px; padding: 16px; }
  .v1553-cockpit__top { align-items: flex-start; }
  .v1553-cockpit__metrics,
  .v1553-cockpit__fuel-head { grid-template-columns: 1fr 1fr 1fr; gap: 5px; }
  .v1553-cockpit__metrics span,
  .v1553-cockpit__fuel-head > div { padding: 9px 7px; }
  .v1553-cockpit__card { padding: 16px; }
  .v1553-cockpit__card li { grid-template-columns: 52px minmax(0,1fr); }
  .v1553-cockpit__card li em { grid-column: 2; }
  .v1553-cockpit__event { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; }
  .v1553-cockpit__event strong { margin: 0; }
  .v1553-cockpit__event em { grid-column: 2; grid-row: 1 / 3; align-self: center; }
  .v1553-discover__grid { grid-template-columns: 1fr; }
  .v1553-discover__card,
  .v1553-discover__card--dark { grid-column: auto; min-height: 270px; }
  .v1553-account__preview { padding: 18px; }
  .v1553-account__row { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 3px 12px; }
  .v1553-account__row > strong { margin: 0; text-align: left; }
  .v1553-account__row > em { grid-column: 2; min-width: 0; text-align: left; }
  .v1553-portugal__facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .v1553-portugal__facts span { padding: 10px 8px; border: 1px solid rgba(255,255,255,.13); }
}

@media (prefers-reduced-motion: reduce) {
  .v1553-discover__card { transition: none; }
}
