// Variation 1, EDITORIAL / MAGAZINE
// Serif headlines, lots of whitespace, calm authority, photo-forward.
// Feels like a publication, not a sales page.

const v1Styles = {
  font: '"Cormorant Garamond", "Playfair Display", Georgia, serif',
  sans: '"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
  ink: '#0f1419',
  paper: '#f7f5f0',
  paperWarm: '#efeae0',
  rule: 'rgba(15,20,25,0.12)',
  muted: 'rgba(15,20,25,0.55)',
  blue: '#5271FF', // exact match to the logo chart-icon blue
  blueDark: '#3a55e0',
  purple: '#7C5CFF' // unified accent for case-study quote marks
};

// True when the viewport is phone-width; drives the hamburger nav.
function useIsMobile(maxWidth = 767) {
  const query = `(max-width: ${maxWidth}px)`;
  const [isMobile, setIsMobile] = React.useState(
    typeof window !== 'undefined' && window.matchMedia(query).matches
  );
  React.useEffect(() => {
    const mq = window.matchMedia(query);
    const handler = (e) => setIsMobile(e.matches);
    mq.addEventListener('change', handler);
    setIsMobile(mq.matches);
    return () => mq.removeEventListener('change', handler);
  }, [query]);
  return isMobile;
}

// Outlined inline SVG icons, small, white, sit on the dark bar without a filled square
const v1Icon = (name, size = 18) => {
  const common = { width: size, height: size, viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: 1.6, strokeLinecap: 'round', strokeLinejoin: 'round', xmlns: 'http://www.w3.org/2000/svg' };
  if (name === 'fb') return <svg {...common}><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z" /></svg>;
  if (name === 'ig') return <svg {...common}><rect x="3" y="3" width="18" height="18" rx="5" /><circle cx="12" cy="12" r="4" /><circle cx="17.5" cy="6.5" r=".5" fill="currentColor" /></svg>;
  if (name === 'mail') return <svg {...common}><rect x="3" y="5" width="18" height="14" rx="2" /><path d="m3 7 9 6 9-6" /></svg>;
  if (name === 'cal') return <svg {...common}><rect x="3" y="4" width="18" height="17" rx="2" /><path d="M16 2v4M8 2v4M3 10h18" /></svg>;
  if (name === 'phone') return <svg {...common}><path d="M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.3 1.8.6 2.6a2 2 0 0 1-.5 2.1L8 9.6a16 16 0 0 0 6 6l1.2-1.2a2 2 0 0 1 2.1-.5c.8.3 1.7.5 2.6.6a2 2 0 0 1 1.7 2z" /></svg>;
};

// Top utility bar, narrow, social icons + Schedule + phone (matches Elementor)
// tone: 'light' (white icons, for over-hero) | 'dark' (ink icons, for pale page headers)
const V1UtilityBar = ({ data, tone = 'light' }) => {
  const isDark = tone === 'dark';
  const iconColor = isDark ? v1Styles.ink : '#fff';
  return (
    <div className="v1-utilbar" style={{
      background: isDark ? 'transparent' : '#000', padding: '8px 48px',
      display: 'flex', alignItems: 'center', justifyContent: 'space-between',
      fontFamily: v1Styles.sans, color: iconColor, fontSize: 14
    }}>
      <div style={{ display: 'flex', gap: 18, color: iconColor }}>
        {[
        { k: 'fb', href: data.brand.socials.facebook, label: 'Facebook' },
        { k: 'ig', href: data.brand.socials.instagram, label: 'Instagram' },
        { k: 'mail', href: `mailto:${data.brand.email}`, label: 'Email' }].
        map((s) =>
        <a key={s.k} href={s.href} aria-label={s.label} target="_blank" rel="noopener noreferrer" style={{
          color: iconColor, opacity: 0.85, textDecoration: 'none',
          display: 'inline-flex', alignItems: 'center'
        }}>{v1Icon(s.k, 18)}</a>
        )}
      </div>
      <div style={{ display: 'flex', alignItems: 'center', gap: 32 }}>
        <a href={data.brand.bookingUrl} style={{
          display: 'flex', alignItems: 'center', gap: 10, textDecoration: 'none',
          color: v1Styles.blue, fontSize: 14, fontWeight: 600, letterSpacing: '0.01em'
        }}>
          {v1Icon('cal', 16)}
          Schedule a Call with Lauren
        </a>
        <a href={`tel:${data.brand.phone.replace(/\D/g, '')}`} style={{
          display: 'flex', alignItems: 'center', gap: 10, textDecoration: 'none',
          color: v1Styles.blue, fontSize: 14, fontWeight: 600
        }}>
          {v1Icon('phone', 16)}
          (321) 223-6439
        </a>
      </div>
    </div>);

};

// Main nav row, sits over the hero, logo left, links right
// `active` should be one of: 'home' | 'about' | 'services' | 'trainings' | 'coaching' | 'contact'
// `tone`   defaults to 'light' (white links over dark hero). Use 'dark' on interior pages with a pale hero.
const V1MainNav = ({ data, active = 'home', tone = 'light' }) => {
  const navItems = [
  { key: 'home', label: 'Home', href: 'index.html' },
  { key: 'about', label: 'About', href: 'about.html' },
  { key: 'trainings', label: 'Trainings', href: 'trainings.html' },
  { key: 'coaching', label: 'Coaching', href: 'coaching.html' },
  { key: 'pricing', label: 'Pricing', href: 'pricing.html' },
  { key: 'contact', label: 'Contact', href: 'contact.html' }];

  const isDark = tone === 'dark';
  const logoSrc = isDark ?
  typeof window !== 'undefined' && window.__resources?.logoDark || 'logo-dark.png' :
  typeof window !== 'undefined' && window.__resources?.logoWhite || 'logo-white.png';
  const restColor = isDark ? v1Styles.ink : '#fff';
  const isMobile = useIsMobile(767);
  const [open, setOpen] = React.useState(false);
  return (
    <header style={{
      position: 'relative', zIndex: 3,
      padding: '12px 48px',
      display: 'flex', alignItems: 'center', justifyContent: 'space-between',
      background: 'transparent'
    }}>
      <style>{`
        .v1-nav-link { transition: color 180ms ease, opacity 180ms ease; }
        .v1-nav-link:hover { color: ${v1Styles.blue} !important; opacity: 1 !important; }
      `}</style>
      <a href="index.html" style={{ textDecoration: 'none', display: 'flex', alignItems: 'center' }}>
        <img className="v1-nav-logo" src={logoSrc} alt="Practice Potential" style={{ height: 135, width: 'auto', display: 'block' }} />
      </a>

      {!isMobile &&
      <nav style={{
        display: 'flex', gap: 32,
        fontFamily: v1Styles.sans, fontSize: 14, fontWeight: 500
      }}>
        {navItems.map((n) => {
          const isActive = n.key === active;
          return (
            <a key={n.key} href={n.href} className="v1-nav-link" style={{
              color: isActive ? v1Styles.blue : restColor,
              textDecoration: 'none', opacity: isActive ? 1 : 0.9,
              letterSpacing: '0.01em'
            }}>{n.label}</a>);

        })}
      </nav>}

      {isMobile &&
      <button type="button" aria-label="Menu" aria-expanded={open} onClick={() => setOpen((o) => !o)} style={{
        background: 'transparent', border: 0, cursor: 'pointer', color: restColor,
        padding: 6, lineHeight: 0, WebkitTapHighlightColor: 'transparent'
      }}>
        <svg width="30" height="30" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round">
          {open ?
          <g><line x1="6" y1="6" x2="18" y2="18" /><line x1="6" y1="18" x2="18" y2="6" /></g> :
          <g><line x1="3" y1="6" x2="21" y2="6" /><line x1="3" y1="12" x2="21" y2="12" /><line x1="3" y1="18" x2="21" y2="18" /></g>}
        </svg>
      </button>}

      {isMobile && open &&
      <div style={{
        position: 'absolute', top: '100%', left: 0, right: 0, zIndex: 20,
        background: '#0a0a0a', borderTop: '1px solid rgba(255,255,255,0.12)',
        display: 'flex', flexDirection: 'column', padding: '8px 0 14px',
        boxShadow: '0 16px 40px rgba(0,0,0,0.35)'
      }}>
        {navItems.map((n) => {
          const isActive = n.key === active;
          return (
            <a key={n.key} href={n.href} style={{
              color: isActive ? v1Styles.blue : '#fff', textDecoration: 'none',
              fontFamily: v1Styles.sans, fontSize: 17, fontWeight: 500,
              padding: '14px 28px', borderBottom: '1px solid rgba(255,255,255,0.06)'
            }}>{n.label}</a>);

        })}
        <a href={data.brand.bookingUrl} style={{
          margin: '16px 28px 8px', textAlign: 'center', background: v1Styles.blue, color: '#fff',
          fontFamily: v1Styles.sans, fontSize: 16, fontWeight: 700, textDecoration: 'none',
          padding: '14px 0', borderRadius: 6
        }}>Book a Consult Call</a>
        <a href={`tel:${data.brand.phone.replace(/\D/g, '')}`} style={{
          color: 'rgba(255,255,255,0.82)', textAlign: 'center', textDecoration: 'none',
          fontFamily: v1Styles.sans, fontSize: 15, fontWeight: 600, padding: '6px 0'
        }}>{data.brand.phone}</a>
      </div>}
    </header>);

};

