<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>OneRevamp — Decision Optimization for Founders</title>
<meta name="description" content="OneRevamp helps founders cut through AI noise and make decisions that move their business. Strategic clarity, AI-augmented systems, growth execution.">
<meta name="keywords" content="marketing strategy founders, AI marketing systems, decision optimization, strategic clarity, growth frameworks, founder marketing">
<meta name="author" content="Marcos, OneRevamp">
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large">
<link rel="canonical" href="https://onerevamp.com/">
<meta property="og:type" content="website">
<meta property="og:url" content="https://onerevamp.com/">
<meta property="og:title" content="OneRevamp — Are you making decisions, or just agreeing with well-written outputs?">
<meta property="og:description" content="AI made information faster. It didn't make it smarter. OneRevamp helps founders cut through noise and make decisions that actually move their business.">
<meta property="og:site_name" content="OneRevamp">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="OneRevamp — Decision Optimization for Founders">
<meta name="twitter:description" content="AI made information faster. It didn't make it smarter.">
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"ProfessionalService","name":"OneRevamp","description":"Decision optimization partner for founders in an AI-saturated world.","url":"https://onerevamp.com","founder":{"@type":"Person","name":"Marcos","jobTitle":"Founder"},"areaServed":"Worldwide","serviceType":["Strategic Clarity","AI-Augmented Marketing Systems","Growth Execution","Thought Partnership"],"knowsAbout":["Marketing Strategy","AI Marketing","Decision Frameworks","Growth Systems","Founder Marketing","Content Strategy"]}
</script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Unbounded:wght@400;700;800;900&family=DM+Sans:wght@400;500&display=swap" rel="stylesheet">

<style>
/* ─── RESET ─────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;overflow-x:hidden}
body{overflow-x:hidden}

/* ─── TOKENS ────────────────────────────────────────────── */
:root{
  /* static palette */
  --bg-a: #f2efe8;   /* warm cream   */
  --bg-b: #0a0a0b;   /* near-black   */
  --bg-c: #e6e2da;   /* mid cream    */
  --bg-d: #1a1512;   /* dark brown   */
  --bg-e: #f8f6f1;   /* off-white    */
  --ink:  #0a0a0b;
  --ink-inv: #f2efe8;
  --muted:     rgba(10,10,11,.48);
  --muted-inv: rgba(242,239,232,.42);
  --border:    rgba(10,10,11,.13);
  --border-inv:rgba(242,239,232,.11);

  /* ── ACCENT — the one colour that shifts as you scroll ── */
  /* JS writes this to the root on every scroll event.
     Default = section 0 accent = deep brick red */
  --accent:    #bf3525;
  --accent-dk: #9c2a1c;  /* darker shade for hover, always slightly richer */
}

/* ─── BASE ──────────────────────────────────────────────── */
body{
  background:var(--bg-a);color:var(--ink);
  font-family:'DM Sans',sans-serif;
  line-height:1.6;
}

/* grain */
body::after{
  content:'';position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:256px;
}

::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--accent)}
::selection{background:var(--accent);color:#f2efe8}

/* ─── REVEAL ────────────────────────────────────────────── */
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);
}
.reveal.in{opacity:1;transform:translateY(0)}

/* ─── SECTION LABEL ─────────────────────────────────────── */
.lbl{
  display:inline-flex;align-items:center;gap:.75rem;
  font-size:.6rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);margin-bottom:1.75rem;
}
.lbl::before{content:'';width:24px;height:2px;background:var(--accent);flex-shrink:0;display:block;
  transition:background .6s}
/* labels on dark backgrounds */
.lbl-inv{color:var(--accent)}
.lbl-inv::before{background:var(--accent)}

