<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<script>document.documentElement.className+=' js';</script>
<title>TracerSMC: Auto-Plot BOS, CHoCH, Order Blocks &amp; Liquidity on TradingView</title>
<meta name="description" content="The TradingView indicator that auto-plots BOS, CHoCH, order blocks and liquidity sweeps. Non-repainting, candle-close confirmed, on every pair. Stop drawing. Start trading." />
<meta property="og:title" content="TracerSMC: Stop Drawing. Start Trading." />
<meta property="og:description" content="Auto-plot every BOS, CHoCH, order block and liquidity sweep on TradingView. Non-repainting. Candle-close confirmed. Built for serious SMC traders." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://tracersmc.com/" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="TracerSMC: Stop Drawing. Start Trading." />
<meta name="twitter:description" content="The TradingView indicator that reads SMC structure for you." />
<meta property="og:image" content="https://tracersmc.com/og-image.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:site_name" content="TracerSMC" />
<meta property="og:locale" content="en_US" />
<meta name="twitter:image" content="https://tracersmc.com/og-image.png" />
<link rel="canonical" href="https://tracersmc.com/" />

<link rel="icon" href="/favicon.ico" sizes="32x32" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" />
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<link rel="manifest" href="/site.webmanifest" />
<meta name="theme-color" content="#0b0d11" />

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preconnect" href="https://whop.com">
<link rel="dns-prefetch" href="https://whop.com">
<link rel="preconnect" href="https://www.youtube.com">
<link rel="dns-prefetch" href="https://www.youtube.com">

<link rel="preload"
      href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@500;600;700&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@500;600;700&display=swap"
      as="style"
      onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@500;600;700&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@500;600;700&display=swap"></noscript>

<style>
/* ============================================================
   TracerSMC premium bento, dark-luxe teal
   Palette sampled from the reference design + app icon.
   ============================================================ */
:root{
  --bg:          #0b0d11;
  --panel:       #0d1319;
  --panel-2:     #0a0f14;
  --card:        #101a21;
  --card-2:      #0c1419;

  --line:        rgba(146,225,205,.09);
  --line-2:      rgba(146,225,205,.16);
  --line-3:      rgba(146,225,205,.26);

  --text:        #e9eff1;
  --text-2:      #a1adb6;
  --text-3:      #62717b;

  --mint:        #12e39e;
  --mint-hi:     #5beed2;
  --mint-deep:   #0aa578;
  --teal:        #0a5d54;
  --mint-soft:   rgba(18,227,158,.09);
  --mint-line:   rgba(18,227,158,.28);
  --mint-glow:   rgba(18,227,158,.16);

  --up:          #12e39e;
  --down:        #ff4d6a;

  --r-sm: 11px;
  --r:    16px;
  --r-lg: 24px;

  /* Emil: built-in easings are too weak. */
  --ease-out:    cubic-bezier(.23,1,.32,1);
  --ease-in-out: cubic-bezier(.77,0,.175,1);
  --ease:        cubic-bezier(.4,0,.2,1);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.55;
  letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:6px}
::selection{background:var(--mint);color:#04120e}

/* ---------- Ambient ---------- */
.ambient{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.orb{position:absolute;border-radius:50%;filter:blur(130px)}
.orb-1{width:720px;height:720px;top:-300px;left:-180px;background:radial-gradient(circle,rgba(18,227,158,.17),transparent 66%)}
.orb-2{width:620px;height:620px;top:44%;right:-260px;background:radial-gradient(circle,rgba(10,93,84,.4),transparent 66%)}

/* ---------- Shell ---------- */
.shell{position:relative;z-index:1;max-width:1300px;margin:0 auto;padding:clamp(12px,1.6vw,22px) clamp(14px,2.4vw,26px)}
.stack{display:flex;flex-direction:column;gap:clamp(12px,1.4vw,18px)}

/* ---------- Type ---------- */
h1,h2,h3,h4{
  font-family:"Inter Tight","Inter",sans-serif;
  font-weight:600;letter-spacing:-.035em;line-height:1.06;margin:0;color:var(--text);
}
h1{font-size:clamp(38px,4.3vw,58px);letter-spacing:-.042em;line-height:1.03}
h2{font-size:clamp(26px,2.6vw,38px);letter-spacing:-.038em}
h3{font-size:clamp(16px,1.2vw,19px);letter-spacing:-.025em;font-weight:600}
p{margin:0}
.mint{color:var(--mint)}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace;letter-spacing:.02em}
.lede{color:var(--text-2);font-size:clamp(14.5px,1.02vw,16px);line-height:1.62;font-weight:300}
.sub{color:var(--text-2);font-size:14.5px;line-height:1.6;font-weight:300}
.eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mint);
}

/* ---------- Surfaces ---------- */
.panel{
  position:relative;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:
    radial-gradient(105% 78% at 8% 0%, rgba(18,227,158,.055), transparent 56%),
    linear-gradient(180deg,var(--panel),var(--panel-2));
  padding:clamp(20px,2.8vw,44px);
  overflow:hidden;
}
.card{
  position:relative;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:linear-gradient(180deg,var(--card),var(--card-2));
  padding:clamp(16px,1.5vw,22px);
  transition:border-color 220ms var(--ease), transform 220ms var(--ease-out), box-shadow 220ms var(--ease);
}
.card-accent{
  border-color:var(--mint-line);
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(18,227,158,.11), transparent 60%),
    linear-gradient(180deg,var(--card),var(--card-2));
  box-shadow:0 0 0 1px rgba(18,227,158,.05), 0 18px 50px -28px var(--mint-glow);
}
@media (hover:hover) and (pointer:fine){
  .card:hover{border-color:var(--line-2);transform:translateY(-2px)}
  .card-accent:hover{border-color:rgba(18,227,158,.42)}
}

.chip{
  width:34px;height:34px;flex:0 0 34px;border-radius:9px;
  display:grid;place-items:center;color:var(--mint);
  background:var(--mint-soft);border:1px solid var(--mint-line);
}
.chip-x{color:var(--down);background:rgba(255,77,106,.08);border-color:rgba(255,77,106,.24)}

/* ---------- Tick lists ---------- */
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ticks li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--text-2)}
.ticks li strong{color:var(--text);font-weight:500}
.tick{
  width:16px;height:16px;flex:0 0 16px;border-radius:50%;margin-top:2px;
  display:grid;place-items:center;color:var(--mint);
  background:var(--mint-soft);border:1px solid var(--mint-line);
}
.tick-x{color:var(--text-3);background:rgba(146,225,205,.04);border-color:var(--line-2);border-radius:50%}
.ticks-2{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
@media(max-width:560px){.ticks-2{grid-template-columns:1fr}}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 19px;border-radius:999px;
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:14px;font-weight:600;letter-spacing:-.015em;white-space:nowrap;
  transition:transform 160ms var(--ease-out), box-shadow 200ms var(--ease), background-color 200ms var(--ease), border-color 200ms var(--ease), color 200ms var(--ease);
}
.btn:active{transform:scale(.97)}
.btn-primary{
  background:linear-gradient(180deg,var(--mint-hi),var(--mint) 46%,var(--mint-deep));
  color:#04241a;
  box-shadow:0 4px 18px -4px rgba(18,227,158,.45), inset 0 1px 0 rgba(255,255,255,.35);
}
.btn-ghost{border:1px solid var(--line-2);color:var(--text-2)}
.btn-lg{padding:13px 26px;font-size:15px}
.btn .arrow{transition:transform 200ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  .btn-primary:hover{box-shadow:0 8px 26px -4px rgba(18,227,158,.55), inset 0 1px 0 rgba(255,255,255,.45)}
  .btn-ghost:hover{border-color:var(--line-3);color:var(--text)}
  .btn:hover .arrow{transform:translateX(3px)}
}

/* ---------- Logo ---------- */
.logo{display:inline-flex;align-items:center;gap:9px}
.logo-mark{
  width:28px;height:28px;flex:0 0 28px;border-radius:8px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(18,227,158,.18), 0 3px 12px -4px rgba(18,227,158,.4);
}
.logo-mark svg{width:100%;height:100%}
.logo-text{font-family:"Inter Tight",sans-serif;font-size:16.5px;font-weight:500;letter-spacing:-.035em}
.logo-text strong{font-weight:700}

/* ---------- Nav (lives inside the hero panel) ---------- */
.nav{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding-bottom:clamp(16px,1.6vw,20px);
  border-bottom:1px solid var(--line);
  margin-bottom:clamp(26px,3.4vw,48px);
}
.nav-links{display:flex;gap:28px;font-size:13.5px;color:var(--text-2)}
.nav-links a{position:relative;padding:2px 0;transition:color 180ms var(--ease)}
.nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--mint);
  transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease-out);
}
@media (hover:hover) and (pointer:fine){
  .nav-links a:hover{color:var(--text)}
  .nav-links a:hover::after{transform:scaleX(1)}
}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-signin{font-size:13.5px;color:var(--text-2);transition:color 180ms var(--ease)}
@media (hover:hover) and (pointer:fine){.nav-signin:hover{color:var(--text)}}
.nav-cta .btn{padding:8px 16px;font-size:13px}
@media(max-width:920px){.nav-links{display:none}}
@media(max-width:460px){.nav-signin{display:none}}