const V1Hero = ({ data }) =>
<section className="v1-hero-section">
    <div className="v1-hero-box" style={{ position: 'relative', height: 880, overflow: 'hidden', background: '#0a0a0a' }}>
      {/* Looping YouTube hero, same video as the Elementor staging */}
      <iframe
      className="v1-hero-video"
      src={`https://www.youtube.com/embed/${data.brand.youtubeHeroId}?autoplay=1&mute=1&loop=1&controls=0&showinfo=0&rel=0&modestbranding=1&playsinline=1&playlist=${data.brand.youtubeHeroId}`}
      style={{
        position: 'absolute', top: '50%', left: '50%',
        width: '177.78vh', height: '56.25vw',
        minWidth: '100%', minHeight: '100%',
        transform: 'translate(-50%, -50%)',
        border: 0, pointerEvents: 'none'
      }}
      allow="autoplay; encrypted-media"
      title="Practice Potential hero video" />
    
      {/* Dark overlay for legibility */}
      <div style={{
      position: 'absolute', inset: 0,
      background: 'linear-gradient(180deg, rgba(0,0,0,0.28) 0%, rgba(0,0,0,0.38) 55%, rgba(0,0,0,0.55) 100%)'
    }} />

      {/* Header stack sits on top of the video */}
      <div style={{ position: 'absolute', top: 0, left: 0, right: 0, zIndex: 3 }}>
        <div style={{ background: '#000' }}>
          <V1UtilityBar data={data} />
        </div>
        <V1MainNav data={data} />
      </div>

      {/* Centered hero content */}
      <div className="v1-hero-content" style={{
      position: 'relative', zIndex: 2, color: '#fff', textAlign: 'center',
      padding: '180px 64px 0', maxWidth: 1240, margin: '0 auto'
    }}>
        <h1 style={{
        fontFamily: '"Newsreader", Georgia, serif', fontSize: 86, fontWeight: 500, lineHeight: 1.04,
        letterSpacing: '-0.02em', margin: 0, textWrap: 'balance',
        textShadow: '0 2px 16px rgba(0,0,0,0.5)',
      }}>
          Business Training and Coaching for Doctors and Teams
        </h1>
        <p style={{
        fontFamily: v1Styles.sans, fontSize: 26, lineHeight: 1.4, marginTop: 28,
        maxWidth: 920, marginLeft: 'auto', marginRight: 'auto', fontWeight: 400,
        fontStyle: 'normal', color: 'rgba(255,255,255,0.95)',
        textShadow: '0 1px 8px rgba(0,0,0,0.5)'
      }}>
          We've helped 300+ medical practices build something patients love and their teams believe in.
        </p>
        <div style={{ marginTop: 44 }}>
          <a href={data.brand.bookingUrl} style={{
          display: 'inline-block', padding: '20px 52px',
          background: v1Styles.blue, color: '#fff',
          fontFamily: v1Styles.sans, fontSize: 20, fontWeight: 700,
          textDecoration: 'none', borderRadius: 6, letterSpacing: '0.005em',
          boxShadow: '0 6px 20px rgba(75,104,239,0.4)'
        }}>Book a Consult Call</a>
        </div>
      </div>
    </div>
  </section>;


const V1Stats = ({ data }) =>
<section style={{ background: v1Styles.paper, padding: '60px 64px', borderTop: `1px solid ${v1Styles.rule}`, borderBottom: `1px solid ${v1Styles.rule}` }}>
    <div style={{ maxWidth: 1280, margin: '0 auto' }}>
      <div style={{
      fontFamily: v1Styles.sans, fontSize: 11, letterSpacing: '0.3em',
      textTransform: 'uppercase', color: v1Styles.muted, textAlign: 'center', marginBottom: 40
    }}>
        Fifteen years, 300+ practices, one common thread
      </div>
      <div style={{ display: 'grid', gridTemplateColumns: `repeat(${data.stats.length}, 1fr)`, gap: 0 }}>
        {data.stats.map((s, i) =>
      <div key={i} style={{
        padding: '0 32px', textAlign: 'center',
        borderRight: i < data.stats.length - 1 ? `1px solid ${v1Styles.rule}` : 'none',
        display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'flex-start'
      }}>
            {s.logos ?
        <div style={{
          display: 'flex', flexDirection: 'column', alignItems: 'center',
          justifyContent: 'center', gap: 18, height: 96
        }}>
                {s.logos.map((src, j) =>
          <img key={j} src={src} alt="" style={{
            height: src.includes('harvard') ? 52 : 26,
            width: 'auto', maxWidth: 180, objectFit: 'contain', display: 'block'
          }} />
          )}
              </div> :

        <div style={{
          fontFamily: v1Styles.font, fontSize: 84, fontWeight: 400,
          color: v1Styles.ink, lineHeight: 1, letterSpacing: '-0.02em',
          display: 'inline-flex', alignItems: 'baseline', gap: 6
        }}>
                <span style={{ fontFamily: "\"Cormorant Garamond\"" }}>{s.number}</span>
                {s.unit ?
          <span style={{
            fontFamily: v1Styles.sans, fontSize: 16, fontWeight: 600,
            letterSpacing: '0.14em', color: v1Styles.muted
          }}>{s.unit}</span> :
          null}
              </div>
        }
            <div style={{
          fontFamily: v1Styles.sans, fontSize: 13, color: v1Styles.muted,
          marginTop: 18, lineHeight: 1.4, letterSpacing: '0.02em',
          textWrap: 'balance'
        }}>{s.label}</div>
          </div>
      )}
      </div>
    </div>
  </section>;


const V1Mission = ({ data }) =>
<section style={{ background: v1Styles.paper, padding: '140px 64px' }}>
    <div style={{ maxWidth: 1280, margin: '0 auto', textAlign: 'center' }}>
      <div style={{
      fontFamily: v1Styles.sans, fontSize: 11, letterSpacing: '0.3em',
      textTransform: 'uppercase', color: v1Styles.blue, fontWeight: 600, marginBottom: 24
    }}>
        Lauren's Approach
      </div>
      <h2 style={{
      fontFamily: v1Styles.font, fontSize: 60, fontWeight: 500, lineHeight: 1.1,
      letterSpacing: '-0.02em', margin: '0 auto', color: v1Styles.ink,
      textWrap: 'balance', maxWidth: 1000, fontVariationSettings: '"opsz" 144'
    }}>
        Our Training and Coaching Services for Medical Practices
      </h2>
      <p style={{
      fontFamily: v1Styles.sans, fontSize: 20, lineHeight: 1.55, margin: '28px auto 0',
      color: v1Styles.muted, maxWidth: 880
    }}>
        From hands-on team training to executive-level coaching, we meet you where you are and help you build the practice you've always envisioned.
      </p>

      <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 56, marginTop: 88, textAlign: 'center' }}>
        {[
      { slug: 'in-office', icon: 'chart', title: 'In-Office Team Training', body: 'We come to your practice and train your team on the customer service and communication skills that improve patient experience, increase treatment acceptance, and grow revenue starting day one.' },
      { slug: 'coaching', icon: 'bulb', title: 'Business Coaching For Doctors', body: 'Executive-level coaching for practice owners ready to lead with clarity. We focus on leadership, accountability, and the business strategy that turns a good practice into a great one.' },
      { slug: 'online', icon: 'book', title: 'Online Training Programs', body: 'Flexible, scalable training your team can complete from anywhere. Built on the same proven frameworks as our in-office programs, delivered on your schedule with limited interruption to your practice.' }].
      map((s) => {
        const iconStroke = { fill: 'none', stroke: v1Styles.blue, strokeWidth: 2.2, strokeLinecap: 'round', strokeLinejoin: 'round' };
        const Icon = () => {
          if (s.icon === 'chart') return (
            <svg width="56" height="56" viewBox="0 0 24 24" {...iconStroke}>
                <path d="M3 20h18" /><path d="M6 16v-4M11 16V8M16 16v-6" />
                <path d="M18 4l4 4m-4-4-3 3m3-3v6" fill={v1Styles.blue} stroke="none" />
              </svg>);

          if (s.icon === 'bulb') return (
            <svg width="56" height="56" viewBox="0 0 24 24" {...iconStroke}>
                <path d="M9 18h6M10 21h4" />
                <path d="M12 3a6 6 0 0 0-4 10.5c.7.7 1 1.7 1 2.5h6c0-.8.3-1.8 1-2.5A6 6 0 0 0 12 3z" />
              </svg>);

          return (
            <svg width="56" height="56" viewBox="0 0 24 24" {...iconStroke}>
                <path d="M4 5a2 2 0 0 1 2-2h5v16H6a2 2 0 0 0-2 2V5zM20 5a2 2 0 0 0-2-2h-5v16h5a2 2 0 0 1 2 2V5z" />
              </svg>);

        };
        return (
          <div key={s.slug} style={{ padding: '8px 12px' }}>
              <div style={{ marginBottom: 24, display: 'flex', justifyContent: 'center' }}><Icon /></div>
              <h3 style={{
              fontFamily: v1Styles.font, fontSize: 28, fontWeight: 500,
              margin: '0 0 16px', color: v1Styles.ink, lineHeight: 1.2, letterSpacing: '-0.005em'
            }}>{s.title}</h3>
              <p style={{
              fontFamily: v1Styles.sans, fontSize: 15, color: v1Styles.muted,
              margin: '0 0 28px', lineHeight: 1.65
            }}>{s.body}</p>
              <a href="#" style={{
              display: 'inline-block', padding: '12px 28px',
              border: `1.5px solid ${v1Styles.ink}`, color: v1Styles.ink,
              fontFamily: v1Styles.sans, fontSize: 13, fontWeight: 600,
              letterSpacing: '0.08em', textTransform: 'uppercase',
              textDecoration: 'none', borderRadius: 4
            }}>Learn More</a>
            </div>);

      })}
      </div>
    </div>
  </section>;


