/* Brent Williams: shared layout for the unified site (lessons, performance, clinics). Loads after the existing theme. */

/* Navigation: current page */
.nav-links a[aria-current="page"] { color: #e2c77f; }
.nav-links a[aria-current="page"]:not(.btn) { box-shadow: inset 0 -2px 0 #c29b38; padding-bottom: 4px; }

/* Home hero */
.hub-hero { padding: 6rem 0 5rem; background: radial-gradient(ellipse at 80% 30%, rgba(194,155,56,.07), transparent 55%), #181d1a; }
.hub-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 4rem; align-items: center; }
.hub-roles { display: flex; flex-wrap: wrap; gap: .5rem .9rem; list-style: none; margin: 0 0 1.5rem; padding: 0; font-size: .82rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #e2c77f; }
.hub-roles li + li::before { content: "·"; margin-right: .9rem; color: #697364; }
.hub-title { font-family: var(--font-serif); font-size: clamp(2.8rem, 6vw, 4.6rem); line-height: 1.04; font-weight: 400; color: #f2efe6; margin-bottom: 1.5rem; }
.hub-title em { color: #e2c77f; font-style: italic; }
.hub-lead { font-size: 1.15rem; color: #bcc2b9; max-width: 36rem; margin-bottom: 2rem; }
.hub-photo { position: relative; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid #4f5848; aspect-ratio: 4 / 5; background: #232a25; }
.hub-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hub-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.25rem 1.5rem; background: linear-gradient(transparent, rgba(20,26,22,.92)); font-size: .85rem; color: #e2e5dc; }
.hub-photo figcaption strong { display: block; color: #e2c77f; font-weight: 600; }

/* Three paths */
.paths-section { background: #1c221e; }
.paths-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.path-card { display: flex; flex-direction: column; background: #232a25; border: 1px solid #465044; border-top: 3px solid #c29b38; border-radius: var(--radius-md); padding: 2.25rem 2rem; text-decoration: none; color: inherit; transition: var(--transition); }
.path-card:hover { border-color: #a98b43; transform: translateY(-3px); box-shadow: var(--shadow-md); }
.path-card .focus-number { margin-bottom: 1rem; }
.path-card h3 { font-family: var(--font-serif); font-size: 1.75rem; font-weight: 400; color: #f2efe6; margin-bottom: .75rem; }
.path-card p { color: #bcc2b9; margin-bottom: 1.5rem; flex: 1; }
.path-card ul { list-style: none; padding: 0; margin: 0 0 1.75rem; font-size: .92rem; color: #e2e5dc; }
.path-card ul li { padding: .4rem 0; border-top: 1px solid #39423a; }
.path-card .card-link { margin-top: auto; }
.path-card.primary { background: #272e26; }

/* Proof strip */
.proof-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #39423a; border: 1px solid #39423a; border-radius: var(--radius-md); overflow: hidden; margin-top: 3rem; }
.proof-strip div { background: #1c221e; padding: 1.5rem; }
.proof-strip strong { display: block; color: #e2c77f; font-size: 1rem; margin-bottom: .25rem; }
.proof-strip span { font-size: .88rem; color: #bcc2b9; }

/* Upcoming */
.events-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid #465044; }
.event-row { display: grid; grid-template-columns: 9rem 1fr auto; gap: 2rem; align-items: center; padding: 1.75rem 0; border-bottom: 1px solid #465044; }
.event-date { font-family: var(--font-serif); font-size: 1.35rem; color: #e2c77f; line-height: 1.2; }
.event-date span { display: block; font-family: var(--font-sans); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: #bcc2b9; margin-top: .25rem; }
.event-row h3 { font-size: 1.1rem; font-weight: 600; color: #f2efe6; margin-bottom: .25rem; }
.event-row p { color: #bcc2b9; font-size: .92rem; margin: 0; }

/* About teaser */
.about-teaser { display: grid; grid-template-columns: .8fr 1.2fr; gap: 4rem; align-items: center; }

/* Page intro used on interior pages */
.page-intro { padding: 5rem 0 3.5rem; background: radial-gradient(ellipse at 85% 20%, rgba(194,155,56,.05), transparent 55%), #181d1a; border-bottom: 1px solid #2f372f; }
.page-intro .hero-title { max-width: 18ch; }
.page-intro .hero-lead { max-width: 40rem; }
.subnav { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 2rem 0 0; }
.subnav a { display: inline-block; padding: .45rem 1rem; border: 1px solid #465044; border-radius: 999px; color: #e2e5dc; text-decoration: none; font-size: .88rem; }
.subnav a:hover { border-color: #c29b38; color: #e2c77f; }

/* Contact chooser */
.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.contact-card { background: #232a25; border: 1px solid #465044; border-radius: var(--radius-md); padding: 2rem; display: flex; flex-direction: column; }
.contact-card h3 { font-family: var(--font-serif); font-weight: 400; font-size: 1.5rem; color: #f2efe6; margin-bottom: .5rem; }
.contact-card p { color: #bcc2b9; flex: 1; margin-bottom: 1.5rem; }
.contact-card .btn { align-self: flex-start; }

/* Cross-link band */
.crosslink { background: #141a16; border-top: 1px solid #2f372f; padding: 3rem 0; }
.crosslink-inner { display: flex; justify-content: space-between; align-items: center; gap: 2rem; flex-wrap: wrap; }
.crosslink h2 { font-family: var(--font-serif); font-weight: 400; font-size: 1.6rem; color: #f2efe6; }
.crosslink p { color: #bcc2b9; margin-top: .25rem; }
.crosslink .hero-actions { margin: 0; }

/* Footer columns */
.footer-cols { display: grid; grid-template-columns: repeat(3, auto); gap: 1rem 4rem; }
.footer-cols.two { grid-template-columns: repeat(2, auto); }
.footer-cols h4 { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: #e2c77f; margin-bottom: .85rem; font-weight: 600; }
.footer-cols a { display: block; color: #bcc2b9; text-decoration: none; font-size: .92rem; padding: .25rem 0; }
.footer-cols a:hover { color: #f2efe6; }
.footer-contact-line { margin-top: .75rem; font-size: .9rem; color: #bcc2b9; }
.footer-contact-line a { color: #e2c77f; text-decoration: none; }

@media (max-width: 900px) {
  .hub-hero { padding: 4rem 0 3.5rem; }
  .hub-hero-grid, .about-teaser { grid-template-columns: 1fr; gap: 2.5rem; }
  .hub-photo { max-width: 420px; aspect-ratio: 1 / 1; }
  .paths-grid, .contact-grid { grid-template-columns: 1fr; }
  .proof-strip { grid-template-columns: 1fr 1fr; }
  .event-row { grid-template-columns: 1fr; gap: .5rem; }
  .footer-cols, .footer-cols.two { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 600px) {
  .proof-strip { grid-template-columns: 1fr; }
  .page-intro { padding: 3.5rem 0 2.5rem; }
}

/* v2 simplification */
.instructor-note { margin-top: 2rem; max-width: 46rem; color: #bcc2b9; font-size: .98rem; }
.reviews-grid.two { grid-template-columns: repeat(2, 1fr); }
.paths-section .section-title, #upcoming .section-title { margin-bottom: 2rem; }
.path-card h3 { margin-top: 0; }
.lesson-faq { margin-top: 2rem; }
.tuition-note { text-align: center; }
@media (max-width: 900px) { .reviews-grid.two { grid-template-columns: 1fr; } }