/* The self-contained Founding 50 site (TT-297), to the client's
   TailsTap_Founding50_Landing_Page.pdf. Self-hosted font, like the main site:
   the CSP allows no CDN fonts. */
@font-face {
    font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400;
    font-display: swap;
    src: url("../vendor/plus-jakarta-sans/plus-jakarta-sans-400.503e7cbdb484.woff2") format('woff2');
}
@font-face {
    font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 700;
    font-display: swap;
    src: url("../vendor/plus-jakarta-sans/plus-jakarta-sans-700.5b629bd8abb4.woff2") format('woff2');
}

.f50 {
    --f50-teal: #134c48; --f50-sage: #4f7d6e; --f50-cream: #f6f3ec; --f50-mint: #dcebe2;
    --f50-gold: #f4d389; --f50-ink: #133f3c; --f50-muted: #5b6f6a;
    background: var(--f50-cream); color: var(--f50-ink);
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.f50 h1, .f50 h2, .f50 h3 { color: var(--f50-teal); font-weight: 700; letter-spacing: -.01em; }
.f50 a { color: var(--f50-teal); }

.f50-header { padding: 1.4rem 0; border-bottom: 1px solid #dad6cc; }
.f50-logo { font-size: 1.9rem; font-weight: 700; color: var(--f50-teal); text-decoration: none; }
.f50-footer { padding: 1.4rem 0; font-size: .85rem; color: var(--f50-muted); border-top: 1px solid #dad6cc; }

.f50-kicker { text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; font-weight: 700; color: var(--f50-teal); }
.f50-sage { color: var(--f50-sage); }
.f50-muted { color: var(--f50-muted); }
.f50-section { padding: 4rem 0; }
.f50-btn { background: var(--f50-teal); border-color: var(--f50-teal); color: #fff; font-weight: 700; border-radius: .5rem; padding: .8rem 1.6rem; }
.f50-btn:hover, .f50-btn:focus { background: #0e3a37; border-color: #0e3a37; color: #fff; }
.f50-btn--gold { background: var(--f50-gold); border-color: var(--f50-gold); color: var(--f50-teal); }
.f50-btn--gold:hover, .f50-btn--gold:focus { background: #f8df9f; border-color: #f8df9f; color: var(--f50-teal); }

/* Hero */
.f50-hero { padding: 3.5rem 0 3rem; }
.f50-hero h1 { font-size: 3.6rem; line-height: 1.05; margin: 1.1rem 0 1.5rem; }
.f50-hero__lead { font-size: 1.35rem; line-height: 1.5; }
.f50-hero__para { font-size: 1.05rem; line-height: 1.7; color: var(--f50-muted); max-width: 30rem; }
.f50-hero__note { font-size: .88rem; color: var(--f50-muted); margin-top: .9rem; }
.f50-photo { position: relative; border-radius: 3rem; overflow: hidden; min-height: 26rem; height: 100%; background: linear-gradient(160deg, #e7efe9 0%, #c9dccf 55%, #a9c4b4 100%); }
.f50-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; position: absolute; inset: 0; }
.f50-badge { position: absolute; top: 1.1rem; right: 1.1rem; width: 9rem; height: 9rem; border-radius: 50%; background: var(--f50-gold); color: var(--f50-teal); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; font-weight: 700; z-index: 2; }
.f50-badge small { font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; }
.f50-badge strong { font-size: 3rem; line-height: 1; }
.f50-photo__caption { position: absolute; left: 1rem; bottom: 1rem; right: 4rem; background: #fff; border-radius: .6rem; padding: .9rem 1.2rem; color: var(--f50-teal); z-index: 2; }

.f50-band { background: var(--f50-mint); padding: 1.4rem 0; font-weight: 700; color: var(--f50-teal); }

.f50-title { font-size: 2.6rem; line-height: 1.12; }
.f50-card { background: #fff; border-radius: .9rem; padding: 1.6rem; height: 100%; }
.f50-card__num { font-size: 1.9rem; color: var(--f50-sage); font-weight: 400; }
.f50-card h3 { font-size: 1.15rem; margin: 1.2rem 0 .7rem; }
.f50-card p { color: var(--f50-muted); margin: 0; line-height: 1.6; }
.f50-step__num { font-size: 1.6rem; color: var(--f50-sage); margin-right: .5rem; }
.f50-step-item h3 { font-size: 1.1rem; display: inline; }

.f50-programme { background: var(--f50-teal); color: #e4efea; }
.f50-programme h2 { color: #fff; font-size: 3rem; line-height: 1.1; }
.f50-programme .f50-kicker, .f50-programme .f50-gold { color: var(--f50-gold); }
.f50-programme h3 { color: #fff; font-size: 1.15rem; margin: 0 0 .5rem; }
.f50-programme__num { color: var(--f50-gold); font-weight: 700; min-width: 2.2rem; }
.f50-programme__ask { background: rgba(255, 255, 255, .07); border-radius: .7rem; padding: 1.4rem 1.6rem; }
.f50-programme__small { color: #b9d0c8; font-size: .9rem; }

.f50-apply { background: var(--f50-mint); }
.f50-apply__card { background: #fff; border-radius: 1.1rem; padding: 2rem; }
.f50-apply__chip { background: var(--f50-gold); color: var(--f50-teal); font-weight: 700; font-size: .75rem; border-radius: .3rem; padding: .3rem .6rem; }
.f50-ticks li { margin-bottom: .8rem; }
.f50-apply label { font-weight: 700; color: var(--f50-teal); margin-bottom: .3rem; }
.f50-apply .form-control { background: #fafaf8; border-color: #c9d6cf; padding: .7rem .9rem; }
.f50-errors { color: #b02a37; font-size: .875rem; }
.f50-secure { color: var(--f50-muted); font-size: .9rem; }

.f50-faq h3 { font-size: 1.1rem; margin-bottom: .6rem; }
.f50-faq p { color: var(--f50-muted); line-height: 1.65; }
.f50-close { background: var(--f50-mint); padding: 2.2rem 0; }
.f50-close h2 { font-size: 2.2rem; margin: 0; }

.f50-thanks { padding: 6rem 0; text-align: center; }
.f50-thanks h1 { font-size: 3rem; }

@media (max-width: 991.98px) {
    .f50-hero h1 { font-size: 2.6rem; }
    .f50-photo { min-height: 20rem; margin-top: 2rem; border-radius: 2rem; }
    .f50-badge { width: 7rem; height: 7rem; }
    .f50-badge strong { font-size: 2.2rem; }
}
@media (max-width: 575.98px) {
    .f50-apply__card { padding: 1.3rem; }
    .f50-title, .f50-programme h2 { font-size: 2rem; }
}

/* The privacy policy (TT-297). */
.f50-legal { max-width: 46rem; }
.f50-legal h2 { font-size: 1.25rem; margin: 2rem 0 .6rem; }
.f50-legal p { color: var(--f50-ink); line-height: 1.7; }