// Slim founder strip, sits between testimonials and contact form
const V1LaurenStrip = ({ data }) =>
<section style={{ background: v1Styles.paperWarm, padding: '100px 64px', borderTop: `1px solid ${v1Styles.rule}`, borderBottom: `1px solid ${v1Styles.rule}` }}>
    <div style={{
    maxWidth: 1180, margin: '0 auto',
    display: 'grid', gridTemplateColumns: '380px 1fr', gap: 64, alignItems: 'center'
  }}>
      <div className="v1-founder-media" style={{
      aspectRatio: '4/5', borderRadius: 2, overflow: 'hidden',
      background: '#1a1f2a'
    }}>
        <img src="lauren-portrait.jpg" alt="Lauren Andreas" style={{
        width: '100%', height: '100%', objectFit: 'cover', objectPosition: '72% 30%',
        display: 'block'
      }} />
      </div>
      <div className="v1-founder-text">
        <div style={{
        fontFamily: v1Styles.sans, fontSize: 11, letterSpacing: '0.3em',
        textTransform: 'uppercase', color: v1Styles.blue, fontWeight: 600, marginBottom: 20
      }}>Meet the Founder</div>
        <h2 style={{
        fontFamily: '"Newsreader", Georgia, serif', fontSize: 44, fontWeight: 500,
        lineHeight: 1.1, letterSpacing: '-0.02em', color: v1Styles.ink,
        margin: 0, textWrap: 'balance',
      }}>
          {data.laurenBio.headline}
        </h2>
        <p style={{
        fontFamily: v1Styles.sans, fontSize: 16, lineHeight: 1.65,
        color: v1Styles.ink, opacity: 0.85, margin: '24px 0 0', maxWidth: 620
      }}>
          {data.laurenBio.para1}
        </p>
        <a href="#about" style={{
        display: 'inline-block', marginTop: 28,
        fontFamily: v1Styles.sans, fontSize: 13, fontWeight: 600,
        color: v1Styles.ink, textDecoration: 'none', letterSpacing: '0.04em',
        paddingBottom: 4, borderBottom: `1px solid ${v1Styles.ink}`
      }}>Read Lauren's story →</a>
      </div>
    </div>
  </section>;


const V1Lauren = ({ data }) =>
<section style={{ background: v1Styles.ink, padding: '140px 64px', color: '#fff' }}>
    <div style={{ maxWidth: 1280, margin: '0 auto', display: 'grid', gridTemplateColumns: '7fr 5fr', gap: 96, alignItems: 'center' }}>
      <div>
        <div style={{
        fontFamily: v1Styles.sans, fontSize: 11, letterSpacing: '0.3em',
        textTransform: 'uppercase', color: '#9eaaff', fontWeight: 600, marginBottom: 24
      }}>Meet the Founder</div>
        <h2 style={{
        fontFamily: v1Styles.font, fontSize: 60, fontWeight: 500, lineHeight: 1.1,
        letterSpacing: '-0.02em', margin: 0, textWrap: 'balance'
      }}>
          {data.laurenBio.headline}
        </h2>
        <p style={{
        fontFamily: v1Styles.sans, fontSize: 17, lineHeight: 1.65,
        margin: '32px 0 0', opacity: 0.85, maxWidth: 620
      }}>
          {data.laurenBio.para1}
        </p>
        <p style={{
        fontFamily: v1Styles.sans, fontSize: 16, lineHeight: 1.65,
        margin: '20px 0 0', opacity: 0.7, maxWidth: 620
      }}>
          {data.laurenBio.para2}
        </p>
        <a style={{
        display: 'inline-block', marginTop: 40,
        fontFamily: v1Styles.sans, fontSize: 13, fontWeight: 600,
        color: '#fff', textDecoration: 'none', letterSpacing: '0.04em',
        paddingBottom: 4, borderBottom: '1px solid #fff'
      }}>Read Lauren's story →</a>
      </div>
      <div style={{
      aspectRatio: '4/5', borderRadius: 2, position: 'relative', overflow: 'hidden',
      background: '#1a1f2a'
    }}>
        <img src="lauren-portrait.jpg" alt="Lauren Andreas" style={{
        width: '100%', height: '100%', objectFit: 'cover', objectPosition: '50% 30%',
        display: 'block'
      }} />
      </div>
    </div>
  </section>;


