/* Public homepage only. Keep shared workspace branding in brand.css. */
.ranch-site {
  --bg: #0d1713;
  --panel: #15221c;
  --line: #4c6256;
  --ink: #f3efe6;
  --muted: #c1c8bc;
  --accent: #d8b97a;
  --paper: #f3efe6;
  --paper-ink: #173b30;
  --paper-muted: #426052;
  --paper-accent: #70552c;
  --radius: 12px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 32px;
  --section-space: clamp(56px, 6vw, 88px);
  background: var(--bg);
  color: var(--ink);
}

html { scroll-padding-top: 32px; scroll-padding-bottom: 110px; }
body { overflow-wrap: break-word; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
button, summary { touch-action: manipulation; }
button:not(:disabled), summary { cursor: pointer; }
main > section { scroll-margin-top: 28px; }
.section-shell, .header.site-header, .payout-ticker { width: min(1248px, calc(100% - 96px)); }
.button { border-radius: 6px; gap: 20px; }
.button:hover { transform: none; }
.button:not(.application-submit):active { background: #e1c58e; }
.text-link { min-height: 44px; padding-block: 9px; }
.eyebrow { letter-spacing: .13em; }

.hero { gap: clamp(32px, 5vw, 64px); padding-block: 56px 64px; align-items: start; }
.hero-copy { min-width: 0; }
.hero h1 { font-size: clamp(3rem, 4.6vw, 4.65rem); line-height: 1.06; }
.hero .eyebrow { margin-bottom: 22px; }
.hero-intro { max-width: 480px; margin-top: 24px; font-size: 1.06rem; line-height: 1.7; }
.hero-trial { margin-top: 24px; font-size: .75rem; }
.hero-actions, .hero-trial + .hero-actions { flex-direction: column; align-items: flex-start; gap: 16px; margin-top: 16px; }
.hero-secondary-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
.hero-actions > .button { flex: 0 1 auto; }
.hero-actions > .text-link { border-color: var(--line); }
.hero-terms { margin-top: 16px; max-width: 450px; font-size: .8125rem; line-height: 1.7; }
.hero-terms strong { color: var(--ink); font-weight: 600; }
.hero-terms a { display: flex; width: fit-content; align-items: center; min-height: 44px; color: var(--accent); text-underline-offset: 4px; gap: 8px; }
.hero-note { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); gap: 10px 18px; font-size: .75rem; }
.hero-note > span:first-child { border: 0; padding: 0; color: var(--accent); }
.hero-feature { border: 2px solid var(--line); border-radius: var(--radius); padding: 8px; overflow: hidden; }
.hero-feature .video-cover { border-radius: 5px; }
.feature-caption { padding: 24px; }
.feature-caption h2 { font-size: clamp(1.7rem, 2.6vw, 2.35rem); }
.feature-caption p { max-width: 420px; margin-block: 14px 8px; }
.feature-caption .eyebrow { font-size: .7rem; }
.cover-label { border-radius: 3px; font-size: .7rem; }

.ranch-paths { margin-bottom: 64px; padding: 40px; color: var(--paper-ink); background: var(--paper); border: 1px solid #d1cbbd; border-radius: var(--radius); }
.paths-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 28px; }
.paths-heading .eyebrow { color: var(--paper-accent); margin-bottom: 10px; }
.paths-heading h2 { font-size: clamp(1.8rem, 2.5vw, 2.3rem); letter-spacing: -.04em; }
.paths-heading > p { max-width: 270px; color: var(--paper-muted); font-size: .9rem; }
.path-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.path-card { display: flex; flex-direction: column; padding: 24px; background: #fffcf5; border: 1px solid #c9cbbb; border-radius: 8px; min-width: 0; }
.path-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.path-number { font-size: .75rem; color: var(--paper-muted); font-variant-numeric: tabular-nums; }
.path-tag { color: var(--paper-accent); font-size: .7rem; font-weight: 700; letter-spacing: .04em; }
.path-card h3 { font-size: 1.4rem; letter-spacing: -.035em; }
.path-card p { color: var(--paper-muted); font-size: .9rem; line-height: 1.7; margin-top: 10px; margin-bottom: 18px; }
.path-card .text-link { align-self: flex-start; margin-top: auto; color: var(--paper-ink); border-color: #92a093; gap: 12px; }
.path-card .text-link:hover { color: var(--paper-accent); border-color: var(--paper-accent); }
.ranch-paths a:focus-visible { outline-color: var(--paper-ink); }

.featured-interviews { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-bottom: 64px; }
.featured-heading { grid-column: 1 / -1; display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 4px; }
.featured-heading .eyebrow { color: var(--accent); margin-bottom: 12px; }
.featured-heading h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.featured-heading > p { max-width: 350px; font-size: .9rem; }
.interview-feature { display: flex; flex-direction: column; align-items: stretch; gap: 0; margin-top: 0; border: 2px solid var(--line); border-radius: var(--radius); padding: 8px; min-width: 0; }
.interview-feature .video-cover { border-radius: 5px; }
.interview-feature .session-copy { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.interview-feature .session-copy .eyebrow { font-size: .7rem; margin-bottom: 12px; }
.interview-feature .session-copy h3 { font-size: clamp(1.4rem, 2vw, 1.8rem); line-height: 1.25; text-wrap: pretty; }
.interview-feature .session-copy p:not(.eyebrow) { margin-top: 14px; margin-bottom: 12px; }
.interview-feature .session-copy .text-link { align-self: flex-start; margin-top: auto; }
.interview-feature .session-copy .claim-note { margin: 0 0 14px; font-size: .75rem; line-height: 1.65; }
.video-card .claim-note { font-size: .75rem; line-height: 1.65; }
.more-stories { margin-block: 24px 64px; }
.stories-disclosure { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.stories-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 32px; list-style: none; }
.stories-disclosure > summary::-webkit-details-marker { display: none; }
.stories-disclosure .eyebrow { display: block; color: var(--accent); font-size: .7rem; margin-bottom: 8px; }
.disclosure-title { display: block; font: 600 clamp(1.45rem, 2.3vw, 2rem) var(--heading); letter-spacing: -.03em; }
.disclosure-caption { display: block; color: var(--muted); font-size: .875rem; line-height: 1.6; margin-top: 8px; }
.disclosure-toggle { flex: 0 0 44px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; color: var(--accent); font-size: 1.75rem; }
.stories-disclosure[open] .disclosure-toggle { transform: rotate(45deg); }
.stories-disclosure-content { padding: 0 32px 32px; }
.stories-disclosure-content .session-feature { margin-top: 32px; }

.live-trading { border: 2px solid var(--line); border-radius: var(--radius); background: #102c24; gap: 48px; padding: 48px; margin-bottom: 64px; }
.trial-card { --ink: #173b30; --muted: #426052; --accent: #70552c; --line: #b5bdaa; color-scheme: light; color: var(--ink); background: var(--paper); border: 1px solid #d1cbbd; border-radius: 8px; padding: 32px; }
.trial-card .button { background: #173b30; color: #f3efe6; border-color: #173b30; }
.trial-card .button:hover { background: #285441; }
.trial-card .trial-application-link:hover { background: #e5e4d9; border-color: #70552c; }
.trial-card .trial-application-link { margin-top: 16px; }
.trial-card .trial-label { font-size: .75rem; }
.trial-card > strong { margin-block: 12px; }
.trial-card small { line-height: 1.7; }
.trial-card small strong { display: inline; font: inherit; font-weight: 600; letter-spacing: normal; color: var(--ink); }
#trial-terms, .application-success { scroll-margin-block: 32px 110px; }
.trial-application-link { min-height: 44px; display: inline-flex; align-items: center; }
.section { padding-block: var(--section-space); }
.video-card { min-width: 0; }
.video-card .video-cover, .tutorial-card, .receipt-card, .session-feature, .final-cta, .mentorship-entry { border-radius: var(--radius); overflow: hidden; }
.section-heading h2 { font-size: clamp(2.4rem, 3.8vw, 3.7rem); }
.orientation > a { min-width: 44px; min-height: 44px; }
.resource-section { --ink: #173b30; --muted: #426052; --accent: #70552c; --line: #b5bdaa; color-scheme: light; color: var(--ink); background: var(--paper); border-block: 1px solid #d1cbbd; }
.resource-section em { color: var(--paper-accent); }
.resource-section p { color: var(--paper-muted); }
.affiliate-card { position: relative; background: #fffcf5; border-color: #c9cbbb; border-radius: 8px; grid-template-columns: 52px minmax(0, 1fr) 44px; gap: 16px; padding: 24px; }
.affiliate-mark { color: #d8b97a; }
.affiliate-card .affiliate-link { width: 44px; min-height: 44px; display: grid; place-items: center; padding: 0; }
.affiliate-card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 6px; }
.affiliate-card h3 a:focus-visible::after { outline: 2px solid var(--paper-ink); outline-offset: 4px; }
.affiliate-card .code-button { position: relative; z-index: 2; }
.affiliate-card h3 { line-height: 1.4; }
.affiliate-card h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.affiliate-card .code-button { font-size: .75rem; }
.resource-section .affiliate-note { color: var(--paper-muted); }
.footer-top > div a, .footer-bottom > a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-bottom { flex-wrap: wrap; gap: 8px 20px; align-items: center; }
.footer-bottom > span { font-size: .75rem; }
.final-cta { background: #102c24; border: 2px solid var(--line); }
.final-cta h2 { font-size: clamp(2.4rem, 4.2vw, 4rem); }
.mentorship-application { scroll-margin-top: 24px; border: 2px solid var(--line); border-radius: var(--radius); margin-bottom: 64px; }
.application-story { background: #102c24; padding: 40px; }
.application-paper { background: var(--paper); padding: 40px; }
.application-paper .application-form-heading > p:last-child,
.application-paper .application-hint, .application-paper .application-disclosure,
.application-paper .application-submit-note, .application-consent > label { font-size: .8125rem; line-height: 1.7; }
.application-field label { font-size: .875rem; }
.application-field input, .application-field select, .application-field textarea { border-color: #7e8b75; border-width: 1px; border-radius: 6px; }
.application-submit { background: #173b30; border-color: #173b30; color: #f3efe6; }
.application-submit:not(:disabled):hover { background: #285441; border-color: #285441; }
.mobile-join { border-color: var(--line); }
.mobile-cta-obscured .mobile-join { display: none; }
.receipt-copy .text-link { flex-wrap: wrap; gap: 6px 8px; }
.source-access { font-size: .7rem; font-weight: 400; color: var(--muted); }
.proof-section { background: #111f19; }
.proof-card, .receipt-card, .highlight-film { background: var(--panel); border-color: var(--line); border-radius: 8px; }
.receipt-image { border-color: var(--line); }
.about { gap: 64px; }
.bio-image { border-radius: var(--radius); overflow: hidden; }
.mentorship-entry { border: 2px solid var(--line); background: var(--panel); }
.ranch-site .eyebrow { color: var(--accent); }
.ranch-paths .eyebrow, .application-paper .eyebrow { color: var(--paper-accent); }
.ranch-site :is(.ranch-paths,.trial-card,.application-paper,.resource-section) :is(a,button,input,select,textarea):focus-visible { outline-color: #173b30; }
.footer { padding-bottom: 32px; }

/* Preserve the compact screenshot rows while giving touch controls real space. */
.payout-ticker { background: #102c24; margin-top: 16px; border-radius: 8px; }
.payout-ticker-toolbar { min-height: 40px; }
.payout-ticker-kicker { font-size: 10px; letter-spacing: .1em; }
.payout-pause { min-width: 64px; min-height: 36px; font-size: 12px; }
.payout-row { grid-template-columns: 150px minmax(0, 1fr) 96px; height: 60px; }
.payout-row-controls { flex-direction: row; gap: 4px; padding-inline: 4px; }
.payout-row-controls .payout-control { width: 44px; height: 44px; }
.payout-lightbox-close { flex-basis: 44px; height: 44px; }
.payout-lightbox-footer .payout-control { width: 44px; height: 44px; }

@media (max-width: 1100px) {
  .section-shell, .header.site-header, .payout-ticker { width: calc(100% - 56px); }
  .hero { gap: 32px; }
  .hero h1 { font-size: clamp(3rem, 5.8vw, 4rem); }
  .hero-actions { align-items: flex-start; }
  .hero-intro { font-size: 1rem; }
  .feature-caption { padding: 20px 16px; }
  .ranch-paths { padding: 32px; }
  .path-card { padding: 20px; }
  .path-grid { gap: 16px; }
  .path-card h3 { font-size: 1.25rem; }
  .featured-interviews { gap: 20px; }
  .interview-feature .session-copy { padding: 20px 16px; }
  .mentorship-entry { gap: 36px; padding: 32px; }
  .mentorship-entry-action { padding-left: 28px; }
}

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; gap: 32px; padding-block: 36px 40px; }
  .hero h1 { max-width: 620px; font-size: clamp(2.6rem, 8.8vw, 4.3rem); }
  .hero-feature { max-width: 620px; width: 100%; }
  .hero-actions > .button { width: auto; }
  .hero-intro { max-width: 550px; }
  .hero-note { margin-top: 22px; }
  .paths-heading, .featured-heading { display: block; }
  .paths-heading > p, .featured-heading > p { margin-top: 14px; max-width: 520px; }
  .path-grid { grid-template-columns: 1fr; }
  .path-card { padding: 24px; }
  .path-topline { margin-bottom: 12px; }
  .path-card h3 { font-size: 1.4rem; }
  .path-card p { margin-bottom: 10px; }
  .featured-interviews { grid-template-columns: 1fr; gap: 24px; }
  .interview-feature .session-copy { padding: 24px 16px; }
  .interview-feature .session-copy h3 { font-size: 1.65rem; }
  .ranch-paths, .featured-interviews { margin-bottom: 48px; }
  .section { padding-block: 64px; }
  .live-trading { gap: 32px; padding: 32px; }
  .about { gap: 40px; }
  .application-story, .application-paper { padding: 32px; }
}

@media (max-width: 720px) {
  .section-shell, .header.site-header, .payout-ticker { width: calc(100% - 40px); }
  .hero .eyebrow { font-size: .7rem; margin-bottom: 20px; }
  .hero-intro { margin-top: 20px; }
  .hero-actions > .button { width: 100%; }
  .hero-actions { gap: 16px; }
  .hero-secondary-actions { gap: 8px 20px; }
  .hero-terms { font-size: .75rem; }
  .hero-note { font-size: .75rem; }
  .ranch-paths { padding: 24px; }
  .path-card { padding: 24px 20px; }
  .feature-caption .eyebrow { font-size: .7rem; }
  .feature-caption p { font-size: .95rem; }
  .affiliate-card { grid-template-columns: 40px minmax(0, 1fr) 44px; gap: 10px; padding: 18px 14px; }
  .affiliate-mark { width: 40px; height: 40px; }
  .affiliate-card h3 { font-size: 1.05rem; }
  .mentorship-entry { padding: 28px 22px; }
  .mentorship-entry-action { padding: 24px 0 0; }
  .footer-bottom { display: flex; justify-content: flex-start; gap: 8px 22px; }
  .footer-bottom > span { flex-basis: 100%; }
  .payout-ticker-toolbar { min-height: 44px; }
  .payout-ticker-kicker { font-size: 9px; letter-spacing: .04em; }
  .payout-pause { min-height: 44px; }
  .payout-row { grid-template-columns: 96px minmax(0, 1fr) 96px; }
  .payout-channel-name { font-size: 9px; letter-spacing: 0; }
  .payout-channel-count { font-size: 9px; }
  .payout-manual-hint { font-size: 10px; }
  .payout-original { font-size: 12px; }
  .mobile-join > span { font-size: .65rem; letter-spacing: .04em; }
  .mobile-join small { font-size: .75rem; }
  .site-header .ranch-brand-former { display: none; }
  .stories-disclosure > summary { padding: 24px 20px; gap: 14px; }
  .stories-disclosure-content { padding: 0 20px 24px; }
  .more-stories { margin-bottom: 40px; }
  .footer { padding-bottom: 32px; }
  .live-trading { padding: 24px; gap: 32px; margin-bottom: 48px; }
  .trial-card { padding: 24px; }
  .mentorship-application { margin-bottom: 48px; }
  .application-story, .application-paper { padding: 28px 24px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .video-cover:hover img, .receipt-image:hover img { transform: none; }
}