/* ---------- Hero ---------- */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:clamp(12px,1.2vw,16px);align-items:start}
.hero-left{display:flex;flex-direction:column;gap:clamp(18px,1.9vw,24px)}
.hero-copy{display:flex;flex-direction:column;gap:16px}
h1 .block{display:block}
.hero-type{position:relative;display:inline-flex;align-items:baseline}
.hero-code .ch{display:inline-block;white-space:pre}
.hero-code .ch.scrambling{color:var(--mint-deep);opacity:.72}
.hero-code .ch.settled{animation:chSettle 260ms var(--ease-out) both}
@keyframes chSettle{from{opacity:.45;transform:translateY(2px)}to{opacity:1;transform:none}}
.hero-caret{
  display:inline-block;width:3px;height:.78em;margin-left:5px;border-radius:2px;
  background:var(--mint);box-shadow:0 0 12px rgba(18,227,158,.6);
  animation:caret 1.05s steps(1) infinite;
}
@keyframes caret{0%,49%{opacity:1}50%,100%{opacity:0}}
.js .hero-fallback{display:none}
.hero-lede{max-width:52ch}
.trust{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--text-2)}
.trust span{display:inline-flex;align-items:center;gap:7px}
.trust .tick{margin-top:0}

.hero-video{
  position:relative;border:1px solid var(--line-2);border-radius:var(--r);
  overflow:hidden;background:#080c0f;aspect-ratio:16/9;cursor:pointer;
  box-shadow:0 30px 70px -32px rgba(0,0,0,.9);
  transition:border-color 220ms var(--ease);
}
.hero-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hero-video-poster{
  position:absolute;inset:0;display:grid;place-items:center;
  background:radial-gradient(78% 68% at 50% 46%,rgba(18,227,158,.13),transparent 70%),#0a1013;
}
.hero-video-play{
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;padding-left:4px;
  background:linear-gradient(180deg,var(--mint-hi),var(--mint-deep));color:#04241a;
  box-shadow:0 10px 30px -6px rgba(18,227,158,.55);
  transition:transform 200ms var(--ease-out);
}
@media (hover:hover) and (pointer:fine){
  .hero-video:hover{border-color:var(--mint-line)}
  .hero-video:hover .hero-video-play{transform:scale(1.06)}
}

.hero-bento{display:grid;grid-template-columns:1fr 1fr;gap:clamp(11px,1vw,14px)}
.bento{display:flex;flex-direction:column;gap:13px}
.bento h3{line-height:1.24}
.bento-mini{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:#080d10}
.bento-foot{margin-top:auto;padding-top:2px}
.bento-foot .t{font-family:"Inter Tight",sans-serif;font-size:15px;font-weight:600;letter-spacing:-.028em}
.bento-foot .d{font-size:12.5px;color:var(--text-2);margin-top:4px;line-height:1.45}
@media(max-width:1060px){.hero-grid{grid-template-columns:1fr}}
@media(max-width:600px){.hero-bento{grid-template-columns:1fr}}

/* ---------- Section heads ---------- */
.shead{max-width:620px;margin-bottom:clamp(20px,2.3vw,30px)}
.shead h2{margin-bottom:9px}
.shead.center{margin-left:auto;margin-right:auto;text-align:center}
.shead .eyebrow{margin-bottom:12px}

/* ---------- Steps ---------- */
.steps-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:clamp(11px,1vw,14px)}
.steps-intro{display:flex;flex-direction:column;justify-content:center;gap:11px}
.step{display:flex;flex-direction:column;gap:11px}
.step-head{display:flex;align-items:center;gap:10px}
.step-num{font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:700;color:var(--mint);opacity:.55;transition:opacity 220ms var(--ease)}
.step p{font-size:13px;color:var(--text-2);line-height:1.55}
@media (hover:hover) and (pointer:fine){.step:hover .step-num{opacity:1}}
@media(max-width:1060px){.steps-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.steps-grid{grid-template-columns:1fr}}

/* ---------- Feature explorer ---------- */
.fi-grid{display:grid;grid-template-columns:minmax(0,336px) minmax(0,1fr);gap:clamp(11px,1.1vw,15px)}
.fi-tabs{display:flex;flex-direction:column;gap:8px}
.fi-tab{
  position:relative;display:flex;align-items:flex-start;gap:11px;text-align:left;
  border:1px solid var(--line);border-radius:var(--r-sm);
  background:linear-gradient(180deg,var(--card),var(--card-2));
  padding:12px 13px;overflow:hidden;
  transition:border-color 200ms var(--ease), background-color 200ms var(--ease), transform 160ms var(--ease-out);
}
.fi-tab:active{transform:scale(.99)}
.fi-tab.active{border-color:var(--mint-line);background:rgba(18,227,158,.055)}
.fi-tab-icon{
  width:29px;height:29px;flex:0 0 29px;border-radius:8px;display:grid;place-items:center;
  color:var(--text-3);background:rgba(146,225,205,.05);border:1px solid var(--line-2);
  transition:color 200ms var(--ease), background-color 200ms var(--ease), border-color 200ms var(--ease);
}
.fi-tab.active .fi-tab-icon{color:var(--mint);background:var(--mint-soft);border-color:var(--mint-line)}
.fi-tab-title{display:block;font-family:"Inter Tight",sans-serif;font-size:14px;font-weight:600;letter-spacing:-.022em}
.fi-tab-desc{font-size:12px;color:var(--text-2);line-height:1.4;margin-top:2px}
.fi-tab-progress{position:absolute;left:0;right:0;bottom:0;height:1.5px}
.fi-tab-progress span{display:block;height:100%;width:0;background:var(--mint);opacity:.8}
.fi-tab.active .fi-tab-progress span{animation:fiBar 5.5s linear forwards}
@keyframes fiBar{from{width:0}to{width:100%}}
@media (hover:hover) and (pointer:fine){.fi-tab:hover{border-color:var(--line-2)}}

.fi-stage{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#080d10;display:flex;flex-direction:column}
.fi-bar{display:flex;align-items:center;gap:10px;padding:9px 13px;border-bottom:1px solid var(--line);background:rgba(146,225,205,.02)}
.fi-bar-pair{display:inline-flex;align-items:center;gap:7px;font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--text-2);font-weight:600}
.lv-dot{width:6px;height:6px;border-radius:50%;background:var(--mint);animation:lv 1.8s ease-in-out infinite}
@keyframes lv{0%,100%{box-shadow:0 0 0 0 rgba(18,227,158,.45)}50%{box-shadow:0 0 0 5px rgba(18,227,158,0)}}
.fi-toggles{margin-left:auto;display:flex;gap:6px}
.fi-tg{
  display:inline-flex;align-items:center;gap:6px;padding:3px 7px 3px 8px;border-radius:999px;
  border:1px solid var(--line);background:rgba(146,225,205,.03);
  font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:600;letter-spacing:.06em;color:var(--text-3);
  transition:color 220ms var(--ease), border-color 220ms var(--ease), background-color 220ms var(--ease);
}
.fi-tg i{width:16px;height:9px;border-radius:999px;background:rgba(146,225,205,.14);position:relative;transition:background-color 220ms var(--ease)}
.fi-tg i::after{
  content:"";position:absolute;top:1.5px;left:1.5px;width:6px;height:6px;border-radius:50%;
  background:var(--text-3);transition:transform 220ms var(--ease-out), background-color 220ms var(--ease);
}
.fi-tg.on{color:var(--mint);border-color:var(--mint-line);background:rgba(18,227,158,.07)}
.fi-tg.on i{background:rgba(18,227,158,.3)}
.fi-tg.on i::after{transform:translateX(7px);background:var(--mint)}
.fi-chart{flex:1;min-height:296px}
.fi-layer{transition:opacity 420ms var(--ease)}
@media(max-width:880px){
  .fi-grid{grid-template-columns:1fr}
  .fi-tabs{flex-direction:row;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .fi-tabs::-webkit-scrollbar{display:none}
  .fi-tab{min-width:232px;flex:0 0 auto}
  .fi-toggles{display:none}
}

/* ---------- Compare ---------- */
.vs-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(11px,1.1vw,15px)}
.vs-head{display:flex;align-items:center;gap:9px;padding-bottom:13px;margin-bottom:15px;border-bottom:1px solid var(--line)}
.vs-name{font-family:"Inter Tight",sans-serif;font-size:15.5px;font-weight:500;letter-spacing:-.03em}
.vs-name strong{font-weight:700}
.vs-mute-mark{width:28px;height:28px;flex:0 0 28px;border-radius:8px;background:rgba(146,225,205,.05);border:1px solid var(--line-2)}
.vs-them{opacity:.72}
@media(max-width:820px){.vs-grid{grid-template-columns:1fr}}

/* ---------- Testimonials ---------- */
.testi-top{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-bottom:clamp(18px,2.2vw,28px)}
.rating{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.stars{display:flex;gap:2px;color:var(--mint)}
.rating-text{font-size:12.5px;color:var(--text-2)}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(11px,1.1vw,15px)}
.quote{display:flex;flex-direction:column;gap:13px}
.quote p{font-size:13.5px;line-height:1.6;color:var(--text-2)}
.who{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:4px}
.av{
  position:relative;width:30px;height:30px;border-radius:50%;flex:0 0 30px;overflow:hidden;
  display:grid;place-items:center;font-size:11.5px;font-weight:600;color:#04241a;
  background:linear-gradient(150deg,var(--mint-hi),var(--mint-deep));
}
/* The initial is the base layer. A real photo, when present, covers it. */
.av picture,.av img{position:absolute;inset:0;width:100%;height:100%}
.av img{object-fit:cover}
.who strong{display:block;font-size:13px;font-weight:500}
.who span{display:block;font-size:11.5px;color:var(--text-3)}
@media(max-width:880px){.quotes{grid-template-columns:1fr}}