const V1Testimonials = ({ data }) => {
  const eyebrow = {
    fontFamily: v1Styles.sans, fontSize: 11, fontWeight: 600, color: v1Styles.blue,
    letterSpacing: '0.2em', textTransform: 'uppercase', marginBottom: 10
  };
  const body = {
    fontFamily: v1Styles.sans, fontSize: 15.5, lineHeight: 1.62, color: v1Styles.ink,
    opacity: 0.85, margin: '0 0 26px'
  };
  const stories = data.testimonials.filter((t) => t.challenge && t.results && t.results.length);
  return (
    <section style={{ background: v1Styles.paper, padding: '88px 64px' }}>
      <div style={{ maxWidth: 1200, margin: '0 auto' }}>
        <style>{`.pp-cs-link{transition:color 160ms ease;} .pp-cs-link:hover{color:${v1Styles.blue} !important;}`}</style>
        <div style={{ textAlign: 'center', marginBottom: 20 }}>
          <div style={{
            fontFamily: v1Styles.font, fontSize: 26, fontWeight: 400,
            color: v1Styles.blue, marginBottom: 18, letterSpacing: '-0.005em'
          }}>Real practices. Real outcomes.</div>
          <h2 style={{
            fontFamily: v1Styles.font, fontSize: 60, fontWeight: 500, lineHeight: 1.1,
            letterSpacing: '-0.02em', margin: '0 auto', color: v1Styles.ink,
            maxWidth: 1000, textWrap: 'balance', fontVariationSettings: '"opsz" 144'
          }}>
            Practice growth stories from doctors and teams we've coached.
          </h2>
          <p style={{
            fontFamily: v1Styles.sans, fontSize: 20, lineHeight: 1.55, margin: '28px auto 0',
            color: v1Styles.muted, maxWidth: 760
          }}>
            What happens when doctors and their teams commit to the work, across specialties, practice sizes, and starting points.
          </p>
        </div>

        <div>
          {stories.map((t, i) => {
            const tint = v1Styles.purple;
            const meta = [t.specialty, t.location].filter(Boolean).join(' \u00b7 ');
            return (
              <article key={i} className="pp-cs-row" style={{
                padding: '52px 32px', margin: '0 -32px',
                background: i % 2 === 0 ? v1Styles.paperWarm : 'transparent'
              }}>
                <div style={{
                  display: 'flex', alignItems: 'flex-end', justifyContent: 'space-between',
                  gap: 24,
                  paddingBottom: 18, marginBottom: 26, flexWrap: 'wrap'
                }}>
                  <div style={{ display: 'flex', alignItems: 'baseline', gap: 20 }}>
                    <span aria-hidden="true" style={{
                      fontFamily: v1Styles.font, fontSize: 42, fontWeight: 400,
                      lineHeight: 1, color: tint, opacity: 0.4,
                      fontVariationSettings: '"opsz" 144', flexShrink: 0
                    }}>{String(i + 1).padStart(2, '0')}</span>
                    {t.website ?
                    <h3 style={{ margin: 0, lineHeight: 1.05 }}>
                      <a href={t.website} target="_blank" rel="noopener noreferrer" className="pp-cs-link pp-cs-name" style={{
                        fontFamily: v1Styles.font, fontSize: 38, fontWeight: 500,
                        letterSpacing: '-0.015em', color: v1Styles.ink, lineHeight: 1.05,
                        textDecoration: 'none'
                      }}>{t.practice}</a>
                    </h3> :
                    <h3 className="pp-cs-name" style={{
                      fontFamily: v1Styles.font, fontSize: 38, fontWeight: 500, margin: 0,
                      letterSpacing: '-0.015em', color: v1Styles.ink, lineHeight: 1.05
                    }}>{t.practice}</h3>}
                  </div>
                  <span style={{
                    fontFamily: v1Styles.sans, fontSize: 11, fontWeight: 600, color: v1Styles.muted,
                    letterSpacing: '0.2em', textTransform: 'uppercase', paddingBottom: 6
                  }}>{meta}</span>
                </div>

                <div style={{ display: 'grid', gridTemplateColumns: '1.12fr 1fr', gap: 56 }}>
                  <div>
                    <div style={eyebrow}>The Challenge</div>
                    <p style={body}>{t.challenge}</p>
                    <div style={eyebrow}>What We Implemented</div>
                    <p style={{ ...body, marginBottom: 0 }}>{t.implemented}</p>
                  </div>

                  <div>
                    <div style={eyebrow}>Results</div>
                    <ul style={{ margin: 0, padding: 0, listStyle: 'none', display: 'grid', gap: 11 }}>
                      {t.results.map((r, ri) =>
                      <li key={ri} style={{
                        fontFamily: v1Styles.sans, fontSize: 15, color: v1Styles.ink,
                        lineHeight: 1.45, display: 'grid', gridTemplateColumns: '18px 1fr',
                        gap: 9, alignItems: 'start'
                      }}>
                        <span style={{ color: tint, fontWeight: 700, fontSize: 16, lineHeight: 1.3, textAlign: 'center' }}>{'↗'}</span>
                        <span>{r}</span>
                      </li>)}
                    </ul>

                    <blockquote style={{
                      margin: '18px 0 0', paddingTop: 16
                    }}>
                      <div aria-hidden="true" style={{
                        fontFamily: '"Newsreader", Georgia, serif', fontSize: 58, lineHeight: 0.7,
                        color: tint, opacity: 0.34, marginBottom: -26
                      }}>{'“'}</div>
                      <p style={{
                        fontFamily: '"Newsreader", Georgia, serif', fontStyle: 'italic',
                        fontSize: 17.5, lineHeight: 1.5, color: v1Styles.ink, margin: 0
                      }}>{t.quote}</p>
                      <div style={{
                        fontFamily: v1Styles.sans, fontSize: 12.5, color: v1Styles.muted,
                        marginTop: 14, fontWeight: 600, letterSpacing: '0.02em'
                      }}>
                        <span style={{ display: 'block', color: v1Styles.ink }}>{t.name}</span>
                        {t.website ?
                        <a href={t.website} target="_blank" rel="noopener noreferrer" className="pp-acc-link" style={{
                          display: 'block', marginTop: 3, color: v1Styles.muted,
                          textDecoration: 'underline', textUnderlineOffset: '2px'
                        }}>{t.practice}</a> :
                        <span style={{ display: 'block', marginTop: 3 }}>{t.practice}</span>}
                      </div>
                    </blockquote>
                  </div>
                </div>
              </article>);
          })}
        </div>
      </div>
    </section>);
};

// Accordion variant of the case studies: first open, the rest click-to-expand.
const V1TestimonialsAccordion = ({ data }) => {
  const [openIdx, setOpenIdx] = React.useState(0);
  const tint = v1Styles.purple;
  const eyebrow = {
    fontFamily: v1Styles.sans, fontSize: 11, fontWeight: 600, color: v1Styles.blue,
    letterSpacing: '0.2em', textTransform: 'uppercase', marginBottom: 10
  };
  const body = {
    fontFamily: v1Styles.sans, fontSize: 15.5, lineHeight: 1.62, color: v1Styles.ink,
    opacity: 0.85, margin: '0 0 26px'
  };
  const stories = data.testimonials.filter((t) => t.challenge && t.results && t.results.length);
  return (
    <section style={{ background: v1Styles.paper, padding: '88px 64px' }}>
      <div style={{ maxWidth: 1200, margin: '0 auto' }}>
        <style>{`.pp-acc-link{transition:color 160ms ease;} .pp-acc-link:hover{color:${v1Styles.blue} !important;} .pp-acc-head{transition:background 180ms ease;border-radius:8px;cursor:pointer;} .pp-acc-head:hover{background:${v1Styles.paperWarm};}`}</style>
        <div style={{ textAlign: 'center', marginBottom: 20 }}>
          <div style={{
            fontFamily: v1Styles.font, fontSize: 26, fontWeight: 400,
            color: v1Styles.blue, marginBottom: 18, letterSpacing: '-0.005em'
          }}>Real practices. Real outcomes.</div>
          <h2 style={{
            fontFamily: v1Styles.font, fontSize: 60, fontWeight: 500, lineHeight: 1.1,
            letterSpacing: '-0.02em', margin: '0 auto', color: v1Styles.ink,
            maxWidth: 1000, textWrap: 'balance', fontVariationSettings: '"opsz" 144'
          }}>
            Practice growth stories from doctors and teams we've coached.
          </h2>
          <p style={{
            fontFamily: v1Styles.sans, fontSize: 20, lineHeight: 1.55, margin: '28px auto 0',
            color: v1Styles.muted, maxWidth: 760
          }}>
            What happens when doctors and their teams commit to the work, across specialties, practice sizes, and starting points.
          </p>
        </div>

        <div>
          {stories.map((t, i) => {
            const open = openIdx === i;
            const meta = [t.specialty, t.location].filter(Boolean).join(' · ');
            return (
              <article key={i} style={{ borderTop: `1px solid ${v1Styles.rule}` }}>
                <div className="pp-acc-head" role="button" tabIndex={0} aria-expanded={open}
                  onClick={() => setOpenIdx(open ? -1 : i)}
                  onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); setOpenIdx(open ? -1 : i); } }}
                  style={{
                    display: 'flex', alignItems: 'center', justifyContent: 'space-between',
                    gap: 24, padding: '26px 32px', margin: '0 -32px', flexWrap: 'wrap'
                  }}>
                  <div style={{ display: 'flex', alignItems: 'baseline', gap: 20 }}>
                    <span aria-hidden="true" style={{
                      fontFamily: v1Styles.font, fontSize: 42, fontWeight: 400,
                      lineHeight: 1, color: tint, opacity: 0.4,
                      fontVariationSettings: '"opsz" 144', flexShrink: 0
                    }}>{String(i + 1).padStart(2, '0')}</span>
                    <span className="pp-acc-name" style={{
                      fontFamily: v1Styles.font, fontSize: 32, fontWeight: 500,
                      letterSpacing: '-0.015em', color: v1Styles.ink, lineHeight: 1.05
                    }}>{t.practice}</span>
                  </div>
                  <div style={{ display: 'flex', alignItems: 'center', gap: 18 }}>
                    <span style={{
                      fontFamily: v1Styles.sans, fontSize: 11, fontWeight: 600, color: v1Styles.muted,
                      letterSpacing: '0.2em', textTransform: 'uppercase'
                    }}>{meta}</span>
                    <span aria-hidden="true" style={{
                      display: 'inline-block', color: tint, fontSize: 20, lineHeight: 1,
                      transform: open ? 'rotate(180deg)' : 'rotate(0deg)', transition: 'transform 220ms ease'
                    }}>{'▾'}</span>
                  </div>
                </div>

                {open &&
                <div style={{ display: 'grid', gridTemplateColumns: '1.12fr 1fr', gap: 56, padding: '8px 0 44px' }}>
                  <div>
                    <div style={eyebrow}>The Challenge</div>
                    <p style={body}>{t.challenge}</p>
                    <div style={eyebrow}>What We Implemented</div>
                    <p style={{ ...body, marginBottom: 0 }}>{t.implemented}</p>
                  </div>

                  <div>
                    <div style={eyebrow}>Results</div>
                    <ul style={{ margin: 0, padding: 0, listStyle: 'none', display: 'grid', gap: 11 }}>
                      {t.results.map((r, ri) =>
                      <li key={ri} style={{
                        fontFamily: v1Styles.sans, fontSize: 15, color: v1Styles.ink,
                        lineHeight: 1.45, display: 'grid', gridTemplateColumns: '18px 1fr',
                        gap: 9, alignItems: 'start'
                      }}>
                        <span style={{ color: tint, fontWeight: 700, fontSize: 16, lineHeight: 1.3, textAlign: 'center' }}>{'↗'}</span>
                        <span>{r}</span>
                      </li>)}
                    </ul>

                    <blockquote style={{
                      margin: '18px 0 0', paddingTop: 16
                    }}>
                      <div aria-hidden="true" style={{
                        fontFamily: '"Newsreader", Georgia, serif', fontSize: 58, lineHeight: 0.7,
                        color: tint, opacity: 0.34, marginBottom: -26
                      }}>{'“'}</div>
                      <p style={{
                        fontFamily: '"Newsreader", Georgia, serif', fontStyle: 'italic',
                        fontSize: 17.5, lineHeight: 1.5, color: v1Styles.ink, margin: 0
                      }}>{t.quote}</p>
                      <div style={{
                        fontFamily: v1Styles.sans, fontSize: 12.5, color: v1Styles.muted,
                        marginTop: 14, fontWeight: 600, letterSpacing: '0.02em'
                      }}>
                        <span style={{ display: 'block', color: v1Styles.ink }}>{t.name}</span>
                        {t.website ?
                        <a href={t.website} target="_blank" rel="noopener noreferrer" className="pp-acc-link" style={{
                          display: 'block', marginTop: 3, color: v1Styles.muted,
                          textDecoration: 'underline', textUnderlineOffset: '2px'
                        }}>{t.practice}</a> :
                        <span style={{ display: 'block', marginTop: 3 }}>{t.practice}</span>}
                      </div>
                    </blockquote>
                  </div>
                </div>}
              </article>);
          })}
        </div>
      </div>
    </section>);
};

