/* Athlete, creator, and entrepreneur landing page. Scoped to nil.html. */
.nil-page { background: #f8f3eb; }
.nil-page::before { display: none; }
.nil-page .topbar { padding: 5px 12px; font-size: .62rem; }
.nil-page .nav { background: #2b0713; backdrop-filter: none; border-bottom: 1px solid rgba(225,197,141,.3); }
.nil-page .nav-inner { min-height: 86px; }
.nil-page .brand { min-width: 255px; color: #f8efe8; }
.nil-page .brand:before { display: none; }
.nil-header-mark { grid-area: mark; display: block; width: 56px; height: 54px; object-fit: contain; }
.nil-page .brand-main { font-size: .88rem; letter-spacing: .09em; }
.nil-page .brand-firm { font-size: .55rem; color: var(--gold-light); }
.nil-page .brand-tagline { color: #dcc8bf; font-size: .49rem; }
.nil-page .links { gap: 13px; color: #f6e9e3; font-size: .75rem; }
.nil-page .links [aria-current="page"] { color: var(--gold-light); }
.nil-page .links .btn { padding: 11px 17px; background: var(--gold); color: var(--wine-deep); }
.nil-page .links .btn:hover { background: var(--gold-light); }
.nil-page .menu { color: var(--gold-light); }
.nil-page a:focus-visible, .nil-page button:focus-visible, .nil-page summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.nil-hero { display: grid; grid-template-columns: 49% 51%; height: 565px; background: #380a1c; color: #fff; }
.nil-hero-copy {
  display: flex;
  align-items: center;
  padding: 62px 7% 76px max(5%, calc((100vw - 1180px) / 2));
  background: radial-gradient(circle at 0 60%, #501229, transparent 65%), linear-gradient(115deg, #3b091b, #2d0714);
}
.nil-hero-copy-inner { max-width: 590px; }
.nil-eyebrow { margin-bottom: 18px; color: var(--gold-light); font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.nil-hero h1 { max-width: 650px; margin-bottom: 24px; font-size: clamp(3rem, 4.45vw, 5.1rem); line-height: 1.08; }
.nil-hero p { max-width: 470px; margin-bottom: 29px; color: #f2e7e5; font-size: 1.07rem; line-height: 1.7; }
.nil-gold-button { gap: 13px; background: var(--gold); color: var(--wine-deep); padding: 13px 24px; }
.nil-gold-button:hover { background: var(--gold-light); }
.nil-hero-gallery { display: grid; grid-template-columns: 1fr 2fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 3px; min-height: 0; overflow: hidden; background: var(--gold); }
.nil-hero-gallery img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.nil-hero-gallery .nil-hero-athlete { grid-row: 1 / 3; object-position: 54% 52%; }
.nil-hero-gallery .nil-hero-creator { object-position: center 31%; }
.nil-hero-gallery .nil-hero-entrepreneur { object-position: center 42%; }

.nil-intro { padding: 86px 0 66px; background: #faf6ef; text-align: center; }
.nil-intro h2 { max-width: 950px; margin: 0 auto 19px; color: var(--wine-deep); font-size: clamp(2.7rem, 4vw, 4rem); }
.nil-intro > .container > p { max-width: 880px; margin: 0 auto; color: #53494a; font-size: 1.03rem; line-height: 1.8; }
.nil-audiences { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 49px; }
.nil-audience { padding: 0 28px; border-right: 1px solid #d8c9bb; }
.nil-audience:last-child { border-right: 0; }
.nil-audience svg { display: block; width: 51px; height: 51px; margin: 0 auto 14px; fill: none; stroke: #a6793d; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.nil-audience h3 { margin: 0; color: #4a1024; font-family: var(--sans); font-size: .79rem; font-weight: 700; letter-spacing: .16em; line-height: 1.5; text-transform: uppercase; }

.nil-services { padding: 85px 0 55px; background: #f5efe7; }
.nil-section-title { margin-bottom: 44px; color: var(--wine-deep); font-size: clamp(2.6rem, 3.7vw, 3.7rem); text-align: center; scroll-margin-top: 115px; }
.nil-section-title::after { content: ""; display: block; width: 48px; height: 2px; margin: 20px auto 0; background: var(--gold); }
.nil-packages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 19px; }
.nil-package { display: flex; flex-direction: column; min-width: 0; padding: 29px 27px 26px; border: 1px solid #e3d7cc; background: #fffaf5; box-shadow: 0 11px 30px rgba(51,12,27,.04); }
.nil-package-heading { display: flex; align-items: center; gap: 15px; min-height: 72px; padding-bottom: 19px; border-bottom: 1px solid #e5d9d0; }
.nil-package-icon { display: grid; place-items: center; flex: none; width: 55px; height: 55px; border-radius: 50%; background: var(--wine); color: #d9ba79; font-family: var(--serif); font-size: 1.65rem; }
.nil-package h3 { margin: 0 0 5px; color: var(--wine-deep); font-size: clamp(1.3rem, 1.7vw, 1.7rem); line-height: 1.17; }
.nil-price { margin: 0; color: #8b633a; font-size: .84rem; font-weight: 700; }
.nil-package ul { flex: 1; margin: 23px 0 26px; padding: 0; list-style: none; }
.nil-package li { display: flex; gap: 10px; margin-bottom: 13px; color: #433d3f; font-size: .91rem; line-height: 1.55; }
.nil-package li::before { content: "✓"; display: grid; place-items: center; flex: none; width: 16px; height: 16px; margin-top: 3px; border-radius: 50%; background: #ad8648; color: white; font: 700 11px/1 var(--sans); }
.nil-card-button { width: 100%; background: var(--wine-deep); color: white; padding: 12px 15px; font-size: .9rem; }
.nil-card-button:hover { background: var(--wine-soft); }
.nil-card-button span { margin-left: 5px; }
.nil-fee-note { max-width: 1040px; margin: 23px auto 0; color: #726366; font-size: .75rem; line-height: 1.7; text-align: center; }

.nil-more { padding: 77px 0 82px; background: #faf6ef; }
.nil-more-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 15px; }
.nil-more-card { display: grid; grid-template-columns: 46px minmax(0,1fr); grid-template-rows: auto 1fr auto; column-gap: 13px; min-width: 0; min-height: 192px; padding: 25px 21px 22px; border: 1px solid #e3d7cc; background: #fffaf5; }
.nil-more-icon { grid-row: 1/4; color: #a37b46; font-family: var(--serif); font-size: 2.1rem; line-height: 1; }
.nil-more-card h3 { margin: 1px 0 9px; color: var(--wine-deep); font-size: 1.27rem; line-height: 1.2; }
.nil-more-card p { margin-bottom: 14px; color: #54494a; font-size: .87rem; line-height: 1.55; }
.nil-more-card a { align-self: end; color: #866033; font-size: .79rem; font-weight: 700; line-height: 1.4; text-decoration: underline; text-underline-offset: 3px; }
.nil-more-card a:hover { color: var(--wine); }
.nil-more-note { margin: 23px 0 0; color: #675c5d; font-size: .8rem; text-align: center; }

.nil-cta { padding: 74px 0 78px; background: radial-gradient(circle at 48% 20%, #56172e, #320917 72%); color: white; text-align: center; }
.nil-cta h2 { margin-bottom: 13px; font-size: clamp(2.65rem, 3.9vw, 4rem); }
.nil-cta p { margin: 0 0 24px; color: #f2e2e2; }
.nil-faq { padding: 79px 0 86px; background: #faf6ef; }
.nil-faq-list { max-width: 990px; margin: 0 auto; }
.nil-faq details { margin-bottom: 10px; border: 1px solid #e4d8cb; background: #fffaf5; }
.nil-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 19px 23px; color: var(--wine-deep); font-family: var(--serif); font-size: 1.22rem; font-weight: 600; cursor: pointer; list-style: none; }
.nil-faq summary::-webkit-details-marker { display: none; }
.nil-faq summary::after { content: "+"; flex: none; color: #906c41; font-family: var(--sans); font-size: 1.55rem; font-weight: 400; line-height: 1; }
.nil-faq details[open] summary::after { content: "−"; }
.nil-faq details[open] summary { border-bottom: 1px solid #ebe1d7; }
.nil-faq details p { margin: 0; padding: 17px 23px 24px; color: #4f4548; line-height: 1.75; }

.nil-footer { padding: 53px 0 24px; background: #290815; }
.nil-footer-grid { display: grid; grid-template-columns: 1.8fr 1fr 1fr; gap: 42px; }
.nil-footer-brand { display: flex; align-items: center; gap: 17px; }
.nil-footer-brand a { flex: none; margin: 0; }
.nil-footer-brand img { display: block; width: 190px; height: 190px; object-fit: contain; }
.nil-footer-brand p { margin: 0 0 9px; max-width: 260px; color: #e1d0ce; font-size: .83rem; }
.nil-footer h3 { margin-top: 16px; font-family: var(--sans); font-size: .83rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.nil-footer-links a { margin: 8px 0; font-size: .82rem; }
.nil-footer .copyright { margin-top: 31px; font-size: .72rem; }

@media (max-width: 1150px) {
  .nil-page .nav-inner { position: relative; }
  .nil-page .links { display: none; }
  .nil-page .menu { position: absolute; top: 50%; right: 0; display: grid; place-items: center; width: 46px; height: 46px; transform: translateY(-50%); }
  .nil-page .links.menu-open { position: absolute; top: 100%; left: 0; right: 0; z-index: 6; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px 5%; border-bottom: 1px solid rgba(225,197,141,.3); background: #2b0713; box-shadow: 0 15px 30px rgba(28,8,17,.25); }
  .nil-hero { grid-template-columns: 1fr 1fr; }
  .nil-hero-copy { padding-left: 5%; }
  .nil-hero h1 { font-size: clamp(2.9rem, 5vw, 3.8rem); }
  .nil-package { padding: 24px 19px; }
  .nil-package-heading { align-items: flex-start; }
  .nil-package-icon { width: 43px; height: 43px; font-size: 1.35rem; }
  .nil-footer-grid { gap: 25px; }
  .nil-footer-brand { flex-direction: column; align-items: flex-start; gap: 0; }
  .nil-footer-brand img { width: 155px; height: 155px; }
}
@media (max-width: 900px) {
  .nil-hero { grid-template-columns: 1fr; grid-template-rows: auto 390px; height: auto; }
  .nil-hero-copy { min-height: 415px; padding: 72px 5%; }
  .nil-hero h1 { max-width: 680px; font-size: clamp(3rem, 7vw, 4.4rem); }
  .nil-hero-gallery { height: 390px; }
  .nil-packages { gap: 12px; }
  .nil-package h3 { font-size: 1.28rem; }
  .nil-more-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .nil-page .nav-inner { min-height: 78px; }
  .nil-page .brand { min-width: 0; grid-template-columns: 45px minmax(0,1fr); padding-right: 48px; }
  .nil-header-mark { width: 45px; height: 45px; }
  .nil-page .brand-main { font-size: .78rem; }
  .nil-page .brand-firm { font-size: .48rem; }
  .nil-page .brand-tagline { font-size: .43rem; }
  .nil-hero-copy { min-height: 0; padding: 72px 5% 75px; }
  .nil-hero h1 { font-size: clamp(2.7rem, 9vw, 3.8rem); }
  .nil-hero { grid-template-rows: auto 340px; }
  .nil-hero-gallery { height: 340px; }
  .nil-intro { padding: 70px 0 60px; }
  .nil-intro h2 { font-size: clamp(2.5rem, 7vw, 3.25rem); }
  .nil-audiences { grid-template-columns: .85fr 1fr 1.25fr; gap: 0; margin-top: 39px; }
  .nil-audience { padding: 0 2px; }
  .nil-audience svg { width: 38px; height: 38px; }
  .nil-audience h3 { font-size: .75rem; letter-spacing: .02em; }
  .nil-services, .nil-more, .nil-faq { padding: 68px 0; }
  .nil-packages { grid-template-columns: 1fr; gap: 17px; max-width: 540px; margin: 0 auto; }
  .nil-package { padding: 26px; }
  .nil-package h3 { font-size: 1.55rem; }
  .nil-package-heading { align-items: center; }
  .nil-more-grid { grid-template-columns: 1fr; max-width: 540px; margin: 0 auto; }
  .nil-more-card { min-height: 165px; }
  .nil-footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nil-footer-brand { grid-column: 1/-1; flex-direction: row; align-items: center; }
}
@media (max-width: 420px) {
  .nil-page .topbar { font-size: .54rem; }
  .nil-page .brand-main { font-size: .69rem; }
  .nil-hero h1 { font-size: 2.55rem; }
  .nil-hero { grid-template-rows: auto 290px; }
  .nil-hero-gallery { height: 290px; }
  .nil-hero-gallery .nil-hero-athlete { object-position: 50% 51%; }
  .nil-section-title, .nil-cta h2 { font-size: 2.45rem; }
  .nil-intro h2 { font-size: 2.35rem; }
  .nil-footer-brand { flex-direction: column; align-items: flex-start; }
}