/* ─── BUTTONS ───────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Unbounded',sans-serif;
  font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:.8rem 1.75rem;
  border:2px solid var(--ink);
  text-decoration:none;transition:background .15s,border-color .15s,color .15s;
  white-space:nowrap;flex-shrink:0;
}
.btn-solid{background:var(--ink);color:var(--bg-a)}
.btn-solid:hover{background:var(--accent);border-color:var(--accent)}
.btn-open{background:transparent;color:var(--ink)}
.btn-open:hover{background:var(--ink);color:var(--bg-a)}
.btn-accent{background:var(--accent);color:#f2efe8;border-color:var(--accent)}
.btn-accent:hover{background:var(--accent-dk);border-color:var(--accent-dk)}
/* on dark backgrounds */
.btn-inv{background:transparent;color:var(--ink-inv);border-color:rgba(242,239,232,.22)}
.btn-inv:hover{background:rgba(242,239,232,.1)}
.btn-inv-solid{background:var(--accent);color:#f2efe8;border-color:var(--accent)}
.btn-inv-solid:hover{background:var(--accent-dk);border-color:var(--accent-dk)}

/* ═══════════════════════════════════════════════════════
   NAV
═══════════════════════════════════════════════════════ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  height:56px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(1rem,4vw,2.5rem);
  background:var(--bg-a);
  border-bottom:2px solid var(--ink);
  gap:1rem;
}
.nav-logo{
  font-family:'Unbounded',sans-serif;
  font-size:.9rem;font-weight:900;letter-spacing:-.02em;
  color:var(--ink);text-decoration:none;white-space:nowrap;flex-shrink:0;
}
/* logo accent shifts with scroll too, since it reads --accent */
.nav-logo em{color:var(--accent);font-style:normal;transition:color .6s}
.nav-r{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.nav-links{display:flex;align-items:center;gap:1.75rem}
.nav-links a{
  font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;transition:color .15s;white-space:nowrap;
}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-cta{
  font-family:'Unbounded',sans-serif;
  font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:.5rem 1.125rem;
  background:var(--ink);color:var(--bg-a);
  border:2px solid var(--ink);
  text-decoration:none;
  transition:background .15s,border-color .15s;
  white-space:nowrap;
}
.nav-cta:hover{background:var(--accent);border-color:var(--accent)}

/* ═══════════════════════════════════════════════════════
   TICKER
═══════════════════════════════════════════════════════ */
.ticker-wrap{
  overflow:hidden;
  /* ticker background = accent colour — shifts as you scroll too */
  background:var(--accent);
  padding:.65rem 0;
  transition:background .6s;
}
.ticker-track{
  display:flex;width:max-content;
  animation:tick 65s linear infinite;
}
.ticker-track:hover{animation-play-state:paused}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.t-item{
  display:inline-flex;align-items:center;gap:1.25rem;padding:0 1.75rem;
  font-family:'Unbounded',sans-serif;
  font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(242,239,232,.82);white-space:nowrap;
}
.t-dot{width:4px;height:4px;background:#f2efe8;border-radius:50%;opacity:.45;flex-shrink:0}

/* ═══════════════════════════════════════════════════════
   DISPLAY HEADLINE  (brutalist core)
═══════════════════════════════════════════════════════ */
.disp{
  font-family:'Unbounded',sans-serif;
  font-weight:900;line-height:.85;letter-spacing:-.04em;
  font-size:clamp(2.5rem,7vw,9rem);
  word-break:break-word;overflow-wrap:break-word;
}
/* the .r span inherits --accent which JS updates */
.disp .r{color:var(--accent);transition:color .6s}

.mid{
  font-family:'Unbounded',sans-serif;
  font-weight:700;line-height:1.2;letter-spacing:-.025em;
  font-size:clamp(1rem,2.2vw,1.875rem);
  word-break:break-word;overflow-wrap:break-word;
}
.bc{font-size:.95rem;line-height:1.85;color:var(--muted)}
.bc-inv{font-size:.95rem;line-height:1.85;color:var(--muted-inv)}

/* ─── SPLIT LAYOUT ──────────────────────────────────────── */
.split{display:grid;grid-template-columns:1fr 1fr}
.split-l{padding:clamp(3.5rem,7vw,7rem) clamp(1rem,4vw,2.5rem);border-right:1px solid var(--border)}
.split-r{padding:clamp(3.5rem,7vw,7rem) clamp(1rem,4vw,2.5rem)}
.sec{padding:clamp(3.5rem,7vw,7rem) clamp(1rem,4vw,2.5rem)}

/* ═══════════════════════════════════════════════════════
   HERO  (bg-a = warm cream)
═══════════════════════════════════════════════════════ */
#hero{
  background:var(--bg-a);min-height:100vh;padding-top:56px;
  display:flex;flex-direction:column;
}
.hero-stamp{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
  padding:1.25rem clamp(1rem,4vw,2.5rem);
  border-bottom:1px solid var(--border);
}
.hero-stamp span{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.hero-main{
  flex:1;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,2.5rem) clamp(2rem,4vw,3rem);
}
h1.hero-head{
  font-family:'Unbounded',sans-serif;
  font-size:clamp(2.75rem,10.5vw,12rem);
  font-weight:900;line-height:.85;letter-spacing:-.04em;
  word-break:break-word;overflow-wrap:break-word;
}
h1.hero-head .r{color:var(--accent);transition:color .6s}
.hero-sub-row{
  display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;
  padding-top:3rem;margin-top:3rem;border-top:1px solid var(--border);
}
.hero-q{
  font-family:'Unbounded',sans-serif;
  font-size:clamp(.9rem,2vw,1.625rem);
  font-weight:700;line-height:1.25;letter-spacing:-.025em;
}
.hero-body-side{display:flex;flex-direction:column;justify-content:space-between;gap:2rem}
.hero-p{font-size:.95rem;line-height:1.85;color:var(--muted)}
.hero-ctas{display:flex;gap:.75rem;flex-wrap:wrap}

/* ═══════════════════════════════════════════════════════
   PROBLEM  (bg-b = near-black)
═══════════════════════════════════════════════════════ */
#problem{background:var(--bg-b)}
#problem .split-l{border-right-color:var(--border-inv)}
.p-items{display:flex;flex-direction:column;margin-top:2rem}
.p-item{
  padding:1.75rem 0;border-bottom:1px solid var(--border-inv);
  display:grid;grid-template-columns:1.5rem 1fr;gap:1rem;align-items:start;
}
.p-item:first-child{border-top:1px solid var(--border-inv)}
.p-arrow{font-size:.85rem;color:var(--accent);font-weight:900;margin-top:.2rem;transition:color .6s}
.p-title{font-family:'Unbounded',sans-serif;font-size:.82rem;font-weight:800;letter-spacing:-.01em;margin-bottom:.35rem;color:var(--ink-inv)}
.p-body{font-size:.85rem;line-height:1.7;color:var(--muted-inv)}
.callout{background:var(--accent);padding:2rem;margin-top:2.5rem;transition:background .6s}
.callout p{
  font-family:'Unbounded',sans-serif;
  font-size:clamp(.85rem,1.5vw,1.25rem);
  font-weight:700;line-height:1.3;letter-spacing:-.025em;color:#f2efe8;
}

/* ═══════════════════════════════════════════════════════
   INSIGHT  (bg-c = mid cream)
═══════════════════════════════════════════════════════ */
#insight{background:var(--bg-c)}
.ins-pull{
  font-family:'Unbounded',sans-serif;
  font-size:clamp(1.25rem,3vw,3rem);
  font-weight:800;line-height:1.1;letter-spacing:-.03em;
  border-left:4px solid var(--accent);padding-left:1.75rem;
  transition:border-color .6s;
}
.struck-list{display:flex;flex-direction:column;gap:.875rem;margin-top:2.5rem}
.s-ln{display:flex;align-items:center;gap:.875rem;font-size:.9rem;color:var(--muted)}
.s-ln::before{content:'—';opacity:.35}
.s-ln s{text-decoration:line-through;text-decoration-color:var(--accent);text-decoration-thickness:2px;transition:text-decoration-color .6s}

/* ═══════════════════════════════════════════════════════
   SERVICES  (bg-a = warm cream)
═══════════════════════════════════════════════════════ */
#services{background:var(--bg-a)}
.svc-header{
  padding:clamp(2.5rem,5vw,5rem) clamp(1rem,4vw,2.5rem) clamp(2rem,4vw,4rem);
  display:flex;align-items:flex-end;gap:3rem;flex-wrap:wrap;
}
.svc-grid{display:grid;grid-template-columns:1fr 1fr}
.svc{
  padding:clamp(2rem,4vw,3.5rem) clamp(1rem,4vw,2.5rem);
  border-top:1px solid var(--border);border-right:1px solid var(--border);
  position:relative;overflow:hidden;transition:background .2s;
}
.svc:nth-child(2n){border-right:none}
.svc::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .3s,background .6s;
}
.svc:hover::before{transform:scaleX(1)}
.svc:hover{background:var(--bg-c)}
.svc-n{
  font-family:'Unbounded',sans-serif;
  font-size:clamp(3.5rem,8vw,6rem);font-weight:900;line-height:1;letter-spacing:-.05em;
  color:var(--border);display:block;margin-bottom:1.5rem;transition:color .2s;
}
.svc:hover .svc-n{color:var(--bg-c)}
.svc-title{font-family:'Unbounded',sans-serif;font-size:clamp(.9rem,1.6vw,1.375rem);font-weight:800;letter-spacing:-.025em;margin-bottom:.875rem}
.svc-pts{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem}
.svc-pt{font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:.75rem}
.svc-pt::before{content:'';width:12px;height:2px;background:var(--accent);flex-shrink:0;transition:background .6s}

/* ═══════════════════════════════════════════════════════
   METHOD  (bg-d = dark brown)
═══════════════════════════════════════════════════════ */
#method{background:var(--bg-d)}
.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:3rem}
.m-step{padding:clamp(2rem,4vw,3rem) clamp(1rem,4vw,2.5rem);border-right:1px solid var(--border-inv)}
.m-step:last-child{border-right:none}
.m-n{
  font-family:'Unbounded',sans-serif;
  font-size:clamp(4rem,8vw,7rem);font-weight:900;line-height:1;letter-spacing:-.05em;
  color:rgba(242,239,232,.06);display:block;margin-bottom:1.25rem;
}
.m-title{font-family:'Unbounded',sans-serif;font-size:clamp(.95rem,1.5vw,1.25rem);font-weight:800;letter-spacing:-.02em;margin-bottom:.75rem;color:var(--ink-inv)}
.m-body{font-size:.875rem;line-height:1.75;color:var(--muted-inv)}