// Small centered label used to mark the A/B comparison sections (temporary).
const V1ABLabel = ({ text }) =>
<div style={{ background: v1Styles.paper, textAlign: 'center', padding: '54px 0 0' }}>
    <span style={{
    display: 'inline-block', fontFamily: v1Styles.sans, fontSize: 12, fontWeight: 700,
    letterSpacing: '0.25em', textTransform: 'uppercase', color: v1Styles.purple,
    border: `1px solid ${v1Styles.rule}`, borderRadius: 999, padding: '8px 20px'
  }}>{text}</span>
  </div>;

const V1Contact = ({ data }) =>
<section style={{ background: v1Styles.paperWarm, padding: '140px 64px' }}>
    <div style={{ maxWidth: 1100, margin: '0 auto', display: 'grid', gridTemplateColumns: '1fr 1.2fr', gap: 80 }}>
      <div>
        <div style={{
        fontFamily: v1Styles.sans, fontSize: 11, letterSpacing: '0.3em',
        textTransform: 'uppercase', color: v1Styles.blue, fontWeight: 600, marginBottom: 20
      }}>Let's Talk</div>
        <h2 style={{
        fontFamily: v1Styles.font, fontSize: 60, fontWeight: 500, lineHeight: 1.1,
        letterSpacing: '-0.02em', margin: 0, color: v1Styles.ink, textWrap: 'balance'
      }}>
          Tell us about your practice. We'll send back honest thoughts within two business days.
        </h2>
        <div style={{ marginTop: 48, display: 'grid', gap: 20 }}>
          <div>
            <div style={{ fontFamily: v1Styles.sans, fontSize: 11, color: v1Styles.muted, letterSpacing: '0.15em', textTransform: 'uppercase' }}>Direct</div>
            <div style={{ fontFamily: v1Styles.font, fontSize: 24, color: v1Styles.ink, marginTop: 4 }}>{data.brand.phone}</div>
          </div>
          <div>
            <div style={{ fontFamily: v1Styles.sans, fontSize: 11, color: v1Styles.muted, letterSpacing: '0.15em', textTransform: 'uppercase' }}>Email</div>
            <div style={{ fontFamily: v1Styles.font, fontSize: 22, color: v1Styles.ink, marginTop: 4 }}>{data.brand.email}</div>
          </div>
          <div>
            <div style={{ fontFamily: v1Styles.sans, fontSize: 11, color: v1Styles.muted, letterSpacing: '0.15em', textTransform: 'uppercase' }}>Based in</div>
            <div style={{ fontFamily: v1Styles.font, fontSize: 22, color: v1Styles.ink, marginTop: 4 }}>{data.brand.location} · serving practices nationwide</div>
          </div>
        </div>
      </div>
      <form style={{ display: 'grid', gap: 24 }}>
        <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 24 }}>
          <V1Field label="Your name" placeholder="Dr. Jane Doe" />
          <V1Field label="Practice name" placeholder="Sunshine Family Dental" />
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 24 }}>
          <V1Field label="Email" placeholder="jane@practice.com" />
          <V1Field label="Phone" placeholder="(555) 123-4567" />
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 24 }}>
          <V1Field label="Specialty" placeholder="Dental · Derm · Pediatric · Other" />
          <V1Field label="How did you hear about us?" placeholder="Referral · Google · Social · ..." />
        </div>
        <V1Field label="I'm interested in" placeholder="Team training · 1-to-1 coaching · Both" />
        <div>
          <div style={{ fontFamily: v1Styles.sans, fontSize: 11, color: v1Styles.muted, letterSpacing: '0.15em', textTransform: 'uppercase', marginBottom: 8 }}>What are you hoping to change?</div>
          <textarea rows={4} placeholder="A few sentences is plenty." style={{
          width: '100%', padding: 12, border: `1px solid ${v1Styles.rule}`,
          background: v1Styles.paper, fontFamily: v1Styles.sans, fontSize: 15,
          color: v1Styles.ink, resize: 'vertical', borderRadius: 0
        }} />
        </div>
        <button type="button" style={{
        padding: '18px 32px', background: v1Styles.blue, color: '#fff',
        border: 0, fontFamily: v1Styles.sans, fontSize: 14, fontWeight: 600,
        letterSpacing: '0.04em', cursor: 'pointer', justifySelf: 'start',
        borderRadius: 2
      }}>Send Message →</button>
      </form>
    </div>
  </section>;


