|
| 1 | +<!DOCTYPE html> |
| 2 | +<html lang="en"> |
| 3 | +<head> |
| 4 | +<meta charset="UTF-8" /> |
| 5 | +<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| 6 | +<title>SerialWatcher — Track every movie & TV show</title> |
| 7 | +<style> |
| 8 | + :root{ |
| 9 | + --bg:#0a0b0d;--bg2:#0d0f14;--surface:#14161b;--line:rgba(255,255,255,.08); |
| 10 | + --text:#f2eee4;--muted:#a49e90;--faint:#6f6a5e;--accent:#d9ae3d;--accent2:#f0c85a;--green:#22c55e; |
| 11 | + --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif; |
| 12 | + --mono:"SF Mono",ui-monospace,Menlo,monospace; |
| 13 | + } |
| 14 | + *{box-sizing:border-box;margin:0;padding:0} |
| 15 | + html{scroll-behavior:smooth} |
| 16 | + body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden} |
| 17 | + a{color:inherit;text-decoration:none} |
| 18 | + .wrap{max-width:1120px;margin:0 auto;padding:0 24px} |
| 19 | + .accent{color:var(--accent2)} |
| 20 | + |
| 21 | + /* Phone mock */ |
| 22 | + .phone{width:var(--pw,300px);aspect-ratio:1179/2556;border-radius:calc(var(--pw,300px)*.14);padding:calc(var(--pw,300px)*.032); |
| 23 | + background:linear-gradient(160deg,#2b2b31,#0c0c10);border:1px solid rgba(255,255,255,.12); |
| 24 | + box-shadow:0 40px 80px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.5) inset;position:relative;flex:none} |
| 25 | + .phone::before{content:"";position:absolute;top:calc(var(--pw,300px)*.038);left:50%;transform:translateX(-50%); |
| 26 | + width:32%;height:calc(var(--pw,300px)*.055);background:#050506;border-radius:999px;z-index:3} |
| 27 | + .phone .screen{width:100%;height:100%;border-radius:calc(var(--pw,300px)*.108);overflow:hidden;background:#14161b} |
| 28 | + .phone img{width:100%;height:100%;object-fit:cover;object-position:top;display:block} |
| 29 | + .phone .ph{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--faint);font-size:13px;text-align:center;padding:16px} |
| 30 | + .phone .ph code{font-family:var(--mono);color:var(--accent2);font-size:12px} |
| 31 | + |
| 32 | + /* Header */ |
| 33 | + header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(14px); |
| 34 | + background:rgba(10,11,13,.72);border-bottom:1px solid var(--line)} |
| 35 | + header .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 24px} |
| 36 | + .brand{display:flex;align-items:center;gap:11px} |
| 37 | + .brand svg{width:34px;height:34px} |
| 38 | + .brand b{font-size:19px;font-weight:800} |
| 39 | + .brand small{display:block;font-size:9.5px;letter-spacing:.22em;color:var(--faint);text-transform:uppercase} |
| 40 | + nav a{color:var(--muted);font-size:15px;margin-left:22px} |
| 41 | + nav a:hover{color:#fff} |
| 42 | + .nav-cta{background:var(--accent);color:#141007;padding:8px 16px;border-radius:999px;font-weight:700;font-size:14px} |
| 43 | + .nav-cta:hover{background:var(--accent2)} |
| 44 | + |
| 45 | + /* Hero */ |
| 46 | + .hero{position:relative;padding:76px 0 40px;overflow:hidden} |
| 47 | + .hero::before{content:"";position:absolute;inset:0;z-index:-1; |
| 48 | + background: |
| 49 | + radial-gradient(1100px 620px at 78% -8%, rgba(217,174,61,.22), transparent 60%), |
| 50 | + radial-gradient(820px 520px at 8% 20%, rgba(217,174,61,.08), transparent 60%)} |
| 51 | + .hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center} |
| 52 | + .pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px; |
| 53 | + padding:7px 15px;font-size:13px;color:var(--muted);margin-bottom:22px;background:rgba(255,255,255,.02)} |
| 54 | + .pill .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)} |
| 55 | + .hero h1{font-size:62px;line-height:1.02;letter-spacing:-2px;font-weight:850;margin-bottom:18px} |
| 56 | + .hero h1 .g{background:linear-gradient(120deg,#fff 25%,var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent} |
| 57 | + .hero p{font-size:20px;color:var(--muted);max-width:520px;margin-bottom:28px} |
| 58 | + .btns{display:flex;gap:14px;align-items:center;flex-wrap:wrap} |
| 59 | + .cta{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#141007;font-weight:750;font-size:17px;padding:14px 26px;border-radius:999px} |
| 60 | + .cta:hover{background:var(--accent2);transform:translateY(-1px)} |
| 61 | + .cta,.nav-cta{transition:.18s} |
| 62 | + .ghost{color:var(--muted);font-size:15px;border:1px solid var(--line);padding:13px 20px;border-radius:999px} |
| 63 | + .ghost:hover{color:#fff;border-color:rgba(255,255,255,.25)} |
| 64 | + .meta{margin-top:16px;color:var(--faint);font-size:14px} |
| 65 | + .hero-phone{display:flex;justify-content:center;--pw:320px;position:relative} |
| 66 | + .hero-phone .phone{transform:rotate(3deg)} |
| 67 | + .hero-glow{position:absolute;inset:-40px;z-index:-1;background:radial-gradient(closest-side,rgba(217,174,61,.28),transparent 70%);filter:blur(20px)} |
| 68 | + |
| 69 | + /* Marquee strip of small logos-ish (features quick) */ |
| 70 | + .strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2)} |
| 71 | + .strip .wrap{display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:center;padding:18px 24px;color:var(--muted);font-size:14px} |
| 72 | + .strip b{color:var(--text)} |
| 73 | + .strip .s{display:inline-flex;align-items:center;gap:8px} |
| 74 | + .strip .s::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)} |
| 75 | + |
| 76 | + /* Alternating feature rows */ |
| 77 | + section.feat{padding:70px 0} |
| 78 | + .row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative} |
| 79 | + .row + .row{margin-top:36px} |
| 80 | + .row.rev .txt{order:2} |
| 81 | + .row.rev .art{order:1} |
| 82 | + .art{display:flex;justify-content:center;position:relative;--pw:290px} |
| 83 | + .art .aglow{position:absolute;width:340px;height:340px;border-radius:50%;z-index:0; |
| 84 | + background:radial-gradient(closest-side,rgba(217,174,61,.20),transparent 70%);filter:blur(10px)} |
| 85 | + .art .phone{position:relative;z-index:1} |
| 86 | + .eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px} |
| 87 | + .eyebrow .n{width:26px;height:26px;border-radius:8px;background:rgba(217,174,61,.15);display:inline-flex;align-items:center;justify-content:center;font-size:13px} |
| 88 | + .txt h2{font-size:36px;letter-spacing:-1px;line-height:1.08;font-weight:820;margin-bottom:14px} |
| 89 | + .txt p{color:var(--muted);font-size:17.5px;line-height:1.6;margin-bottom:18px;max-width:480px} |
| 90 | + .chips{display:flex;flex-wrap:wrap;gap:9px} |
| 91 | + .chip{font-size:13px;color:var(--text);border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:999px;padding:7px 13px} |
| 92 | + |
| 93 | + /* reveal */ |
| 94 | + .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)} |
| 95 | + .reveal.in{opacity:1;transform:none} |
| 96 | + |
| 97 | + /* CTA band */ |
| 98 | + .band{margin:30px 0 0;padding:64px 0} |
| 99 | + .band .card{background:linear-gradient(140deg,rgba(217,174,61,.16),rgba(217,174,61,.03)); |
| 100 | + border:1px solid rgba(217,174,61,.28);border-radius:26px;padding:48px;text-align:center} |
| 101 | + .band h2{font-size:38px;letter-spacing:-1px;font-weight:840;margin-bottom:10px} |
| 102 | + .band p{color:var(--muted);font-size:18px;margin-bottom:26px} |
| 103 | + |
| 104 | + footer{border-top:1px solid var(--line);padding:30px 0;color:var(--faint);font-size:13px;text-align:center} |
| 105 | + footer a{color:var(--muted);margin:0 8px} |
| 106 | + footer a:hover{color:#fff} |
| 107 | + .attr{margin-top:10px;font-size:12px;color:var(--faint)} |
| 108 | + |
| 109 | + @media(max-width:860px){ |
| 110 | + .hero .wrap{grid-template-columns:1fr;text-align:center} |
| 111 | + .hero p{margin-left:auto;margin-right:auto} |
| 112 | + .btns{justify-content:center} |
| 113 | + .hero-phone{margin-top:20px} |
| 114 | + .hero h1{font-size:44px} |
| 115 | + .row{grid-template-columns:1fr;gap:26px} |
| 116 | + .row.rev .txt{order:1}.row.rev .art{order:2} |
| 117 | + .txt{text-align:center}.txt p{margin-left:auto;margin-right:auto} |
| 118 | + .eyebrow,.chips{justify-content:center} |
| 119 | + } |
| 120 | +</style> |
| 121 | +</head> |
| 122 | +<body> |
| 123 | + |
| 124 | +<header> |
| 125 | + <div class="wrap"> |
| 126 | + <div class="brand"> |
| 127 | + <svg viewBox="0 0 32 32" fill="none"><circle cx="16" cy="16" r="12" fill="none" stroke="#d9ae3d" stroke-width="2.6" stroke-linecap="round" stroke-dasharray="75.4" stroke-dashoffset="16" transform="rotate(-90 16 16)"/><path d="M13.2 11.6 L13.2 20.4 L20.2 16 Z" fill="#d9ae3d" stroke="#d9ae3d" stroke-width="1.6" stroke-linejoin="round"/></svg> |
| 128 | + <b>SerialWatcher<small>Movies & TV Tracker</small></b> |
| 129 | + </div> |
| 130 | + <nav> |
| 131 | + <a href="support.html">Support</a> |
| 132 | + <a href="privacy.html">Privacy</a> |
| 133 | + <a class="nav-cta" href="https://apps.apple.com/app/id6792816019">Download</a> |
| 134 | + </nav> |
| 135 | + </div> |
| 136 | +</header> |
| 137 | + |
| 138 | +<!-- HERO --> |
| 139 | +<div class="hero"> |
| 140 | + <div class="wrap"> |
| 141 | + <div class="reveal in"> |
| 142 | + <span class="pill"><span class="dot"></span> Free · iOS 17.6+ · English & Español</span> |
| 143 | + <h1>Everything you watch,<br><span class="g">in one place.</span></h1> |
| 144 | + <p>Discover, rate and track movies and series — episode by episode. Private by design, synced to your own iCloud. No account needed.</p> |
| 145 | + <div class="btns"> |
| 146 | + <a class="cta" href="https://apps.apple.com/app/id6792816019">Download on the App Store</a> |
| 147 | + <a class="ghost" href="#features">See features ↓</a> |
| 148 | + </div> |
| 149 | + <div class="meta">Powered by TMDB · Nothing leaves your iCloud</div> |
| 150 | + </div> |
| 151 | + <div class="hero-phone reveal in"> |
| 152 | + <div class="hero-glow"></div> |
| 153 | + <div class="phone"><div class="screen"> |
| 154 | + <img src="sshot1.jpg" onerror="this.style.display='none';this.nextElementSibling.style.display='flex';"> |
| 155 | + <div class="ph"><div>Discover</div><code>sshot1.jpg</code></div> |
| 156 | + </div></div> |
| 157 | + </div> |
| 158 | + </div> |
| 159 | +</div> |
| 160 | + |
| 161 | +<!-- quick strip --> |
| 162 | +<div class="strip"> |
| 163 | + <div class="wrap"> |
| 164 | + <span class="s"><b>Trending</b> & top-rated</span> |
| 165 | + <span class="s">Episode tracking</span> |
| 166 | + <span class="s">Up Next</span> |
| 167 | + <span class="s">Ratings & reviews</span> |
| 168 | + <span class="s">Custom lists</span> |
| 169 | + <span class="s">Streaming logos</span> |
| 170 | + <span class="s">iCloud sync</span> |
| 171 | + </div> |
| 172 | +</div> |
| 173 | + |
| 174 | +<!-- FEATURES --> |
| 175 | +<section class="feat" id="features"> |
| 176 | + <div class="wrap"> |
| 177 | + |
| 178 | + <!-- 1 --> |
| 179 | + <div class="row reveal"> |
| 180 | + <div class="txt"> |
| 181 | + <span class="eyebrow"><span class="n">▤</span> Episode tracking</span> |
| 182 | + <h2>Track every series, <span class="accent">episode by episode.</span></h2> |
| 183 | + <p>Check off seasons and episodes as you watch. Mark a whole season — or every previous season — in a single tap, and rate what you loved.</p> |
| 184 | + <div class="chips"><span class="chip">Seasons & episodes</span><span class="chip">One-tap catch-up</span><span class="chip">0–10 ratings</span></div> |
| 185 | + </div> |
| 186 | + <div class="art"> |
| 187 | + <div class="aglow"></div> |
| 188 | + <div class="phone"><div class="screen"><img src="sshot2.jpg" onerror="this.style.display='none';this.nextElementSibling.style.display='flex';"><div class="ph"><div>Series detail</div><code>sshot2.jpg</code></div></div></div> |
| 189 | + </div> |
| 190 | + </div> |
| 191 | + |
| 192 | + <!-- 2 --> |
| 193 | + <div class="row rev reveal"> |
| 194 | + <div class="txt"> |
| 195 | + <span class="eyebrow"><span class="n">▶</span> Up Next</span> |
| 196 | + <h2>Always know <span class="accent">what to watch next.</span></h2> |
| 197 | + <p>The next unwatched episode of every show you're on, in one clean list — ordered by what you watched most recently, and filterable by streaming platform.</p> |
| 198 | + <div class="chips"><span class="chip">Next episode per show</span><span class="chip">Filter by platform</span><span class="chip">Large widget</span></div> |
| 199 | + </div> |
| 200 | + <div class="art"> |
| 201 | + <div class="aglow"></div> |
| 202 | + <div class="phone"><div class="screen"><img src="sshot3.jpg" onerror="this.style.display='none';this.nextElementSibling.style.display='flex';"><div class="ph"><div>Up Next</div><code>sshot3.jpg</code></div></div></div> |
| 203 | + </div> |
| 204 | + </div> |
| 205 | + |
| 206 | + <!-- 3 --> |
| 207 | + <div class="row reveal"> |
| 208 | + <div class="txt"> |
| 209 | + <span class="eyebrow"><span class="n">≣</span> Your library</span> |
| 210 | + <h2>Your collection, <span class="accent">perfectly organized.</span></h2> |
| 211 | + <p>Watching, Want to Watch, Watched, On Hold and favorites — every title sorted by status, with your ratings and personal notes always at hand.</p> |
| 212 | + <div class="chips"><span class="chip">By status</span><span class="chip">Favorites</span><span class="chip">Private reviews</span></div> |
| 213 | + </div> |
| 214 | + <div class="art"> |
| 215 | + <div class="aglow"></div> |
| 216 | + <div class="phone"><div class="screen"><img src="sshot4.jpg" onerror="this.style.display='none';this.nextElementSibling.style.display='flex';"><div class="ph"><div>Library</div><code>sshot4.jpg</code></div></div></div> |
| 217 | + </div> |
| 218 | + </div> |
| 219 | + |
| 220 | + <!-- 4 --> |
| 221 | + <div class="row rev reveal"> |
| 222 | + <div class="txt"> |
| 223 | + <span class="eyebrow"><span class="n">✦</span> Explore</span> |
| 224 | + <h2>Explore any way <span class="accent">you think.</span></h2> |
| 225 | + <p>Browse by genre, release year, actor or director, or streaming platform. Filter instantly, load more as you scroll, and see where each title streams — right on the poster.</p> |
| 226 | + <div class="chips"><span class="chip">Genre · Year</span><span class="chip">Actor / Director</span><span class="chip">Platform logos</span></div> |
| 227 | + </div> |
| 228 | + <div class="art"> |
| 229 | + <div class="aglow"></div> |
| 230 | + <div class="phone"><div class="screen"><img src="sshot5.jpg" onerror="this.style.display='none';this.nextElementSibling.style.display='flex';"><div class="ph"><div>Explore</div><code>sshot5.jpg</code></div></div></div> |
| 231 | + </div> |
| 232 | + </div> |
| 233 | + |
| 234 | + <!-- 5 --> |
| 235 | + <div class="row reveal"> |
| 236 | + <div class="txt"> |
| 237 | + <span class="eyebrow"><span class="n">★</span> Your lists</span> |
| 238 | + <h2>Build lists <span class="accent">exactly your way.</span></h2> |
| 239 | + <p>Curate collections of the titles you love — and add single episodes too, not just whole shows. Perfect for "best episodes" lists that actually make sense.</p> |
| 240 | + <div class="chips"><span class="chip">Titles or episodes</span><span class="chip">Unlimited lists</span></div> |
| 241 | + </div> |
| 242 | + <div class="art"> |
| 243 | + <div class="aglow"></div> |
| 244 | + <div class="phone"><div class="screen"><img src="sshot6.jpg" onerror="this.style.display='none';this.nextElementSibling.style.display='flex';"><div class="ph"><div>My Lists</div><code>sshot6.jpg</code></div></div></div> |
| 245 | + </div> |
| 246 | + </div> |
| 247 | + |
| 248 | + <!-- 6 --> |
| 249 | + <div class="row rev reveal"> |
| 250 | + <div class="txt"> |
| 251 | + <span class="eyebrow"><span class="n"></span> Privacy</span> |
| 252 | + <h2>Private <span class="accent">by design.</span></h2> |
| 253 | + <p>No account required. Everything you track syncs automatically to your own iCloud — reinstall and it all comes back. No servers, no analytics, no ads. Your data is yours.</p> |
| 254 | + <div class="chips"><span class="chip">No account</span><span class="chip">iCloud sync</span><span class="chip">Zero tracking</span></div> |
| 255 | + </div> |
| 256 | + <div class="art"> |
| 257 | + <div class="aglow"></div> |
| 258 | + <div class="phone"><div class="screen"><img src="sshot7.jpg" onerror="this.style.display='none';this.nextElementSibling.style.display='flex';"><div class="ph"><div>Settings · Privacy</div><code>sshot7.jpg</code></div></div></div> |
| 259 | + </div> |
| 260 | + </div> |
| 261 | + |
| 262 | + </div> |
| 263 | +</section> |
| 264 | + |
| 265 | +<!-- CTA --> |
| 266 | +<div class="band"> |
| 267 | + <div class="wrap reveal"> |
| 268 | + <div class="card"> |
| 269 | + <h2>Start tracking what you watch.</h2> |
| 270 | + <p>Free on the App Store. English & Español. Nothing to sign up for.</p> |
| 271 | + <a class="cta" href="https://apps.apple.com/app/id6792816019">Download on the App Store</a> |
| 272 | + </div> |
| 273 | + </div> |
| 274 | +</div> |
| 275 | + |
| 276 | +<footer> |
| 277 | + <div>© 2026 ‹tu nombre legal› · <a href="privacy.html">Privacy</a> · <a href="support.html">Support</a> · <a href="https://apps.apple.com/app/id6792816019">App Store</a></div> |
| 278 | + <div class="attr">This product uses the TMDB API but is not endorsed or certified by TMDB.</div> |
| 279 | +</footer> |
| 280 | + |
| 281 | +<script> |
| 282 | + const io=new IntersectionObserver((es)=>{es.forEach(e=>{if(e.isIntersecting){e.target.classList.add('in');io.unobserve(e.target)}})},{threshold:.16}); |
| 283 | + document.querySelectorAll('.reveal:not(.in)').forEach(el=>io.observe(el)); |
| 284 | +</script> |
| 285 | +</body> |
| 286 | +</html> |
0 commit comments