/* Home owns only Home composition. Global header, footer, rail and buttons live in theme.css. */
body.home { --bdc-button-primary-bg: var(--bdc-safe-light-primary-bg); --bdc-button-primary-text: var(--bdc-safe-light-primary-text); --bdc-button-secondary-bg: var(--bdc-safe-light-secondary-bg); --bdc-button-secondary-text: var(--bdc-safe-light-secondary-text); --bdc-button-hover-bg: var(--bdc-safe-light-hover-bg); --bdc-button-hover-text: var(--bdc-safe-light-hover-text); }
body.home .section,
body.home .hero {
	width: min(calc(100% - (2 * var(--bdc-gutter))), var(--bdc-site-max));
	max-width: var(--bdc-site-max);
	margin: var(--bdc-gap) auto 0;
}
body.home .container { width: 100%; max-width: var(--bdc-site-max); margin-inline: auto; }
body.home .stack { display: flex; flex-direction: column; gap: 16px; }
body.home .stack--large { gap: 32px; }
body.home .button-group { display: flex; flex-wrap: wrap; gap: 12px; }
body.home .button-group--equal .button { width: 210px; }
body.home .eyebrow { margin: 0; color: var(--bdc-gold); font-size: 1rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
body.home .eyebrow--red { color: var(--bdc-red); }
body.home .section-title { margin: 0; font-size: clamp(2rem, 4vw, 3.1rem); }
body.home .section-title--center { text-align: center; }
body.home .section-intro { max-width: 68ch; font-size: 1.08rem; }
body.home p.prose--uniform { margin-block: 0; font-size: 1.08rem; font-weight: 400; line-height: 1.6; }
body.home .section-heading { display: flex; width: 100%; max-width: 840px; margin-inline: auto; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
body.home .section-heading .section-intro { margin-inline: auto; }
body.home .panel { padding: clamp(32px, 5vw, 60px); border-radius: var(--bdc-radius); overflow: hidden; }
body.home .panel--light { background: var(--bdc-paper); }
body.home .panel--dark { background: var(--bdc-navy); color: var(--bdc-cream); }
body.home .panel--red { background: var(--bdc-red); color: #fff; }
body.home .hero,
body.home .panel--dark,
body.home .chapter-card { --bdc-button-primary-bg: var(--bdc-safe-dark-primary-bg); --bdc-button-primary-text: var(--bdc-safe-dark-primary-text); --bdc-button-secondary-bg: var(--bdc-safe-dark-secondary-bg); --bdc-button-secondary-text: var(--bdc-safe-dark-secondary-text); --bdc-button-hover-bg: var(--bdc-safe-dark-hover-bg); --bdc-button-hover-text: var(--bdc-safe-dark-hover-text); }
body.home .panel--red { --bdc-button-primary-bg: var(--bdc-safe-red-primary-bg); --bdc-button-primary-text: var(--bdc-safe-red-primary-text); --bdc-button-secondary-bg: var(--bdc-safe-red-secondary-bg); --bdc-button-secondary-text: var(--bdc-safe-red-secondary-text); --bdc-button-hover-bg: var(--bdc-safe-red-hover-bg); --bdc-button-hover-text: var(--bdc-safe-red-hover-text); }
body.home .panel--cta { align-items: center; text-align: center; }
body.home .panel--cta .section-intro { margin-inline: auto; }
body.home .panel--cta .button-group { justify-content: center; }
body.home .panel--cream { background: var(--bdc-cream); border-top: 4px solid var(--bdc-gold); box-shadow: 0 12px 30px rgba(17,24,39,.1); }
body.home .hero { position: relative; display: flex; min-height: min(680px, calc(100svh - 130px)); align-items: center; border-radius: var(--bdc-radius); background: var(--bdc-black); color: #fff; overflow: hidden; }
body.home .hero__media,
body.home .hero__overlay { position: absolute; inset: 0; }
body.home .hero__media { background-position: center; background-size: cover; transition: opacity 600ms ease; }
body.home .hero__overlay { background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.5) 45%, rgba(0,0,0,.1) 76%); }
body.home .hero__content { position: relative; z-index: 2; width: 100%; padding: clamp(32px, 6vw, 72px); }
body.home .hero__content > * { max-width: 590px; }
body.home .hero h1 { max-width: 9ch; margin: 0; font-size: clamp(3rem, 7vw, 5.3rem); color: #fff; }
body.home .hero__tagline { margin: 0; color: var(--bdc-gold); font-size: clamp(1.15rem, 2.3vw, 1.65rem); font-weight: 900; }
body.home .hero__intro { max-width: 48ch; margin: 0; font-size: 1.05rem; }
body.home .hero__control { position: absolute; top: 14px; right: 14px; z-index: 5; display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 16px; border: 1px solid rgba(255,255,255,.75); border-radius: 999px; background: rgba(12,14,19,.72); color: #fff; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; transform: none; }
body.home .hero__control:hover,
body.home .hero__control:active { border-color: #fff; background: rgba(12,14,19,.92); transform: none; }
body.home .hero__control:focus-visible { outline: 0; box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 6px #1749b7; }

body.home .home-welcome__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); }
body.home .home-welcome__grid > :first-child { display: flex; flex-direction: column; gap: 16px; }
body.home .card-grid { display: grid; gap: 20px; }
body.home .card-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.home .card-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

body.home .chapter-card { min-width: 0; border-radius: var(--bdc-radius); background: var(--bdc-navy); color: var(--bdc-cream); box-shadow: 0 12px 30px rgba(17,24,39,.12); overflow: hidden; }
body.home .chapter-card__link { display: flex; height: 100%; flex-direction: column; color: inherit; text-decoration: none; }
body.home .chapter-card__media { display: grid; min-height: 350px; margin: 0; border-bottom: 4px solid var(--bdc-gold); background: var(--bdc-black); place-items: center; }
body.home .chapter-card__media img { width: min(76%, 370px); max-height: 310px; object-fit: contain; }
body.home .chapter-card__content { display: flex; flex: 1; flex-direction: column; align-items: center; padding: 32px; text-align: center; }
body.home .chapter-card h3 { margin: 0; color: var(--bdc-cream); font-size: clamp(1.5rem, 3vw, 2rem); }
body.home .chapter-card p { margin: 0; }
body.home .chapter-card__action { margin-top: auto; }
body.home .chapter-card__link:hover .chapter-card__action { border-color: var(--bdc-red); background: var(--bdc-red); color: #fff; }
body.home .chapter-card__link:focus-visible { outline: 0; box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 8px #1749b7; }

body.home .adventure-card { min-width: 0; padding: 28px; border-top: 4px solid var(--bdc-gold); border-radius: 18px; background: var(--bdc-paper); box-shadow: 0 10px 24px rgba(17,24,39,.08); }
body.home .adventure-card > .button,
body.home .adventure-card > .button-group { margin-top: auto; }
body.home .adventure-card > .button-group { width: 100%; justify-content: center; }
body.home .feature-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; text-align: center; }
body.home .feature-item { padding: 0 24px; border-left: 1px solid rgba(255,255,255,.18); }
body.home .feature-item:first-child { border-left: 0; }
body.home .feature-item__icon { display: grid; width: 58px; height: 58px; margin: 0 auto 18px; border-radius: 50%; background: var(--bdc-gold); color: var(--bdc-navy); place-items: center; }
body.home .feature-item__icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

@media (max-width: 900px) {
	body.home { --bdc-gap: 16px; }
	body.home .hero { min-height: 680px; align-items: flex-end; }
	body.home .hero__overlay { background: linear-gradient(180deg, rgba(0,0,0,.48) 0%, rgba(0,0,0,.42) 45%, rgba(0,0,0,.78) 100%); }
	body.home .hero__content { padding: 72px 20px 28px; }
	body.home .hero h1 { font-size: clamp(2.7rem, 14vw, 4rem); }
	body.home .button-group--equal { width: 100%; flex-direction: column; }
	body.home .button-group--equal .button { width: 100%; }
	body.home .home-welcome__grid,
	body.home .card-grid--two,
	body.home .card-grid--three,
	body.home .feature-list { grid-template-columns: 1fr; }
	body.home .chapter-card__media { min-height: 320px; }
	body.home .feature-list { text-align: left; }
	body.home .feature-item { display: grid; grid-template-columns: 64px 1fr; gap: 4px 18px; padding: 24px 0; border-top: 1px solid rgba(255,255,255,.18); border-left: 0; }
	body.home .feature-item:first-child { border-top: 0; }
	body.home .feature-item__icon { grid-row: 1 / span 2; margin: 0; }
	body.home .feature-item h3,
	body.home .feature-item p { grid-column: 2; }
}

@media (max-width: 820px) {
	body.home .hero .eyebrow { font-size: .8125rem; }
	body.home .section-heading .eyebrow { font-size: .875rem; }
}

@media (max-width: 520px) {
	body.home .panel { padding: 30px 22px; border-radius: 22px; }
	body.home .chapter-card__content { padding: 28px 20px 30px; }
	body.home .adventure-card { padding: 24px 20px; }
}