// New contact section, real Kit embed, restyled to match editorial palette
const V1ContactCK = ({ data, bg }) => {
  const hostRef = React.useRef(null);
  const sectionBg = bg || v1Styles.paperWarm;

  React.useEffect(() => {
    // Inject the form markup
    if (hostRef.current && window.KIT_EMBED_HTML) {
      hostRef.current.innerHTML = window.KIT_EMBED_HTML;
    }
    // Load ck.5.js once (handles validation, submit, recaptcha)
    const SRC = 'https://f.convertkit.com/ckjs/ck.5.js';
    if (!document.querySelector(`script[src="${SRC}"]`)) {
      const s = document.createElement('script');
      s.src = SRC;
      s.async = true;
      document.body.appendChild(s);
    }
  }, []);

  return (
    <section className="v1-contact-section" style={{ background: sectionBg, padding: '140px 64px' }}>
      <style>{`
        /* Override Kit's defaults to match the editorial palette */
        .kit-host .formkit-form[data-uid="bdc10c2315"] {
          background: transparent !important;
          box-shadow: none !important;
          max-width: 1100px !important;
          margin: 0 auto !important;
          font-family: "Inter", sans-serif !important;
        }
        .kit-host .formkit-form[data-uid="bdc10c2315"] [data-style="full"] {
          background: ${v1Styles.paper} !important;
          border: 1px solid ${v1Styles.rule};
          border-radius: 8px;
          overflow: hidden;
          display: flex !important;
          flex-direction: row !important;
          align-items: stretch !important;
          min-height: 620px;
        }
        @media (max-width: 720px) {
          .kit-host .formkit-form[data-uid="bdc10c2315"] [data-style="full"] {
            flex-direction: column !important;
            min-height: 0;
          }
        }
        .kit-host .formkit-form .formkit-column {
          padding: 64px 64px !important;
          flex: 0 0 50% !important;
          width: 50% !important;
          min-width: 0 !important;
          box-sizing: border-box !important;
        }
        .kit-host .formkit-form .formkit-background {
          flex: 0 0 50% !important;
          width: 50% !important;
          min-width: 0 !important;
          min-height: 100% !important;
          margin: 0 !important;
          border-radius: 0 !important;
          background-size: cover !important;
          background-position: center !important;
        }
        @media (max-width: 720px) {
          .kit-host .formkit-form .formkit-column { width: 100% !important; padding: 40px 28px !important; }
          .kit-host .formkit-form .formkit-background { width: 100% !important; min-height: 280px !important; }
        }
        /* Header, serif, ink, left-aligned to match editorial sections */
        .kit-host .formkit-form .formkit-header {
          color: ${v1Styles.ink} !important;
          margin: 0 0 18px 0 !important;
          font-weight: 500 !important;
        }
        .kit-host .formkit-form .formkit-header h2 {
          font-family: "Newsreader", Georgia, serif !important;
          font-weight: 500 !important;
          font-size: 44px !important;
          line-height: 1.1 !important;
          letter-spacing: -0.02em !important;
          text-align: left !important;
          margin: 0 !important;
          font-variation-settings: "opsz" 144;
        }
        .kit-host .formkit-form .formkit-content {
          color: ${v1Styles.muted} !important;
          margin-bottom: 32px !important;
          font-family: "Inter", sans-serif !important;
        }
        .kit-host .formkit-form .formkit-content p {
          text-align: left !important;
          margin: 0 !important;
        }
        .kit-host .formkit-form .formkit-content em {
          font-style: normal !important;
        }
        .kit-host .formkit-form .formkit-content span {
          font-size: 15px !important;
          line-height: 1.55 !important;
        }
        /* Inputs, cream, thin rule, sans, generous height */
        .kit-host .formkit-form .formkit-field { margin: 0 0 12px 0 !important; display: block !important; }
        .kit-host .formkit-form .formkit-input {
          box-sizing: border-box !important;
          width: 100% !important;
          display: block !important;
          background-color: #fff !important;
          color: ${v1Styles.ink} !important;
          border: 1px solid ${v1Styles.rule} !important;
          border-radius: 3px !important;
          font-family: "Inter", sans-serif !important;
          height: 52px !important;
          font-size: 14px !important;
          padding: 0 14px !important;
          margin: 0 !important;
        }
        .kit-host .formkit-form .formkit-input:focus {
          border-color: ${v1Styles.ink} !important;
          outline: none !important;
        }
        .kit-host .formkit-form .formkit-input::placeholder {
          color: ${v1Styles.muted} !important;
          opacity: 1 !important;
        }
        /* Submit, solid ink button, uppercase tracked label */
        .kit-host .formkit-form .formkit-fields { display: block !important; }
        .kit-host .formkit-form .formkit-submit {
          box-sizing: border-box !important;
          display: block !important;
          width: 100% !important;
          border: 0 !important;
          cursor: pointer !important;
          position: relative !important;
          overflow: hidden !important;
          padding: 0 !important;
          background-color: ${v1Styles.ink} !important;
          color: #fff !important;
          border-radius: 3px !important;
          font-family: "Inter", sans-serif !important;
          font-size: 12px !important;
          font-weight: 600 !important;
          letter-spacing: 0.14em !important;
          text-transform: uppercase !important;
          height: 56px !important;
          margin-top: 12px !important;
        }
        .kit-host .formkit-form .formkit-submit > span {
          display: block !important;
          padding: 18px 24px !important;
          transition: background-color 200ms ease !important;
        }
        .kit-host .formkit-form .formkit-submit:hover > span { background-color: rgba(255,255,255,0.08) !important; }
        .kit-host .formkit-form .formkit-disclaimer {
          font-family: "Inter", sans-serif !important;
          color: ${v1Styles.muted} !important;
          font-size: 11px !important;
          letter-spacing: 0.04em !important;
          margin-top: 14px !important;
        }
        .kit-host .formkit-form .formkit-alert-error {
          background: #fde8e2 !important;
          border-color: #f2643b !important;
          color: #ea4110 !important;
          font-family: "Inter", sans-serif !important;
        }
      `}</style>
      <div className="kit-host" ref={hostRef} />
    </section>);

};

const V1Field = ({ label, placeholder }) =>
<div>
    <div style={{ fontFamily: v1Styles.sans, fontSize: 11, color: v1Styles.muted, letterSpacing: '0.15em', textTransform: 'uppercase', marginBottom: 8 }}>{label}</div>
    <input type="text" placeholder={placeholder} style={{
    width: '100%', padding: 12, border: `1px solid ${v1Styles.rule}`,
    background: v1Styles.paper, fontFamily: v1Styles.sans, fontSize: 15,
    color: v1Styles.ink, borderRadius: 0, boxSizing: 'border-box'
  }} />
  </div>;


const V1Footer = ({ data }) =>
<footer style={{ background: v1Styles.ink, color: '#fff', padding: '80px 64px 32px' }}>
    <div style={{ maxWidth: 1280, margin: '0 auto' }}>
      <div style={{ display: 'grid', gridTemplateColumns: '2fr 1fr 1fr 1fr', gap: 64, paddingBottom: 64, borderBottom: '1px solid rgba(255,255,255,0.15)' }}>
        <div>
          <div style={{ fontFamily: v1Styles.font, fontSize: 28, fontWeight: 500, marginBottom: 16 }}>
            The Practice Potential
          </div>
          <p style={{ fontFamily: v1Styles.sans, fontSize: 14, opacity: 0.65, lineHeight: 1.6, margin: 0, maxWidth: 360 }}>
            Business coaching and team training for medical practices. Trusted by 300+ medical practices nationwide.
          </p>
        </div>
        <div>
          <div style={{ fontFamily: v1Styles.sans, fontSize: 11, opacity: 0.5, letterSpacing: '0.2em', textTransform: 'uppercase', marginBottom: 20 }}>Programs</div>
          <div style={{ display: 'grid', gap: 12 }}>
            {[
          { label: 'Trainings', href: 'trainings.html' },
          { label: '1-to-1 Coaching', href: 'coaching.html' },
          { label: 'Pricing', href: 'pricing.html' }].
          map((x) =>
          <a key={x.label} href={x.href} style={{ fontFamily: v1Styles.sans, fontSize: 14, color: '#fff', opacity: 0.85, textDecoration: 'none' }}>{x.label}</a>
          )}
          </div>
        </div>
        <div>
          <div style={{ fontFamily: v1Styles.sans, fontSize: 11, opacity: 0.5, letterSpacing: '0.2em', textTransform: 'uppercase', marginBottom: 20 }}>Company</div>
          <div style={{ display: 'grid', gap: 12 }}>
            {[
          { label: 'About Lauren', href: 'about.html' },
          { label: 'Client Stories', href: 'index.html#stories' },
          { label: 'Trainings', href: 'trainings.html' },
          { label: 'Contact', href: 'contact.html' }].
          map((x) =>
          <a key={x.label} href={x.href} style={{ fontFamily: v1Styles.sans, fontSize: 14, color: '#fff', opacity: 0.85, textDecoration: 'none' }}>{x.label}</a>
          )}
          </div>
        </div>
        <div>
          <div style={{ fontFamily: v1Styles.sans, fontSize: 11, opacity: 0.5, letterSpacing: '0.2em', textTransform: 'uppercase', marginBottom: 20 }}>Get in touch</div>
          <div style={{ display: 'grid', gap: 12, fontFamily: v1Styles.sans, fontSize: 14 }}>
            <div style={{ opacity: 0.85 }}>{data.brand.phone}</div>
            <div style={{ opacity: 0.85 }}>{data.brand.email}</div>
            <div style={{ opacity: 0.85 }}>{data.brand.location}</div>
            <div style={{ display: 'flex', gap: 14, marginTop: 12 }}>
              {[
            { label: 'IG', name: 'Instagram', href: data.brand.socials?.instagram },
            { label: 'FB', name: 'Facebook', href: data.brand.socials?.facebook },
            { label: 'YT', name: 'YouTube', href: data.brand.socials?.youtube },
            { label: 'IN', name: 'LinkedIn', href: data.brand.socials?.linkedin }].
            filter((s) => s.href).map((s) =>
            <a
              key={s.label}
              href={s.href}
              target="_blank"
              rel="noopener noreferrer"
              aria-label={s.name}
              title={s.name}
              onMouseEnter={(e) => {
                e.currentTarget.style.background = '#fff';
                e.currentTarget.style.color = v1Styles.ink;
                e.currentTarget.style.borderColor = '#fff';
              }}
              onMouseLeave={(e) => {
                e.currentTarget.style.background = 'transparent';
                e.currentTarget.style.color = '#fff';
                e.currentTarget.style.borderColor = 'rgba(255,255,255,0.25)';
              }}
              style={{
                width: 36, height: 36, border: '1px solid rgba(255,255,255,0.25)',
                borderRadius: '50%', display: 'flex', alignItems: 'center', justifyContent: 'center',
                fontFamily: v1Styles.sans, fontSize: 11, color: '#fff', textDecoration: 'none', fontWeight: 600,
                cursor: 'pointer', transition: 'background 160ms ease, color 160ms ease, border-color 160ms ease',
                background: 'transparent'
              }}>
              {s.label}</a>
            )}
            </div>
          </div>
        </div>
      </div>
      <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', paddingTop: 32, fontFamily: v1Styles.sans, fontSize: 12, opacity: 0.5 }}>
        <div>© 2026 The Practice Potential. All rights reserved.</div>
        <div style={{ display: 'flex', gap: 24 }}>
          <a style={{ color: '#fff', textDecoration: 'none' }}>Privacy</a>
          <a style={{ color: '#fff', textDecoration: 'none' }}>Terms</a>
        </div>
      </div>
    </div>
  </footer>;