/* ═══════════════════════════════════════════════════════
   WHY  (bg-e = off-white)
═══════════════════════════════════════════════════════ */
#why{background:var(--bg-e)}
.why-items{display:grid;grid-template-columns:1fr 1fr;margin-top:3rem}
.why-item{
  padding:clamp(2rem,4vw,3rem) clamp(1rem,4vw,2.5rem);
  border-top:1px solid var(--border);border-right:1px solid var(--border);
  display:grid;grid-template-columns:2.5rem 1fr;gap:1.25rem;
}
.why-items .why-item:nth-child(2n){border-right:none}
.why-n{font-family:'Unbounded',sans-serif;font-size:.6rem;font-weight:900;letter-spacing:.1em;color:var(--accent);margin-top:.15rem;transition:color .6s}
.why-title{font-family:'Unbounded',sans-serif;font-size:clamp(.85rem,1.3vw,1.1rem);font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem}
.why-body{font-size:.85rem;line-height:1.75;color:var(--muted)}

/* ═══════════════════════════════════════════════════════
   INSIGHTS  (bg-b = near-black)
═══════════════════════════════════════════════════════ */
#insights{background:var(--bg-b)}
.ins-hd{
  padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,2.5rem) clamp(2rem,4vw,3rem);
  display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;
}
.live-pill{
  display:flex;align-items:center;gap:.625rem;padding:.45rem 1rem;
  border:2px solid rgba(242,239,232,.18);
  font-family:'Unbounded',sans-serif;
  font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(242,239,232,.45);white-space:nowrap;flex-shrink:0;margin-bottom:.25rem;
}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:blink 2.5s ease-in-out infinite;transition:background .6s}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.ins-list{display:flex;flex-direction:column;border-top:1px solid rgba(242,239,232,.08)}
.ins-card{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:clamp(1rem,3vw,2.5rem);
  padding:clamp(1.5rem,3vw,2.25rem) clamp(1rem,4vw,2.5rem);
  border-bottom:1px solid rgba(242,239,232,.07);
  text-decoration:none;color:inherit;transition:background .2s;
}
.ins-card:hover{background:rgba(242,239,232,.04)}
.ins-card:hover .ins-arrow{transform:translate(4px,-4px);color:var(--accent)}
.ins-idx{
  font-family:'Unbounded',sans-serif;
  font-size:clamp(1.5rem,4vw,3rem);font-weight:900;line-height:1;letter-spacing:-.05em;
  color:rgba(242,239,232,.1);width:clamp(2.5rem,5vw,4rem);text-align:right;flex-shrink:0;
}
.ins-body{min-width:0}
.ins-date{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,239,232,.3);margin-bottom:.5rem}
.ins-title{
  font-family:'Unbounded',sans-serif;
  font-size:clamp(.78rem,1.4vw,1.05rem);
  font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--ink-inv);
  word-break:break-word;overflow-wrap:anywhere;
}
.ins-arrow{font-size:1.375rem;color:rgba(242,239,232,.22);transition:transform .2s,color .2s;flex-shrink:0;font-weight:300}
.ins-loading{padding:4rem 2.5rem;font-family:'Unbounded',sans-serif;font-size:1.5rem;font-weight:900;color:rgba(242,239,232,.08);letter-spacing:-.03em}
.ins-footer{
  padding:clamp(1.5rem,3vw,2rem) clamp(1rem,4vw,2.5rem);
  border-top:1px solid rgba(242,239,232,.07);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
}
.ins-footer-txt{font-size:.8rem;color:rgba(242,239,232,.28);font-style:italic}

/* ═══════════════════════════════════════════════════════
   IMPACT  (bg-c = mid cream)
═══════════════════════════════════════════════════════ */
#impact{background:var(--bg-c)}
.imp-cards{display:flex;flex-direction:column;gap:0}
.imp-card{padding:clamp(1.75rem,3vw,2.5rem) 0;border-bottom:1px solid var(--border)}
.imp-card:first-child{padding-top:0}
.imp-card:last-child{border-bottom:none;padding-bottom:0}
.imp-title{font-family:'Unbounded',sans-serif;font-size:clamp(.82rem,1.2vw,1rem);font-weight:800;letter-spacing:-.01em;margin-bottom:.625rem}
.imp-body{font-size:.875rem;line-height:1.75;color:var(--muted)}

