<!DOCTYPE html>
<html lang="en" data-theme="dark">
<head>

<!-- Google Analytics 4 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-4ERX0R69X8"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-4ERX0R69X8');
</script>

<!-- Meta Pixel Code -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '1586971362026655');
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=1586971362026655&ev=PageView&noscript=1"
/></noscript>
<!-- End Meta Pixel Code -->

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Indoor Cycling Method — Landing Page</title>
  
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/basecoat-css@1.0.2/dist/basecoat.cdn.min.css">
  <style>
/* Skip artifact shell — fixed styles served beside every artifact.
   Complements basecoat; artifacts override --accent for their own identity. */
:root {
  color-scheme: light dark;
  --accent: #2563eb;
  --accent-contrast: #ffffff;
  --accent-text: color-mix(in srgb, var(--accent) 72%, #000);
  --bg: #f8f9fb;
  --surface: #ffffff;
  --text: #14171f;
  --text-muted: #5b6472;
  --border: rgba(20, 23, 31, 0.10);
  --radius: 10px;
  --shadow: 0 1px 3px rgba(20, 23, 31, 0.08);
  --space: 16px;
}
/* Theme resolution. Without data-theme the viewer's system preference decides,
   as it always did. With it, the artifact's own choice wins in BOTH directions:
   a page that hardcodes one palette must not be handed the opposite set of
   tokens by the machine it happens to be opened on. The dark values appear
   twice because a media query cannot be folded into a selector list.
   The attribute sits inside :where() so these blocks keep the specificity of a
   bare :root — the page's own <style> is linked after this file and must go on
   overriding any token it wants, exactly as it could before. */
@media (prefers-color-scheme: dark) {
  :root:where(:not([data-theme="light"])) {
    --accent-text: color-mix(in srgb, var(--accent) 78%, #fff);
    --bg: #101318;
    --surface: #181c23;
    --text: #eef1f6;
    --text-muted: #9aa4b2;
    --border: rgba(238, 241, 246, 0.12);
    --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  }
}
:root:where([data-theme="dark"]) {
  color-scheme: dark;
  --accent-text: color-mix(in srgb, var(--accent) 78%, #fff);
  --bg: #101318;
  --surface: #181c23;
  --text: #eef1f6;
  --text-muted: #9aa4b2;
  --border: rgba(238, 241, 246, 0.12);
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
:root:where([data-theme="light"]) { color-scheme: light; }
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }

.shell-container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.shell-section { padding: calc(var(--space) * 2) 0; }
.shell-grid { display: grid; gap: var(--space); grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.shell-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: var(--space); }
.shell-footer { padding: 24px 0 40px; color: var(--text-muted); font-size: 13px; }

.shell-hero { padding: calc(var(--space) * 3) 0 calc(var(--space) * 2); }
.shell-hero h1 { font-size: clamp(26px, 4vw, 40px); line-height: 1.15; margin: 0 0 10px; text-wrap: balance; }
.shell-hero p { color: var(--text-muted); max-width: 60ch; margin: 0; }

.panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: var(--space);
}

.kpi { display: flex; flex-direction: column; gap: 4px; }
.kpi .kpi-value { font-size: 28px; font-weight: 650; line-height: 1.1; }
.kpi .kpi-label { font-size: 13px; color: var(--text-muted); }
.kpi .kpi-delta { font-size: 12.5px; font-weight: 600; }
.kpi .kpi-delta.up { color: #0a8f3c; }
.kpi .kpi-delta.down { color: #cf3131; }

table.shell-table { border-collapse: collapse; width: 100%; font-size: 14px; }
table.shell-table th {
  text-align: left; font-size: 11.5px; letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--text-muted); font-weight: 600;
}
table.shell-table th, table.shell-table td { padding: 9px 12px 9px 0; border-bottom: 1px solid var(--border); }
table.shell-table td.num, table.shell-table th.num { text-align: right; font-variant-numeric: tabular-nums; }
table.shell-table tbody tr:hover { background: color-mix(in srgb, var(--accent) 6%, transparent); }

.chart-box { width: 100%; min-height: 220px; }
.chart-box svg { width: 100%; height: auto; display: block; }

.muted { color: var(--text-muted); }
.accent { color: var(--accent-text); }
.shell-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent-text);
}

@media (prefers-reduced-motion: no-preference) {
  .shell-fade { animation: shell-fade 400ms ease both; }
  @keyframes shell-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
}

</style>
  

  <style>
    :root {
      --accent: #A3E635;
      --accent-secondary: #FB923C;
      --accent-contrast: #0f172a;
      --bg: #14141F;
      --surface: #1B1B2A;
      --surface-elevated: #242438;
      --border: #2E2E46;
      --text: #F8FAFC;
      --text-muted: #94A3B8;
      --star-color: #FBBF24;
    }

    body {
      background-color: var(--bg);
      color: var(--text);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      margin: 0;
      padding: 0;
      line-height: 1.6;
      overflow-x: hidden;
    }

    /* Navigation */
    .site-nav {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(20, 20, 31, 0.92);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border);
    }
    .nav-inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 1rem 1.5rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
    }
    .brand-logo {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      font-weight: 800;
      font-size: 1.15rem;
      letter-spacing: -0.02em;
      color: #fff;
      text-decoration: none;
    }
    .brand-logo span {
      color: var(--accent);
    }
    .nav-links {
      display: flex;
      align-items: center;
      gap: 1.5rem;
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .nav-links a {
      color: var(--text-muted);
      text-decoration: none;
      font-size: 0.95rem;
      font-weight: 600;
      transition: color 0.2s ease;
    }
    .nav-links a:hover {
      color: var(--accent);
    }
    .nav-cta {
      padding: 0.55rem 1.1rem;
      background: var(--accent);
      color: var(--accent-contrast) !important;
      border-radius: 9999px;
      font-weight: 700 !important;
      transition: transform 0.2s ease, filter 0.2s ease;
    }
    .nav-cta:hover {
      transform: translateY(-1px);
      filter: brightness(1.05);
    }

    /* Layout Containers */
    .container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 1.5rem;
    }
    .section-spacing {
      padding: 5rem 0;
    }
    .section-header {
      text-align: center;
      max-width: 760px;
      margin: 0 auto 3.5rem auto;
    }
    .tag-badge {
      display: inline-block;
      text-transform: uppercase;
      font-size: 0.75rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      padding: 0.35rem 0.85rem;
      border-radius: 9999px;
      background: rgba(163, 230, 53, 0.12);
      color: var(--accent);
      border: 1px solid rgba(163, 230, 53, 0.3);
      margin-bottom: 1rem;
    }
    .section-title {
      font-size: clamp(2rem, 3.5vw, 2.75rem);
      font-weight: 800;
      line-height: 1.2;
      margin: 0 0 1rem 0;
      letter-spacing: -0.02em;
    }
    .section-subtitle {
      color: var(--text-muted);
      font-size: 1.1rem;
      margin: 0;
    }

    /* Hero Section */
    .hero-section {
      padding: 4.5rem 0 5.5rem 0;
      background: radial-gradient(circle at top right, rgba(163, 230, 53, 0.08) 0%, transparent 60%),
                  radial-gradient(circle at bottom left, rgba(251, 146, 60, 0.06) 0%, transparent 60%);
      position: relative;
      border-bottom: 1px solid var(--border);
    }
    .hero-grid {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 3.5rem;
      align-items: center;
    }
    .hero-headline {
      font-size: clamp(2.4rem, 4.5vw, 3.8rem);
      line-height: 1.1;
      font-weight: 900;
      letter-spacing: -0.03em;
      margin: 0 0 1.25rem 0;
    }
    .hero-headline .highlight-lime {
      color: var(--accent);
    }
    .hero-headline .highlight-orange {
      color: var(--accent-secondary);
    }
    .hero-desc {
      font-size: 1.15rem;
      color: #CBD5E1;
      margin-bottom: 2rem;
      max-width: 600px;
    }
    .hero-benefits {
      display: flex;
      flex-wrap: wrap;
      gap: 1.2rem;
      margin-bottom: 2.25rem;
    }
    .benefit-item {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.95rem;
      font-weight: 600;
      color: #F1F5F9;
      background: var(--surface);
      padding: 0.4rem 0.85rem;
      border-radius: 8px;
      border: 1px solid var(--border);
    }
    .benefit-item svg {
      color: var(--accent);
      flex-shrink: 0;
    }
    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      align-items: center;
    }

    /* Buttons */
    .btn-lime {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      background-color: var(--accent);
      color: var(--accent-contrast);
      font-weight: 800;
      font-size: 1.05rem;
      padding: 0.9rem 1.8rem;
      border-radius: 10px;
      text-decoration: none;
      transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
      box-shadow: 0 10px 25px -5px rgba(163, 230, 53, 0.35);
      border: none;
      cursor: pointer;
    }
    .btn-lime:hover {
      transform: translateY(-2px);
      box-shadow: 0 15px 30px -5px rgba(163, 230, 53, 0.45);
      filter: brightness(1.03);
    }
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      background: transparent;
      color: #fff;
      font-weight: 700;
      font-size: 1.05rem;
      padding: 0.85rem 1.6rem;
      border-radius: 10px;
      text-decoration: none;
      border: 1px solid var(--border);
      transition: background 0.2s ease, border-color 0.2s ease;
    }
    .btn-outline:hover {
      background: var(--surface-elevated);
      border-color: var(--text-muted);
    }
    .btn-orange {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      background: var(--accent-secondary);
      color: #0f172a;
      font-weight: 800;
      font-size: 0.95rem;
      padding: 0.75rem 1.25rem;
      border-radius: 8px;
      text-decoration: none;
      transition: transform 0.2s ease, filter 0.2s ease;
    }
    .btn-orange:hover {
      transform: translateY(-1px);
      filter: brightness(1.05);
    }

    /* Hero Instructor Frame */
    .hero-media-wrapper {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }
    .hero-avatar-frame {
      width: 290px;
      height: 290px;
      border-radius: 50%;
      padding: 6px;
      background: linear-gradient(135deg, var(--accent) 0%, var(--accent-secondary) 100%);
      box-shadow: 0 0 50px rgba(163, 230, 53, 0.25);
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }
    .hero-avatar-img {
      width: 100%;
      height: 100%;
      border-radius: 50%;
      object-fit: cover;
      background-color: var(--surface);
      display: block;
    }
    .instructor-floating-card {
      margin-top: -24px;
      background: rgba(27, 27, 42, 0.95);
      border: 1px solid var(--border);
      backdrop-filter: blur(10px);
      padding: 0.85rem 1.4rem;
      border-radius: 12px;
      box-shadow: 0 16px 32px rgba(0,0,0,0.5);
      text-align: center;
      z-index: 2;
    }
    .instructor-name {
      font-weight: 800;
      color: #fff;
      font-size: 1rem;
      margin-bottom: 0.2rem;
    }
    .instructor-role {
      font-size: 0.8rem;
      color: var(--accent);
      font-weight: 600;
      letter-spacing: 0.05em;
      text-transform: uppercase;
    }

    /* Guides Section */
    .guides-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
      gap: 2rem;
    }
    .guide-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 2.2rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
      position: relative;
    }
    .guide-card:hover {
      transform: translateY(-5px);
      border-color: rgba(163, 230, 53, 0.5);
      box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
    }
    .guide-category {
      font-size: 0.75rem;
      font-weight: 700;
      color: var(--accent-secondary);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 0.75rem;
    }
    .guide-title {
      font-size: 1.35rem;
      font-weight: 800;
      line-height: 1.35;
      margin: 0 0 1rem 0;
      color: #fff;
    }
    .guide-desc {
      color: var(--text-muted);
      font-size: 0.95rem;
      margin-bottom: 2rem;
      flex-grow: 1;
    }
    .guide-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-top: 1.25rem;
      border-top: 1px solid var(--border);
    }
    .guide-price {
      font-size: 1.75rem;
      font-weight: 900;
      color: #fff;
      display: flex;
      align-items: baseline;
      gap: 0.25rem;
    }
    .guide-price small {
      font-size: 0.85rem;
      color: var(--text-muted);
      font-weight: 500;
    }

    /* Bundle Box */
    .bundle-section {
      background: linear-gradient(180deg, var(--bg) 0%, #171725 100%);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .bundle-card {
      background: radial-gradient(circle at top right, rgba(163, 230, 53, 0.15), transparent 60%),
                  radial-gradient(circle at bottom left, rgba(251, 146, 60, 0.1), transparent 60%),
                  var(--surface);
      border: 2px solid var(--accent);
      border-radius: 24px;
      padding: 3.5rem 2.5rem;
      box-shadow: 0 25px 60px -15px rgba(0,0,0,0.6);
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 3rem;
      align-items: center;
      position: relative;
      overflow: hidden;
    }
    .bundle-badge-top {
      position: absolute;
      top: 1.5rem;
      right: 1.5rem;
      background: var(--accent);
      color: #0f172a;
      font-weight: 900;
      font-size: 0.8rem;
      padding: 0.35rem 0.9rem;
      border-radius: 9999px;
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }
    .bundle-features {
      list-style: none;
      padding: 0;
      margin: 1.5rem 0 0 0;
      display: grid;
      gap: 0.8rem;
    }
    .bundle-features li {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-size: 1rem;
      color: #E2E8F0;
    }
    .bundle-features li svg {
      color: var(--accent);
      flex-shrink: 0;
    }
    .bundle-pricing-box {
      background: rgba(20, 20, 31, 0.85);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 2.5rem;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.25rem;
    }
    .old-price {
      text-decoration: line-through;
      color: var(--text-muted);
      font-size: 1.25rem;
      font-weight: 600;
    }
    .deal-price {
      font-size: 3.2rem;
      font-weight: 900;
      color: var(--accent);
      line-height: 1;
    }
    .save-badge {
      background: rgba(251, 146, 60, 0.15);
      color: var(--accent-secondary);
      border: 1px solid rgba(251, 146, 60, 0.4);
      padding: 0.25rem 0.8rem;
      border-radius: 9999px;
      font-size: 0.85rem;
      font-weight: 700;
    }
    .bundle-promo-link {
      color: var(--text-muted);
      font-size: 0.85rem;
      text-decoration: underline;
      transition: color 0.2s ease;
    }
    .bundle-promo-link:hover {
      color: #fff;
    }

    /* Gear Section */
    .gear-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 1.75rem;
    }
    .gear-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 14px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      transition: transform 0.2s ease, border-color 0.2s ease;
    }
    .gear-card:hover {
      transform: translateY(-4px);
      border-color: rgba(163, 230, 53, 0.4);
    }
    .gear-img-container {
      position: relative;
      width: 100%;
      height: 210px;
      background: #101019;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1rem;
      border-bottom: 1px solid var(--border);
    }
    .gear-img {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      transition: transform 0.3s ease;
    }
    .gear-card:hover .gear-img {
      transform: scale(1.04);
    }
    .gear-tag {
      position: absolute;
      top: 0.75rem;
      left: 0.75rem;
      background: rgba(20, 20, 31, 0.85);
      border: 1px solid rgba(251, 146, 60, 0.5);
      color: var(--accent-secondary);
      font-size: 0.7rem;
      font-weight: 700;
      padding: 0.2rem 0.6rem;
      border-radius: 4px;
      backdrop-filter: blur(4px);
    }
    .gear-content {
      padding: 1.25rem;
      display: flex;
      flex-direction: column;
      flex-grow: 1;
      justify-content: space-between;
    }
    .gear-title {
      font-size: 1.05rem;
      font-weight: 700;
      line-height: 1.35;
      margin: 0 0 0.5rem 0;
      color: #F8FAFC;
    }
    .gear-rating {
      display: flex;
      align-items: center;
      gap: 0.4rem;
      font-size: 0.85rem;
      color: var(--text-muted);
      margin-bottom: 0.85rem;
    }
    .gear-stars {
      color: var(--star-color);
      letter-spacing: -0.05em;
    }
    .gear-price-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-top: auto;
      padding-top: 1rem;
      border-top: 1px solid var(--border);
      gap: 0.5rem;
    }
    .gear-price {
      font-size: 1.35rem;
      font-weight: 800;
      color: #fff;
    }
    .btn-amazon {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      background: #F3A847;
      color: #111;
      font-size: 0.85rem;
      font-weight: 700;
      padding: 0.55rem 0.9rem;
      border-radius: 6px;
      text-decoration: none;
      transition: filter 0.2s ease, transform 0.15s ease;
      white-space: nowrap;
    }
    .btn-amazon:hover {
      filter: brightness(1.08);
      transform: translateY(-1px);
    }

    /* Free Checklist Section (Brevo) */
    .checklist-section {
      background: radial-gradient(circle at center, rgba(163, 230, 53, 0.05) 0%, transparent 70%), var(--surface);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .checklist-card {
      max-width: 820px;
      margin: 0 auto;
      background: #14141F;
      border: 1px solid var(--border);
      border-radius: 20px;
      padding: 3rem 2.5rem;
      box-shadow: 0 20px 40px rgba(0,0,0,0.4);
      text-align: center;
    }
    .brevo-isolated-container {
      position: relative;
      z-index: 10;
      margin: 2rem auto 1.5rem auto;
      min-height: 310px;
      width: 100%;
      max-width: 600px;
      clear: both;
    }
    .pdf-direct-notice {
      margin-top: 1.5rem;
      font-size: 0.9rem;
      color: var(--text-muted);
    }
    .pdf-direct-notice a {
      color: var(--accent);
      text-decoration: underline;
      font-weight: 600;
    }

    /* Footer */
    .site-footer {
      background: #0E0E17;
      padding: 4rem 0 2.5rem 0;
      border-top: 1px solid var(--border);
      color: var(--text-muted);
      font-size: 0.9rem;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr;
      gap: 3rem;
      margin-bottom: 3rem;
    }
    .footer-brand-title {
      font-size: 1.25rem;
      font-weight: 800;
      color: #fff;
      margin-bottom: 0.75rem;
    }
    .footer-socials {
      display: flex;
      gap: 1rem;
      margin-top: 1.2rem;
    }
    .social-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: var(--surface);
      color: #CBD5E1;
      border: 1px solid var(--border);
      text-decoration: none;
      transition: all 0.2s ease;
    }
    .social-btn:hover {
      background: var(--accent);
      color: #0f172a;
      border-color: var(--accent);
      transform: translateY(-2px);
    }
    .footer-bottom {
      padding-top: 2rem;
      border-top: 1px solid #1F1F33;
      text-align: center;
      font-size: 0.85rem;
    }

    /* Responsive */
    @media (max-width: 992px) {
      .hero-grid {
        grid-template-columns: 1fr;
        text-align: center;
      }
      .hero-benefits {
        justify-content: center;
      }
      .hero-actions {
        justify-content: center;
      }
      .bundle-card {
        grid-template-columns: 1fr;
        padding: 2.5rem 1.75rem;
      }
      .footer-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
      }
    }

    /* Recommended Supplements Section */
    .supplements-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem;
    }
    .supplement-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 14px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    }
    .supplement-card:hover {
      transform: translateY(-4px);
      border-color: rgba(163, 230, 53, 0.4);
      box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
    }
    .supplement-img-wrap {
      width: 100%;
      height: 160px;
      background: #101019;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      border-bottom: 1px solid var(--border);
      color: var(--accent);
      position: relative;
    }
    .supplement-img-wrap svg {
      opacity: 0.85;
      transition: transform 0.25s ease;
    }
    .supplement-card:hover .supplement-img-wrap svg {
      transform: scale(1.08);
      opacity: 1;
    }
    .supplement-body {
      padding: 1.25rem;
      display: flex;
      flex-direction: column;
      flex-grow: 1;
      justify-content: space-between;
    }
    .supplement-category {
      font-size: 0.72rem;
      font-weight: 700;
      color: var(--accent-secondary);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 0.4rem;
    }
    .supplement-name {
      font-size: 1.15rem;
      font-weight: 800;
      color: #fff;
      margin: 0 0 0.65rem 0;
      line-height: 1.3;
    }
    .supplement-desc {
      color: var(--text-muted);
      font-size: 0.88rem;
      line-height: 1.5;
      margin: 0 0 1.25rem 0;
      flex-grow: 1;
    }
    .btn-supplement {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.4rem;
      background-color: var(--accent);
      color: var(--accent-contrast);
      font-weight: 800;
      font-size: 0.9rem;
      padding: 0.7rem 1rem;
      border-radius: 8px;
      text-decoration: none;
      transition: transform 0.15s ease, filter 0.15s ease;
      width: 100%;
      box-sizing: border-box;
    }
    .btn-supplement:hover {
      transform: translateY(-1px);
      filter: brightness(1.05);
    }
    .supplements-disclosure {
      text-align: center;
      color: var(--text-muted);
      font-size: 0.82rem;
      line-height: 1.5;
      margin-top: 3rem;
      max-width: 680px;
      margin-left: auto;
      margin-right: auto;
      padding: 0 1rem;
    }

    @media (max-width: 1024px) {
      .supplements-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 640px) {
      .hero-avatar-frame {
        width: 220px;
        height: 220px;
      }
      .nav-links {
        display: none;
      }
      .checklist-card {
        padding: 2rem 1.25rem;
      }
      .supplements-grid {
        grid-template-columns: 1fr;
      }
    }
  </style>