const V1Programs = ({ data }) =>
<section style={{ background: v1Styles.paper, padding: '140px 64px', borderTop: `1px solid ${v1Styles.rule}` }}>
    <div style={{ maxWidth: 1280, margin: '0 auto' }}>
      <div style={{ textAlign: 'center', marginBottom: 72 }}>
        <div style={{
        fontFamily: v1Styles.sans, fontSize: 11, letterSpacing: '0.3em',
        textTransform: 'uppercase', color: v1Styles.blue, fontWeight: 600, marginBottom: 24
      }}>Training Programs</div>
        <h2 style={{
        fontFamily: v1Styles.font, fontSize: 60, fontWeight: 500, lineHeight: 1.1,
        letterSpacing: '-0.02em', margin: '0 auto', color: v1Styles.ink,
        maxWidth: 1000, textWrap: 'balance', fontVariationSettings: '"opsz" 144'
      }}>
          What Our Trainings Teach
        </h2>
        <div style={{
        fontFamily: '"Newsreader", Georgia, serif', fontSize: 26, fontStyle: 'normal',
        color: v1Styles.blue, margin: '20px auto 0', letterSpacing: '-0.005em',
      }}>
          Our 4 Core Trainings
        </div>
      </div>

      <div style={{ display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: 32, gridAutoRows: '1fr' }}>
        {data.trainingPrograms.map((p, i) =>
      <article key={p.title} style={{
        background: '#fff', border: `1px solid ${v1Styles.rule}`,
        borderRadius: 4, padding: '44px 44px 0',
        display: 'flex', flexDirection: 'column', position: 'relative',
        overflow: 'hidden'
      }}>
            <header style={{ marginBottom: 24 }}>
              <h3 style={{
            fontFamily: '"Newsreader", Georgia, serif', fontSize: 30, fontWeight: 500,
            lineHeight: 1.15, color: v1Styles.ink, margin: '0 0 6px',
            letterSpacing: '-0.015em',
            whiteSpace: 'nowrap'
          }}>{p.title}</h3>
              <div style={{
            fontFamily: '"Newsreader", Georgia, serif', fontSize: 18,
            fontStyle: 'normal', color: v1Styles.muted, lineHeight: 1.3
          }}>{p.subtitle}</div>
            </header>

            <ul style={{
          margin: '0 0 32px', padding: 0, listStyle: 'none',
          display: 'grid', gap: 12, flex: 1
        }}>
              {p.bullets.map((b, j) =>
          <li key={j} style={{
            display: 'flex', alignItems: 'flex-start', gap: 14,
            fontFamily: v1Styles.sans, fontSize: 15, color: v1Styles.ink,
            lineHeight: 1.55, opacity: 0.88
          }}>
                  <span style={{
              flexShrink: 0, marginTop: 9,
              width: 5, height: 5, borderRadius: '50%', background: v1Styles.blue
            }} />
                  {b}
                </li>
          )}
            </ul>

            <div style={{
          margin: '0 -44px', padding: '24px 44px',
          background: v1Styles.paperWarm,
          borderTop: `1px solid ${v1Styles.rule}`
        }}>
              <div style={{
            fontFamily: v1Styles.sans, fontSize: 10, fontWeight: 700,
            color: v1Styles.blue, letterSpacing: '0.22em', textTransform: 'uppercase',
            marginBottom: 6
          }}>Leverage Point</div>
              <div style={{
            fontFamily: '"Newsreader", Georgia, serif', fontSize: 18, fontWeight: 500,
            color: v1Styles.ink, lineHeight: 1.35, letterSpacing: '-0.005em',
          }}>{p.leveragePoint}</div>
            </div>
          </article>
      )}
      </div>
    </div>
  </section>;


// --- "Why running a private practice is so hard", modeled on EOS Worldwide ---
const V1WhyHard = ({ data }) => {
  const stroke = { fill: 'none', stroke: v1Styles.blue, strokeWidth: 1.5, strokeLinecap: 'round', strokeLinejoin: 'round' };
  const frustrations = [
  {
    kicker: 'Effort vs. Results',
    quote: "My team is busy all day, but we're still not getting ahead.",
    body: "You and your team are already hustling, the problem isn't effort, it's focus. When hard work is pointed at the wrong things, it drains energy and leads to burnout instead of momentum. Real growth starts when every hour your team puts in is aimed at what actually moves the practice forward.",
    icon:
    <svg width="44" height="44" viewBox="0 0 24 24" {...stroke}>
          <circle cx="13" cy="11" r="7" />
          <circle cx="13" cy="11" r="3" />
          <path d="m3 21 5-5" />
          <path d="M3 17v4h4" />
        </svg>

  },
  {
    kicker: 'Asset or Expense?',
    quote: "Why does it feel like I'm carrying the whole practice?",
    body: "The truth is, most team struggles are not people problems. They are training, communication, and systems problems. When expectations are clear, accountability is consistent, and your team has the right tools and support, everything changes. Your team should be your greatest asset, not your greatest source of stress.",
    icon:
    <svg width="44" height="44" viewBox="0 0 24 24" {...stroke}>
          <path d="M12 4v17" />
          <path d="M6 21h12" />
          <path d="M4 9h16" />
          <path d="M4 9 2 13c0 1.4 1.3 2.5 3 2.5S8 14.4 8 13L6 9" />
          <path d="m18 9-2 4c0 1.4 1.3 2.5 3 2.5s3-1.1 3-2.5L20 9" />
        </svg>

  },
  {
    kicker: 'Hidden Ceiling',
    quote: "I'm tired of guessing what will actually move the needle.",
    body: "Even thriving practices plateau when they keep working harder instead of changing how they work. Without proven strategies you end up guessing, losing time, energy, and momentum to instincts that worked for the last stage but won't carry you to the next.",
    icon:
    <svg width="44" height="44" viewBox="0 0 24 24" {...stroke}>
          <circle cx="11" cy="11" r="6" />
          <path d="m20.5 20.5-4.5-4.5" />
          <path d="M9 9.5c0-1.1 1-2 2-2s2 .9 2 2c0 1.5-2 1.5-2 3" />
          <circle cx="11" cy="14.5" r=".6" fill={v1Styles.blue} stroke="none" />
        </svg>

  },
  {
    kicker: 'Growth Without Strategy',
    quote: "I'm working so hard. Why isn't my profit growing?",
    body: "Many practices are busier than ever, yet margins stay flat because growth without strategy creates inefficiency. A full schedule only matters if it's the right schedule, one that includes productive appointments, high-value care, healthy margins, and patients who actually show up.",
    icon:
    <svg width="44" height="44" viewBox="0 0 24 24" {...stroke}>
          <path d="M6 9v12M12 9v12M18 9v12" />
          <path d="M4 9h16" />
          <path d="M12 3c-1.4 1.2-2.2 2.5-2.2 3.4 0 1.2 1 2.1 2.2 2.1s2.2-.9 2.2-2.1c0-.9-.8-2.2-2.2-3.4z" />
        </svg>

  },
  {
    kicker: 'Alone at the Top',
    quote: "I feel so alone in running this practice.",
    body: "You carry the weight of decisions, team challenges, growth, and leadership, and it is easy for work to follow you home. While family and friends care deeply, sometimes what you really need is an experienced third party who understands ownership and can help you process frustrations, think through ideas, and provide honest perspective.",
    icon:
    <svg width="44" height="44" viewBox="0 0 24 24" {...stroke}>
          <path d="M12 21s-7-4.5-7-10a4 4 0 0 1 7-2.7A4 4 0 0 1 19 11c0 5.5-7 10-7 10z" />
        </svg>

  },
  {
    kicker: "Change That Doesn't Stick",
    quote: "Every training we do starts strong, then quietly fades.",
    body: "Real change doesn't happen in a single training. Without a follow-up rhythm and clear accountability, even the best ideas evaporate within weeks. The practices that actually grow are the ones where training is paired with systems that reinforce behaviors, track progress, and keep the team aligned long after the workshop ends.",
    icon:
    <svg width="44" height="44" viewBox="0 0 24 24" {...stroke}>
          <path d="M21 12a9 9 0 1 1-2.6-6.3" />
          <path d="M21 4v5h-5" />
        </svg>

  }];


  return (
    <section style={{ background: v1Styles.paper, padding: '140px 64px 80px', borderTop: `1px solid ${v1Styles.rule}` }}>
      <div style={{ maxWidth: 1320, margin: '0 auto' }}>
        <div style={{ textAlign: 'center', marginBottom: 80 }}>
          <div style={{
            fontFamily: v1Styles.sans, fontSize: 11, letterSpacing: '0.3em',
            textTransform: 'uppercase', color: v1Styles.blue, fontWeight: 600, marginBottom: 24
          }}>The Challenge</div>
          <h2 style={{
            fontFamily: '"Newsreader", Georgia, serif', fontSize: 60, fontWeight: 500, lineHeight: 1.1,
            letterSpacing: '-0.02em', margin: '0 auto', color: v1Styles.ink,
            maxWidth: 1100, textWrap: 'balance'
          }}>
            Why running a private medical practice is so hard.
          </h2>
          <p style={{
            fontFamily: v1Styles.sans, fontSize: 19, lineHeight: 1.6, margin: '28px auto 0',
            color: v1Styles.muted, maxWidth: 920
          }}>
            Most doctors are exceptional clinicians, but no one teaches you how to run a thriving practice. We train your team on the customer service and sales skills that turn patient visits into lasting relationships, and lasting relationships into a practice that grows itself.
          </p>
          <p style={{
            fontFamily: '"Newsreader", Georgia, serif', fontStyle: 'normal',
            fontSize: 20, color: v1Styles.ink, margin: '36px auto 0', maxWidth: 720, opacity: 0.78
          }}>
            Six patterns we see in nearly every practice, <span style={{ color: v1Styles.blue }}>do any sound familiar?</span>
          </p>
        </div>

        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 24 }}>
          {frustrations.map((f, i) =>
          <div key={i} style={{
            background: '#fff',
            border: `1px solid ${v1Styles.rule}`,
            borderRadius: 4,
            padding: '36px 30px 32px',
            display: 'flex', flexDirection: 'column'
          }}>
              <div style={{ marginBottom: 24 }}>{f.icon}</div>
              <div style={{
              fontFamily: '"Newsreader", Georgia, serif', fontSize: 22, fontWeight: 500,
              lineHeight: 1.3, color: v1Styles.ink, margin: '0 0 18px',
              letterSpacing: '-0.01em',
               textWrap: 'balance'
            }}>
                <span style={{ color: v1Styles.blue, fontWeight: 600, marginRight: 2 }}>“</span>
                {f.quote}
                <span style={{ color: v1Styles.blue, fontWeight: 600, marginLeft: 2 }}>”</span>
              </div>
              <div style={{
              fontFamily: v1Styles.sans, fontSize: 11, fontWeight: 700,
              color: v1Styles.blue, letterSpacing: '0.22em', textTransform: 'uppercase',
              marginBottom: 14
            }}>{f.kicker}</div>
              <p style={{
              fontFamily: v1Styles.sans, fontSize: 14, color: v1Styles.muted,
              margin: 0, lineHeight: 1.6
            }}>{f.body}</p>
            </div>
          )}
        </div>
      </div>
    </section>);

};

