:root {
  --af-blue: #152d87;
  --af-blue-deep: #071a46;
  --af-ink: #16171c;
  --af-pink: #d4075b;
  --af-gold: #c99b36;
  --af-cream: #f4f0e7;
  --af-paper: #fffdfa;
}

.futsal-club-page { background: var(--af-paper); color: var(--af-ink); }
.futsal-club-page main { overflow: hidden; }
.futsal-club-page h1,
.futsal-club-page h2,
.futsal-club-page h3 { font-family: Arial, Helvetica, sans-serif; font-weight: 950; letter-spacing: -.055em; text-transform: uppercase; }
.futsal-club-page em { color: var(--af-pink); font-style: normal; }
.af-club-header { position: absolute; inset: 0 0 auto; z-index: 50; display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 92px; padding: 0 clamp(28px, 5.5vw, 88px); border-bottom: 1px solid rgba(255,255,255,.17); background: linear-gradient(180deg, rgba(4,9,21,.88), rgba(4,9,21,.25)); }
.af-club-brand { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.af-club-brand img { width: 43px; height: 53px; object-fit: contain; }
.af-club-brand span { display: grid; gap: 3px; }
.af-club-brand b { font-size: 17px; letter-spacing: .22em; }
.af-club-brand small { color: rgba(255,255,255,.7); font-size: 7px; font-weight: 900; letter-spacing: .18em; }
.af-club-nav { display: flex; justify-content: center; gap: clamp(22px, 3.2vw, 48px); }
.af-club-nav a { position: relative; padding: 38px 0 34px; color: rgba(255,255,255,.8); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.af-club-nav a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 23px; height: 2px; background: #ffcf44; transition: left .25s ease, right .25s ease; }
.af-club-nav a:hover { color: #fff; }
.af-club-nav a:hover::after { left: 0; right: 0; }
.af-club-cta { display: inline-flex; align-items: center; min-height: 42px; padding: 0 18px; border: 1px solid rgba(255,255,255,.76); color: #fff; font-size: 8px; font-weight: 950; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.af-club-cta:hover { background: #fff; color: var(--af-blue-deep); }
.af-social-rail { position: fixed; z-index: 45; right: 18px; top: 50%; display: grid; gap: 9px; transform: translateY(-50%); }
.af-social-rail a { display: grid; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; place-items: center; background: rgba(7,26,70,.8); color: #fff; font-size: 10px; font-weight: 950; text-decoration: none; backdrop-filter: blur(10px); }
.af-social-rail a:hover { border-color: var(--af-pink); background: var(--af-pink); }

.af-hero { position: relative; min-height: 100vh; padding: 150px 0 74px; background: var(--af-ink); color: #fff; }
.af-hero::after { content: "FUTSAL"; position: absolute; right: -2vw; bottom: -5vw; color: rgba(255,255,255,.025); font-size: 22vw; font-weight: 950; line-height: .7; letter-spacing: -.08em; pointer-events: none; }
.af-hero-shell { position: relative; z-index: 3; }
.af-hero-kicker { display: flex; align-items: center; gap: 18px; width: min(1120px, 94%); margin: 0 auto 22px; color: rgba(255,255,255,.75); font-size: 9px; font-weight: 900; letter-spacing: .19em; }
.af-hero-kicker i { flex: 1; height: 1px; background: rgba(255,255,255,.28); }
.af-video-frame { width: min(1120px, 94%); margin: 0 auto; padding: 23px 0 25px; border-radius: 48px; background: var(--af-pink); box-shadow: 0 34px 90px rgba(0,0,0,.4); overflow: hidden; }
.af-video-cap,
.af-video-footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 49px; padding: 0 42px; color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.af-video-window { position: relative; min-height: 555px; overflow: hidden; background: #05070e; }
.af-video-window video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.af-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.af-play { position: absolute; z-index: 4; right: 8%; top: 50%; display: grid; width: 88px; height: 88px; border: 0; border-radius: 50%; place-items: center; transform: translateY(-50%); background: rgba(255,255,255,.88); color: var(--af-blue); font-size: 24px; font-weight: 950; cursor: pointer; transition: transform .25s ease, background .25s ease; }
.af-play:hover { transform: translateY(-50%) scale(1.08); background: #fff; }
.af-video-footer { padding-top: 7px; font-size: 10px; }
.af-video-footer p { margin: 0; }
.af-video-footer a { color: #fff; text-decoration: none; }
.af-video-footer a span { display: inline-grid; width: 25px; height: 25px; margin-left: 8px; border: 1px solid rgba(255,255,255,.66); border-radius: 50%; place-items: center; }
.af-hero-brush { position: absolute; z-index: 1; width: 320px; height: 82px; background: var(--af-blue); opacity: .66; clip-path: polygon(0 22%, 100% 0, 88% 68%, 9% 100%); }
.af-hero-brush-one { left: -90px; top: 240px; transform: rotate(-18deg); }
.af-hero-brush-two { right: -110px; bottom: 120px; background: var(--af-gold); transform: rotate(18deg); }

.af-welcome { position: relative; padding: 120px 0 132px; background: #fff; }
.af-impact-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(56px, 8vw, 118px); align-items: center; }
.af-impact-photo { position: relative; min-height: 820px; margin: 0; overflow: hidden; border-radius: 0 88px 0 0; background: var(--af-blue-deep); box-shadow: 0 28px 68px rgba(7,26,70,.18); }
.af-impact-photo::before { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(7,14,31,.9)); pointer-events: none; }
.af-impact-photo::after { content: ""; position: absolute; z-index: 3; left: -15%; right: 38%; bottom: 19%; height: 76px; background: var(--af-pink); clip-path: polygon(0 22%, 100% 0, 88% 72%, 8% 100%); transform: rotate(-8deg); opacity: .88; pointer-events: none; }
.af-impact-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.af-impact-photo figcaption { position: absolute; z-index: 4; left: 36px; right: 36px; bottom: 37px; display: grid; gap: 12px; color: #fff; }
.af-impact-photo figcaption span { color: #8bdcf8; font-size: 8px; font-weight: 950; letter-spacing: .16em; }
.af-impact-photo figcaption b { max-width: 400px; font-size: 18px; line-height: 1.3; }
.af-impact-copy h2 { margin: 24px 0 36px; font-size: clamp(60px, 7vw, 101px); line-height: .78; }
.af-impact-copy > p:not(.af-eyebrow) { max-width: 650px; margin: 0 0 22px; color: #565e64; font-size: 15px; line-height: 1.82; }
.af-impact-copy .af-impact-lead { color: var(--af-ink) !important; font-size: 20px !important; font-weight: 750; line-height: 1.55 !important; }
.af-impact-understanding { display: grid; grid-template-columns: minmax(0,.78fr) minmax(420px,1.22fr); gap: 58px; align-items: stretch; margin-top: 110px; padding: 58px 64px; border-radius: 0 54px 0 54px; background: var(--af-blue-deep); color: #fff; }
.af-impact-understanding-copy { display: flex; flex-direction: column; justify-content: center; }
.af-impact-understanding .af-eyebrow { margin-bottom: 45px; padding-top: 0; }
.af-impact-understanding h3 { margin: 0 0 22px; color: #ffdc55; font-size: clamp(31px, 3.8vw, 55px); line-height: .9; }
.af-impact-understanding p:not(.af-eyebrow) { margin: 0 0 18px; color: #c1c8d8; font-size: 14px; line-height: 1.78; }
.af-impact-video { position: relative; min-height: 570px; margin: 0; overflow: hidden; border-radius: 0 38px 0 38px; background: #02091c; box-shadow: 0 25px 50px rgba(0,0,0,.28); isolation: isolate; }
.af-impact-video::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(2,8,25,.92)); pointer-events: none; }
.af-impact-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.af-impact-video figcaption { position: absolute; z-index: 2; left: 32px; right: 32px; bottom: 30px; display: grid; gap: 9px; pointer-events: none; }
.af-impact-video figcaption span { color: #8bdcf8; font-size: 8px; font-weight: 950; letter-spacing: .17em; }
.af-impact-video figcaption b { max-width: 470px; color: #fff; font-size: clamp(20px,2.1vw,31px); line-height: 1; }
.af-impact-question { max-width: 890px; margin: 76px auto 0; text-align: center; }
.af-impact-question p { margin: 0; color: #34383d; font-size: clamp(22px, 2.7vw, 36px); line-height: 1.38; }
.af-impact-question strong { color: var(--af-blue); }
.af-impact-choices { margin-top: 58px; }
.af-impact-choices .af-quick-card { min-height: 300px; }
.af-impact-choices .af-quick-card h3 { margin-top: 42px; }
.af-impact-close { max-width: 760px; margin: 56px auto 20px; color: #575e63; font-size: 16px; line-height: 1.8; text-align: center; }
.af-welcome-heading { display: grid; grid-template-columns: 1.55fr .75fr; gap: 40px 80px; align-items: end; }
.af-eyebrow { grid-column: 1 / -1; margin: 0; color: var(--af-blue); font-size: 10px; font-weight: 950; letter-spacing: .17em; }
.af-eyebrow.light { color: #8bdcf8; }
.af-welcome-heading h2,
.af-section-heading h2 { margin: 0; font-size: clamp(48px, 6.6vw, 93px); line-height: .82; }
.af-welcome-heading > p:last-child,
.af-section-heading > p { margin: 0; color: #5e6068; font-size: 15px; line-height: 1.75; }
.af-quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 80px; border: 1px solid #d8d5cd; }
.af-quick-card { min-height: 330px; padding: 38px; border-right: 1px solid #d8d5cd; background: var(--af-paper); }
.af-quick-card:last-child { border-right: 0; }
.af-quick-icon { display: grid; width: 56px; height: 56px; border-radius: 50%; place-items: center; background: var(--af-blue); color: #fff; font-weight: 950; }
.af-quick-card:nth-child(2) .af-quick-icon { background: var(--af-pink); }
.af-quick-card:nth-child(3) .af-quick-icon { background: var(--af-gold); }
.af-quick-card h3 { margin: 48px 0 14px; font-size: 25px; }
.af-quick-card p { max-width: 310px; margin: 0; color: #65666d; line-height: 1.65; }
.af-quick-card a { display: inline-block; margin-top: 34px; color: var(--af-blue); font-size: 9px; font-weight: 950; letter-spacing: .12em; text-decoration: none; }
.af-blue-brush { position: absolute; right: -40px; bottom: -48px; z-index: 4; width: 410px; height: 96px; background: var(--af-blue); clip-path: polygon(0 12%, 100% 0, 91% 74%, 8% 100%); transform: rotate(-4deg); }
.af-marquee { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; padding: 18px 0; overflow: hidden; background: var(--af-pink); color: #fff; transform: rotate(-1.2deg) scale(1.02); }
.af-marquee div { display: flex; width: max-content; align-items: center; gap: 34px; padding-left: 2vw; animation: af-marquee 24s linear infinite; }
.af-marquee span { font-size: 11px; font-weight: 950; letter-spacing: .16em; white-space: nowrap; }
.af-marquee i { color: #ffda4c; font-style: normal; }
@keyframes af-marquee { to { transform: translateX(-50%); } }

.af-questioning { padding: 145px 0; background: var(--af-ink); color: #fff; }
.af-questioning-heading { display: grid; grid-template-columns: 1.4fr .6fr; gap: 34px 76px; align-items: end; }
.af-questioning-heading .af-eyebrow { grid-column: 1 / -1; }
.af-questioning-heading h2 { margin: 0; font-size: clamp(51px, 6.6vw, 92px); line-height: .82; }
.af-questioning-heading h2 em { color: #ffdc55; }
.af-questioning-heading > p:last-child { margin: 0 0 4px; color: #b9bbc2; font-size: 16px; line-height: 1.75; }
.af-skill-choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-top: 80px; background: #42454b; }
.af-skill-choice-grid article { min-height: 270px; padding: 38px; background: #22252a; }
.af-skill-choice-grid span { color: #71dbff; font-size: 9px; font-weight: 950; letter-spacing: .15em; }
.af-skill-choice-grid h3 { margin: 74px 0 11px; font-size: 35px; }
.af-skill-choice-grid p { margin: 0; color: #b9bbc2; font-size: 15px; }
.af-choice-statement { max-width: 950px; margin: 64px auto 0; color: #c6c8cd; font-size: 19px; line-height: 1.78; text-align: center; }
.af-hard-truth { display: grid; grid-template-columns: .46fr 1.54fr; gap: 60px; margin-top: 118px; border-radius: 70px 0 70px 0; overflow: hidden; background: var(--af-pink); }
.af-hard-truth-label { display: flex; min-height: 460px; flex-direction: column; justify-content: center; padding: 58px; background: var(--af-blue); }
.af-hard-truth-label span,
.af-hard-truth-label b { font-size: clamp(54px, 6vw, 88px); font-weight: 950; line-height: .76; letter-spacing: -.055em; }
.af-hard-truth-label b { color: #ffdc55; }
.af-hard-truth-questions { display: grid; align-content: center; padding: 52px 70px 52px 0; }
.af-hard-truth-questions p { position: relative; margin: 0; padding: 22px 0 22px 38px; border-bottom: 1px solid rgba(255,255,255,.34); color: #fff; font-size: 15px; line-height: 1.55; }
.af-hard-truth-questions p:last-child { border-bottom: 0; }
.af-hard-truth-questions p::before { content: "?"; position: absolute; left: 0; top: 21px; color: #ffdc55; font-size: 19px; font-weight: 950; }
.af-curiosity-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 96px; align-items: start; margin-top: 130px; }
.af-curiosity-title h2 { margin: 22px 0 0; font-size: clamp(58px, 7vw, 98px); line-height: .78; }
.af-curiosity-title h2 em { color: #ffdc55; }
.af-curiosity-copy > p { margin: 0 0 25px; color: #c3c5ca; font-size: 15px; line-height: 1.82; }
.af-curiosity-copy blockquote { margin: 40px 0 0; padding: 28px 0 28px 28px; border-left: 4px solid var(--af-pink); color: #fff; font-size: 20px; font-weight: 750; line-height: 1.62; }

.af-club-story { padding: 145px 0; background: var(--af-blue); color: #fff; }
.af-story-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 100px; align-items: center; }
.af-story-media { position: relative; min-height: 700px; }
.af-story-photo { position: absolute; margin: 0; overflow: hidden; box-shadow: 0 28px 56px rgba(0,0,0,.24); }
.af-story-photo img { width: 100%; height: 100%; object-fit: cover; }
.af-story-photo-main { inset: 0 95px 65px 0; border-radius: 0 80px 0 0; }
.af-story-photo-main img { object-position: center 47%; }
.af-story-photo-small { right: 0; bottom: 0; width: 45%; height: 42%; border: 12px solid var(--af-blue); border-radius: 58px 0 0 0; }
.af-story-stamp { position: absolute; left: -26px; bottom: 17px; display: grid; width: 128px; height: 128px; border-radius: 50%; place-items: center; background: var(--af-pink); color: #fff; font-size: 20px; font-weight: 950; line-height: .85; text-align: center; transform: rotate(-9deg); }
.af-story-copy h2 { margin: 22px 0 40px; font-size: clamp(58px, 6.5vw, 92px); line-height: .78; }
.af-story-copy h2 em { color: #ffdc55; }
.af-story-copy > p:not(.af-eyebrow) { max-width: 590px; color: rgba(255,255,255,.76); font-size: 15px; line-height: 1.85; }
.af-story-copy .af-story-lead { color: #fff !important; font-size: 21px !important; font-weight: 800; }
.af-story-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 38px; }
.af-story-tags span { padding: 12px 15px; border: 1px solid rgba(255,255,255,.34); border-radius: 99px; font-size: 8px; font-weight: 900; letter-spacing: .12em; }

.af-programs { padding: 130px 0 150px; background: var(--af-cream); }
.af-section-heading { display: grid; grid-template-columns: 1.25fr .65fr; gap: 40px 80px; align-items: end; }
.af-section-heading > div .af-eyebrow { margin-bottom: 24px; }
.af-program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 74px; }
.af-program-card { border-radius: 0 0 28px 28px; overflow: hidden; background: #fff; box-shadow: 0 15px 40px rgba(22,23,28,.08); transition: transform .3s ease; }
.af-program-card:hover { transform: translateY(-8px); }
.af-program-photo { position: relative; height: 350px; overflow: hidden; }
.af-program-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.af-program-card:hover .af-program-photo img { transform: scale(1.04); }
.af-program-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(7,16,47,.82)); }
.af-program-photo span { position: absolute; z-index: 2; left: 24px; bottom: 22px; padding: 10px 13px; border-radius: 99px; background: var(--af-pink); color: #fff; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.af-program-card:nth-child(2) .af-program-photo span { background: var(--af-blue); }
.af-program-card:nth-child(3) .af-program-photo span { background: var(--af-gold); }
.af-program-copy { min-height: 360px; padding: 30px 28px 36px; }
.af-program-copy > p { margin: 0 0 19px; color: var(--af-blue); font-size: 9px; font-weight: 950; letter-spacing: .13em; }
.af-program-copy h3 { margin: 0; font-size: 27px; line-height: .93; }
.af-program-copy ul { display: grid; gap: 13px; margin: 29px 0 0; padding: 25px 0 0; border-top: 1px solid #dedbd3; list-style: none; }
.af-program-copy li { color: #64666c; font-size: 12px; }
.af-program-copy li::before { content: "↗"; margin-right: 9px; color: var(--af-pink); font-weight: 900; }

.af-coaching { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 820px; background: var(--af-ink); color: #fff; }
.af-coaching-photo { position: relative; min-height: 700px; overflow: hidden; }
.af-coaching-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; filter: saturate(.9) contrast(1.04); }
.af-coaching-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 60%, var(--af-ink)); }
.af-coaching-brush { position: absolute; right: -10%; bottom: 13%; width: 45%; height: 90px; background: var(--af-pink); clip-path: polygon(0 18%, 100% 0, 83% 77%, 10% 100%); transform: rotate(-9deg); }
.af-coaching-copy { align-self: center; padding: 90px clamp(40px, 8vw, 130px) 90px 70px; }
.af-coaching-copy h2 { margin: 22px 0 30px; font-size: clamp(55px, 5.8vw, 84px); line-height: .8; }
.af-coaching-copy > p:not(.af-eyebrow) { max-width: 560px; color: #b9bbc2; font-size: 15px; line-height: 1.8; }
.af-coaching-copy ol { display: grid; margin: 42px 0 0; padding: 0; list-style: none; }
.af-coaching-copy li { display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: start; padding: 19px 0; border-top: 1px solid rgba(255,255,255,.19); color: #c7c8cc; font-size: 12px; line-height: 1.55; }
.af-coaching-copy li b { color: #ffdc55; font-size: 17px; }
.af-coaching-copy li strong { display: block; margin-bottom: 4px; color: #fff; font-size: 10px; letter-spacing: .12em; }

.af-identity { padding: 120px 0; background: #fff; }
.af-identity-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 100px; align-items: center; }
.af-identity-copy h2 { margin: 20px 0 30px; font-size: clamp(62px, 7.2vw, 105px); line-height: .76; }
.af-identity-copy > p:not(.af-eyebrow) { max-width: 430px; color: #61636a; line-height: 1.8; }
.af-button { display: inline-flex; align-items: center; min-height: 50px; margin-top: 28px; padding: 0 23px; border: 2px solid var(--af-blue); background: var(--af-blue); color: #fff; font-size: 9px; font-weight: 950; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.af-button:hover { background: transparent; color: var(--af-blue); }
.af-kit-card { position: relative; min-height: 620px; padding: 30px; border-radius: 80px 0 80px 0; background: var(--af-cream); overflow: hidden; }
.af-kit-card::before { content: ""; position: absolute; right: -90px; top: -100px; width: 320px; height: 320px; border-radius: 50%; background: var(--af-pink); opacity: .93; }
.af-kit-card span,
.af-kit-card small { position: absolute; z-index: 3; left: 38px; font-size: 9px; font-weight: 950; letter-spacing: .14em; }
.af-kit-card span { top: 32px; color: var(--af-blue); }
.af-kit-card small { bottom: 30px; }
.af-kit-card img { position: absolute; z-index: 2; inset: 40px 20px 45px; width: calc(100% - 40px); height: calc(100% - 85px); object-fit: contain; }

.af-gallery { padding: 130px 0 105px; background: var(--af-blue-deep); color: #fff; }
.af-gallery-heading { display: grid; grid-template-columns: 1fr .68fr; gap: 90px; align-items: end; }
.af-gallery-heading h2 { margin: 20px 0 0; font-size: clamp(56px, 6.8vw, 96px); line-height: .8; }
.af-gallery-heading h2 em { color: #ffdc55; }
.af-gallery-side > p { margin: 0; color: #aeb7cf; font-size: 14px; line-height: 1.75; }
.af-gallery-controls { display: flex; align-items: center; gap: 16px; margin-top: 28px; }
.af-gallery-controls button { display: grid; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.36); border-radius: 50%; place-items: center; background: transparent; color: #fff; cursor: pointer; }
.af-gallery-controls button:disabled { opacity: .28; cursor: default; }
.af-gallery-controls span { min-width: 78px; color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-align: center; }
.af-gallery-controls i { color: #8591ad; font-style: normal; }
.af-gallery-track { display: flex; gap: 24px; margin-top: 70px; padding: 0 max(5vw, calc((100vw - 1240px)/2)) 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.af-gallery-track::-webkit-scrollbar { display: none; }
.af-gallery-card { position: relative; flex: 0 0 min(560px, 72vw); height: 620px; border-radius: 58px 0 58px 0; overflow: hidden; background: #0c1229; scroll-snap-align: start; }
.af-gallery-card:nth-child(even) { border-radius: 0 58px 0 58px; }
.af-gallery-card img,
.af-gallery-card video { width: 100%; height: 100%; object-fit: cover; }
.af-gallery-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 46%, rgba(3,7,21,.92)); pointer-events: none; }
.af-gallery-card > div { position: absolute; z-index: 2; left: 32px; right: 32px; bottom: 34px; }
.af-gallery-card span { color: #71dbff; font-size: 9px; font-weight: 950; letter-spacing: .14em; }
.af-gallery-card h3 { max-width: 470px; margin: 12px 0 0; color: #fff; font-size: 31px; line-height: .94; }
.af-gallery-video { border: 22px solid var(--af-pink); }
.af-gallery-video > div { left: 18px; right: 18px; bottom: 19px; }
.af-gallery-progress { display: grid; grid-template-columns: auto 1fr; gap: 26px; align-items: center; margin-top: 35px; color: #8d97b1; font-size: 8px; font-weight: 950; letter-spacing: .15em; }
.af-gallery-progress > i { height: 2px; overflow: hidden; background: rgba(255,255,255,.19); }
.af-gallery-progress > i b { display: block; width: 12.5%; height: 100%; background: var(--af-pink); transform-origin: left; transition: transform .35s ease; }

.af-final { position: relative; padding: 150px 0; background: #fff; text-align: center; }
.af-final-bg { position: absolute; inset: 0; background: linear-gradient(rgba(255,255,255,.88), rgba(255,255,255,.94)), url('/media/futsal/futsal-team.jpg') center / cover; }
.af-final-bg::after { content: ""; position: absolute; left: 12%; right: 12%; top: 22%; height: 120px; background: var(--af-blue); clip-path: polygon(0 18%, 100% 0, 92% 77%, 7% 100%); opacity: .1; transform: rotate(-4deg); }
.af-final-inner { position: relative; z-index: 2; }
.af-final-inner > img { width: 72px; height: 86px; object-fit: contain; }
.af-final-inner > p { margin: 25px 0 16px; color: var(--af-blue); font-size: 10px; font-weight: 950; letter-spacing: .18em; }
.af-final-inner h2 { margin: 0; font-size: clamp(63px, 8vw, 118px); line-height: .76; }
.af-final-inner > div { display: flex; justify-content: center; align-items: center; gap: 25px; margin-top: 40px; }
.af-button.light { margin: 0; }
.af-laws { color: var(--af-blue); font-size: 9px; font-weight: 950; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
.af-footer { background: var(--af-ink); }

.af-reveal { opacity: 1; transform: none; }
.af-motion .af-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.af-motion .af-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1050px) {
  .af-club-header { grid-template-columns: auto auto; justify-content: space-between; }
  .af-club-nav { display: none; }
  .af-video-window { min-height: 500px; }
  .af-welcome-heading,
  .af-impact-grid,
  .af-impact-understanding,
  .af-questioning-heading,
  .af-curiosity-grid,
  .af-section-heading,
  .af-story-grid,
  .af-identity-grid,
  .af-gallery-heading { grid-template-columns: 1fr; }
  .af-story-grid,
  .af-identity-grid { gap: 68px; }
  .af-impact-photo { min-height: 700px; }
  .af-impact-copy { max-width: 760px; }
  .af-impact-video { min-height: 520px; }
  .af-hard-truth { grid-template-columns: .58fr 1.42fr; }
  .af-story-copy { max-width: 720px; }
  .af-program-grid { grid-template-columns: 1fr 1fr; }
  .af-program-card:last-child { grid-column: 1 / -1; }
  .af-coaching { grid-template-columns: 1fr; }
  .af-coaching-photo { min-height: 680px; }
  .af-coaching-photo::after { background: linear-gradient(180deg, transparent 66%, var(--af-ink)); }
  .af-coaching-copy { padding: 80px max(6vw, 30px); }
}

@media (max-width: 720px) {
  .af-club-header { min-height: 78px; padding: 0 18px; background: rgba(5,14,37,.93); }
  .af-club-brand img { width: 36px; height: 44px; }
  .af-club-brand b { font-size: 14px; }
  .af-club-cta { min-height: 36px; padding-inline: 12px; font-size: 7px; }
  .af-social-rail { display: none; }
  .af-hero { min-height: auto; padding: 110px 0 48px; }
  .af-hero-kicker { width: 100%; }
  .af-video-frame { width: 100%; padding-block: 15px 17px; border-radius: 30px; }
  .af-video-cap,
  .af-video-footer { min-height: 38px; padding-inline: 20px; }
  .af-video-cap span:last-child { display: none; }
  .af-video-footer { align-items: flex-start; flex-direction: column; gap: 14px; padding-top: 14px; }
  .af-video-window { min-height: 520px; }
  .af-play { right: 22px; top: 24px; width: 62px; height: 62px; transform: none; }
  .af-play:hover { transform: scale(1.05); }
  .af-welcome,
  .af-questioning,
  .af-programs,
  .af-identity,
  .af-gallery,
  .af-final { padding-block: 90px; }
  .af-welcome-heading h2,
  .af-section-heading h2 { font-size: 48px; }
  .af-impact-grid { gap: 52px; }
  .af-impact-photo { min-height: 610px; border-radius: 0 54px 0 0; }
  .af-impact-photo figcaption { left: 24px; right: 24px; bottom: 28px; }
  .af-impact-copy h2 { font-size: 59px; }
  .af-impact-copy .af-impact-lead { font-size: 18px !important; }
  .af-impact-understanding { gap: 34px; margin-top: 72px; padding: 38px 27px; border-radius: 0 38px 0 38px; }
  .af-impact-understanding .af-eyebrow { margin-bottom: 28px; }
  .af-impact-understanding h3 { font-size: 39px; }
  .af-impact-video { min-height: 430px; border-radius: 0 27px 0 27px; }
  .af-impact-video figcaption { left: 22px; right: 22px; bottom: 22px; }
  .af-impact-question { margin-top: 58px; text-align: left; }
  .af-impact-question p { font-size: 24px; }
  .af-quick-grid,
  .af-skill-choice-grid,
  .af-program-grid { grid-template-columns: 1fr; }
  .af-impact-choices .af-quick-card { min-height: 250px; }
  .af-impact-close { margin-top: 42px; text-align: left; }
  .af-questioning-heading { gap: 30px; }
  .af-questioning-heading h2 { font-size: 48px; }
  .af-skill-choice-grid { margin-top: 52px; }
  .af-skill-choice-grid article { min-height: 205px; }
  .af-skill-choice-grid h3 { margin-top: 48px; }
  .af-choice-statement { margin-top: 48px; font-size: 16px; text-align: left; }
  .af-hard-truth { grid-template-columns: 1fr; gap: 0; margin-top: 78px; border-radius: 45px 0 45px 0; }
  .af-hard-truth-label { min-height: 230px; padding: 38px; }
  .af-hard-truth-label span,
  .af-hard-truth-label b { font-size: 62px; }
  .af-hard-truth-questions { padding: 25px 30px 35px; }
  .af-curiosity-grid { gap: 48px; margin-top: 88px; }
  .af-curiosity-title h2 { font-size: 54px; }
  .af-curiosity-copy blockquote { font-size: 17px; }
  .af-quick-card { border-right: 0; border-bottom: 1px solid #d8d5cd; }
  .af-quick-card:last-child { border-bottom: 0; }
  .af-program-card:last-child { grid-column: auto; }
  .af-club-story { padding: 90px 0; }
  .af-story-media { min-height: 520px; }
  .af-story-photo-main { inset: 0 45px 55px 0; }
  .af-story-photo-small { width: 52%; height: 36%; }
  .af-story-stamp { left: -10px; width: 96px; height: 96px; font-size: 16px; }
  .af-story-copy h2,
  .af-coaching-copy h2,
  .af-identity-copy h2,
  .af-gallery-heading h2 { font-size: 54px; }
  .af-program-photo { height: 330px; }
  .af-coaching-photo { min-height: 520px; }
  .af-coaching-copy { padding: 65px 24px 80px; }
  .af-identity-grid { gap: 48px; }
  .af-kit-card { min-height: 470px; border-radius: 52px 0 52px 0; }
  .af-gallery-track { gap: 14px; padding-left: 22px; padding-right: 22px; }
  .af-gallery-card { flex-basis: 86vw; height: 540px; border-radius: 38px 0 38px 0; }
  .af-gallery-card:nth-child(even) { border-radius: 0 38px 0 38px; }
  .af-gallery-video { border-width: 14px; }
  .af-final-inner h2 { font-size: 58px; }
  .af-final-inner > div { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .af-motion .af-reveal { opacity: 1; transform: none; transition: none; }
  .af-program-card,
  .af-program-photo img,
  .af-play { transition: none; }
  .af-marquee div { animation: none; }
}