</head>
<body>

  <!-- Navigation -->
  <nav class="site-nav">
    <div class="nav-inner">
      <a href="#" class="brand-logo">
        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="color:var(--accent);">
          <circle cx="18.5" cy="17.5" r="3.5"/>
          <circle cx="5.5" cy="17.5" r="3.5"/>
          <circle cx="15" cy="5" r="1"/>
          <path d="M12 17.5V14l-3-3 4-3 2 3h2"/>
        </svg>
        <span>Indoor Cycling</span> Method
      </a>
      <ul class="nav-links">
        <li><a href="#guides">Guides</a></li>
        <li><a href="#bundle">The Bundle</a></li>
        <li><a href="#gear">Recommended Gear</a></li>
        <li><a href="#checklist">Free Checklist</a></li>
      </ul>
      <a href="https://go.hotmart.com/X107645144L" target="_blank" rel="noopener" class="nav-cta">Get 30% Off Bundle</a>
    </div>
  </nav>

  <!-- 1. HERO -->
  <header class="hero-section">
    <div class="container">
      <div class="hero-grid">
        <div class="hero-content">
          <div class="tag-badge">MASTER YOUR INDOOR RIDE</div>
          <h1 class="hero-headline">
            Ride Smarter. Ride Stronger. <span class="highlight-lime">Dominate</span> Every <span class="highlight-orange">Class</span>.
          </h1>
          <p class="hero-desc">
            Created by Prof. Mateus — bringing 20+ years of high-performance indoor cycling coaching to thousands of riders across the US, UK, and Australia. Elevate your power, eliminate pain, and maximize calorie burn with proven physiology.
          </p>
          
          <div class="hero-benefits">
            <div class="benefit-item">
              <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
              Zero Joint Pain Setup
            </div>
            <div class="benefit-item">
              <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
              High-Calorie Cadence Zones
            </div>
            <div class="benefit-item">
              <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
              Instant Digital Access
            </div>
          </div>

          <div class="hero-actions">
            <a href="https://go.hotmart.com/X107645144L" target="_blank" rel="noopener" class="btn-lime">
              Get The Complete Method (Save 30%)
              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
            </a>
            <a href="#guides" class="btn-outline">
              Explore Individual Guides
            </a>
          </div>
        </div>

        <div class="hero-media-wrapper">
          <div class="hero-avatar-frame">
            <img src="images/prof-mateus.png" alt="Prof. Mateus — Indoor Cycling Specialist" class="hero-avatar-img">
          </div>
          <div class="instructor-floating-card">
            <div class="instructor-name">Prof. Mateus</div>
            <div class="instructor-role">20+ Years Head Instructor</div>
          </div>
        </div>
      </div>
    </div>
  </header>

  <!-- 2. GUIDES SECTION -->
  <section id="guides" class="section-spacing">
    <div class="container">
      <div class="section-header">
        <div class="tag-badge">DIGITAL TRAINING GUIDES</div>
        <h2 class="section-title">Master Every Dimension of Your Ride</h2>
        <p class="section-subtitle">Tactical, science-backed blueprints designed for immediate execution on Peloton, studio stages, or your home trainer.</p>
      </div>

      <div class="guides-grid">
        <!-- Guide 1 -->
        <article class="guide-card">
          <div>
            <div class="guide-category">Mind & Body Connection</div>
            <h3 class="guide-title">Read Your Body – The Method That Transforms Your Indoor Cycling</h3>
            <p class="guide-desc">
              Decode real-time heart rate spikes, perceived exertion, and muscular fatigue. Learn how to stay in optimal aerobic thresholds without burning out mid-ride.
            </p>
          </div>
          <div class="guide-footer">
            <div class="guide-price">
              US$ 9.99
              <small>/ one-time</small>
            </div>
            <a href="https://go.hotmart.com/C107582533E" target="_blank" rel="noopener" class="btn-lime" style="padding:0.65rem 1.25rem; font-size:0.95rem;">
              Get it now
            </a>
          </div>
        </article>

        <!-- Guide 2 -->
        <article class="guide-card">
          <div>
            <div class="guide-category">Biomechanics & Injury Prevention</div>
            <h3 class="guide-title">The Perfect Bike Fit – The Definitive Guide to Indoor Cycling Setup</h3>
            <p class="guide-desc">
              End knee strain, lower back soreness, and neck pain forever. Precise angle rules for saddle height, handlebar reach, and cleat positioning tailored to your anatomy.
            </p>
          </div>
          <div class="guide-footer">
            <div class="guide-price">
              US$ 12.99
              <small>/ one-time</small>
            </div>
            <a href="https://go.hotmart.com/L107582718V" target="_blank" rel="noopener" class="btn-lime" style="padding:0.65rem 1.25rem; font-size:0.95rem;">
              Get it now
            </a>
          </div>
        </article>

        <!-- Guide 3 -->
        <article class="guide-card">
          <div>
            <div class="guide-category">Power & Core Conditioning</div>
            <h3 class="guide-title">Bodyweight Training for Cycling Performance</h3>
            <p class="guide-desc">
              Targeted off-the-bike movement flows to strengthen glute activation, stabilize your core during heavy climbs, and increase sprint wattage output safely.
            </p>
          </div>
          <div class="guide-footer">
            <div class="guide-price">
              US$ 12.99
              <small>/ one-time</small>
            </div>
            <a href="https://go.hotmart.com/O107582745N" target="_blank" rel="noopener" class="btn-lime" style="padding:0.65rem 1.25rem; font-size:0.95rem;">
              Get it now
            </a>
          </div>
        </article>
      </div>
    </div>
  </section>

  <!-- 3. BUNDLE SECTION -->
  <section id="bundle" class="section-spacing bundle-section">
    <div class="container">
      <div class="bundle-card">
        <div class="bundle-badge-top">BEST VALUE BUNDLE</div>
        <div>
          <div class="tag-badge">ALL-IN-ONE SYSTEM</div>
          <h2 style="font-size:clamp(1.9rem, 3.2vw, 2.6rem); font-weight:900; line-height:1.2; margin:0 0 1rem 0;">
            The Complete Method — 3 Guides
          </h2>
          <p style="color:var(--text-muted); font-size:1.1rem; margin-bottom:1.5rem;">
            Get the comprehensive transformation bundle. Master your bike fit ergonomics, sharpen your somatic cadence pacing, and unlock supreme off-bike conditioning.
          </p>

          <ul class="bundle-features">
            <li>
              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
              <span><strong>E-Book 1:</strong> Read Your Body — The Method That Transforms Your Ride</span>
            </li>
            <li>
              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
              <span><strong>E-Book 2:</strong> The Perfect Bike Fit — Definitive Indoor Setup</span>
            </li>
            <li>
              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
              <span><strong>E-Book 3:</strong> Bodyweight Training for Cycling Performance</span>
            </li>
            <li>
              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
              <span>Instant digital downloads with lifetime access & future updates</span>
            </li>
          </ul>
        </div>

        <div class="bundle-pricing-box">
          <div class="save-badge">SAVE 30% TODAY</div>
          <div>
            <div class="old-price">US$ 35.97</div>
            <div class="deal-price">US$ 24.99</div>
          </div>
          <a href="https://go.hotmart.com/X107645144L" target="_blank" rel="noopener" class="btn-lime" style="width:100%;">
            Get The Complete Method
          </a>
          <a href="https://pay.hotmart.com/J107617644U?off=dhj3lkzm" target="_blank" rel="noopener" class="bundle-promo-link">
            Or access direct checkout promotion
          </a>
        </div>
      </div>
    </div>
  </section>

  <!-- 4. RECOMMENDED GEAR SECTION -->
  <section id="gear" class="section-spacing">
    <div class="container">
      <div class="section-header">
        <div class="tag-badge">INSTRUCTOR-TESTED ESSENTIALS</div>
        <h2 class="section-title">Recommended Gear & Equipment</h2>
        <p class="section-subtitle">
          Equipment vetted by Prof. Mateus for optimal power transfer, comfort, safety, and training analytics.
        </p>
      </div>

      <div class="gear-grid">
        <!-- CARD 1 -->
        <article class="gear-card">
          <div class="gear-img-container">
            <img src="images/shoe-mtb.png" alt="Cycling Shoes (SPD)" class="gear-img">
          </div>
          <div class="gear-content">
            <div>
              <h3 class="gear-title">Cycling Shoes (SPD)</h3>
              <div class="gear-rating">
                <span class="gear-stars">★★★★½</span>
                <span>4.5 (20,435 reviews)</span>
              </div>
            </div>
            <div class="gear-price-row">
              <span class="gear-price">$40.99</span>
              <a href="https://www.amazon.com/Mountain-Cycling-Bicycle-Compatible-Shimano/dp/B09QKLPVS8?crid=3W36NVLJ55Z6B&dib=eyJ2IjoiMSJ9.ePrKP0ZnIa4P8_pLSPuaJ6W0FWWJUK-xd0ja2ukssE5kVfh8jXibcOlo9FggpqFXeQRHH5kN-VgfVhnZfEgPGB6fLsyURNT-xAVAaCnneNo.NVZ_dJS6Z38WWSXRkeFt5akNs4jCggJwNE5cBJ13kdk&dib_tag=se&keywords=Cycling%2Bshoes%2B%28SPD%2B%2F%2BLook%2BDelta%29&qid=1790394831&refinements=p_n_g-101017934180111%3A221157085011&rnid=121075130011&sprefix=cycling%2Bshoes%2Bspd%2B%2F%2Blook%2Bdelta%2B%2Caps%2C346&sr=8-3&th=1&psc=1&linkCode=ll2&tag=professormate-20&linkId=789cca5052cd09e0e9c1e56b00dc1d1c&language=en_US&gaOptInStatus=true&ref_=as_li_ss_tl" target="_blank" rel="noopener" class="btn-amazon">
                View on Amazon
              </a>
            </div>
          </div>
        </article>

        <!-- CARD 2 -->
        <article class="gear-card">
          <div class="gear-img-container">
            <img src="images/shoe-speed.png" alt="Cycling Shoes (Look Delta / Peloton)" class="gear-img">
          </div>
          <div class="gear-content">
            <div>
              <h3 class="gear-title">Cycling Shoes (Look Delta / Peloton)</h3>
              <div class="gear-rating">
                <span class="gear-stars">★★★★☆</span>
                <span>4.1 (341 reviews)</span>
              </div>
            </div>
            <div class="gear-price-row">
              <span class="gear-price">$39.99</span>
              <a href="https://www.amazon.com/ULTIANT-Cycling-Compatible-Peloton-Bicycle/dp/B0BSQZ5ZV5?crid=CVFQJWZ6UH95&dib=eyJ2IjoiMSJ9.YBUMSTQwylOO46yDiGed0yaCPsY6KMBJpvVkQ4M4F1tpd-VpT-E_5gICtbX8zzKi7595OlphEcu5iw1q7BHvtsAuT18Cq1ybBjgcoiOaRT__OvN8IP2RFsF3LE2v2xhN-5kMAQy7SGqgUMY2sW12dR_184QMcqmhOELx6SxztdlvSz3cAb-k74htUweBd2WUQh1mI1rGSnQQz92PUnTvY0iKTBFYXluLpwxEfHbYrg06Gxgz6GFNqGgu6eCGMFSfcf4jZUFDVWzgcDeIdRo29xEvmvpgoOwRBIvkS9_fkOk.bOADKFWefiSEP2JSju88p1MpyaJRu7lehcZ_9pWfQeM&dib_tag=se&keywords=Cycling%2BShoes%2B%28Look%2BDelta%29&qid=1790398030&sprefix=cycling%2Bshoes%2Blook%2Bdelta%2B%2Caps%2C412&sr=8-10&th=1&psc=1&linkCode=ll2&tag=professormate-20&linkId=d2035fe54d6dcb9bddf6c952f39a6678&language=en_US&gaOptInStatus=true&ref_=as_li_ss_tl" target="_blank" rel="noopener" class="btn-amazon">
                View on Amazon
              </a>
            </div>
          </div>
        </article>

        <!-- CARD 3 -->
        <article class="gear-card">
          <div class="gear-img-container">
            <span class="gear-tag">#5 in Men's Cycling Shorts</span>
            <img src="images/padded-shorts.png" alt="Padded Cycling Shorts" class="gear-img">
          </div>
          <div class="gear-content">
            <div>
              <h3 class="gear-title">Padded Cycling Shorts</h3>
              <div class="gear-rating">
                <span class="gear-stars">★★★★★</span>
                <span>4.7 (2,958 reviews)</span>
              </div>
            </div>
            <div class="gear-price-row">
              <span class="gear-price">$28.98</span>
              <a href="https://www.amazon.com/sponeed-Padded-Cycling-Shorts-Bicycle/dp/B0716H4QZ1?content-id=amzn1.sym.19c02530-5f3c-46fb-80e2-0cb6931f8e1c%3Aamzn1.sym.19c02530-5f3c-46fb-80e2-0cb6931f8e1c&crid=28Y7CEYX3RN1X&cv_ct_cx=Padded%2BCycling%2BShorts&keywords=Padded%2BCycling%2BShorts&pd_rd_i=B0716H4QZ1&pd_rd_r=50c9c44c-4bb2-4721-9607-f69404507e98&pd_rd_w=eZRB0&pd_rd_wg=i8ru4&pf_rd_p=19c02530-5f3c-46fb-80e2-0cb6931f8e1c&pf_rd_r=6JYPMBDHM95QN0WJ2GRA&qid=1790396577&sbo=RZvfv%2F%2FHxDF%2BO5021pAnSA%3D%3D&sprefix=padded%2Bcycling%2Bshorts%2Caps%2C251&sr=1-1-4a82bf2c-99de-49d4-8c6e-1b9c06d4b176-spons&aref=wk3gP8yAbR&sp_csd=d2lkZ2V0TmFtZT1zcF9zZWFyY2hfdGhlbWF0aWM&th=1&psc=1&linkCode=ll2&tag=professormate-20&linkId=3f93718f28e962ec77fadca15484af78&language=en_US&gaOptInStatus=true&ref_=as_li_ss_tl" target="_blank" rel="noopener" class="btn-amazon">
                View on Amazon
              </a>
            </div>
          </div>
        </article>

        <!-- CARD 4 -->
        <article class="gear-card">
          <div class="gear-img-container">
            <span class="gear-tag">#1 in Men's Cycling Bib Shorts</span>
            <img src="images/bib-shorts.png" alt="Bib Shorts" class="gear-img">
          </div>
          <div class="gear-content">
            <div>
              <h3 class="gear-title">Bib Shorts</h3>
              <div class="gear-rating">
                <span class="gear-stars">★★★★★</span>
                <span>4.7 (2,936 reviews)</span>
              </div>
            </div>
            <div class="gear-price-row">
              <span class="gear-price">$19.95</span>
              <a href="https://www.amazon.com/Przewalski-Padded-Cycling-Shorts-Bicycle/dp/B09TB5CHQT?content-id=amzn1.sym.48c6b427-a259-44b4-afc3-8cb0f0dbcf97%3Aamzn1.sym.48c6b427-a259-44b4-afc3-8cb0f0dbcf97&dib=eyJ2IjoiMSJ9.odpX2SrAI95msPA6yG2cNSwYM3446WOrIw6omXbeGXOP43zJsrKpvI7l8_7cpluF_MtK8iwMlN3fr_ZR0AQamqLI20lO9xm1D9SOCPcgIgiw-I28tOlN7FNJkmrGArUDvnQm2-EDvQI3aY61-p4QABuSHLW-7qolSUx1cJk7gmHwFopb4Oy3cuL8JA30zBpAKfTdmPU81g_-AmN_kfSOFTzNVXZjQIirI6v9RgSuIRzy1LloFPxhOu-Hr0vtuZRAikpRThWYtx46IQLT10pPNmzHqSrtoSZelyWqLvYCJi4.gjXXnmgcHHr5Xdzk1gd5SPJBEg1vKZ6Ec0HFRw2hQxc&dib_tag=se&keywords=padded%2Bbike%2Bshorts%2Bbib&pd_rd_i=padded%2Bbike%2Bshorts%2Bbib&pd_rd_r=f0898467-de6c-4b47-b52f-f546435afca2&pd_rd_w=kVZLi&pd_rd_wg=DL893&qid=1790396722&sr=8-6&th=1&psc=1&linkCode=ll2&tag=professormate-20&linkId=91a5f4e4357d07aea527309f2189e425&language=en_US&gaOptInStatus=true&ref_=as_li_ss_tl" target="_blank" rel="noopener" class="btn-amazon">
                View on Amazon
              </a>
            </div>
          </div>
        </article>

        <!-- CARD 5 -->
        <article class="gear-card">
          <div class="gear-img-container">
            <span class="gear-tag">Amazon's Choice</span>
            <img src="images/bike-mat.png" alt="Bike Mat" class="gear-img">
          </div>
          <div class="gear-content">
            <div>
              <h3 class="gear-title">Bike Mat</h3>
              <div class="gear-rating">
                <span class="gear-stars">★★★★☆</span>
                <span>4.2 (3,342 reviews)</span>
              </div>
            </div>
            <div class="gear-price-row">
              <span class="gear-price">$25.49</span>
              <a href="https://www.amazon.com/Cycleclub-Compatible-Treadmill-Stationary-Equipment/dp/B0BHQH8D9G?crid=31SQCIEU9V09E&dib=eyJ2IjoiMSJ9.tq1vBSZtHccdwbHWs_KSPYQ8ydXo_vQ_Q6GRKvH5wQG5rM5QlLnoCZlYJ9qPg40MTWIjl9HoR91ZYr3ELtG0WHliRp27b-lI0dUaNkRWrjzYShuhU4ZBIJ2r-a3W40mm0A1q9-ms50bRQlU1_2FdyB6h4anBoxRhDcpXCZrgHTN7FE-hq5vM_0bnvP4stio-Fk2zBGfZ9mGXsEEB7lhbrhZaq6NpXuwoXSze4f5x_keiTWh2U7y5qWENct2BtMOBURExHHE5VOAD1_F_bHxyglloHQCnmDABHOd0lQUak8U.x7UkeWd-opcVs43t8V7Bzjbyftf79r-gOmk_lPfGuss&dib_tag=se&keywords=Bike%2BMat&qid=1790396841&sprefix=bike%2Bmat%2Caps%2C373&sr=8-2&th=1&linkCode=ll2&tag=professormate-20&linkId=db8408eac86ef0688084b060d334b970&language=en_US&gaOptInStatus=true&ref_=as_li_ss_tl" target="_blank" rel="noopener" class="btn-amazon">
                View on Amazon
              </a>
            </div>
          </div>
        </article>

        <!-- CARD 6 -->
        <article class="gear-card">
          <div class="gear-img-container">
            <span class="gear-tag">Universal Fit</span>
            <img src="images/tablet-holder.png" alt="Tablet / Phone Holder" class="gear-img">
          </div>
          <div class="gear-content">
            <div>
              <h3 class="gear-title">Tablet / Phone Holder</h3>
              <div class="gear-rating">
                <span class="gear-stars">★★★★★</span>
                <span>4.7 (8,578 reviews)</span>
              </div>
            </div>
            <div class="gear-price-row">
              <span class="gear-price">$19.99</span>
              <a href="https://www.amazon.com/Exercise-Handlebar-Stationary-Treadmill-Microphone/dp/B091GDKSK7?crid=ZLRXTLSRGQOT&dib=eyJ2IjoiMSJ9.4s-DtL9n-Zd4StSVIYWvmnPSfqXGF-4EZubmuWYvTXdKvr7gToXUifErCDdr4QZ64YVBMWCJhtYzGl4aPH8TulocYesE7DHGbiyNAEQNGil9X3ljLxJcugrcGSBizp-Fvk8WqSTc1jaegPewK6QbUY7MyzwM08TGJbHjFojo1wkvOKrzqhJeVAv1tI0qRXuM4QNalPVIF2CmufADZk3nj8aIJjV2PvkD7W2XpZCBfww.6mBFHmKc-aWnT1NtGYGtplmC3wW0DLswuXYmjVPKXw8&dib_tag=se&keywords=phone+tablet+holder+for+exercise+bike&qid=1790397556&sprefix=Tablet+%2F+Phone+Holder+for+bike%2Caps%2C337&sr=8-3&linkCode=ll2&tag=professormate-20&linkId=c926c9e2977e101134887eac1e997f05&language=en_US&gaOptInStatus=true&ref_=as_li_ss_tl" target="_blank" rel="noopener" class="btn-amazon">
                View on Amazon
              </a>
            </div>
          </div>
        </article>

        <!-- CARD 7 -->
        <article class="gear-card">
          <div class="gear-img-container">
            <span class="gear-tag">Bluetooth & ANT+</span>
            <img src="images/heart-rate-monitor.png" alt="Cadence Sensor / Heart Rate Monitor" class="gear-img">
          </div>
          <div class="gear-content">
            <div>
              <h3 class="gear-title">Cadence Sensor / Heart Rate Monitor</h3>
              <div class="gear-rating">
                <span class="gear-stars">★★★★½</span>
                <span>4.4 (449 reviews)</span>
              </div>
            </div>
            <div class="gear-price-row">
              <span class="gear-price">$52.99</span>
              <a href="https://www.amazon.com/CooSpo-H6-Monitor-Bluetooth4-0-Peloton/dp/B07BS6B4PD?crid=21L5LRXVSIZ3C&dib=eyJ2IjoiMSJ9.a7W12HkbqaiO9_0Q2cn9qK4lqnCtS-bEETGUdQR80a2GfJewYqFtbEvVqLFK9iCSQOjuMY_pvb9xGZ9pFam52RSdcSymebUDx56jfAg46cCkC05TWJJBplpCbglsIoM_G1hcHvCu_wOYCd9SrBDQ0Z8TFZkIHyLN7gScbD5XobNfKFG30ppVeXkNbc-RH4JjVcq9PwjrvnZfKVrb5VucocSSUAviInnsbz1QTJsa690.qqqtoVA5cgZpohEVKQ-2y7j9nbqBCE6a8Gr5xaMwat0&dib_tag=se&keywords=Cadence+Sensor+%2F+Heart+Rate+Monitor&qid=1790396823&sprefix=cadence+sensor+%2F+heart+rate+monitor%2Caps%2C307&sr=8-2-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1&linkCode=ll2&tag=professormate-20&linkId=64155e0f67ba684b132503fe50dd93fa&language=en_US&gaOptInStatus=true&ref_=as_li_ss_tl" target="_blank" rel="noopener" class="btn-amazon">
                View on Amazon
              </a>
            </div>
          </div>
        </article>

        <!-- CARD 8 -->
        <article class="gear-card">
          <div class="gear-img-container">
            <span class="gear-tag">700+ sold/month</span>
            <img src="images/cycling-gloves.png" alt="Cycling Gloves" class="gear-img">
          </div>
          <div class="gear-content">
            <div>
              <h3 class="gear-title">Cycling Gloves</h3>
              <div class="gear-rating">
                <span class="gear-stars">★★★★☆</span>
                <span>4.2 (838 reviews)</span>
              </div>
            </div>
            <div class="gear-price-row">
              <span class="gear-price">$19.99</span>
              <a href="https://www.amazon.com/HTZPLOO-Mountain-Anti-Slip-Shock-Absorbing-Breathable/dp/B06XPL2DNR?crid=LNECHEZ4QQ2N&dib=eyJ2IjoiMSJ9.ARUbbjIDLu79KTEPPcDur-bXc3JFSHhO4wWXIJFAvs0hldJ1PPGdeGIVzJx2lihqb-J7Vs6QGlMBpZ6iMk27BTu2UH1mmt285J9AlfmWITRdbM6zTU0lKQqp8-XZ1kuQDWusXcLgMGemyMrOGp3XiPlWRRfWFmifgcfDYWOy14lFGCsertZrcb0xMeQ8-SGOvEv1ysTdXVgZwfIXgGEUyWwBqPWUit1MH15S-HaJaZLfNeAxoXfV6Kxw2KWCN9UUvFdTuyDtMwv0qWbXeiXRTFZQfybIx_lbziZFoTlLbm8.69ilmVHrTSZNGJpvhEqF-mvu8DjOFLYIlbi7Pqo-U-c&dib_tag=se&keywords=Cycling%2BGloves&qid=1790397672&refinements=p_n_g-101015233022111%3A121833112011&rnid=121075130011&sprefix=cycling%2Bgloves%2Caps%2C572&sr=8-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&th=1&psc=1&linkCode=ll2&tag=professormate-20&linkId=0784bdbd8937d88b3d15113762f609f8&language=en_US&gaOptInStatus=true&ref_=as_li_ss_tl" target="_blank" rel="noopener" class="btn-amazon">
                View on Amazon
              </a>
            </div>
          </div>
        </article>
      </div>
    </div>
  </section>

  <!-- 5. FREE CHECKLIST SECTION -->
  <section id="checklist" class="section-spacing checklist-section">
    <div class="container">
      <div class="checklist-card">
        <div class="tag-badge">COMPLIMENTARY RESOURCE</div>
        <h2 class="section-title">Get Your Free Indoor Cycling Checklist</h2>
        <p class="section-subtitle" style="max-width:620px; margin:0 auto;">
          The step-by-step pre-ride protocol used by elite studio instructors to align bike settings, hydrate efficiently, and prevent saddle soreness before clipping in.
        </p>

        <!-- Container isolated to prevent overlap -->
        <div class="brevo-isolated-container">
          <!-- ===== BREVO FORM (Free Checklist) ===== -->
          <iframe width="100%" height="305" src="https://9208664d.sibforms.com/v2/serve/MUIFAL46uR1R3IzsSWZLbM3B388GiDh3Qz50FzG9nJd-E2qr55nrtCH8oAx5hSgfukBV8dl-TsPWqzvRbeT_zyFlsk1d3GDdseOni8VArz-UVptmuVgHhP5EE-1uCdmQd2Mhjt83xBB4oPvGvSYwAHj6ok0ZxC6OSUQkYxTqt9agKLq04Bx628etmKRhsY-4YEZkTLUOJ47efkrkHQ==" frameborder="0" scrolling="auto" allowfullscreen style="display: block;margin-left: auto;margin-right: auto;max-width: 100%;"></iframe>
          <!-- ===== FIM DO FORMULÁRIO BREVO ===== -->
        </div>

        <p class="pdf-direct-notice">
          Already subscribed or prefer a direct copy? Access the PDF directly at:
          <a href="https://indoorcyclingmethod.com/checklist.pdf" target="_blank" rel="noopener">indoorcyclingmethod.com/checklist.pdf</a>
        </p>
      </div>
    </div>
  </section>

  <!-- RECOMMENDED SUPPLEMENTS SECTION -->
  <section id="supplements" class="section-spacing">
    <div class="container">
      <div class="section-header">
        <div class="tag-badge">DAILY VITALITY & WELLNESS</div>
        <h2 class="section-title">Recommended Supplements</h2>
        <p class="section-subtitle">
          Hand-picked wellness products I personally recommend. As an affiliate, I earn from qualifying purchases.
        </p>
      </div>

      <div class="supplements-grid">
        <!-- CARD 1 -->
        <article class="supplement-card">
          <div style="background: #ffffff; border-radius: 10px; margin: 0.75rem 0.75rem 0 0.75rem; padding: 0.5rem; display: flex; align-items: center; justify-content: center; box-sizing: border-box;">
            <img src="images/NuviaLab_Sugar_Control_AM_1.jpg" alt="NuviaLab Sugar Control" style="width: 100%; height: 180px; object-fit: contain; display: block;">
          </div>
          <div class="supplement-body">
            <div>
              <div class="supplement-category">Blood Sugar Support</div>
              <h3 class="supplement-name">Blood Sugar Support</h3>
              <p class="supplement-desc">
                Formulated with natural ingredients traditionally used to support healthy blood sugar levels already within the normal range. A simple daily addition to your wellness routine.
              </p>
            </div>
            <a href="https://nplink.net/bc2k3uuj" target="_blank" rel="noopener noreferrer" class="btn-supplement">Learn More</a>
          </div>
        </article>

        <!-- CARD 2 -->
        <article class="supplement-card">
          <div style="background: #ffffff; border-radius: 10px; margin: 0.75rem 0.75rem 0 0.75rem; padding: 0.5rem; display: flex; align-items: center; justify-content: center; box-sizing: border-box;">
            <img src="images/Lipid-Control-Plus-PRO8.jpg" alt="Lipid Control Plus" style="width: 100%; height: 180px; object-fit: contain; display: block;">
          </div>
          <div class="supplement-body">
            <div>
              <div class="supplement-category">Cholesterol Support</div>
              <h3 class="supplement-name">Lipid Control Plus</h3>
              <p class="supplement-desc">
                A daily supplement designed to support healthy cholesterol levels already within the normal range, alongside a balanced diet and active lifestyle.
              </p>
            </div>
            <a href="https://nplink.net/bmjyfs9o" target="_blank" rel="noopener noreferrer" class="btn-supplement">Learn More</a>
          </div>
        </article>

        <!-- CARD 3 -->
        <article class="supplement-card">
          <div style="background: #ffffff; border-radius: 10px; margin: 0.75rem 0.75rem 0 0.75rem; padding: 0.5rem; display: flex; align-items: center; justify-content: center; box-sizing: border-box;">
            <img src="images/pro_fbe_03.jpg" alt="Fast Burn Extreme" style="width: 100%; height: 180px; object-fit: contain; display: block;">
          </div>
          <div class="supplement-body">
            <div>
              <div class="supplement-category">Weight Management</div>
              <h3 class="supplement-name">Fast Burn Extreme</h3>
              <p class="supplement-desc">
                A thermogenic blend created to support your metabolism and complement an active lifestyle. Ideal for those looking to support their weight management goals.
              </p>
            </div>
            <a href="https://nplink.net/to3od1y1" target="_blank" rel="noopener noreferrer" class="btn-supplement">Learn More</a>
          </div>
        </article>

        <!-- CARD 4 -->
        <article class="supplement-card">
          <div style="background: #ffffff; border-radius: 10px; margin: 0.75rem 0.75rem 0 0.75rem; padding: 0.5rem; display: flex; align-items: center; justify-content: center; box-sizing: border-box;">
            <img src="images/EnudNAD_PRO7.jpg" alt="EnduNAD" style="width: 100%; height: 180px; object-fit: contain; display: block;">
          </div>
          <div class="supplement-body">
            <div>
              <div class="supplement-category">Longevity</div>
              <h3 class="supplement-name">EnduNAD</h3>
              <p class="supplement-desc">
                Formulated with NAD+ precursors to support cellular energy and healthy aging. A daily supplement for those focused on long-term vitality.
              </p>
            </div>
            <a href="https://nplink.net/6euzpy3b" target="_blank" rel="noopener noreferrer" class="btn-supplement">Learn More</a>
          </div>
        </article>

        <!-- CARD 5 -->
        <article class="supplement-card">
          <div style="background: #ffffff; border-radius: 10px; margin: 0.75rem 0.75rem 0 0.75rem; padding: 0.5rem; display: flex; align-items: center; justify-content: center; box-sizing: border-box;">
            <img src="images/NuviaLab-Immune-PRO8.jpg" alt="NuviaLab Immune" style="width: 100%; height: 180px; object-fit: contain; display: block;">
          </div>
          <div class="supplement-body">
            <div>
              <div class="supplement-category">Immunity Support</div>
              <h3 class="supplement-name">Immunity Support</h3>
              <p class="supplement-desc">
                A blend of vitamins and natural ingredients traditionally used to support a healthy immune system. A convenient daily addition to your routine.
              </p>
            </div>
            <a href="https://nplink.net/r0sikppb" target="_blank" rel="noopener noreferrer" class="btn-supplement">Learn More</a>
          </div>
        </article>

        <!-- CARD 6 -->
        <article class="supplement-card">
          <div style="background: #ffffff; border-radius: 10px; margin: 0.75rem 0.75rem 0 0.75rem; padding: 0.5rem; display: flex; align-items: center; justify-content: center; box-sizing: border-box;">
            <img src="images/Crave_Burner_PRO6.jpg" alt="Crave Burner" style="width: 100%; height: 180px; object-fit: contain; display: block;">
          </div>
          <div class="supplement-body">
            <div>
              <div class="supplement-category">Appetite Support</div>
              <h3 class="supplement-name">Crave Burner</h3>
              <p class="supplement-desc">
                Designed to help you feel satisfied throughout the day and support your wellness goals. A practical ally for anyone managing their daily routine.
              </p>
            </div>
            <a href="https://nplink.net/2fet1sg8" target="_blank" rel="noopener noreferrer" class="btn-supplement">Learn More</a>
          </div>
        </article>

        <!-- CARD 7 -->
        <article class="supplement-card">
          <div style="background: #ffffff; border-radius: 10px; margin: 0.75rem 0.75rem 0 0.75rem; padding: 0.5rem; display: flex; align-items: center; justify-content: center; box-sizing: border-box;">
            <img src="images/Restilen_pro_08.jpg" alt="Restilen" style="width: 100%; height: 180px; object-fit: contain; display: block;">
          </div>
          <div class="supplement-body">
            <div>
              <div class="supplement-category">Stress Support</div>
              <h3 class="supplement-name">Restilen</h3>
              <p class="supplement-desc">
                A calming blend of natural ingredients traditionally used to help the body cope with everyday stress and support a balanced mood.
              </p>
            </div>
            <a href="https://nplink.net/ou788ahz" target="_blank" rel="noopener noreferrer" class="btn-supplement">Learn More</a>
          </div>
        </article>

        <!-- CARD 8 -->
        <article class="supplement-card">
          <div style="background: #ffffff; border-radius: 10px; margin: 0.75rem 0.75rem 0 0.75rem; padding: 0.5rem; display: flex; align-items: center; justify-content: center; box-sizing: border-box;">
            <img src="images/Shilajit-Extreme-PRO8.jpg" alt="Shilajit Extreme" style="width: 100%; height: 180px; object-fit: contain; display: block;">
          </div>
          <div class="supplement-body">
            <div>
              <div class="supplement-category">Testosterone Support</div>
              <h3 class="supplement-name">Shilajit Extreme</h3>
              <p class="supplement-desc">
                Formulated with traditional ingredients used to support male vitality, energy, and overall wellness as part of an active lifestyle.
              </p>
            </div>
            <a href="https://nplink.net/tzu21ri7" target="_blank" rel="noopener noreferrer" class="btn-supplement">Learn More</a>
          </div>
        </article>
      </div>

      <div class="supplements-disclosure">
        This page contains affiliate links. If you make a purchase through these links, I may earn a commission at no additional cost to you.
      </div>
    </div>
  </section>

  <!-- 6. FOOTER -->
  <footer class="site-footer">
    <div class="container">
      <div class="footer-grid">
        <div>
          <div class="footer-brand-title">Indoor Cycling Method</div>
          <p style="max-width:380px; margin-bottom:1rem;">
            Empowering indoor cyclists worldwide to ride with precision biomechanics, higher sustainable output, and total joint longevity.
          </p>
          <div class="footer-socials">
            <!-- Instagram -->
            <a href="https://instagram.com" target="_blank" rel="noopener" class="social-btn" aria-label="Instagram">
              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <rect x="2" y="2" width="20" height="20" rx="5" ry="5"/>
                <path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/>
                <line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/>
              </svg>
            </a>
            <!-- Facebook -->
            <a href="https://facebook.com" target="_blank" rel="noopener" class="social-btn" aria-label="Facebook">
              <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"/>
              </svg>
            </a>
          </div>
        </div>

        <div>
          <h4 style="color:#fff; font-size:1rem; margin-top:0; margin-bottom:1rem;">Programs & Guides</h4>
          <ul style="list-style:none; padding:0; margin:0; display:grid; gap:0.6rem;">
            <li><a href="#guides" style="color:var(--text-muted); text-decoration:none;">Read Your Body</a></li>
            <li><a href="#guides" style="color:var(--text-muted); text-decoration:none;">The Perfect Bike Fit</a></li>
            <li><a href="#guides" style="color:var(--text-muted); text-decoration:none;">Bodyweight Conditioning</a></li>
            <li><a href="#bundle" style="color:var(--text-muted); text-decoration:none;">Complete Method (Bundle)</a></li>
          </ul>
        </div>

        <div>
          <h4 style="color:#fff; font-size:1rem; margin-top:0; margin-bottom:1rem;">Resources</h4>
          <ul style="list-style:none; padding:0; margin:0; display:grid; gap:0.6rem;">
            <li><a href="#gear" style="color:var(--text-muted); text-decoration:none;">Recommended Shoes & Mats</a></li>
            <li><a href="#gear" style="color:var(--text-muted); text-decoration:none;">Cadence Sensors</a></li>
            <li><a href="#checklist" style="color:var(--text-muted); text-decoration:none;">Free Setup Checklist</a></li>
            <li><a href="https://indoorcyclingmethod.com/checklist.pdf" target="_blank" rel="noopener" style="color:var(--text-muted); text-decoration:none;">Download Checklist PDF</a></li>
          </ul>
        </div>
      </div>

      <div class="footer-bottom">
        <p style="margin:0;">
          &copy; <span id="year">2025</span> Indoor Cycling Method & Prof. Mateus. All rights reserved.
        </p>
      </div>
    </div>
  </footer>

  <script>
    // Dynamic year update
    const yearSpan = document.getElementById('year');
    if (yearSpan) {
      yearSpan.textContent = new Date().getFullYear();
    }
  </script>