/* ---------- Pricing ---------- */
.price-grid{display:grid;grid-template-columns:1fr .88fr;gap:clamp(11px,1.1vw,15px)}
.price-copy{display:flex;flex-direction:column;gap:16px;justify-content:center}
.price-card{display:flex;flex-direction:column;gap:15px}
.tier-name{font-family:"Inter Tight",sans-serif;font-size:19px;font-weight:600;letter-spacing:-.032em}
.tier-tag{font-size:13px;color:var(--text-2);margin-top:3px;line-height:1.45}
.tier-price{display:flex;align-items:flex-start;gap:2px;line-height:1;font-family:"Inter Tight",sans-serif}
.t-cur{font-size:23px;font-weight:500;color:var(--text-2);margin-top:9px}
.t-amt{font-size:clamp(50px,5vw,64px);font-weight:600;letter-spacing:-.05em;line-height:.9}
.t-per{font-size:13.5px;color:var(--text-2);align-self:flex-end;margin:0 0 6px 6px;font-family:"Inter",sans-serif}
.tier-was{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--text-3);margin-top:10px}
.tier-save{font-size:10.5px;font-weight:600;color:var(--mint);padding:2px 8px;border-radius:999px;background:var(--mint-soft);border:1px solid var(--mint-line)}
.tier-bill{font-size:12px;color:var(--text-3)}
.tier-cta{width:100%}
.pay{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.pay span{
  font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:600;letter-spacing:.06em;
  color:var(--text-3);border:1px solid var(--line);border-radius:6px;padding:4px 8px;
}
.divider{height:1px;background:var(--line)}
@media(max-width:840px){.price-grid{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
.faq-item{
  border:1px solid var(--line);border-radius:var(--r-sm);
  background:linear-gradient(180deg,var(--card),var(--card-2));overflow:hidden;
  transition:border-color 200ms var(--ease), background-color 200ms var(--ease);
}
.faq-item.open{border-color:var(--mint-line);background:rgba(18,227,158,.04)}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;
  padding:14px 16px;text-align:left;
  font-family:"Inter Tight",sans-serif;font-size:14px;font-weight:500;letter-spacing:-.022em;
}
.faq-q .chev{color:var(--text-3);flex:0 0 auto;transition:transform 240ms var(--ease-out), color 200ms var(--ease)}
.faq-item.open .chev{transform:rotate(180deg);color:var(--mint)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows 280ms var(--ease-out)}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-a-clip{overflow:hidden}
.faq-a-clip > div{
  padding:0 16px 15px;font-size:13px;line-height:1.62;color:var(--text-2);
  opacity:0;transition:opacity 200ms var(--ease) 40ms;
}
.faq-item.open .faq-a-clip > div{opacity:1}
@media (hover:hover) and (pointer:fine){.faq-item:hover{border-color:var(--line-2)}}
@media(max-width:740px){.faq-grid{grid-template-columns:1fr}}

/* ---------- Final CTA ---------- */
.final{
  text-align:center;
  background:
    radial-gradient(70% 120% at 50% 0%, rgba(18,227,158,.11), transparent 60%),
    linear-gradient(180deg,var(--panel),var(--panel-2));
}
.final::before{
  content:"";position:absolute;top:-46%;left:-6%;width:46%;height:200%;
  background:linear-gradient(90deg,transparent,rgba(18,227,158,.14),transparent);
  transform:rotate(22deg);pointer-events:none;filter:blur(18px);
}
.final-inner{position:relative;max-width:600px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:15px;padding:clamp(10px,2.2vw,34px) 0}
.strike{position:relative;display:inline-block}
.strike::after{
  content:"";position:absolute;left:-2%;right:-2%;top:54%;height:3px;border-radius:2px;
  background:var(--mint);box-shadow:0 0 14px rgba(18,227,158,.6);
  transform:scaleX(0);transform-origin:left;
  transition:transform 520ms var(--ease-out);
}
.strike.struck::after{transform:scaleX(1)}

/* ---------- Footer ---------- */
.foot{padding:clamp(22px,2.4vw,30px) clamp(4px,1vw,10px) 6px}
.foot-top{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.foot-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.foot-copy{font-size:12.5px;color:var(--text-3)}
.foot-socials{display:flex;gap:7px}
.foot-socials a{
  width:31px;height:31px;border-radius:9px;display:grid;place-items:center;
  border:1px solid var(--line);color:var(--text-3);
  transition:color 200ms var(--ease), border-color 200ms var(--ease), transform 200ms var(--ease-out);
}
@media (hover:hover) and (pointer:fine){
  .foot-socials a:hover{color:var(--mint);border-color:var(--mint-line);transform:translateY(-2px)}
}
.foot-about{font-size:13px;color:var(--text-2);line-height:1.55;max-width:420px;margin-top:18px}
.disclaimer{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:11.5px;line-height:1.6;color:var(--text-3)}

/* ---------- Reveal (marketing motion, longer is fine) ---------- */
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity 620ms var(--ease-out), transform 620ms var(--ease-out)}
.js .reveal.in{opacity:1;transform:none}
.js .stagger > *{opacity:0;transform:translateY(12px);transition:opacity 460ms var(--ease-out), transform 460ms var(--ease-out)}
.js .stagger.in > *{opacity:1;transform:none}
.stagger.in > *:nth-child(2){transition-delay:55ms}
.stagger.in > *:nth-child(3){transition-delay:110ms}
.stagger.in > *:nth-child(4){transition-delay:165ms}
.stagger.in > *:nth-child(5){transition-delay:220ms}
.stagger.in > *:nth-child(6){transition-delay:275ms}

@media(max-width:768px){
  .orb{filter:blur(80px)}
  .orb-1{width:460px;height:460px;top:-180px;left:-150px}
  .final::before{display:none}
}

/* Reduced motion: keep opacity/colour, drop movement. */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:1ms !important;animation-iteration-count:1 !important;
    transition-duration:1ms !important;scroll-behavior:auto !important;
  }
  .reveal,.stagger > *{opacity:1 !important;transform:none !important}
  .hero-caret{opacity:1 !important}
}
</style>

<script async src="https://plausible.io/js/pa-BeOqAcvKS0abx2Emw7jLf.js"></script>
<script>
  window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
  plausible.init()
</script>
</head>
<body>

<div class="ambient" aria-hidden="true">
  <div class="orb orb-1"></div>
  <div class="orb orb-2"></div>
</div>

<!-- Reusable logo mark -->
<svg width="0" height="0" style="position:absolute" aria-hidden="true">
  <defs>
    <linearGradient id="lmBg" x1="0" y1="0" x2="1" y2="1">
      <stop offset="0" stop-color="#0e6b5f"/>
      <stop offset=".42" stop-color="#08181c"/>
      <stop offset=".62" stop-color="#07161a"/>
      <stop offset="1" stop-color="#0b5f57"/>
    </linearGradient>
    <linearGradient id="lmArrow" x1="0" y1="1" x2="1" y2="0">
      <stop offset="0" stop-color="#eefbf7"/>
      <stop offset=".6" stop-color="#dff7ef"/>
      <stop offset="1" stop-color="#4ee9cd"/>
    </linearGradient>
    <symbol id="logoMark" viewBox="0 0 40 40">
      <rect width="40" height="40" rx="11" fill="url(#lmBg)"/>
      <path d="M4 21.5 L36 21.5" stroke="#12907e" stroke-width="2.1" stroke-linecap="round" stroke-dasharray="2.4 2.8"/>
      <path d="M20 8 L20 32" stroke="#0fb89b" stroke-width="1.7" stroke-linecap="round"/>
      <rect x="16.3" y="14.5" width="7.4" height="12.6" rx="1.8" fill="#0fb89b"/>
      <path d="M6 27.5 C 11 26.5, 13.5 25, 15.5 21.5 L 23 21.5 C 25 17.5, 28.5 12.5, 33 10" stroke="url(#lmArrow)" stroke-width="2.7" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
      <path d="M28.6 9.6 L33.2 10 L32.8 14.6" stroke="#4ee9cd" stroke-width="2.7" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
    </symbol>
  </defs>
</svg>

<div class="shell">
<div class="stack" id="top">

