<div id="kaddy-first-flight"> <!-- HERO / POSTER --> <section class="kf-hero"> <div class="kf-eyebrow">KADDY+ FIRST FLIGHT</div> <h1>The Road to 3,000</h1> <p class="kf-subtitle"> Follow Kaddy+ as we build, improve, map courses, and grow the community one round at a time. </p> <div class="kf-pill"> LIVE DEVELOPMENT • WEEKLY IMPROVEMENTS </div> </section> <!-- FLIGHT TRACKER --> <section class="kf-flight-section"> <div class="kf-heading-row"> <div> <div class="kf-small-label">KADDY+ MAX</div> <h2>Road to 3,000 Subscribers</h2> </div> <div class="kf-main-number"> <span id="maxSubscribers">0</span> <span class="kf-goal"> / 3,000</span> </div> </div> <div class="kf-flight-area"> <div class="kf-cloud cloud-one"></div> <div class="kf-cloud cloud-two"></div> <div class="kf-flight-line"></div> <div id="flyingDisc" class="kf-disc"> <div class="kf-disc-center">K+</div> </div> <!-- BASKET --> <div class="kf-basket"> <div class="basket-top"></div> <div class="basket-chain chain1"></div> <div class="basket-chain chain2"></div> <div class="basket-chain chain3"></div> <div class="basket-chain chain4"></div> <div class="basket-tray"></div> <div class="basket-pole"></div> <div class="basket-base"></div> </div> <div class="kf-grass"></div> </div> <div class="kf-progress-shell"> <div id="progressBar" class="kf-progress"></div> </div> <div class="kf-progress-labels"> <span>Launch</span> <span>750</span> <span>1,500</span> <span>2,250</span> <span>3,000</span> </div> <div class="kf-percent"> <span id="progressPercent">0</span>% of the way to the basket </div> </section> <!-- LIVE TRACKERS --> <section class="kf-stats"> <div class="kf-card"> <div class="kf-card-number" id="totalUsers">0</div> <div class="kf-card-title">Kaddy+ Users</div> <div class="kf-card-description"> Players who have joined Kaddy+ </div> </div> <div class="kf-card"> <div class="kf-card-number" id="mappedLayouts">0</div> <div class="kf-card-title">Mapped Layouts</div> <div class="kf-card-description"> Course layouts available in Kaddy+ </div> </div> <div class="kf-card"> <div class="kf-card-number" id="roundsPlayed">0</div> <div class="kf-card-title">Rounds Played</div> <div class="kf-card-description"> Rounds recorded with Kaddy+ </div> </div> <div class="kf-card featured"> <div class="kf-card-number" id="maxSubscribersCard">0</div> <div class="kf-card-title">Kaddy+ Max</div> <div class="kf-card-description"> Subscribers helping drive First Flight </div> </div> </section> <div class="kf-update"> Live Kaddy+ progress <span id="lastUpdated"></span> </div> </div> <style> #kaddy-first-flight { --navy: #101923; --dark: #0a1016; --gold: #d9a328; --gold-light: #f0c862; --green: #315f38; --light: #f7f7f5; font-family: Arial, Helvetica, sans-serif; max-width: 1150px; margin: 0 auto; color: white; } .kf-hero { text-align: center; padding: 70px 25px 60px; background: linear-gradient( 180deg, rgba(12,20,29,.96), rgba(16,25,35,.92) ); border-radius: 24px; margin-bottom: 28px; box-shadow: 0 16px 50px rgba(0,0,0,.18); } .kf-eyebrow { font-size: 14px; letter-spacing: 4px; font-weight: 700; color: var(--gold-light); margin-bottom: 12px; } .kf-hero h1 { font-size: clamp(42px, 7vw, 76px); margin: 0; line-height: .98; font-weight: 800; } .kf-subtitle { max-width: 680px; margin: 24px auto; font-size: 18px; line-height: 1.55; color: rgba(255,255,255,.82); } .kf-pill { display: inline-block; padding: 10px 18px; border: 1px solid rgba(240,200,98,.55); border-radius: 50px; font-size: 12px; letter-spacing: 1.4px; color: var(--gold-light); } /* FLIGHT */ .kf-flight-section { background: var(--navy); padding: 32px; border-radius: 24px; margin-bottom: 25px; } .kf-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 24px; } .kf-small-label { color: var(--gold-light); font-size: 12px; letter-spacing: 2px; font-weight: 700; } .kf-flight-section h2 { margin: 5px 0 0; font-size: clamp(25px,4vw,38px); } .kf-main-number { white-space: nowrap; font-size: 30px; font-weight: 800; color: var(--gold-light); } .kf-goal { color: rgba(255,255,255,.55); font-size: 17px; } /* LANDSCAPE */ .kf-flight-area { height: 280px; position: relative; overflow: hidden; border-radius: 18px; background: linear-gradient( 180deg, #b8d7e8 0%, #dceaf0 55%, #799769 56%, #48653d 100% ); } .kf-grass { position:absolute; bottom:0; width:100%; height:40%; background: linear-gradient( 165deg, rgba(255,255,255,.05), transparent 35% ); } /* CLOUDS */ .kf-cloud { position:absolute; background:rgba(255,255,255,.55); width:95px; height:26px; border-radius:50px; } .cloud-one { top:42px; left:18%; } .cloud-two { top:75px; left:56%; transform:scale(.7); } /* DISC */ .kf-disc { position:absolute; top:105px; left:6%; width:66px; height:23px; background: linear-gradient( 180deg, var(--gold-light), var(--gold) ); border-radius:50%; box-shadow: 0 10px 13px rgba(0,0,0,.25); transition:left 1.5s ease-in-out; z-index:5; } .kf-disc:before { content:""; position:absolute; top:4px; left:13px; right:13px; height:8px; border-radius:50%; background:rgba(255,255,255,.24); } .kf-disc-center { position:absolute; width:100%; text-align:center; top:2px; font-size:9px; font-weight:900; color:#222; } /* BASKET */ .kf-basket { position:absolute; right:5%; bottom:38px; width:90px; height:150px; z-index:4; } .basket-top { position:absolute; width:88px; height:8px; top:10px; background:#d1d1d1; border-radius:10px; } .basket-chain { position:absolute; width:2px; height:65px; top:18px; background:#dedede; } .chain1 {left:20px;} .chain2 {left:35px;} .chain3 {left:52px;} .chain4 {left:67px;} .basket-tray { position:absolute; top:80px; left:10px; width:70px; height:13px; border:4px solid #ddd; border-top:none; border-radius:0 0 20px 20px; } .basket-pole { position:absolute; width:5px; height:130px; background:#ccc; left:43px; top:10px; } .basket-base { position:absolute; width:50px; height:5px; bottom:4px; left:21px; background:#cfcfcf; } /* PROGRESS */ .kf-progress-shell { width:100%; height:14px; background:rgba(255,255,255,.1); border-radius:20px; margin-top:22px; overflow:hidden; } .kf-progress { width:0%; height:100%; background: linear-gradient( 90deg, var(--gold), var(--gold-light) ); transition:width 1.5s ease; } .kf-progress-labels { display:flex; justify-content:space-between; margin-top:8px; font-size:11px; color:rgba(255,255,255,.48); } .kf-percent { text-align:center; margin-top:20px; font-size:15px; color:rgba(255,255,255,.72); } /* STAT CARDS */ .kf-stats { display:grid; grid-template-columns: repeat(4,1fr); gap:16px; } .kf-card { background:#f5f5f2; color:#15191c; border-radius:18px; padding:28px 20px; text-align:center; box-shadow:0 6px 20px rgba(0,0,0,.08); } .kf-card.featured { background:var(--gold); } .kf-card-number { font-size:42px; font-weight:800; line-height:1; margin-bottom:10px; } .kf-card-title { font-size:17px; font-weight:700; } .kf-card-description { font-size:12px; line-height:1.4; margin-top:7px; opacity:.65; } .kf-update { text-align:center; margin-top:20px; color:#737373; font-size:11px; letter-spacing:.5px; } /* MOBILE */ @media(max-width:800px) { .kf-stats { grid-template-columns: repeat(2,1fr); } .kf-heading-row { display:block; } .kf-main-number { margin-top:15px; } .kf-flight-section { padding:22px 15px; } } @media(max-width:480px) {