<script>
/* Skip artifact shell — fixed helpers served beside every artifact. */
(function () {
  "use strict";

  var fmt = {
    num: function (v, opts) { return new Intl.NumberFormat("pt-BR", opts || {}).format(v); },
    brl: function (v) { return new Intl.NumberFormat("pt-BR", { style: "currency", currency: "BRL" }).format(v); },
    pct: function (v) { return new Intl.NumberFormat("pt-BR", { style: "percent", maximumFractionDigits: 1 }).format(v); }
  };

  // axisFmt keeps axis tick labels short (compact notation) so long values
  // (e.g. full BRL amounts) never clip against the plot edge.
  function axisFmt(v) {
    return fmt.num(v, { notation: "compact", maximumFractionDigits: 1 });
  }

  // format accepts a function OR one of the fmt names ("num" | "brl" | "pct").
  function coerceFormat(spec) {
    if (typeof spec === "function") return spec;
    if (typeof spec === "string" && fmt[spec]) return fmt[spec];
    return function (v) { return fmt.num(v); };
  }

  function accent() {
    return getComputedStyle(document.documentElement).getPropertyValue("--accent").trim() || "#2563eb";
  }
  function mutedColor() {
    return getComputedStyle(document.documentElement).getPropertyValue("--text-muted").trim() || "#5b6472";
  }
  function svgEl(tag, attrs) {
    var el = document.createElementNS("http://www.w3.org/2000/svg", tag);
    for (var k in attrs) el.setAttribute(k, attrs[k]);
    return el;
  }
  function frame(el, w, h) {
    var svg = svgEl("svg", { viewBox: "0 0 " + w + " " + h, role: "img" });
    el.innerHTML = "";
    el.appendChild(svg);
    return svg;
  }

  // maxOf guards the axis scale: empty values would give -Infinity (truthy,
  // so "|| 1" can't catch it) and a non-positive max would flip the chart.
  function maxOf(values) {
    var m = values.length ? Math.max.apply(null, values) : 0;
    return m > 0 ? m : 1;
  }

  // bar(el, {labels:[], values:[], color?, format?}) — vertical bar chart.
  function bar(el, cfg) {
    var W = 640, H = 280, padL = 46, padB = 30, padT = 12;
    var svg = frame(el, W, H);
    var max = maxOf(cfg.values);
    var n = cfg.values.length;
    var plotW = W - padL - 12, plotH = H - padT - padB;
    var step = plotW / n, bw = Math.min(step * 0.62, 64);
    var color = cfg.color || accent();
    var f = coerceFormat(cfg.format);
    for (var g = 0; g <= 4; g++) {
      var gy = padT + plotH - (plotH * g) / 4;
      svg.appendChild(svgEl("line", { x1: padL, y1: gy, x2: W - 12, y2: gy, stroke: "currentColor", "stroke-opacity": 0.08 }));
      var lbl = svgEl("text", { x: padL - 8, y: gy + 4, "text-anchor": "end", "font-size": 10, fill: mutedColor() });
      lbl.textContent = axisFmt((max * g) / 4);
      svg.appendChild(lbl);
    }
    cfg.values.forEach(function (v, i) {
      var bh = Math.max(0, (v / max) * plotH);
      var x = padL + i * step + (step - bw) / 2;
      var y = padT + plotH - bh;
      var r = svgEl("rect", { x: x, y: y, width: bw, height: bh, rx: 4, fill: color });
      var t = svgEl("title", {});
      t.textContent = cfg.labels[i] + ": " + f(v);
      r.appendChild(t);
      svg.appendChild(r);
      var tx = svgEl("text", { x: x + bw / 2, y: H - 10, "text-anchor": "middle", "font-size": 11, fill: mutedColor() });
      tx.textContent = cfg.labels[i];
      svg.appendChild(tx);
    });
  }

  // line(el, {labels:[], values:[], color?, format?}) — single-series line.
  function line(el, cfg) {
    var W = 640, H = 280, padL = 46, padB = 30, padT = 12;
    var svg = frame(el, W, H);
    var max = maxOf(cfg.values);
    var n = cfg.values.length;
    var plotW = W - padL - 16, plotH = H - padT - padB;
    var color = cfg.color || accent();
    var f = coerceFormat(cfg.format);
    for (var g = 0; g <= 4; g++) {
      var gy = padT + plotH - (plotH * g) / 4;
      svg.appendChild(svgEl("line", { x1: padL, y1: gy, x2: W - 16, y2: gy, stroke: "currentColor", "stroke-opacity": 0.08 }));
      var lbl = svgEl("text", { x: padL - 8, y: gy + 4, "text-anchor": "end", "font-size": 10, fill: mutedColor() });
      lbl.textContent = axisFmt((max * g) / 4);
      svg.appendChild(lbl);
    }
    var pts = cfg.values.map(function (v, i) {
      var x = padL + (n === 1 ? plotW / 2 : (plotW * i) / (n - 1));
      var y = padT + plotH - (v / max) * plotH;
      return [x, y];
    });
    var d = pts.map(function (p, i) { return (i ? "L" : "M") + p[0].toFixed(1) + " " + p[1].toFixed(1); }).join(" ");
    svg.appendChild(svgEl("path", { d: d, fill: "none", stroke: color, "stroke-width": 2, "stroke-linejoin": "round" }));
    pts.forEach(function (p, i) {
      var c = svgEl("circle", { cx: p[0], cy: p[1], r: 3.5, fill: color });
      var t = svgEl("title", {});
      t.textContent = cfg.labels[i] + ": " + f(cfg.values[i]);
      c.appendChild(t);
      svg.appendChild(c);
      var tx = svgEl("text", { x: p[0], y: H - 10, "text-anchor": "middle", "font-size": 11, fill: mutedColor() });
      tx.textContent = cfg.labels[i];
      svg.appendChild(tx);
    });
  }

  // donut(el, {labels:[], values:[], colors?}) — donut with center total.
  function donut(el, cfg) {
    var W = 320, H = 280, cx = W / 2, cy = H / 2, R = 92, r = 58;
    var svg = frame(el, W, H);
    var total = cfg.values.reduce(function (a, b) { return a + b; }, 0) || 1;
    var palette = cfg.colors || [accent(), "#1baf7a", "#eda100", "#e34948", "#4a3aa7", "#e87ba4"];
    var a0 = -Math.PI / 2;
    cfg.values.forEach(function (v, i) {
      var a1 = a0 + (v / total) * Math.PI * 2;
      var large = a1 - a0 > Math.PI ? 1 : 0;
      var p = ["M", cx + R * Math.cos(a0), cy + R * Math.sin(a0),
        "A", R, R, 0, large, 1, cx + R * Math.cos(a1), cy + R * Math.sin(a1),
        "L", cx + r * Math.cos(a1), cy + r * Math.sin(a1),
        "A", r, r, 0, large, 0, cx + r * Math.cos(a0), cy + r * Math.sin(a0), "Z"].join(" ");
      var path = svgEl("path", { d: p, fill: palette[i % palette.length] });
      var t = svgEl("title", {});
      t.textContent = cfg.labels[i] + ": " + fmt.num(v) + " (" + fmt.pct(v / total) + ")";
      path.appendChild(t);
      svg.appendChild(path);
      a0 = a1;
    });
    var center = svgEl("text", { x: cx, y: cy + 5, "text-anchor": "middle", "font-size": 20, "font-weight": 650, fill: "currentColor" });
    center.textContent = fmt.num(total);
    svg.appendChild(center);
  }

  window.skipShell = { fmt: fmt };
  window.skipChart = { bar: bar, line: line, donut: donut };
})();
<!-- Amazon click tracker -->
<script>
  document.querySelectorAll('a[href*="amazon.com"], a[href*="amzn.to"]').forEach(function(link){
    link.addEventListener('click', function(){
      if (typeof gtag === 'function') {
        gtag('event', 'amazon_click', {
          'link_url': link.href,
          'link_text': link.textContent.trim().substring(0, 50)
        });
      }
    });
  });
</script>
</body>
</html>