:root {
  --ink: #101112;
  --muted: #5f6062;
  --gold: #b9832e;
  --gold-light: #efd7a5;
  --cream: #faf7f1;
  --line: #e9dfd1;
  --white: #fff;
  --heading: "Manrope", sans-serif;
  --body: "DM Sans", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 50% 8%, rgba(225, 188, 116, .11), transparent 25rem),
    #fff;
  font-family: var(--body);
  -webkit-font-smoothing: antialiased;
}

.shell { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.site-header { height: 104px; display: flex; align-items: center; justify-content: space-between; }
.home-nav { display: flex; align-items: center; gap: 30px; }
.home-nav a, .footer-nav a { color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 600; }
.home-nav a:hover, .footer-nav a:hover { color: var(--gold); }
.wordmark {
  color: var(--ink); text-decoration: none; text-transform: uppercase;
  font: 800 18px/1 var(--heading); letter-spacing: .28em;
}
.live-pill {
  display: inline-flex; align-items: center; gap: 9px; padding: 11px 18px;
  border: 1px solid #dfc58f; border-radius: 12px; background: #f3dfb7;
  text-transform: uppercase; letter-spacing: .08em; font-weight: 700; font-size: 14px;
}
.pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(185,131,46,.14); }

.hero { text-align: center; padding: 54px 0 34px; }
.eyebrow, .section-kicker {
  margin: 0 0 15px; color: var(--gold); text-transform: uppercase;
  letter-spacing: .18em; font-size: 12px; font-weight: 700;
}
h1, h2, h3, p { margin-top: 0; }
h1 {
  margin-bottom: 22px; font: 800 clamp(54px, 7.1vw, 88px)/.96 var(--heading);
  letter-spacing: -.065em;
}
.hero h1 { font-size: clamp(50px, 6.3vw, 80px); }
.hero-copy { margin-bottom: 34px; color: #45474a; font-size: 24px; line-height: 1.45; }
.hero-reassurance { width: fit-content; margin: -17px auto 31px; padding: 9px 15px; color: #55575a; border-radius: 999px; background: var(--cream); font-size: 14px; }
.promise-row { display: flex; justify-content: center; gap: clamp(42px, 8vw, 105px); margin-bottom: 30px; }
.promise { display: flex; align-items: center; gap: 12px; font-size: 17px; }
.promise svg { width: 30px; height: 30px; fill: none; stroke: var(--gold); stroke-width: 1.6; }
.primary-cta {
  width: min(510px, 100%); display: flex; justify-content: center; align-items: center; gap: 15px;
  margin: 0 auto 14px; padding: 18px 24px; border-radius: 10px; color: white;
  background: linear-gradient(110deg, #121516, #050606 55%, #191b1c);
  box-shadow: 0 10px 25px rgba(0,0,0,.12); text-decoration: none;
  text-transform: uppercase; letter-spacing: .06em; font: 700 20px/1 var(--heading);
  transition: transform .2s, box-shadow .2s;
}
.primary-cta:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(0,0,0,.18); }
.cta-note { color: var(--gold); text-transform: uppercase; letter-spacing: .11em; font-size: 14px; font-weight: 700; }
.cta-note i { width: 4px; height: 4px; display: inline-block; margin: 0 10px 3px; border-radius: 50%; background: currentColor; }

.section-line { border-top: 1px solid var(--line); }
.start-section { padding: 52px 0 48px; }
.start-section h2, .schedule-section h2 { margin-bottom: 8px; text-align: center; font: 800 clamp(27px, 3vw, 36px)/1.2 var(--heading); letter-spacing: -.035em; }
.start-section > .shell > .section-kicker, .schedule-section > .shell > .section-kicker { text-align: center; }
.start-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 28px; }
.start-card { min-height: 210px; padding: 27px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.76); }
.start-number { color: var(--gold); font: 700 11px var(--heading); letter-spacing: .14em; }
.start-card h3 { margin: 34px 0 10px; font: 800 21px/1.2 var(--heading); letter-spacing: -.025em; }
.start-card p { margin-bottom: 0; color: #45474a; line-height: 1.6; }
.start-note { max-width: 800px; margin: 20px auto 0; padding: 17px 22px; text-align: center; color: #45474a; border-radius: 10px; background: var(--cream); line-height: 1.55; }
.start-cta { margin-top: 24px; margin-bottom: 0; }
.start-options-link { margin: 16px 0 0; color: #65676a; text-align: center; font-size: 14px; }
.start-options-link a { color: #8e611e; font-weight: 700; }
.weekend { padding: 56px 0 48px; }
.weekend h2, .approaches h2, .join-card h2 { font: 800 clamp(27px, 3vw, 36px)/1.2 var(--heading); letter-spacing: -.035em; }
.weekend > .shell > h2, .approaches > .shell > h2, .approaches > .shell > .section-kicker, .section-copy { text-align: center; }
.days-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 38px; }
.day-card { position: relative; padding: 0 52px; text-align: center; }
.day-card + .day-card { border-left: 1px solid var(--line); }
.day-card .number { position: absolute; top: 0; left: 25px; color: #e8e0d5; font: 700 13px var(--heading); letter-spacing: .12em; }
.day-card svg, .approach-card svg, .care-note svg { fill: none; stroke: var(--gold); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.day-card svg { width: 48px; height: 48px; margin-bottom: 17px; }
.day-card h3, .approach-card h3 { margin-bottom: 8px; text-transform: uppercase; letter-spacing: .04em; font: 700 15px/1.25 var(--heading); }
.day-card p, .approach-card p { margin-bottom: 0; color: #303236; font-size: 15px; line-height: 1.48; }

.approaches { padding: 48px 0 20px; }
.approaches h2 { margin-bottom: 8px; }
.section-copy { margin-bottom: 24px; color: #3e4144; font-size: 17px; }
.approach-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.approach-card {
  min-height: 190px; padding: 24px 20px; text-align: center; border: 1px solid var(--line);
  border-radius: 13px; background: rgba(255,255,255,.72); box-shadow: 0 4px 18px rgba(42,31,14,.025);
  transition: transform .2s, border-color .2s;
}
.approach-card:hover { transform: translateY(-4px); border-color: #d9bd89; }
.approach-card svg { width: 44px; height: 44px; margin-bottom: 14px; }
.care-note {
  display: flex; align-items: center; gap: 25px; margin: 18px 15px 0; padding: 17px 30px;
  border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(90deg, #f8f4ed, #fbf9f5);
}
.care-note svg { flex: 0 0 40px; width: 40px; height: 40px; }
.care-note p { margin: 0; line-height: 1.45; font-size: 15px; }
.care-note strong { color: var(--gold); }

.schedule-section { padding: 48px 0 52px; }
.schedule-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; max-width: 820px; margin: 28px auto 0; }
.schedule-grid article { display: grid; gap: 9px; padding: 25px; text-align: center; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.schedule-grid span { color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 700; }
.schedule-grid strong { font: 800 21px/1.3 var(--heading); }
.schedule-note { max-width: 760px; margin: 20px auto 0; color: #55575a; text-align: center; line-height: 1.6; }

.join-section { padding: 18px 0 32px; }
.join-card {
  display: grid; grid-template-columns: .9fr 1.1fr; gap: 52px; padding: 34px 52px;
  border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.78);
  box-shadow: 0 15px 45px rgba(56,39,15,.045);
}
.join-card h2 { margin-bottom: 18px; }
.join-copy ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.join-copy li { display: flex; gap: 13px; align-items: center; font-size: 16px; }
.join-copy li span { color: var(--gold); }
.tally-wrap {
  min-width: 0;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(255,255,255,.72);
}
.tally-frame { display: block; width: 100%; border: 0; }
.founder-intro { padding: 58px 0; }
.founder-intro-grid { display: grid; grid-template-columns: minmax(220px, 350px) minmax(0, 1fr); align-items: center; gap: clamp(42px, 7vw, 90px); max-width: 940px; }
.founder-intro img { width: 100%; height: 370px; object-fit: cover; object-position: center top; border-radius: 14px; filter: grayscale(12%); }
.founder-intro-copy h2 { margin-bottom: 6px; font: 800 clamp(34px, 4vw, 48px)/1.08 var(--heading); letter-spacing: -.045em; }
.founder-intro-copy > p:not(.section-kicker):not(.founder-role) { max-width: 510px; color: #45474a; font-size: 19px; line-height: 1.65; }
.founder-role { margin-bottom: 25px; color: var(--gold); font-weight: 700; }
.founder-intro-copy a { display: inline-flex; gap: 10px; margin-top: 8px; color: var(--ink); font-weight: 800; text-decoration: none; }
.founder-intro-copy a:hover { color: #8e611e; }
.site-footer { padding: 18px 0 28px; text-align: center; border-top: 1px solid #d8b979; }
.site-footer p { margin-bottom: 6px; color: var(--gold); text-transform: uppercase; letter-spacing: .17em; font-size: 13px; font-weight: 700; }
.site-footer span { color: #56585b; font-size: 14px; }
.footer-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 24px; margin-top: 18px; }
.footer-nav a { color: #686a6c; font-size: 12px; }
.footer-nav .footer-social { display: inline-flex; align-items: center; gap: 6px; }
.footer-social svg { width: 17px; fill: #ff0033; }

@media (max-width: 820px) {
  .shell { width: min(calc(100% - 32px), 680px); }
  .site-header { height: 84px; }
  .home-nav { gap: 16px; }
  .home-nav a { font-size: 12px; }
  .wordmark { font-size: 14px; letter-spacing: .2em; }
  .live-pill { padding: 9px 12px; font-size: 11px; }
  .hero { padding: 45px 0 26px; }
  h1 { font-size: clamp(45px, 12vw, 68px); }
  .hero-copy { font-size: 20px; }
  .hero-reassurance { margin-top: -15px; }
  .promise-row { gap: 22px; }
  .promise { flex-direction: column; gap: 6px; font-size: 14px; }
  .days-grid { grid-template-columns: 1fr; gap: 0; margin-top: 26px; }
  .day-card { padding: 26px 35px; }
  .day-card + .day-card { border-left: 0; border-top: 1px solid var(--line); }
  .day-card .number { top: 30px; left: 5px; }
  .approach-grid { grid-template-columns: 1fr 1fr; }
  .join-card { grid-template-columns: 1fr; gap: 30px; padding: 32px; }
  .start-grid { grid-template-columns: 1fr; }
  .start-card { min-height: 0; }
  .founder-intro-grid { grid-template-columns: minmax(190px, 280px) minmax(0, 1fr); gap: 32px; }
}

@media (max-width: 520px) {
  .shell { width: min(calc(100% - 24px), 440px); }
  .site-header { height: 74px; }
  .site-header { position: relative; height: 112px; align-items: flex-start; padding-top: 20px; }
  .home-nav { position: absolute; left: 0; right: 0; bottom: 13px; justify-content: center; gap: 28px; }
  .wordmark { max-width: 150px; line-height: 1.35; }
  .live-pill { border-radius: 9px; }
  .live-pill .pulse { display: none; }
  .hero { padding-top: 38px; }
  h1 { font-size: clamp(43px, 13vw, 57px); line-height: 1; }
  .desktop-only { display: none; }
  .hero-copy { font-size: 18px; }
  .hero-reassurance { border-radius: 12px; font-size: 12px; }
  .promise-row { justify-content: space-between; gap: 9px; }
  .promise { max-width: 100px; font-size: 12px; }
  .promise svg { width: 27px; height: 27px; }
  .primary-cta { font-size: 16px; padding: 17px; }
  .cta-note { font-size: 11px; }
  .cta-note i { margin-inline: 5px; }
  .weekend { padding: 44px 0 36px; }
  .approaches { padding-top: 40px; }
  .schedule-grid { grid-template-columns: 1fr; gap: 12px; }
  .founder-intro { padding: 44px 0; }
  .founder-intro-grid { grid-template-columns: 1fr; gap: 26px; }
  .founder-intro img { height: 390px; }
  .approach-grid { grid-template-columns: 1fr; gap: 12px; }
  .approach-card { min-height: 0; padding: 22px; }
  .care-note { align-items: flex-start; margin-inline: 0; padding: 20px; gap: 15px; }
  .care-note svg { flex-basis: 30px; width: 30px; height: 30px; }
  .join-card { padding: 27px 20px; }
  .join-copy li { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