// --- "How Practice Potential works", three-pillar section, modeled on EOS "How EOS Works" ---
const V1HowWeWork = ({ data }) => {
  const pillarStroke = { fill: 'none', stroke: v1Styles.blue, strokeWidth: 1.5, strokeLinecap: 'round', strokeLinejoin: 'round' };
  const pillars = [
  {
    kicker: 'People',
    title: 'The right team. The right leadership. The right culture.',
    body: 'You cannot outgrow your team. We help you build engaged leaders, aligned teams, clear expectations, and a culture people are proud to be part of.',
    icon:
    <svg width="64" height="64" viewBox="0 0 64 64" {...pillarStroke}>
          <circle cx="24" cy="24" r="8" />
          <circle cx="42" cy="27" r="6" />
          <path d="M10 50c0-8 6.3-13 14-13s14 5 14 13" />
          <path d="M38 50c0-6 4.5-10 9-10s9 4 9 10" />
        </svg>

  },
  {
    kicker: 'Systems',
    title: 'Clear processes that create consistency and profitability.',
    body: 'Growth gets easier when your systems work. We refine the key processes that keep your schedule full, protect profitability, and create a better patient experience.',
    icon:
    <svg width="64" height="64" viewBox="0 0 64 64" {...pillarStroke}>
          <circle cx="32" cy="32" r="22" />
          <circle cx="32" cy="32" r="6" />
          <path d="M32 4v8M32 52v8M4 32h8M52 32h8M12 12l6 6M46 46l6 6M52 12l-6 6M18 46l-6 6" />
        </svg>

  },
  {
    kicker: 'Vision',
    title: 'Clarity, direction, and a trusted partner to grow with.',
    body: 'A thriving practice starts with a clear vision. We help you step out of the day to day so you can think strategically about growth, priorities, leadership, and what is next.',
    icon:
    <svg width="64" height="64" viewBox="0 0 64 64" {...pillarStroke}>
          <path d="M32 6 8 20l24 14 24-14L32 6z" />
          <path d="M16 28v14c0 4 7 10 16 10s16-6 16-10V28" />
        </svg>

  }];


  return (
    <section id="how-we-work" style={{ background: v1Styles.paperWarm, padding: '80px 64px 140px' }}>
      <div style={{ maxWidth: 1320, margin: '0 auto' }}>
        <div style={{ textAlign: 'center', marginBottom: 96 }}>
          <div style={{
            fontFamily: v1Styles.sans, fontSize: 11, letterSpacing: '0.3em',
            textTransform: 'uppercase', color: v1Styles.blue, fontWeight: 600, marginBottom: 24
          }}>The Solution</div>
          <h2 style={{
            fontFamily: '"Newsreader", Georgia, serif', fontSize: 60, fontWeight: 500, lineHeight: 1.1,
            letterSpacing: '-0.02em', margin: '0 auto', color: v1Styles.ink,
            maxWidth: 1100, textWrap: 'balance'
          }}>
            Medical Practice consulting that works.
          </h2>
          <p style={{
            fontFamily: v1Styles.sans, fontSize: 19, lineHeight: 1.6, margin: '28px auto 0',
            color: v1Styles.muted, maxWidth: 820
          }}>
            Most practice frustrations come down to three things. Get them right, and everything changes.
          </p>
        </div>

        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 56 }}>
          {pillars.map((p, i) =>
          <div key={i} style={{ textAlign: 'center', padding: '0 12px' }}>
              <div style={{
              width: 128, height: 128, margin: '0 auto 32px',
              background: '#fff', borderRadius: '50%',
              border: `1px solid ${v1Styles.rule}`,
              display: 'flex', alignItems: 'center', justifyContent: 'center'
            }}>{p.icon}</div>
              <div style={{
              fontFamily: v1Styles.sans, fontSize: 11, fontWeight: 600,
              color: v1Styles.blue, letterSpacing: '0.3em', textTransform: 'uppercase',
              marginBottom: 16
            }}>0{i + 1} · {p.kicker}</div>
              <h3 style={{
              fontFamily: '"Newsreader", Georgia, serif', fontSize: 30, fontWeight: 500,
              margin: '0 0 18px', color: v1Styles.ink, lineHeight: 1.15, letterSpacing: '-0.01em',
               textWrap: 'balance'
            }}>{p.title}</h3>
              <p style={{
              fontFamily: v1Styles.sans, fontSize: 16, color: v1Styles.muted,
              margin: '0 auto', lineHeight: 1.6, maxWidth: 360
            }}>{p.body}</p>
            </div>
          )}
        </div>

        <div className="v1-solution-callout" style={{
          marginTop: 88, padding: '40px 48px',
          maxWidth: 920, marginLeft: 'auto', marginRight: 'auto',
          textAlign: 'center', borderTop: `1px solid ${v1Styles.rule}`, borderBottom: `1px solid ${v1Styles.rule}`
        }}>
          <p style={{
            fontFamily: '"Newsreader", Georgia, serif', fontStyle: 'normal',
            fontSize: 24, lineHeight: 1.4, color: v1Styles.ink, margin: 0,
            textWrap: 'balance'
          }}>
            Together, these turn constant frustration into clarity, confidence, and a practice that grows itself.
          </p>
        </div>

        <div style={{ marginTop: 56, textAlign: 'center' }}>
          <a href={data.brand.bookingUrl} style={{
            display: 'inline-block', padding: '18px 44px',
            background: v1Styles.blue, color: '#fff',
            fontFamily: v1Styles.sans, fontSize: 15, fontWeight: 700,
            textDecoration: 'none', borderRadius: 4, letterSpacing: '0.02em',
            boxShadow: '0 4px 16px rgba(82,113,255,0.3)'
          }}>Book a Consult Call →</a>
        </div>
      </div>
    </section>);

};

const V1Home = () => {
  const data = window.PP_DATA;
  return (
    <div style={{ background: v1Styles.paper, color: v1Styles.ink }}>
      <V1Hero data={data} />
      <V1WhyHard data={data} />
      <V1HowWeWork data={data} />
      <V1Mission data={data} />
      {/* V1Programs moved to /trainings */}
      {/* <V1Lauren data={data} />, moved to /about */}
      <V1LaurenStrip data={data} />
      <V1TestimonialsAccordion data={data} />
      <V1ContactCK data={data} />
      <V1Footer data={data} />
    </div>);

};

window.V1Home = V1Home;