<!-- ============ HERO (nav lives inside the panel) ============ -->
<section class="panel">

  <nav class="nav">
    <a href="#top" class="logo">
      <span class="logo-mark"><svg viewBox="0 0 40 40"><use href="#logoMark"/></svg></span>
      <span class="logo-text">Tracer<strong>SMC</strong></span>
    </a>
    <div class="nav-links">
      <a href="#how">How it works</a>
      <a href="#discover">Features</a>
      <a href="#compare">Compare</a>
      <a href="#pricing">Pricing</a>
      <a href="#faq">FAQ</a>
    </div>
    <div class="nav-cta">
      <a href="https://whop.com/login/" target="_blank" rel="noopener" class="nav-signin" data-cta="nav-signin">Sign in</a>
      <a href="#pricing" class="btn btn-primary" data-cta="nav-getstarted">Get started</a>
    </div>
  </nav>

  <div class="hero-grid">
    <div class="hero-left">
      <div class="hero-copy">
        <h1>
          <span class="block">Stop drawing.</span>
          <span class="block mint hero-type"><span class="hero-code" id="heroCode" aria-label="Start trading."><span class="hero-fallback">Start trading.</span></span><span class="hero-caret" aria-hidden="true"></span></span>
        </h1>

        <p class="lede hero-lede">
          You spent months learning SMC. You shouldn't spend another hour every session redrawing the same structure. TracerSMC plots BOS, CHoCH, order blocks and liquidity sweeps the moment they form. Non-repainting, candle-close confirmed, on every pair you trade.
        </p>

        <div>
          <a href="#pricing" class="btn btn-primary btn-lg" data-cta="hero">
            Get TracerSMC
            <svg class="arrow" width="12" height="12" viewBox="0 0 10 10" fill="none"><path d="M1 5h8m0 0L5 1m4 4L5 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
          </a>
        </div>

        <p class="trust">
          <span><span class="tick"><svg width="9" height="9" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Instant access</span>
          <span><span class="tick"><svg width="9" height="9" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Cancel anytime</span>
          <span><span class="tick"><svg width="9" height="9" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Works on TradingView</span>
        </p>
      </div>

      <div class="hero-video reveal" id="heroVideo" data-yt="JBBbFVCYXK0" role="button" tabindex="0" aria-label="Play the TracerSMC demo video">
        <div class="hero-video-poster" aria-hidden="true">
          <span class="hero-video-play">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M8 5.14v13.72a1 1 0 0 0 1.52.86l11-6.86a1 1 0 0 0 0-1.72l-11-6.86A1 1 0 0 0 8 5.14z"/></svg>
          </span>
        </div>
      </div>
    </div>

    <div class="hero-bento stagger reveal">

      <div class="card bento">
        <span class="chip chip-x">
          <svg width="15" height="15" viewBox="0 0 14 14" fill="none"><path d="M4 4l6 6M10 4l-6 6" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>
        </span>
        <h3>You didn't get into trading to draw rectangles all day.</h3>
        <ul class="ticks">
          <li><span class="tick tick-x"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M4 4l6 6M10 4l-6 6" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg></span>Hours lost marking order blocks, FVGs and liquidity by hand, every single session.</li>
          <li><span class="tick tick-x"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M4 4l6 6M10 4l-6 6" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg></span>Miss a setup on one pair because you were drawing on another.</li>
          <li><span class="tick tick-x"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M4 4l6 6M10 4l-6 6" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg></span>Second-guessing whether that level is "real" or you forced it to fit.</li>
          <li><span class="tick tick-x"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M4 4l6 6M10 4l-6 6" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg></span>Indicators that repaint and lie about entries after the candle closes.</li>
        </ul>
      </div>

      <div class="card card-accent bento">
        <span class="chip">
          <svg width="15" height="15" viewBox="0 0 16 16" fill="none"><path d="M2 12 L6 7 L9 10 L14 4" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg>
        </span>
        <h3>Every SMC concept, automated.</h3>
        <ul class="ticks">
          <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Swing, internal &amp; fractal structure</li>
          <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Order blocks with live mitigation %</li>
          <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>OB liquidity sweeps</li>
          <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Premium / discount filter</li>
          <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>D / W / M / Q / Y opens</li>
          <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Multi-timeframe dashboard</li>
        </ul>
      </div>

      <div class="card bento">
        <span class="chip">
          <svg width="15" height="15" viewBox="0 0 16 16" fill="none"><rect x="2" y="4" width="12" height="4" stroke="currentColor" stroke-width="1.5"/><rect x="2" y="10" width="12" height="3" stroke="currentColor" stroke-width="1.5" opacity=".5"/></svg>
        </span>
        <h3>Most SMC scripts draw noise.</h3>
        <ul class="ticks">
          <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Non-repainting structure</li>
          <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Mitigated zones fade out</li>
          <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Auto pip detection per asset</li>
          <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Built by traders, for traders</li>
        </ul>
      </div>

      <div class="card bento">
        <div class="bento-mini">
          <svg viewBox="0 0 300 148" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;display:block" aria-hidden="true">
            <rect width="300" height="148" fill="#080d10"/>
            <rect x="58" y="84" width="152" height="20" fill="rgba(18,227,158,.14)" stroke="rgba(18,227,158,.45)" stroke-width="1"/>
            <line x1="12" y1="42" x2="288" y2="42" stroke="rgba(255,77,106,.5)" stroke-width="1" stroke-dasharray="4 3"/>
            <g fill="#12e39e" stroke="#12e39e"><line x1="30" y1="120" x2="30" y2="96" stroke-width="1"/><rect x="27" y="102" width="6" height="14" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="52" y1="112" x2="52" y2="90" stroke-width="1"/><rect x="49" y="95" width="6" height="13" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="74" y1="106" x2="74" y2="80" stroke-width="1"/><rect x="71" y="86" width="6" height="16" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="96" y1="94" x2="96" y2="68" stroke-width="1"/><rect x="93" y="74" width="6" height="16" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="118" y1="86" x2="118" y2="64" stroke-width="1"/><rect x="115" y="69" width="6" height="13" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="140" y1="82" x2="140" y2="56" stroke-width="1"/><rect x="137" y="61" width="6" height="17" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="162" y1="70" x2="162" y2="44" stroke-width="1"/><rect x="159" y="50" width="6" height="16" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="184" y1="64" x2="184" y2="38" stroke-width="1"/><rect x="181" y="44" width="6" height="15" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="206" y1="68" x2="206" y2="42" stroke-width="1"/><rect x="203" y="48" width="6" height="15" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="228" y1="60" x2="228" y2="34" stroke-width="1"/><rect x="225" y="40" width="6" height="15" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="250" y1="58" x2="250" y2="36" stroke-width="1"/><rect x="247" y="41" width="6" height="13" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="272" y1="56" x2="272" y2="32" stroke-width="1"/><rect x="269" y="38" width="6" height="14" rx="1"/></g>
            <path d="M30 108 L96 76 L140 64 L184 42 L272 40" fill="none" stroke="#5beed2" stroke-width="1.4" opacity=".85" stroke-linejoin="round"/>
          </svg>
        </div>
        <div class="bento-foot">
          <div class="t">Non-repainting. Candle-close confirmed.</div>
          <div class="d">Nothing appears retroactively that wasn't there live.</div>
        </div>
      </div>

    </div>
  </div>
</section>

<!-- ============ HOW IT WORKS ============ -->
<section class="panel" id="how">
  <div class="steps-grid stagger reveal">
    <div class="card steps-intro">
      <h2>Three steps. <span class="mint">No lines to draw.</span></h2>
      <p class="sub">Add it to TradingView, open your chart, take the trade. That's it. There's no learning curve, no setup ritual, no second monitor for "structure."</p>
    </div>

    <div class="card step">
      <div class="step-head">
        <span class="chip"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><path d="M8 3v10M3 8h10" stroke="currentColor" stroke-width="1.7" stroke-linecap="round"/></svg></span>
        <span class="step-num">01</span>
      </div>
      <h3>Add to TradingView</h3>
      <p>One click from your TradingView indicator library. No Pine Script editing, no 40-setting tuning marathon. Defaults are tested across FX, indices, gold and crypto. You're live in under a minute.</p>
    </div>

    <div class="card step">
      <div class="step-head">
        <span class="chip"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><rect x="2" y="3" width="12" height="10" rx="2" stroke="currentColor" stroke-width="1.5"/><path d="M4.5 10l2.5-3 2 2 2.5-3" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>
        <span class="step-num">02</span>
      </div>
      <h3>Open any chart</h3>
      <p>Swing structure, internal structure, fractal CHoCH, order blocks and OB liquidity sweeps appear instantly, already traced, already filtered. Mitigated zones fade out so the chart stays readable.</p>
    </div>

    <div class="card step">
      <div class="step-head">
        <span class="chip"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><path d="M2 11 L6 6 L9 9 L14 3" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.5 3H14v3.5" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg></span>
        <span class="step-num">03</span>
      </div>
      <h3>Trade the setup</h3>
      <p>Set candle-close alerts for the events you actually trade: BoS, CHoCH, OB sweeps. Your prep time drops from hours to zero, and your attention goes where it should, on execution.</p>
    </div>
  </div>
</section>