/* ═══════════════════════════════════════════════════════
   WORKSHOP  (bg-b = near-black)
═══════════════════════════════════════════════════════ */
#workshop{background:var(--bg-b)}
.wk-hd{
  padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,2.5rem) clamp(2rem,4vw,3.5rem);
  display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;flex-wrap:wrap;
}
.wk-info{max-width:300px;display:flex;flex-direction:column;gap:1.5rem}
.wk-info p{font-size:.9rem;line-height:1.8;color:var(--muted-inv)}
.wk-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(242,239,232,.08)}
.wk{
  padding:clamp(2rem,3.5vw,2.75rem) clamp(1rem,3vw,2rem);
  border-right:1px solid rgba(242,239,232,.07);
  transition:background .2s;position:relative;
}
.wk-grid .wk:nth-child(4n){border-right:none}
.wk:hover{background:rgba(242,239,232,.04)}
.wk-n{
  font-family:'Unbounded',sans-serif;
  font-size:clamp(3rem,6vw,5rem);font-weight:900;line-height:1;letter-spacing:-.05em;
  color:rgba(242,239,232,.07);display:block;margin-bottom:.875rem;
}
.wk-lbl{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:.375rem;font-weight:700;transition:color .6s}
.wk-name{font-family:'Unbounded',sans-serif;font-size:clamp(.7rem,1.1vw,.85rem);font-weight:800;letter-spacing:-.01em;line-height:1.3;color:rgba(242,239,232,.6)}
.wk.feat{background:var(--accent);transition:background .6s}
.wk.feat:hover{filter:brightness(.92)}
.wk.feat .wk-n{color:rgba(242,239,232,.1)}
.wk.feat .wk-lbl{color:rgba(242,239,232,.65)}
.wk.feat .wk-name{color:#f2efe8}
.wk.feat::after{content:'OPEN';position:absolute;top:1.25rem;right:1.25rem;font-family:'Unbounded',sans-serif;font-size:.5rem;font-weight:900;letter-spacing:.18em;color:rgba(242,239,232,.55)}
.wk-cta{
  padding:clamp(1.75rem,3vw,2.5rem) clamp(1rem,4vw,2.5rem);
  border-top:1px solid rgba(242,239,232,.08);
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;
}
.wk-cta-txt{font-family:'Unbounded',sans-serif;font-size:clamp(.78rem,1.3vw,1rem);font-weight:700;letter-spacing:-.02em;color:rgba(242,239,232,.35)}

/* ═══════════════════════════════════════════════════════
   THINKING TEST  (bg-e = off-white)
═══════════════════════════════════════════════════════ */
#thinking{background:var(--bg-e)}
.think-q{
  font-family:'Unbounded',sans-serif;
  font-size:clamp(1rem,1.8vw,1.5rem);font-weight:700;line-height:1.3;letter-spacing:-.025em;
  padding:2rem;border:2px solid var(--border);border-left:4px solid var(--accent);
  word-break:break-word;overflow-wrap:break-word;
  transition:border-left-color .6s;
}
.think-btns{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem}
.think-note{font-size:.85rem;line-height:1.75;color:var(--muted);margin-bottom:.5rem}

/* ═══════════════════════════════════════════════════════
   CONTACT  (bg-b = near-black)
═══════════════════════════════════════════════════════ */
#contact{background:var(--bg-b)}
.c-form{display:flex;flex-direction:column;gap:.875rem}
.c-in{
  padding:.875rem 1.125rem;
  background:rgba(242,239,232,.05);border:2px solid rgba(242,239,232,.12);
  color:var(--ink-inv);font-family:'DM Sans',sans-serif;font-size:.9rem;
  outline:none;transition:border-color .15s;width:100%;
}
.c-in:focus{border-color:var(--accent)}
.c-in::placeholder{color:rgba(242,239,232,.22)}
.c-submit{
  font-family:'Unbounded',sans-serif;
  font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:.875rem 2rem;width:100%;
  background:var(--accent);color:#f2efe8;border:2px solid var(--accent);
  cursor:pointer;transition:background .15s,border-color .15s,filter .15s;
}
.c-submit:hover{filter:brightness(.88)}
.c-fine{font-size:.62rem;letter-spacing:.06em;color:rgba(242,239,232,.2)}

/* ─── FOOTER ────────────────────────────────────────────── */
footer{
  background:var(--bg-b);
  padding:clamp(1.25rem,3vw,2rem) clamp(1rem,4vw,2.5rem);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  border-top:1px solid rgba(242,239,232,.07);
}
.f-logo{font-family:'Unbounded',sans-serif;font-size:.85rem;font-weight:900;letter-spacing:-.01em;color:var(--ink-inv)}
.f-logo em{color:var(--accent);font-style:normal;transition:color .6s}
.f-copy{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(242,239,232,.2)}

/* ─── RESPONSIVE ────────────────────────────────────────── */
@media(max-width:900px){
  .nav-links{display:none}
  .split{grid-template-columns:1fr}
  .split-l{border-right:none;border-bottom:1px solid var(--border)}
  #problem .split-l{border-bottom-color:var(--border-inv)}
  #insights .split-l,#contact .split-l{border-bottom-color:var(--border-inv)}
  .svc-grid{grid-template-columns:1fr}
  .svc{border-right:none}
  .svc-header{flex-direction:column;align-items:flex-start}
  .method-steps{grid-template-columns:1fr}
  .m-step{border-right:none;border-bottom:1px solid var(--border-inv)}
  .m-step:last-child{border-bottom:none}
  .why-items{grid-template-columns:1fr}
  .why-item{border-right:none}
  .wk-grid{grid-template-columns:1fr 1fr}
  .wk-grid .wk:nth-child(4n){border-right:1px solid rgba(242,239,232,.07)}
  .wk-grid .wk:nth-child(2n){border-right:none}
  .hero-sub-row{grid-template-columns:1fr}
  .wk-hd{flex-direction:column;align-items:flex-start}
  .wk-info{max-width:100%}
}

@media(max-width:580px){
  .nav-cta{display:none}
  .hero-stamp{flex-direction:column;gap:.25rem}
  .hero-ctas{flex-direction:column;align-items:flex-start}
  .hero-ctas .btn{width:100%;justify-content:center}
  .wk-grid{grid-template-columns:1fr}
  .wk-grid .wk:nth-child(4n){border-right:none}
  .wk-cta{flex-direction:column;align-items:flex-start}
  .think-btns .btn{width:100%;justify-content:center}
  .wk-hd,.ins-hd{flex-wrap:wrap}
}

@media(max-width:700px){
  .think-grid{grid-template-columns:1fr !important}
}
</style>
</head>
<body>

<!-- NAV -->
<nav>
  <a class="nav-logo" href="/">One<em>Revamp</em></a>
  <div class="nav-r">
    <div class="nav-links">
      <a href="#problem">Problem</a>
      <a href="#services">Services</a>
      <a href="#insights">Insights</a>
      <a href="#workshop">Workshop</a>
      <a href="#contact">Contact</a>
    </div>
    <a href="#contact" class="nav-cta">Work With Us</a>
  </div>
</nav>

<!-- TICKER -->
<div class="ticker-wrap" style="margin-top:56px" aria-hidden="true">
  <div class="ticker-track" id="tickerTrack"></div>
</div>

<!-- HERO  ── warm cream -->
<section id="hero" aria-label="Hero">
  <div class="hero-stamp">
    <span>Decision Optimization Partner · Est. 2024</span>
    <span id="heroDate"></span>
  </div>
  <div class="hero-main">
    <h1 class="hero-head reveal">
      Growth<br>Should<br>Be<br><span class="r">Engineered.</span>
    </h1>
    <div class="hero-sub-row">
      <h2 class="hero-q reveal">Are you making decisions,<br>or just agreeing with<br>well-written outputs?</h2>
      <div class="hero-body-side reveal" style="transition-delay:.08s">
        <p class="hero-p">AI made information faster. It didn't make it smarter. We help founders cut through the noise and make decisions that actually move their business.</p>
        <div class="hero-ctas">
          <a href="#contact" class="btn btn-solid">Work With Us →</a>
          <a href="#problem" class="btn btn-open">See The Problem</a>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- PROBLEM  ── near-black -->
<section id="problem" aria-labelledby="h-problem">
  <div class="split">
    <div class="split-l" style="display:flex;flex-direction:column;justify-content:space-between;gap:3rem">
      <div class="lbl lbl-inv">The Problem</div>
      <h2 class="disp reveal" id="h-problem" style="color:var(--ink-inv)">
        The<br>Illusion<br>of<br><span class="r">Progress.</span>
      </h2>
      <div class="callout reveal" style="transition-delay:.08s">
        <p>Most businesses don't have a marketing problem. They have a <strong>thinking problem amplified by AI.</strong></p>
      </div>
    </div>
    <div class="split-r" style="display:flex;flex-direction:column;justify-content:center;gap:2rem">
      <p class="mid reveal" style="color:var(--ink-inv)">That's not strategy.<br>That's momentum.</p>
      <div class="p-items">
        <div class="p-item reveal">
          <span class="p-arrow">→</span>
          <div><div class="p-title">You're posting more</div><div class="p-body">But growth feels inconsistent. The content exists. The signal doesn't.</div></div>
        </div>
        <div class="p-item reveal" style="transition-delay:.07s">
          <span class="p-arrow">→</span>
          <div><div class="p-title">You're using AI tools</div><div class="p-body">But messaging feels generic. When everyone uses the same intelligence, differentiation disappears.</div></div>
        </div>
        <div class="p-item reveal" style="transition-delay:.14s">
          <span class="p-arrow">→</span>
          <div><div class="p-title">You're following best practices</div><div class="p-body">But nothing compounds. Best practices are yesterday's experiments — not your edge.</div></div>
        </div>
      </div>
      <p class="reveal" style="transition-delay:.2s;font-family:'Unbounded',sans-serif;font-weight:800;font-size:clamp(.8rem,1.2vw,1rem);letter-spacing:-.01em;color:var(--accent);transition:color .6s">AI didn't fix it. It scaled it.</p>
    </div>
  </div>
</section>

<!-- INSIGHT  ── mid cream -->
<section id="insight" aria-labelledby="h-insight">
  <div class="split">
    <div class="split-l" style="display:flex;flex-direction:column;justify-content:space-between;gap:3rem">
      <div class="lbl">The Insight</div>
      <h2 class="disp reveal" id="h-insight">
        AI Is<br>the New<br>Interface.<br><span class="r">Not the<br>Answer.</span>
      </h2>
      <div class="struck-list reveal" style="transition-delay:.1s">
        <div class="s-ln">AI summarizes</div>
        <div class="s-ln">AI <s>thinks</s> suggests</div>
        <div class="s-ln">AI <s>judges</s> optimizes</div>
      </div>
    </div>
    <div class="split-r" style="display:flex;flex-direction:column;justify-content:center;gap:2.5rem">
      <div class="ins-pull reveal">When everyone uses the same intelligence, differentiation comes from <strong>thinking.</strong></div>
      <p class="bc reveal" style="transition-delay:.1s">AI doesn't understand your market deeply. It doesn't challenge bad assumptions. It can't make judgment calls under uncertainty. That's what we do — and what your competitors are outsourcing.</p>
      <a href="#contact" class="btn btn-solid reveal" style="transition-delay:.15s;align-self:flex-start">Break Down My Strategy →</a>
    </div>
  </div>
</section>

<!-- SERVICES  ── warm cream -->
<section id="services" aria-labelledby="h-services">
  <div class="svc-header">
    <h2 class="disp reveal" id="h-services">What<br>We Do.</h2>
    <p class="bc reveal" style="transition-delay:.08s;max-width:300px">Outcome-based. Not task-based. We don't sell activity — we fix direction.</p>
  </div>
  <div class="svc-grid">
    <article class="svc reveal">
      <span class="svc-n">01</span>
      <h3 class="svc-title">Strategic Clarity</h3>
      <p style="font-size:.875rem;line-height:1.7;color:var(--muted)">We identify what actually matters and eliminate what doesn't.</p>
      <div class="svc-pts">
        <div class="svc-pt">Positioning refinement</div>
        <div class="svc-pt">Messaging clarity</div>
        <div class="svc-pt">Decision frameworks</div>
      </div>
    </article>
    <article class="svc reveal" style="transition-delay:.05s">
      <span class="svc-n">02</span>
      <h3 class="svc-title">AI-Augmented Systems</h3>
      <p style="font-size:.875rem;line-height:1.7;color:var(--muted)">We don't replace thinking with AI. We control how it's used.</p>
      <div class="svc-pts">
        <div class="svc-pt">Smart content systems</div>
        <div class="svc-pt">AI-assisted workflows</div>
        <div class="svc-pt">Signal vs. noise filtering</div>
      </div>
    </article>
    <article class="svc reveal" style="transition-delay:.05s">
      <span class="svc-n">03</span>
      <h3 class="svc-title">Growth Execution</h3>
      <p style="font-size:.875rem;line-height:1.7;color:var(--muted)">Strategy means nothing without movement.</p>
      <div class="svc-pts">
        <div class="svc-pt">Campaign direction</div>
        <div class="svc-pt">Funnel optimization</div>
        <div class="svc-pt">Conversion-focused content</div>
      </div>
    </article>
    <article class="svc reveal" style="transition-delay:.1s">
      <span class="svc-n">04</span>
      <h3 class="svc-title">Thought Partnership</h3>
      <p style="font-size:.875rem;line-height:1.7;color:var(--muted)">Ongoing advisory to challenge your thinking before the market does.</p>
      <div class="svc-pts">
        <div class="svc-pt">Weekly / bi-weekly sessions</div>
        <div class="svc-pt">Real-time decision support</div>
        <div class="svc-pt">Strategic recalibration</div>
      </div>
    </article>
  </div>
</section>

<!-- METHOD  ── dark brown -->
<section id="method" aria-labelledby="h-method" class="sec">
  <div class="lbl lbl-inv">How We Work</div>
  <h2 class="disp reveal" id="h-method" style="color:var(--ink-inv)">Three Steps.<br>One <span class="r">System.</span></h2>
  <p class="bc-inv reveal" style="transition-delay:.08s;max-width:540px;margin-top:1.5rem">We don't do discovery calls that go nowhere. Every engagement starts with deconstruction.</p>
  <div class="method-steps">
    <div class="m-step reveal">
      <span class="m-n">01</span>
      <div class="m-title">Deconstruct</div>
      <p class="m-body">We break down your strategy, assumptions, and blind spots. We find the thing you've been calling a mystery that's actually a choice.</p>
    </div>
    <div class="m-step reveal" style="transition-delay:.08s">
      <span class="m-n">02</span>
      <div class="m-title">Challenge</div>
      <p class="m-body">We question what others accept — including AI outputs. If your strategy sounds like it was written by a committee, we burn it down respectfully.</p>
    </div>
    <div class="m-step reveal" style="transition-delay:.16s">
      <span class="m-n">03</span>
      <div class="m-title">Rebuild</div>
      <p class="m-body">We create a strategy that's clear, differentiated, and executable. Something you can defend in a room — not just a deck you send to avoid a hard conversation.</p>
    </div>
  </div>
</section>

<!-- WHY  ── off-white -->
<section id="why" aria-labelledby="h-why" class="sec" style="padding-bottom:0">
  <div class="lbl">Why OneRevamp</div>
  <h2 class="disp reveal" id="h-why">We Say<br>What Others<br><span class="r">Won't.</span></h2>
  <p class="mid reveal" style="transition-delay:.08s;margin-top:1.5rem;max-width:580px;color:var(--muted)">You don't need more content. You need better judgment.</p>
  <div class="why-items">
    <div class="why-item reveal">
      <div class="why-n">01</div>
      <div><div class="why-title">Direction, not activity</div><div class="why-body">If you want someone to post three times a week and call it strategy, we're not it.</div></div>
    </div>
    <div class="why-item reveal" style="transition-delay:.06s">
      <div class="why-n">02</div>
      <div><div class="why-title">We control how AI is used</div><div class="why-body">Not afraid of it. Not blindly dependent on it. We use AI as a tool, not a crutch.</div></div>
    </div>
    <div class="why-item reveal" style="transition-delay:.12s">
      <div class="why-n">03</div>
      <div><div class="why-title">Analyze trends, don't follow them</div><div class="why-body">By the time something is a trend, the edge is gone. We find the signal first.</div></div>
    </div>
    <div class="why-item reveal" style="transition-delay:.18s">
      <div class="why-n">04</div>
      <div><div class="why-title">We simplify what matters</div><div class="why-body">Complexity is easy. Clarity is hard. We do the hard work so your decisions are fewer and better.</div></div>
    </div>
  </div>
</section>

<!-- INSIGHTS  ── near-black -->
<section id="insights" aria-labelledby="h-insights">
  <div class="ins-hd">
    <h2 class="disp reveal" id="h-insights" style="color:var(--ink-inv)">Latest<br>Insights.</h2>
    <div class="live-pill"><span class="live-dot"></span>LinkedIn Newsletter · Live</div>
  </div>
  <div class="ins-list" id="insGrid" role="list">
    <div class="ins-loading">Loading…</div>
  </div>
  <div class="ins-footer">
    <p class="ins-footer-txt">New thinking published weekly.</p>
    <a href="https://www.linkedin.com/newsletters/onerevamp" target="_blank" rel="noopener noreferrer" class="btn btn-inv" style="font-size:.58rem;padding:.6rem 1.25rem">Follow on LinkedIn →</a>
  </div>
</section>

<!-- IMPACT  ── mid cream -->
<section id="impact" aria-labelledby="h-impact">
  <div class="split">
    <div class="split-l" style="display:flex;flex-direction:column;justify-content:space-between;gap:3rem">
      <div class="lbl">Impact &amp; Giving Back</div>
      <h2 class="disp reveal" id="h-impact">Success<br>Measured<br>In<br><span class="r">Impact.</span></h2>
      <p class="bc reveal" style="transition-delay:.1s;border-left:3px solid var(--accent);padding-left:1.25rem;transition:border-left-color .6s">At OneRevamp, success isn't just measured in revenue — it's measured in what you build for others.</p>
    </div>
    <div class="split-r" style="display:flex;flex-direction:column;justify-content:center">
      <div class="imp-cards">
        <div class="imp-card reveal">
          <div class="imp-title">Mentorship &amp; Workshops</div>
          <p class="imp-body">Personalized guidance for founders building stronger systems and scaling with clarity.</p>
        </div>
        <div class="imp-card reveal" style="transition-delay:.09s">
          <div class="imp-title">Educational Resources</div>
          <p class="imp-body">Free guides, templates, and sessions. Real frameworks — not hacks.</p>
        </div>
        <div class="imp-card reveal" style="transition-delay:.18s">
          <div class="imp-title">Community Impact</div>
          <p class="imp-body">Supporting programs that help founders and local businesses thrive on their own terms.</p>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- WORKSHOP  ── near-black -->
<section id="workshop" aria-labelledby="h-workshop">
  <div class="wk-hd">
    <div>
      <div class="lbl lbl-inv">Workshop Program</div>
      <h2 class="disp reveal" id="h-workshop" style="color:var(--ink-inv)">12 Weeks.<br>One <span class="r">System.</span></h2>
    </div>
    <div class="wk-info">
      <p class="reveal">Each week builds on the last. No overwhelm — just the right framework at the right moment.</p>
      <a href="#contact" class="btn btn-inv-solid reveal" style="transition-delay:.1s;align-self:flex-start">Enroll Now →</a>
    </div>
  </div>
  <div class="wk-grid">
    <div class="wk feat"><span class="wk-n">01</span><div class="wk-lbl">Now Open</div><div class="wk-name">Foundations &amp; Mindset</div></div>
    <div class="wk"><span class="wk-n">02</span><div class="wk-lbl">Week 2</div><div class="wk-name">Ops Mapping</div></div>
    <div class="wk"><span class="wk-n">03</span><div class="wk-lbl">Week 3</div><div class="wk-name">Revenue Architecture</div></div>
    <div class="wk"><span class="wk-n">04</span><div class="wk-lbl">Week 4</div><div class="wk-name">Content Engine</div></div>
    <div class="wk"><span class="wk-n">05</span><div class="wk-lbl">Week 5</div><div class="wk-name">Hiring &amp; Delegation</div></div>
    <div class="wk"><span class="wk-n">06</span><div class="wk-lbl">Week 6</div><div class="wk-name">Client Experience</div></div>
    <div class="wk"><span class="wk-n">07</span><div class="wk-lbl">Week 7</div><div class="wk-name">Automation Architecture</div></div>
    <div class="wk"><span class="wk-n">08–12</span><div class="wk-lbl">Weeks 8–12</div><div class="wk-name">Advanced Systems &amp; The Flywheel</div></div>
  </div>
  <div class="wk-cta">
    <p class="wk-cta-txt">The curriculum builds itself into your company.</p>
    <a href="#contact" class="btn btn-inv-solid">Start Week 1 Free →</a>
  </div>
</section>

<!-- THINKING TEST  ── off-white -->
<section id="thinking" aria-labelledby="h-thinking" class="sec">
  <div class="lbl">A Quick Test</div>
  <h2 class="disp reveal" id="h-thinking" style="max-width:900px">One Question.<br>Honest <span class="r">Answer.</span></h2>
  <div style="display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:3rem" class="think-grid">
    <blockquote class="think-q reveal">"When was the last time you disagreed with something that sounded right?"</blockquote>
    <div class="think-btns reveal" style="transition-delay:.1s">
      <p class="think-note">If that question made you pause — that's the gap we close. If you had an immediate answer — we want to hear it.</p>
      <a href="#contact" class="btn btn-solid">Let's Talk About It →</a>
      <a href="#insights" class="btn btn-open">Read the Thinking First</a>
    </div>
  </div>
</section>

<!-- CONTACT  ── near-black -->
<section id="contact" aria-labelledby="h-contact">
  <div class="split">
    <div class="split-l" style="display:flex;flex-direction:column;justify-content:space-between;gap:3rem;border-right-color:var(--border-inv)">
      <div>
        <div class="lbl lbl-inv">Let's Fix It</div>
        <h2 class="disp reveal" id="h-contact" style="color:var(--ink-inv)">Let's Fix<br>What's<br><span class="r">Holding<br>You Back.</span></h2>
      </div>
      <p class="bc-inv reveal" style="transition-delay:.08s">No pitch. No templates. A real conversation about where your thinking — and your growth — is stuck.</p>
    </div>
    <div class="split-r reveal" style="transition-delay:.1s;display:flex;flex-direction:column;justify-content:center;gap:2rem">
      <p style="font-size:.9rem;line-height:1.85;color:rgba(242,239,232,.38)">Book a strategy session or get a breakdown of your current approach.</p>
      <form class="c-form" onsubmit="handleSubmit(event)" aria-label="Contact form">
        <input class="c-in" type="text"  name="name"    placeholder="Your name"        required autocomplete="name">
        <input class="c-in" type="email" name="email"   placeholder="your@email.com"   required autocomplete="email">
        <input class="c-in" type="text"  name="company" placeholder="Company (optional)">
        <textarea class="c-in" name="message" rows="4" style="resize:vertical" required
          placeholder="What are you building? Where are you stuck?"></textarea>
        <button type="submit" class="c-submit">Send It →</button>
        <p class="c-fine" id="fStatus">No pitch decks. No automated sequences. Just a real reply.</p>
      </form>
    </div>
  </div>
</section>

<footer>
  <div class="f-logo">One<em>Revamp</em></div>
  <p class="f-copy">© 2026 OneRevamp · Marcos · All rights reserved</p>
</footer>

<script>
/* ════════════════════════════════════════════════════════
   ACCENT COLOR JOURNEY
   The accent shifts smoothly as the user scrolls.
   Colour stops are keyed to each section's position.
   Journey:  brick red → burnt orange → amber → gold
             → forest teal → indigo-violet → crimson
════════════════════════════════════════════════════════ */

// [R, G, B] stops — one per major section
const STOPS = [
  [191,  53,  37],   // 0  hero        deep brick red
  [195,  68,  22],   // 1  problem     burnt orange-red
  [200, 105,  20],   // 2  insight     amber
  [185, 135,  18],   // 3  services    warm gold
  [ 20, 130, 120],   // 4  method      forest teal
  [ 80,  55, 180],   // 5  why         indigo violet
  [160,  30,  80],   // 6  insights    deep magenta
  [120,  25, 160],   // 7  impact      purple
  [195,  40,  25],   // 8  workshop    back to red
  [200,  70,  20],   // 9  thinking    orange-red
  [191,  53,  37],   // 10 contact+    brick red
];

function lerp(a, b, t){ return a + (b - a) * t }

function interpolateColor(stops, progress){
  const total = stops.length - 1;
  const scaled = Math.min(Math.max(progress * total, 0), total - 0.001);
  const idx    = Math.floor(scaled);
  const t      = scaled - idx;
  const [r1,g1,b1] = stops[idx];
  const [r2,g2,b2] = stops[idx + 1];
  const r = Math.round(lerp(r1, r2, t));
  const g = Math.round(lerp(g1, g2, t));
  const b = Math.round(lerp(b1, b2, t));
  return { color:`rgb(${r},${g},${b})`, dark:`rgb(${Math.round(r*.8)},${Math.round(g*.8)},${Math.round(b*.8)})` };
}

function updateAccent(){
  const scrollTop  = window.scrollY;
  const maxScroll  = document.body.scrollHeight - window.innerHeight;
  const progress   = maxScroll > 0 ? scrollTop / maxScroll : 0;
  const { color, dark } = interpolateColor(STOPS, progress);
  document.documentElement.style.setProperty('--accent',    color);
  document.documentElement.style.setProperty('--accent-dk', dark);
}

// Throttle to ~60fps
let accentRaf = null;
window.addEventListener('scroll', ()=>{
  if(!accentRaf) accentRaf = requestAnimationFrame(()=>{ updateAccent(); accentRaf=null; });
}, {passive:true});
updateAccent(); // set on load

/* ── DATE ── */
document.getElementById('heroDate').textContent =
  new Date().toLocaleDateString('en-US',{weekday:'long',month:'long',day:'numeric',year:'numeric'});

/* ── TICKER ── */
const WORDS=['Strategic Clarity','Decision Optimization','AI-Augmented Systems',
  'Signal Over Noise','Growth Execution','Thought Partnership',
  'Positioning','Better Judgment','Fewer Decisions','Founder-Focused'];
const tt=document.getElementById('tickerTrack');
const th=[...WORDS,...WORDS,...WORDS,...WORDS]
  .map(w=>`<span class="t-item"><span class="t-dot"></span>${w}</span>`).join('');
tt.innerHTML=th+th;

/* ── SCROLL REVEAL ── */
const ro=new IntersectionObserver(entries=>{
  entries.forEach(e=>{if(e.isIntersecting)e.target.classList.add('in')});
},{threshold:.07,rootMargin:'0px 0px -24px 0px'});
document.querySelectorAll('.reveal').forEach(el=>ro.observe(el));
setTimeout(()=>document.querySelectorAll('#hero .reveal').forEach(el=>el.classList.add('in')),60);

/* ── NAV HIGHLIGHT ── */
document.querySelectorAll('section[id]').forEach(s=>{
  new IntersectionObserver(entries=>{
    entries.forEach(e=>{
      if(e.isIntersecting) document.querySelectorAll('.nav-links a').forEach(a=>{
        a.classList.toggle('active', a.getAttribute('href')==='#'+e.target.id);
      });
    });
  },{threshold:.3}).observe(s);
});

/* ── RSS FEED ── */
const RSS_URL='https://fetchrss.com/feed/1vwOFP0Xn1v01vytIm6ar87G.rss';
const FALLBACK=[
  {title:'The Slow Death of Focus Inside Growing Companies',       date:'Apr 13, 2026',link:'#'},
  {title:'When Everything Is a Priority, Nothing Is Strategy',    date:'Apr 8, 2026', link:'#'},
  {title:'Why Busy Teams Feel Productive (Even When They\'re Not)',date:'Apr 3, 2026', link:'#'},
  {title:'The Quiet Advantage of Small Teams',                    date:'Apr 2, 2026', link:'#'},
];
function esc(s){return String(s).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;')}
function renderFeed(posts){
  document.getElementById('insGrid').innerHTML=posts.length
    ?posts.map((p,i)=>`
      <a class="ins-card" href="${esc(p.link)}" target="${p.link!=='#'?'_blank':''}" rel="noopener noreferrer" role="listitem" aria-label="${esc(p.title)}">
        <div class="ins-idx">${String(i+1).padStart(2,'0')}</div>
        <div class="ins-body">
          <div class="ins-date">${esc(p.date)}</div>
          <div class="ins-title">${esc(p.title)}</div>
        </div>
        <div class="ins-arrow">↗</div>
      </a>`).join('')
    :`<div class="ins-loading">No articles yet.</div>`;
}
async function loadFeed(){
  try{
    const res=await fetch(`https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(RSS_URL)}&count=8&order_by=pubDate&order_dir=desc`);
    const d=await res.json();
    if(d.status!=='ok'||!d.items?.length)throw 0;
    renderFeed(d.items.map(item=>({
      title:item.title?.replace(/<[^>]+>/g,'').trim()||'Untitled',
      date:item.pubDate?new Date(item.pubDate).toLocaleDateString('en-US',{month:'short',day:'numeric',year:'numeric'}):'',
      link:item.link||item.guid||'#',
    })));
  }catch{renderFeed(FALLBACK)}
}
loadFeed();

/* ── CONTACT FORM ── */
function handleSubmit(e){
  e.preventDefault();
  const btn=e.target.querySelector('.c-submit');
  const st=document.getElementById('fStatus');
  btn.textContent='Sending…';btn.disabled=true;
  // Production: fetch('https://formspree.io/f/YOUR_ID',{method:'POST',body:new FormData(e.target)})
  setTimeout(()=>{
    btn.textContent='Sent ✓';btn.style.cssText='background:#16a34a;border-color:#16a34a';
    st.textContent='Expect a real reply — not an automated sequence.';
    e.target.reset();
    setTimeout(()=>{
      btn.textContent='Send It →';btn.style.cssText='';btn.disabled=false;
      st.textContent='No pitch decks. No automated sequences. Just a real reply.';
    },5000);
  },1000);
}
</script>
</body>
</html>