<!-- ============ FEATURES ============ -->
<section class="panel" id="discover">
  <div class="shead reveal">
    <h2>Every SMC concept, <span class="mint">covered.</span></h2>
    <p class="sub">Three structural layers, OB-based zones, liquidity sweeps and HTF opens. Every signal is rule-based and confirmed on candle close. Click a feature to see it live.</p>
  </div>

  <div class="fi-grid reveal" id="featInteractive">
    <div class="fi-tabs" role="tablist">
      <button class="fi-tab active" data-feat="structure" role="tab" aria-selected="true">
        <span class="fi-tab-icon"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><path d="M2 12 L6 7 L9 10 L14 4" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/></svg></span>
        <span>
          <span class="fi-tab-title">3-layer structure</span>
          <span class="fi-tab-desc" style="display:block">Swing, internal &amp; fractal BoS / CHoCH. Non-repainting.</span>
        </span>
        <span class="fi-tab-progress"><span></span></span>
      </button>

      <button class="fi-tab" data-feat="zones" role="tab" aria-selected="false">
        <span class="fi-tab-icon"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><rect x="2" y="4" width="12" height="4" stroke="currentColor" stroke-width="1.5"/><rect x="2" y="10" width="12" height="3" stroke="currentColor" stroke-width="1.5" opacity=".5"/></svg></span>
        <span>
          <span class="fi-tab-title">Order blocks (FVG-based)</span>
          <span class="fi-tab-desc" style="display:block">Auto-drawn. Fade out when mitigated %.</span>
        </span>
        <span class="fi-tab-progress"><span></span></span>
      </button>

      <button class="fi-tab" data-feat="liquidity" role="tab" aria-selected="false">
        <span class="fi-tab-icon"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><path d="M2 5 H14 M2 11 H14" stroke="currentColor" stroke-width="1.5" stroke-dasharray="2 2"/><circle cx="11" cy="5" r="2" fill="currentColor"/></svg></span>
        <span>
          <span class="fi-tab-title">OB liquidity sweeps</span>
          <span class="fi-tab-desc" style="display:block">Fractal-pivot sweeps flagged at the moment they print.</span>
        </span>
        <span class="fi-tab-progress"><span></span></span>
      </button>

      <button class="fi-tab" data-feat="sessions" role="tab" aria-selected="false">
        <span class="fi-tab-icon"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><path d="M2 4 H14 M2 8 H14 M2 12 H14" stroke="currentColor" stroke-width="1.5"/><circle cx="13" cy="4" r="1.2" fill="currentColor"/></svg></span>
        <span>
          <span class="fi-tab-title">HTF opens</span>
          <span class="fi-tab-desc" style="display:block">D / W / M / Q / Y opens. Auto-hidden when irrelevant.</span>
        </span>
        <span class="fi-tab-progress"><span></span></span>
      </button>

      <button class="fi-tab" data-feat="mtf" role="tab" aria-selected="false">
        <span class="fi-tab-icon"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><rect x="2" y="2" width="12" height="12" stroke="currentColor" stroke-width="1.5"/><path d="M2 8 H14 M8 2 V14" stroke="currentColor" stroke-width="1" opacity=".5"/></svg></span>
        <span>
          <span class="fi-tab-title">Multi-TF dashboard</span>
          <span class="fi-tab-desc" style="display:block">HTF bias &amp; premium/discount on a single chart.</span>
        </span>
        <span class="fi-tab-progress"><span></span></span>
      </button>
    </div>

    <div class="fi-stage">
      <div class="fi-bar">
        <span class="fi-bar-pair"><span class="lv-dot"></span>EURUSD · 1H</span>
        <div class="fi-toggles" aria-hidden="true">
          <span class="fi-tg on" data-tg="structure">STRUCT<i></i></span>
          <span class="fi-tg" data-tg="zones">OB / FVG<i></i></span>
          <span class="fi-tg" data-tg="liquidity">LIQ<i></i></span>
          <span class="fi-tg" data-tg="sessions">HTF<i></i></span>
          <span class="fi-tg" data-tg="mtf">MTF<i></i></span>
        </div>
      </div>
      <div class="fi-chart">
        <svg viewBox="0 0 800 356" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet" style="width:100%;height:100%;display:block">
          <defs>
            <pattern id="fiGrid" width="32" height="32" patternUnits="userSpaceOnUse">
              <path d="M32 0H0V32" fill="none" stroke="rgba(146,225,205,.035)"/>
            </pattern>
            <linearGradient id="fiObBull" x1="0" x2="0" y1="0" y2="1">
              <stop offset="0" stop-color="#12e39e" stop-opacity=".26"/>
              <stop offset="1" stop-color="#12e39e" stop-opacity="0"/>
            </linearGradient>
            <linearGradient id="fiObBear" x1="0" x2="0" y1="0" y2="1">
              <stop offset="0" stop-color="#ff4d6a" stop-opacity=".2"/>
              <stop offset="1" stop-color="#ff4d6a" stop-opacity="0"/>
            </linearGradient>
            <linearGradient id="fiFvg" x1="0" x2="0" y1="0" y2="1">
              <stop offset="0" stop-color="#5beed2" stop-opacity=".24"/>
              <stop offset="1" stop-color="#5beed2" stop-opacity=".03"/>
            </linearGradient>
          </defs>
          <rect width="800" height="356" fill="url(#fiGrid)"/>

          <g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="40" y1="258" x2="40" y2="218" stroke-width="1"/><rect x="36" y="228" width="8" height="25" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="72" y1="243" x2="72" y2="203" stroke-width="1"/><rect x="68" y="213" width="8" height="28" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="104" y1="228" x2="104" y2="193" stroke-width="1"/><rect x="100" y="203" width="8" height="22" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="136" y1="213" x2="136" y2="168" stroke-width="1"/><rect x="132" y="178" width="8" height="32" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="168" y1="193" x2="168" y2="148" stroke-width="1"/><rect x="164" y="158" width="8" height="32" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="200" y1="173" x2="200" y2="133" stroke-width="1"/><rect x="196" y="143" width="8" height="28" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="232" y1="188" x2="232" y2="148" stroke-width="1"/><rect x="228" y="156" width="8" height="30" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="264" y1="208" x2="264" y2="168" stroke-width="1"/><rect x="260" y="178" width="8" height="28" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="296" y1="213" x2="296" y2="173" stroke-width="1"/><rect x="292" y="183" width="8" height="28" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="328" y1="193" x2="328" y2="143" stroke-width="1"/><rect x="324" y="153" width="8" height="38" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="360" y1="163" x2="360" y2="113" stroke-width="1"/><rect x="356" y="123" width="8" height="38" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="392" y1="153" x2="392" y2="118" stroke-width="1"/><rect x="388" y="126" width="8" height="25" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="424" y1="173" x2="424" y2="133" stroke-width="1"/><rect x="420" y="143" width="8" height="28" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="456" y1="178" x2="456" y2="143" stroke-width="1"/><rect x="452" y="150" width="8" height="26" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="488" y1="163" x2="488" y2="123" stroke-width="1"/><rect x="484" y="133" width="8" height="28" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="520" y1="153" x2="520" y2="118" stroke-width="1"/><rect x="516" y="126" width="8" height="25" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="552" y1="158" x2="552" y2="123" stroke-width="1"/><rect x="548" y="130" width="8" height="25" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="584" y1="148" x2="584" y2="108" stroke-width="1"/><rect x="580" y="118" width="8" height="28" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="616" y1="143" x2="616" y2="108" stroke-width="1"/><rect x="612" y="116" width="8" height="25" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="648" y1="153" x2="648" y2="118" stroke-width="1"/><rect x="644" y="126" width="8" height="26" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="680" y1="143" x2="680" y2="108" stroke-width="1"/><rect x="676" y="116" width="8" height="25" rx="1"/></g>
            <g fill="#37424a" stroke="#37424a"><line x1="712" y1="148" x2="712" y2="118" stroke-width="1"/><rect x="708" y="126" width="8" height="22" rx="1"/></g>
            <g fill="#12e39e" stroke="#12e39e"><line x1="744" y1="143" x2="744" y2="113" stroke-width="1"/><rect x="740" y="120" width="8" height="22" rx="1"/></g>
          </g>

          <g class="fi-layer fi-layer-structure" opacity="1">
            <path d="M 40 228 L 168 158 L 232 188 L 360 123 L 488 138 L 616 113 L 744 118" fill="none" stroke="#5beed2" stroke-width="1.8" opacity=".85" stroke-linejoin="round"/>
            <circle cx="168" cy="158" r="4" fill="#5beed2"/>
            <text x="176" y="153" font-family="JetBrains Mono" font-size="10" fill="#5beed2" font-weight="600">HL</text>
            <circle cx="360" cy="123" r="4" fill="#12e39e"/>
            <text x="322" y="113" font-family="JetBrains Mono" font-size="10" fill="#12e39e" font-weight="700">▲ BOS</text>
            <circle cx="616" cy="113" r="4" fill="#5beed2"/>
            <text x="624" y="108" font-family="JetBrains Mono" font-size="10" fill="#5beed2" font-weight="600">HH</text>
            <line x1="168" y1="158" x2="370" y2="158" stroke="#5beed2" stroke-width="1" stroke-dasharray="2 3" opacity=".4"/>
          </g>

          <g class="fi-layer fi-layer-zones" opacity="0">
            <rect x="120" y="193" width="190" height="32" fill="url(#fiObBull)" stroke="#12e39e" stroke-opacity=".45" stroke-width="1"/>
            <text x="130" y="213" font-family="JetBrains Mono" font-size="10" fill="#12e39e" font-weight="700">BULL OB</text>
            <rect x="440" y="128" width="180" height="26" fill="url(#fiObBear)" stroke="#ff4d6a" stroke-opacity=".4" stroke-width="1"/>
            <text x="450" y="145" font-family="JetBrains Mono" font-size="10" fill="#ff4d6a" font-weight="700">BEAR OB</text>
            <rect x="290" y="153" width="180" height="28" fill="url(#fiFvg)" stroke="#5beed2" stroke-opacity=".45" stroke-width="1"/>
            <text x="300" y="171" font-family="JetBrains Mono" font-size="10" fill="#5beed2" font-weight="700">FVG · UNFILLED</text>
            <rect x="550" y="173" width="160" height="22" fill="url(#fiFvg)" stroke="#5beed2" stroke-opacity=".3" stroke-width="1" stroke-dasharray="3 2" opacity=".5"/>
            <text x="558" y="188" font-family="JetBrains Mono" font-size="9" fill="#5beed2" opacity=".6">IFVG · MITIGATED</text>
          </g>

          <g class="fi-layer fi-layer-liquidity" opacity="0">
            <line x1="20" y1="113" x2="780" y2="113" stroke="#ff4d6a" stroke-width="1.3" stroke-dasharray="5 3"/>
            <text x="30" y="106" font-family="JetBrains Mono" font-size="10" fill="#ff4d6a" font-weight="600">BSL · EQUAL HIGHS</text>
            <line x1="20" y1="258" x2="780" y2="258" stroke="#12e39e" stroke-width="1.3" stroke-dasharray="5 3"/>
            <text x="30" y="273" font-family="JetBrains Mono" font-size="10" fill="#12e39e" font-weight="600">SSL · EQUAL LOWS</text>
            <circle cx="616" cy="113" r="6" fill="#ff4d6a"/>
            <circle cx="616" cy="113" r="11" fill="none" stroke="#ff4d6a" stroke-opacity=".4"/>
            <text x="546" y="98" font-family="JetBrains Mono" font-size="11" fill="#ff4d6a" font-weight="700">▲ SWEEP</text>
          </g>

          <g class="fi-layer fi-layer-sessions" opacity="0">
            <line x1="20" y1="113" x2="780" y2="113" stroke="#12e39e" stroke-width="1.1"/>
            <text x="756" y="109" font-family="JetBrains Mono" font-size="10" fill="#12e39e" font-weight="700">Y</text>
            <line x1="20" y1="143" x2="780" y2="143" stroke="#8f7bff" stroke-width="1.1"/>
            <text x="756" y="139" font-family="JetBrains Mono" font-size="10" fill="#8f7bff" font-weight="700">Q</text>
            <line x1="20" y1="173" x2="780" y2="173" stroke="#ff4d6a" stroke-width="1.1"/>
            <text x="756" y="169" font-family="JetBrains Mono" font-size="10" fill="#ff4d6a" font-weight="700">M</text>
            <line x1="20" y1="203" x2="780" y2="203" stroke="#5beed2" stroke-width="1.1"/>
            <text x="756" y="199" font-family="JetBrains Mono" font-size="10" fill="#5beed2" font-weight="700">W</text>
            <line x1="20" y1="233" x2="780" y2="233" stroke="#ffc861" stroke-width="1.1"/>
            <text x="756" y="229" font-family="JetBrains Mono" font-size="10" fill="#ffc861" font-weight="700">D</text>
            <text x="30" y="58" font-family="JetBrains Mono" font-size="9" fill="#a1adb6" font-weight="600">DAILY · WEEKLY · MONTHLY · QUARTERLY · YEARLY OPENS</text>
          </g>

          <g class="fi-layer fi-layer-mtf" opacity="0">
            <g transform="translate(30,28)">
              <rect width="90" height="28" rx="7" fill="rgba(18,227,158,.1)" stroke="#12e39e" stroke-opacity=".4"/>
              <text x="45" y="18" text-anchor="middle" font-family="JetBrains Mono" font-size="10" fill="#12e39e" font-weight="700">1D · BULL</text>
            </g>
            <g transform="translate(130,28)">
              <rect width="90" height="28" rx="7" fill="rgba(18,227,158,.08)" stroke="#12e39e" stroke-opacity=".3"/>
              <text x="45" y="18" text-anchor="middle" font-family="JetBrains Mono" font-size="10" fill="#12e39e" font-weight="600">4H · BULL</text>
            </g>
            <g transform="translate(230,28)">
              <rect width="90" height="28" rx="7" fill="rgba(91,238,210,.08)" stroke="#5beed2" stroke-opacity=".3"/>
              <text x="45" y="18" text-anchor="middle" font-family="JetBrains Mono" font-size="10" fill="#5beed2" font-weight="600">1H · BULL</text>
            </g>
            <g transform="translate(340,28)">
              <rect width="122" height="28" rx="7" fill="rgba(18,227,158,.2)" stroke="#12e39e" stroke-opacity=".7"/>
              <text x="61" y="18" text-anchor="middle" font-family="JetBrains Mono" font-size="10" fill="#12e39e" font-weight="700">✓ CONFLUENCE</text>
            </g>
            <path d="M 40 228 L 168 158 L 232 188 L 360 123 L 488 138 L 616 113 L 744 118" fill="none" stroke="#5beed2" stroke-width="1.5" opacity=".45" stroke-linejoin="round"/>
          </g>
        </svg>
      </div>
    </div>
  </div>
</section>

<!-- ============ COMPARE ============ -->
<section class="panel" id="compare">
  <div class="shead center reveal">
    <h2>Most SMC scripts draw noise. <span class="mint">We draw confluence.</span></h2>
    <p class="sub">Free indicators repaint, clutter your chart, and need 40 settings to behave. TracerSMC is opinionated, fast, and built to stay out of your way.</p>
  </div>

  <div class="vs-grid reveal">
    <div class="card card-accent">
      <div class="vs-head">
        <span class="logo-mark"><svg viewBox="0 0 40 40"><use href="#logoMark"/></svg></span>
        <span class="vs-name">Tracer<strong>SMC</strong></span>
      </div>
      <ul class="ticks ticks-2">
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Candle-close confirmed</li>
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>3 structural layers</li>
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Mitigated zones fade out</li>
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Auto pip detection</li>
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Webhook, mobile &amp; email alerts</li>
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Updates included</li>
      </ul>
    </div>

    <div class="card vs-them">
      <div class="vs-head">
        <span class="vs-mute-mark" aria-hidden="true"></span>
        <span class="vs-name">Free indicators</span>
      </div>
      <ul class="ticks ticks-2">
        <li><span class="tick tick-x"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M4 4l6 6M10 4l-6 6" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg></span>Repainting signals</li>
        <li><span class="tick tick-x"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M4 4l6 6M10 4l-6 6" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg></span>One layer, you draw the rest</li>
        <li><span class="tick tick-x"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M4 4l6 6M10 4l-6 6" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg></span>Zones pile up, chart clutters</li>
        <li><span class="tick tick-x"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M4 4l6 6M10 4l-6 6" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg></span>Manual pip tuning</li>
        <li><span class="tick tick-x"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M4 4l6 6M10 4l-6 6" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg></span>Email alerts only</li>
        <li><span class="tick tick-x"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M4 4l6 6M10 4l-6 6" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg></span>No updates or support</li>
      </ul>
    </div>
  </div>
</section>

<!-- ============ TESTIMONIALS ============ -->
<section class="panel">
  <div class="testi-top reveal">
    <div>
      <div class="rating">
        <span class="stars">
          <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
          <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
          <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
          <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
          <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        </span>
        <span class="rating-text">Used by funded traders &amp; full-time swing traders, across FX, indices, gold and crypto.</span>
      </div>
      <h2>Real feedback. <span class="mint">Real traders.</span></h2>
    </div>
    <a href="https://whop.com/thetradingacademy/tracersmc/" target="_blank" rel="noopener" class="btn btn-ghost" data-cta="reviews">
      View all reviews
      <svg class="arrow" width="11" height="11" viewBox="0 0 10 10" fill="none"><path d="M1 5h8m0 0L5 1m4 4L5 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
    </a>
  </div>

  <div class="quotes stagger reveal">
    <div class="card quote">
      <span class="stars">
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
      </span>
      <p>This is a real game changer, a real all in one indicator. Wish this indicator was here when i started trading. This indicator is gonna help everyone from every level. Would advise this to everyone!</p>
      <div class="who">
        <div class="av"><span aria-hidden="true">J</span><picture><source srcset="assets/avatar-jimmy.webp" type="image/webp"><img src="assets/avatar-jimmy.jpg" alt="Jimmy, Coach at TheTradingAcademy" width="128" height="128" loading="lazy" decoding="async"></picture></div>
        <div><strong>Jimmy</strong><span>Day trader</span></div>
      </div>
    </div>

    <div class="card quote">
      <span class="stars">
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
      </span>
      <p>With this tool I can see the setup objectively. I am not biased. On top of that marking out points in the market on lower timeframe could be hard to keep up. This indicator do this for me!</p>
      <div class="who">
        <div class="av"><span aria-hidden="true">F</span><picture><source srcset="assets/avatar-fuzl.webp" type="image/webp"><img src="assets/avatar-fuzl.jpg" alt="Fuzl, Swing Trader" width="128" height="128" loading="lazy" decoding="async"></picture></div>
        <div><strong>Fuzl</strong><span>Swing Trader</span></div>
      </div>
    </div>

    <div class="card quote">
      <span class="stars">
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
        <svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M7 1l1.8 3.8 4.2.6-3 3 .7 4.2L7 10.6 3.3 12.6 4 8.4 1 5.4l4.2-.6z"/></svg>
      </span>
      <p>This indicator combines tons of tools into one, keeping your chart clean and easy to read and it works even on the free TradingView plan, where indicator slots are limited. The customizable alerts let me react fast without watching the chart all day. A well-designed, cost-effective tool for any trader who wants a cleaner, more efficient setup.</p>
      <div class="who">
        <div class="av"><span aria-hidden="true">O</span><picture><source srcset="assets/avatar-otodorov.webp" type="image/webp"><img src="assets/avatar-otodorov.jpg" alt="Otodorov, Swing Trader - Forex" width="128" height="128" loading="lazy" decoding="async"></picture></div>
        <div><strong>Otodorov</strong><span>Swing Trader · Forex</span></div>
      </div>
    </div>
  </div>
</section>

<!-- ============ PRICING ============ -->
<section class="panel" id="pricing">
  <div class="price-grid reveal">

    <div class="card price-copy">
      <div>
        <h2>One plan. <span class="mint">Everything included.</span></h2>
        <p class="sub" style="margin-top:11px">No tiers, no add-ons. One simple subscription unlocks the entire TracerSMC toolkit, billed monthly, cancel anytime.</p>
      </div>
      <ul class="ticks ticks-2">
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Swing, internal &amp; fractal structure (BOS &amp; CHoCH)</li>
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Order blocks (FVG-based) with live mitigation %</li>
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Liquidity sweeps, sensitivity &amp; premium/discount filter</li>
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Multi-TF dashboard (2 fractal TFs + H4)</li>
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>50% EQ &amp; custom retracement levels</li>
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>D / W / M / Q / Y opens, MA ribbon, Asia range &amp; rollover marker</li>
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Full alert suite (wick &amp; body close)</li>
        <li><span class="tick"><svg width="8" height="8" viewBox="0 0 14 14" fill="none"><path d="M3 7l3 3 5-6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg></span>All future updates included</li>
      </ul>
    </div>

    <div class="card card-accent price-card">
      <div>
        <div class="tier-name">TracerSMC</div>
        <div class="tier-tag">The complete Smart Money Concepts toolkit for TradingView.</div>
      </div>

      <div>
        <div class="tier-price">
          <span class="t-cur">$</span>
          <span class="t-amt mint">27</span>
          <span class="t-per">/ month</span>
        </div>
        <div class="tier-was"><s>$33.75</s><span class="tier-save">Save 20%</span></div>
      </div>

      <div class="tier-bill">Billed monthly · cancel anytime</div>

      <a href="https://whop.com/thetradingacademy/tracersmc/" target="_blank" rel="noopener" class="btn btn-primary btn-lg tier-cta" data-cta="pricing">
        Get TracerSMC
        <svg class="arrow" width="12" height="12" viewBox="0 0 10 10" fill="none"><path d="M1 5h8m0 0L5 1m4 4L5 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
      </a>

      <div class="divider"></div>

      <div class="pay">
        <span>VISA</span><span>MASTERCARD</span><span>APPLE PAY</span><span>PAYPAL</span><span>STRIPE</span>
      </div>
    </div>

  </div>
</section>

<!-- ============ FAQ ============ -->
<section class="panel" id="faq">
  <div class="shead reveal">
    <h2>Questions, <span class="mint">answered.</span></h2>
  </div>

  <div class="faq-grid reveal">
    <div class="faq-item">
      <button class="faq-q" aria-expanded="false">Does TracerSMC require TradingView Pro?<svg class="chev" width="13" height="13" viewBox="0 0 12 12" fill="none"><path d="M2.5 4.5L6 8l3.5-3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
      <div class="faq-a"><div class="faq-a-clip"><div>No. TracerSMC runs on the free TradingView plan. A paid TradingView plan only helps if you want to stack multiple custom indicators on one chart or run more concurrent alerts. The TracerSMC core works on free.</div></div></div>
    </div>
    <div class="faq-item">
      <button class="faq-q" aria-expanded="false">Do the signals repaint?<svg class="chev" width="13" height="13" viewBox="0 0 12 12" fill="none"><path d="M2.5 4.5L6 8l3.5-3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
      <div class="faq-a"><div class="faq-a-clip"><div>No. Structure events (BoS, CHoCH) are only confirmed on candle close using a pip-rule plus minimum-candle confirmation. Order blocks are drawn at the moment they form and invalidated cleanly once a mitigation % is reached. OB liquidity sweeps are flagged in real-time on the wick that takes the level. Nothing appears retroactively that wasn't there live.</div></div></div>
    </div>
    <div class="faq-item">
      <button class="faq-q" aria-expanded="false">Which pairs and asset classes does it work on?<svg class="chev" width="13" height="13" viewBox="0 0 12 12" fill="none"><path d="M2.5 4.5L6 8l3.5-3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
      <div class="faq-a"><div class="faq-a-clip"><div>Any chart on TradingView. Pip size is auto-detected for FX majors and crosses, JPY pairs, gold (XAU), silver (XAG), indices (US100, US30, US500, DAX, FTSE, Nikkei and others), crypto (BTC, ETH and majors) and oil (WTI, Brent). You can also override the pip size manually for anything exotic.</div></div></div>
    </div>
    <div class="faq-item">
      <button class="faq-q" aria-expanded="false">How is this different from the 30 free SMC scripts on TradingView?<svg class="chev" width="13" height="13" viewBox="0 0 12 12" fill="none"><path d="M2.5 4.5L6 8l3.5-3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
      <div class="faq-a"><div class="faq-a-clip"><div>Three things. (1) Three structural layers (mechanical swing, internal i-BoS, fractal CHoCH) instead of one, so you don't have to stack three buggy scripts. (2) Order blocks fade out when mitigated instead of stacking forever. (3) It's actively maintained, and the dashboard, alerts and auto pip detection are designed to work together, not bolted on.</div></div></div>
    </div>
    <div class="faq-item">
      <button class="faq-q" aria-expanded="false">Do I need to know SMC to use it?<svg class="chev" width="13" height="13" viewBox="0 0 12 12" fill="none"><path d="M2.5 4.5L6 8l3.5-3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
      <div class="faq-a"><div class="faq-a-clip"><div>No. Every concept (BoS, CHoCH, OB, liquidity sweep) is labelled directly on the chart, so you can pick it up as you go. That said, TracerSMC accelerates a workflow, it doesn't replace judgement. The more SMC you know, the more you'll get out of it.</div></div></div>
    </div>
    <div class="faq-item">
      <button class="faq-q" aria-expanded="false">What if it doesn't fit my style?<svg class="chev" width="13" height="13" viewBox="0 0 12 12" fill="none"><path d="M2.5 4.5L6 8l3.5-3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
      <div class="faq-a"><div class="faq-a-clip"><div>TracerSMC is a simple monthly subscription with no long-term commitment. If it's not for you, cancel anytime from your account and you won't be billed again. You keep access until the end of the period you've already paid for.</div></div></div>
    </div>
    <div class="faq-item">
      <button class="faq-q" aria-expanded="false">Is it a subscription or a one-time purchase?<svg class="chev" width="13" height="13" viewBox="0 0 12 12" fill="none"><path d="M2.5 4.5L6 8l3.5-3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
      <div class="faq-a"><div class="faq-a-clip"><div>It's a single $27/month subscription that unlocks every feature: structure, order blocks, liquidity, the multi-TF dashboard and the full alert suite. There are no tiers or add-ons, all future updates are included, and you can cancel anytime.</div></div></div>
    </div>
    <div class="faq-item">
      <button class="faq-q" aria-expanded="false">How often do you update?<svg class="chev" width="13" height="13" viewBox="0 0 12 12" fill="none"><path d="M2.5 4.5L6 8l3.5-3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
      <div class="faq-a"><div class="faq-a-clip"><div>TracerSMC is actively maintained. Updates ship when there's something worth shipping (refinements, new features, bug fixes), not on a forced schedule. All updates are included in every tier. You never pay twice for the same product.</div></div></div>
    </div>
    <div class="faq-item">
      <button class="faq-q" aria-expanded="false">Is this financial advice?<svg class="chev" width="13" height="13" viewBox="0 0 12 12" fill="none"><path d="M2.5 4.5L6 8l3.5-3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
      <div class="faq-a"><div class="faq-a-clip"><div>No. TracerSMC is a technical analysis tool. It helps you see market structure faster, it doesn't predict outcomes or guarantee profits. Trading involves real risk of loss; always trade within your means and make decisions responsibly.</div></div></div>
    </div>
  </div>
</section>

<!-- ============ FINAL CTA ============ -->
<section class="panel final reveal">
  <div class="final-inner">
    <h2><span class="strike">Stop drawing.</span> <span class="mint">Start trading.</span></h2>
    <p class="sub">Get instant access to the full TracerSMC toolkit for $27/month. Cancel anytime, no lock-in.</p>
    <a href="https://whop.com/thetradingacademy/tracersmc/" target="_blank" rel="noopener" class="btn btn-primary btn-lg" data-cta="final">
      Get TracerSMC
      <svg class="arrow" width="12" height="12" viewBox="0 0 10 10" fill="none"><path d="M1 5h8m0 0L5 1m4 4L5 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
    </a>
  </div>
</section>

</div><!-- /stack -->

<!-- ============ FOOTER ============ -->
<footer class="foot">
  <div class="foot-top">
    <div class="foot-left">
      <a href="#top" class="logo">
        <span class="logo-mark"><svg viewBox="0 0 40 40"><use href="#logoMark"/></svg></span>
        <span class="logo-text">Tracer<strong>SMC</strong></span>
      </a>
      <span class="foot-copy">© 2026 TracerSMC. All rights reserved.</span>
    </div>
    <!-- TODO: replace the four href="#" values below with your real profile URLs. -->
    <div class="foot-socials">
      <a href="#" title="X" aria-label="X"><svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M10.9 1h2.1L8.4 6.3 13.7 13H9.4L6.1 8.8 2.3 13H.2l4.9-5.7L0 1h4.3l3 4 3.6-4zm-.7 10.7h1.2L3.9 2.2H2.6l7.6 9.5z"/></svg></a>
      <a href="#" title="YouTube" aria-label="YouTube"><svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M13.7 3.6c-.2-.6-.6-1-1.2-1.2C11.4 2.1 7 2.1 7 2.1s-4.4 0-5.5.3c-.6.2-1 .6-1.2 1.2C0 4.7 0 7 0 7s0 2.3.3 3.4c.2.6.6 1 1.2 1.2 1.1.3 5.5.3 5.5.3s4.4 0 5.5-.3c.6-.2 1-.6 1.2-1.2.3-1.1.3-3.4.3-3.4s0-2.3-.3-3.4zM5.6 9.1V4.9L9.2 7 5.6 9.1z"/></svg></a>
      <a href="#" title="Discord" aria-label="Discord"><svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M11.8 2.6A11.3 11.3 0 009 1.7l-.1.3c.9.3 1.7.7 2.4 1.3a8.6 8.6 0 00-4.8-1.1c-1.5 0-3 .3-4.3.9.7-.6 1.5-1 2.4-1.3L4.5 1.7a11.3 11.3 0 00-2.8.9A12 12 0 000 8.6C.9 9.8 2.2 10.7 3.6 11c.3-.4.5-.8.7-1.2-.5-.2-.9-.4-1.3-.7l.3-.2c2.4 1.1 5 1.1 7.4 0l.3.2c-.4.3-.8.5-1.3.7.2.4.4.8.7 1.2 1.4-.3 2.7-1.2 3.6-2.4a12 12 0 00-1.7-6.1zM4.7 8.3c-.7 0-1.2-.6-1.2-1.3s.5-1.3 1.2-1.3c.7 0 1.3.6 1.2 1.3 0 .7-.5 1.3-1.2 1.3zm4.5 0c-.7 0-1.2-.6-1.2-1.3s.5-1.3 1.2-1.3c.7 0 1.3.6 1.2 1.3 0 .7-.5 1.3-1.2 1.3z"/></svg></a>
      <a href="#" title="Telegram" aria-label="Telegram"><svg width="13" height="13" viewBox="0 0 14 14" fill="currentColor"><path d="M13.5 1.5L.9 6.4c-.8.3-.8.8-.2 1l3.2 1 1.2 3.8c.2.5.1.7.6.7.4 0 .6-.2.8-.4l1.8-1.8 3.2 2.4c.6.3 1 .2 1.2-.6L13.9 2c.2-.9-.2-1.2-.4-.5zm-3.6 2.9L4 8.6l-.2 2.3L5 7.2l5.2-3.2c.3-.1.5 0 .3.2l-1 .2z"/></svg></a>
    </div>
  </div>

  <p class="foot-about">The TradingView indicator that reads your charts automatically. Built by SMC traders, for SMC traders.</p>

  <div class="disclaimer">
    <strong style="color:var(--text-2)">Risk disclaimer.</strong> Trading involves significant risk of loss and is not suitable for all investors. Past performance does not guarantee future results. TracerSMC provides technical analysis tools only and does not constitute financial advice. You are solely responsible for your trading decisions. Please trade responsibly.
  </div>
</footer>

</div><!-- /shell -->

<!-- Reveal runs standalone so a failure elsewhere can never leave content hidden -->
<script>
(function(){
  var els = Array.prototype.slice.call(document.querySelectorAll('.reveal, .stagger'));
  function show(el){ el.classList.add('in'); }
  function showAll(){ for(var i=0;i<els.length;i++){ show(els[i]); } }
  if(!('IntersectionObserver' in window)){ showAll(); return; }
  var io = new IntersectionObserver(function(entries){
    entries.forEach(function(e){ if(e.isIntersecting){ show(e.target); io.unobserve(e.target); } });
  }, { threshold:0, rootMargin:'0px 0px 12% 0px' });
  els.forEach(function(el){ io.observe(el); });
  (function near(){
    var h = window.innerHeight || 800;
    els.forEach(function(el){
      var r = el.getBoundingClientRect();
      if(r.top < h * 1.15){ show(el); io.unobserve(el); }
    });
  })();
  setTimeout(showAll, 3000);
})();
</script>

<!-- Channel-specific checkout links -->
<script>
(function(){
  var CHANNEL_CHECKOUT = {
    '/discord': 'https://whop.com/checkout/plan_w7ovyKG123Pce'
  };
  var path = (window.location.pathname || '/').replace(/\/+$/, '').toLowerCase();
  if(path === '') path = '/';
  var url = CHANNEL_CHECKOUT[path];
  if(!url) return;
  document.querySelectorAll('a[href*="whop.com"]').forEach(function(a){ a.href = url; });
})();
</script>

<!-- UTM passthrough -->
<script>
(function(){
  var KEYS = ['utm_source','utm_medium','utm_campaign','utm_content','utm_term','ref','fbclid','gclid'];
  var STORE = 'tracer_utm';
  var saved = {};
  try { saved = JSON.parse(sessionStorage.getItem(STORE)) || {}; } catch(e){ saved = {}; }
  var params = new URLSearchParams(window.location.search);
  KEYS.forEach(function(k){ var v = params.get(k); if(v && !saved[k]) saved[k] = v; });
  try { sessionStorage.setItem(STORE, JSON.stringify(saved)); } catch(e){}
  var keys = Object.keys(saved);
  if(!keys.length) return;
  document.querySelectorAll('a[href*="whop.com"]').forEach(function(a){
    try{
      var u = new URL(a.href);
      keys.forEach(function(k){ u.searchParams.set(k, saved[k]); });
      a.href = u.toString();
    }catch(e){}
  });
})();
</script>

<!-- CTA click tracking -->
<script>
(function(){
  document.querySelectorAll('a[data-cta]').forEach(function(el){
    el.addEventListener('click', function(){
      if(typeof window.plausible !== 'function') return;
      var loc = el.getAttribute('data-cta') || 'unknown';
      var href = el.getAttribute('href') || '';
      var isCheckout = href.indexOf('whop.com') !== -1;
      window.plausible('CTA Click', { props: { location: loc, kind: isCheckout ? 'checkout' : 'internal' } });
      if(isCheckout){ window.plausible('Checkout Click', { props: { location: loc } }); }
    });
  });
})();
</script>

<script>
// ---------- Hero scramble typewriter ----------
// Each character cycles through random glyphs, then settles on the real letter.
(function(){
  var host = document.getElementById('heroCode');
  if(!host) return;
  var target = 'Start trading.';
  var glyphs = '!<>/{}[]()=;+-*&|%$#@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
  var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
  var i = 0;

  if(reduce){ host.textContent = target; return; }

  function rand(){ return glyphs.charAt(Math.floor(Math.random() * glyphs.length)); }
  function gap(ch){
    if(ch === ' ') return 30;
    if(ch === '.') return 60;
    return 18 + Math.random() * 22;
  }

  function addChar(finalCh){
    var span = document.createElement('span');
    span.className = 'ch scrambling';
    if(finalCh === ' '){
      span.textContent = '\u00a0';
      span.className = 'ch';
      host.appendChild(span);
      return Promise.resolve();
    }
    span.textContent = rand();
    host.appendChild(span);
    return new Promise(function(resolve){
      var n = 0;
      var total = 2 + Math.floor(Math.random() * 2);
      var t = setInterval(function(){
        n++;
        if(n >= total){
          clearInterval(t);
          span.textContent = finalCh;
          span.classList.remove('scrambling');
          span.classList.add('settled');
          resolve();
        } else {
          span.textContent = rand();
        }
      }, 24);
    });
  }

  function next(){
    if(i >= target.length) return;
    var ch = target.charAt(i);
    i++;
    addChar(ch).then(function(){ setTimeout(next, gap(ch)); });
  }
  setTimeout(next, 250);
})();

// ---------- Strike-through on "Stop drawing." ----------
(function(){
  var strike = document.querySelector('.final .strike');
  if(!strike) return;
  var io = new IntersectionObserver(function(entries){
    entries.forEach(function(e){
      if(e.isIntersecting){
        setTimeout(function(){ strike.classList.add('struck'); }, 200);
        io.disconnect();
      }
    });
  }, { threshold: 0.6 });
  io.observe(strike);
})();

// ---------- Feature explorer ----------
(function(){
  var root = document.getElementById('featInteractive');
  if(!root) return;
  var tabs = root.querySelectorAll('.fi-tab');
  var layers = root.querySelectorAll('.fi-layer');
  var toggles = root.querySelectorAll('.fi-tg');
  var idx = 0, timer = null, touched = false;
  var tabsBox = root.querySelector('.fi-tabs');

  function centerTab(tab){
    if(!tabsBox) return;
    if(tabsBox.scrollWidth <= tabsBox.clientWidth + 4) return;
    var c = tabsBox.getBoundingClientRect(), t = tab.getBoundingClientRect();
    var left = (t.left - c.left) + tabsBox.scrollLeft - (tabsBox.clientWidth - t.width) / 2;
    tabsBox.scrollTo({ left: Math.max(0, left), behavior: 'smooth' });
  }

  function activate(i){
    idx = i;
    var feat = tabs[i].dataset.feat;
    for(var j = 0; j < tabs.length; j++){
      var on = j === i;
      tabs[j].classList.toggle('active', on);
      tabs[j].setAttribute('aria-selected', on ? 'true' : 'false');
      if(on){
        var bar = tabs[j].querySelector('.fi-tab-progress span');
        if(bar){ bar.style.animation = 'none'; void bar.offsetWidth; bar.style.animation = ''; }
        centerTab(tabs[j]);
      }
    }
    layers.forEach(function(l){
      l.setAttribute('opacity', l.classList.contains('fi-layer-' + feat) ? '1' : '0');
    });
    toggles.forEach(function(tg){ tg.classList.toggle('on', tg.dataset.tg === feat); });
  }

  function start(){ stop(); timer = setInterval(function(){ activate((idx + 1) % tabs.length); }, 5500); }
  function stop(){ if(timer){ clearInterval(timer); timer = null; } }

  tabs.forEach(function(tab, i){
    tab.addEventListener('click', function(){
      touched = true; stop(); activate(i);
      setTimeout(function(){ if(touched) start(); }, 10000);
    });
  });

  var io = new IntersectionObserver(function(entries){
    entries.forEach(function(e){
      if(e.isIntersecting && !touched && !timer){ activate(0); start(); }
      else if(!e.isIntersecting){ stop(); }
    });
  }, { threshold: 0.25 });
  io.observe(root);
})();

// ---------- FAQ accordion ----------
document.querySelectorAll('.faq-q').forEach(function(q){
  q.addEventListener('click', function(){
    var item = q.parentElement;
    var wasOpen = item.classList.contains('open');
    document.querySelectorAll('.faq-item').forEach(function(i){
      i.classList.remove('open');
      i.querySelector('.faq-q').setAttribute('aria-expanded', 'false');
    });
    if(!wasOpen){
      item.classList.add('open');
      q.setAttribute('aria-expanded', 'true');
    }
  });
});

// ---------- Avatars: fall back to the initial if the photo is missing ----------
(function(){
  document.querySelectorAll('.av img').forEach(function(img){
    function drop(){ var pic = img.closest('picture') || img; if(pic.parentNode) pic.parentNode.removeChild(pic); }
    img.addEventListener('error', drop);
    if(img.complete && img.naturalWidth === 0) drop();
  });
})();

// ---------- Hero video ----------
(function(){
  var host = document.getElementById('heroVideo');
  if(!host) return;
  var id = host.getAttribute('data-yt');
  if(!id) return;
  var mounted = false;
  function mount(){
    if(mounted) return;
    mounted = true;
    var iframe = document.createElement('iframe');
    iframe.src = 'https://www.youtube.com/embed/' + id +
      '?autoplay=1&mute=1&playsinline=1&loop=1&playlist=' + id +
      '&rel=0&modestbranding=1&controls=1';
    iframe.title = 'TracerSMC demo';
    iframe.allow = 'autoplay; encrypted-media; picture-in-picture; web-share';
    iframe.setAttribute('allowfullscreen', '');
    iframe.loading = 'eager';
    host.appendChild(iframe);
    host.style.cursor = 'default';
  }
  function schedule(){
    if('requestIdleCallback' in window){ requestIdleCallback(mount, { timeout: 1800 }); }
    else { setTimeout(mount, 600); }
  }
  if(document.readyState === 'complete') schedule();
  else window.addEventListener('load', schedule);
  host.addEventListener('click', mount);
  host.addEventListener('keydown', function(e){
    if(e.key === 'Enter' || e.key === ' '){ e.preventDefault(); mount(); }
  });
})();
</script>

</body>
</html>
