/* =============================================================
   1-ON-1 COACHING — page-one-on-one.css
   --------------------------------------------------------------
   Personality: editorial, single-coach feature, elite positioning.
   Red-led (back to WBA primary). BMF deliberately omitted —
   "Why Train" section is the page's dark moment.
   Depends on play-shared.css for: .wba-fade-up
   ============================================================= */

.ooo { background: var(--wba-white); }

/* Eyebrow utility — red icon, muted text */
.ooo-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wba-muted);
	margin-bottom: 18px;
}
.ooo-eyebrow svg {
	width: 14px;
	height: 14px;
	color: var(--wba-red);
}
.ooo-eyebrow--center { justify-content: center; }

/* Buttons */
.ooo-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 15px 28px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: lowercase;
	text-decoration: none;
	border-radius: 4px;
	border: 1px solid transparent;
	transition: transform 0.2s, background 0.2s, color 0.2s, border-color 0.2s;
	cursor: pointer;
	font-family: inherit;
}
.ooo-btn svg { width: 14px; height: 14px; }
.ooo-btn--primary {
	background: var(--wba-red);
	color: var(--wba-white);
	border-color: var(--wba-red);
}
.ooo-btn--primary:hover {
	background: var(--wba-dark);
	color: var(--wba-red);
	border-color: var(--wba-dark);
	transform: translateY(-2px);
}
.ooo-btn--ghost {
	background: transparent;
	color: var(--wba-dark);
	border-color: var(--wba-border);
}
.ooo-btn--ghost:hover {
	background: var(--wba-cream);
	border-color: var(--wba-dark);
}

/* =============================================================
   1. HERO
   ============================================================= */
.ooo-hero {
	position: relative;
	height: 58vh;
	min-height: 480px;
	background-size: cover;
	background-position: center 30%;
	background-repeat: no-repeat;
	color: var(--wba-white);
	display: flex;
	align-items: center;
	overflow: hidden;
}
.ooo-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient( 105deg, rgba(26,26,26,0.92) 0%, rgba(26,26,26,0.72) 50%, rgba(26,26,26,0.40) 100% ),
		radial-gradient( circle at 75% 50%, rgba(193,39,45,0.35) 0%, transparent 55% );
	z-index: 1;
}
.ooo-hero__inner {
	position: relative; z-index: 2;
	max-width: 1240px; margin: 0 auto;
	padding: 0 var(--gutter-d); width: 100%;
}
.ooo-hero__eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: 0.7rem; font-weight: 700;
	letter-spacing: 0.22em; text-transform: uppercase;
	color: rgba(255,255,255,0.85);
	padding: 9px 18px;
	border: 1px solid rgba(193,39,45,0.45);
	border-radius: 999px;
	margin-bottom: 28px;
	background: rgba(193,39,45,0.10);
}
.ooo-hero__eyebrow svg { width: 12px; height: 12px; color: var(--wba-red); }
.ooo-hero__headline {
	font-size: clamp(2.6rem, 7.5vw, 6rem);
	font-weight: 800; line-height: 0.95;
	letter-spacing: -0.025em;
	margin: 0 0 22px;
	color: var(--wba-white);
}
.ooo-hero__qualifier {
	display: block;
	font-style: italic; font-weight: 300;
	color: var(--wba-red);
	letter-spacing: -0.012em; margin-top: 6px;
}
.ooo-hero__tagline {
	max-width: 640px;
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.5; color: rgba(255,255,255,0.85);
	margin: 0 0 28px;
}
.ooo-hero__pills {
	display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px;
}
.ooo-hero__pill {
	font-size: 0.62rem; font-weight: 700;
	letter-spacing: 0.18em; text-transform: uppercase;
	color: rgba(255,255,255,0.92);
	padding: 7px 13px;
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 999px;
	backdrop-filter: blur(4px);
}
.ooo-hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.ooo-hero .ooo-btn--ghost {
	color: var(--wba-white);
	border-color: rgba(255,255,255,0.4);
}
.ooo-hero .ooo-btn--ghost:hover {
	background: rgba(255,255,255,0.1);
	border-color: var(--wba-white);
	color: var(--wba-white);
}

/* =============================================================
   2. ANCHOR NAV — red CTA
   ============================================================= */
.ooo-anchors {
	position: sticky; top: 0; z-index: 30;
	background: var(--wba-white);
	border-bottom: 1px solid var(--wba-border);
	border-top: 3px solid var(--wba-red);
}
.ooo-anchors__inner {
	max-width: 1240px; margin: 0 auto;
	padding: 0 var(--gutter-d);
	display: flex; gap: 28px;
	overflow-x: auto; scrollbar-width: none;
	align-items: center;
}
.ooo-anchors__inner::-webkit-scrollbar { display: none; }
.ooo-anchors__inner a {
	position: relative;
	padding: 18px 2px;
	font-size: 0.72rem; font-weight: 700;
	letter-spacing: 0.14em; text-transform: lowercase;
	color: var(--wba-dark); text-decoration: none;
	white-space: nowrap; transition: color 0.2s;
}
.ooo-anchors__inner a:not(.is-cta)::after {
	content: ""; position: absolute;
	left: 0; right: 0; bottom: -1px; height: 2px;
	background: var(--wba-red);
	transform: scaleX(0); transform-origin: left;
	transition: transform 0.25s;
}
.ooo-anchors__inner a:not(.is-cta):hover { color: var(--wba-red); }
.ooo-anchors__inner a:not(.is-cta):hover::after { transform: scaleX(1); }
.ooo-anchors__inner a.is-cta {
	margin-left: auto;
	padding: 9px 18px;
	background: var(--wba-red); color: var(--wba-white);
	border-radius: 4px;
	transition: background 0.2s, transform 0.2s;
}
.ooo-anchors__inner a.is-cta:hover {
	background: var(--wba-dark); transform: translateY(-1px);
}

/* =============================================================
   3. COACH FEATURE — editorial asymmetric spread
   ============================================================= */
.ooo-coach {
	padding: 120px var(--gutter-d) 100px;
	background: var(--wba-white);
}
.ooo-coach__inner {
	max-width: 1320px; margin: 0 auto;
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: 80px;
	align-items: flex-start;
}
.ooo-coach__media {
	margin: 0;
	position: sticky;
	top: 80px;
	border-radius: 16px;
	overflow: hidden;
	background: var(--wba-dark);
	aspect-ratio: 4 / 5;
	box-shadow: 0 40px 80px rgba(26,26,26,0.18);
}
.ooo-coach__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center 25%;
}
.ooo-coach__caption {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 24px 28px 22px;
	background: linear-gradient( to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 100% );
	color: var(--wba-white);
	display: flex; flex-direction: column; gap: 2px;
}
.ooo-coach__caption-eyebrow {
	font-size: 0.58rem; font-weight: 700;
	letter-spacing: 0.22em; text-transform: uppercase;
	color: rgba(255,255,255,0.65);
}
.ooo-coach__caption-name {
	font-size: 1.4rem; font-weight: 800;
	letter-spacing: -0.012em;
	color: var(--wba-white);
}

.ooo-coach__content {
	padding-top: 10px;
}
.ooo-coach__name {
	font-size: clamp(2.8rem, 5vw, 4.2rem);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.025em;
	color: var(--wba-dark);
	margin: 0 0 14px;
}
.ooo-coach__tagline {
	font-size: 0.95rem;
	font-style: italic;
	line-height: 1.5;
	color: var(--wba-muted);
	margin: 0 0 22px;
}
.ooo-coach__pills {
	display: flex; flex-wrap: wrap; gap: 8px;
	margin-bottom: 28px;
}
.ooo-coach__pill {
	font-size: 0.6rem; font-weight: 700;
	letter-spacing: 0.18em; text-transform: uppercase;
	padding: 6px 12px;
	background: var(--wba-cream);
	color: var(--wba-dark);
	border-radius: 999px;
	border: 1px solid var(--wba-border);
}
.ooo-coach__intro {
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	line-height: 1.65;
	color: #404040;
	margin: 0 0 40px;
	padding-bottom: 36px;
	border-bottom: 1px solid var(--wba-border);
}
.ooo-coach__creds {
	display: flex; flex-direction: column;
	gap: 28px;
}
.ooo-coach__cred-group {}
.ooo-coach__cred-title {
	display: inline-block;
	font-size: 0.62rem; font-weight: 700;
	letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--wba-dark);
	margin: 0 0 12px;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--wba-red);
}
.ooo-coach__cred-list {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-direction: column; gap: 9px;
}
.ooo-coach__cred-list li {
	display: flex; align-items: flex-start; gap: 10px;
	font-size: 0.92rem; line-height: 1.5;
	color: var(--wba-dark);
}
.ooo-coach__cred-list svg {
	width: 13px; height: 13px;
	color: var(--wba-red);
	flex-shrink: 0; margin-top: 5px;
}

/* =============================================================
   4. PEDIGREE STAT STRIP
   ============================================================= */
.ooo-stats {
	padding: 100px var(--gutter-d);
	background: var(--wba-cream);
	border-top: 1px solid var(--wba-border);
	border-bottom: 1px solid var(--wba-border);
}
.ooo-stats__inner { max-width: 1240px; margin: 0 auto; }
.ooo-stats__head { max-width: 760px; margin: 0 auto 56px; text-align: center; }
.ooo-stats__headline {
	font-size: clamp(2rem, 4.4vw, 3.2rem);
	font-weight: 800; line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--wba-dark);
	margin: 0 0 22px;
}
.ooo-stats__headline em {
	font-style: italic; font-weight: 300;
	color: var(--wba-muted);
}
.ooo-stats__lede {
	font-size: 1rem; line-height: 1.65;
	color: #555; margin: 0;
}
.ooo-stats__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--wba-border);
	border: 1px solid var(--wba-border);
	border-radius: 16px;
	overflow: hidden;
}
.ooo-stats__card {
	background: var(--wba-white);
	padding: 36px 28px 32px;
	display: flex; flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	transition: background 0.2s;
}
.ooo-stats__card:hover { background: var(--wba-cream); }
.ooo-stats__value {
	font-size: clamp(3rem, 5.5vw, 4.4rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 0.95;
	color: var(--wba-red);
	font-variant-numeric: tabular-nums;
	margin-bottom: 6px;
}
.ooo-stats__label {
	font-size: 0.7rem; font-weight: 700;
	letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--wba-dark);
}
.ooo-stats__sub {
	font-size: 0.8rem; color: var(--wba-muted);
	line-height: 1.4;
}

/* =============================================================
   5. SKILLS — 6-card grid with decorative bg numerals
   ============================================================= */
.ooo-skills {
	padding: 110px var(--gutter-d);
	background: var(--wba-white);
}
.ooo-skills__inner { max-width: 1240px; margin: 0 auto; }
.ooo-skills__head { max-width: 760px; margin: 0 auto 64px; text-align: center; }
.ooo-skills__headline {
	font-size: clamp(2rem, 4.4vw, 3.2rem);
	font-weight: 800; line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--wba-dark);
	margin: 0 0 22px;
}
.ooo-skills__headline em {
	font-style: italic; font-weight: 300;
	color: var(--wba-muted);
}
.ooo-skills__lede {
	font-size: 1rem; line-height: 1.65;
	color: #555; margin: 0;
}
.ooo-skills__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.ooo-skill {
	position: relative;
	background: var(--wba-white);
	border: 1px solid var(--wba-border);
	border-radius: 14px;
	padding: 36px 30px 32px;
	transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
	overflow: hidden;
}
.ooo-skill::before {
	content: "";
	position: absolute;
	top: -10px; right: -10px;
	width: 70px; height: 70px;
	background: linear-gradient(135deg, transparent 45%, rgba(193,39,45,0.06) 100%);
	border-radius: 0 14px 0 50%;
	pointer-events: none;
}
.ooo-skill:hover {
	transform: translateY(-4px);
	border-color: var(--wba-red);
	box-shadow: 0 24px 50px rgba(193,39,45,0.08);
}
.ooo-skill__num {
	position: absolute;
	top: 16px; right: 22px;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	color: var(--wba-muted);
	font-variant-numeric: tabular-nums;
}
.ooo-skill__icon {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 48px; height: 48px;
	border-radius: 12px;
	background: var(--wba-cream);
	margin-bottom: 18px;
	transition: background 0.2s;
}
.ooo-skill:hover .ooo-skill__icon {
	background: var(--wba-red);
}
.ooo-skill__icon svg {
	width: 22px; height: 22px;
	color: var(--wba-red);
	transition: color 0.2s;
}
.ooo-skill:hover .ooo-skill__icon svg {
	color: var(--wba-white);
}
.ooo-skill__title {
	font-size: 1.2rem;
	font-weight: 800;
	letter-spacing: -0.012em;
	line-height: 1.2;
	color: var(--wba-dark);
	margin: 0 0 12px;
}
.ooo-skill__body {
	font-size: 0.92rem;
	line-height: 1.6;
	color: #555;
	margin: 0;
}

/* =============================================================
   6. WHY TRAIN — the page's dark moment
   ============================================================= */
.ooo-why {
	background: var(--wba-dark);
	color: var(--wba-white);
	padding: 110px var(--gutter-d);
	position: relative;
	overflow: hidden;
}
.ooo-why::before {
	content: "";
	position: absolute; inset: 0;
	background: radial-gradient(circle at 75% 25%, rgba(193,39,45,0.22) 0%, transparent 55%);
	z-index: 0;
}
.ooo-why__inner {
	max-width: 1240px; margin: 0 auto;
	position: relative; z-index: 1;
}
.ooo-why__head { max-width: 800px; margin: 0 auto 64px; text-align: center; }
.ooo-why__eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 0.65rem; font-weight: 700;
	letter-spacing: 0.22em; text-transform: uppercase;
	color: rgba(255,255,255,0.55);
	margin-bottom: 22px;
}
.ooo-why__eyebrow svg { width: 14px; height: 14px; color: var(--wba-red); }
.ooo-why__headline {
	font-size: clamp(2rem, 4.6vw, 3.4rem);
	font-weight: 800; line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--wba-white);
	margin: 0 0 22px;
}
.ooo-why__headline em {
	font-style: italic; font-weight: 300;
	color: var(--wba-red);
}
.ooo-why__lede {
	font-size: 1rem; line-height: 1.65;
	color: rgba(255,255,255,0.75);
	margin: 0;
}
.ooo-why__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.ooo-why__card {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 14px;
	padding: 32px 28px 30px;
	transition: background 0.3s, border-color 0.3s, transform 0.3s;
}
.ooo-why__card:hover {
	background: rgba(255,255,255,0.08);
	border-color: rgba(193,39,45,0.4);
	transform: translateY(-3px);
}
.ooo-why__icon {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 48px; height: 48px;
	border-radius: 12px;
	background: var(--wba-red);
	margin-bottom: 18px;
}
.ooo-why__icon svg {
	width: 22px; height: 22px;
	color: var(--wba-white);
}
.ooo-why__title {
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: -0.012em;
	line-height: 1.25;
	color: var(--wba-white);
	margin: 0 0 12px;
}
.ooo-why__body {
	font-size: 0.92rem;
	line-height: 1.6;
	color: rgba(255,255,255,0.78);
	margin: 0;
}

/* =============================================================
   7. SESSION DETAILS — 4 cards
   ============================================================= */
.ooo-sessions {
	padding: 110px var(--gutter-d);
	background: var(--wba-cream);
	border-top: 1px solid var(--wba-border);
	border-bottom: 1px solid var(--wba-border);
}
.ooo-sessions__inner { max-width: 1240px; margin: 0 auto; }
.ooo-sessions__head { max-width: 720px; margin: 0 auto 48px; text-align: center; }
.ooo-sessions__headline {
	font-size: clamp(1.85rem, 4.2vw, 2.8rem);
	font-weight: 800; line-height: 1.08;
	letter-spacing: -0.018em;
	color: var(--wba-dark);
	margin: 0;
}
.ooo-sessions__headline em {
	font-style: italic; font-weight: 300;
	color: var(--wba-red);
}
.ooo-sessions__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.ooo-sessions__card {
	background: var(--wba-white);
	border: 1px solid var(--wba-border);
	border-radius: 14px;
	padding: 30px 26px;
	display: flex; flex-direction: column;
	gap: 6px;
	transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.ooo-sessions__card:hover {
	transform: translateY(-3px);
	border-color: var(--wba-red);
	box-shadow: 0 20px 40px rgba(193,39,45,0.08);
}
.ooo-sessions__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px;
	border-radius: 50%;
	background: var(--wba-cream);
	margin-bottom: 10px;
}
.ooo-sessions__icon svg { width: 18px; height: 18px; color: var(--wba-red); }
.ooo-sessions__label {
	font-size: 0.6rem; font-weight: 700;
	letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--wba-muted);
}
.ooo-sessions__value {
	font-size: 1.15rem; font-weight: 800;
	letter-spacing: -0.012em; line-height: 1.2;
	color: var(--wba-dark);
}
.ooo-sessions__detail {
	font-size: 0.85rem; line-height: 1.45;
	color: var(--wba-muted);
	margin-top: 2px;
}

/* =============================================================
   8. BOOKING FORM
   ============================================================= */
.ooo-book {
	padding: 110px var(--gutter-d) 120px;
	background: var(--wba-white);
}
.ooo-book__inner {
	max-width: 880px;
	margin: 0 auto;
}
.ooo-book__head { text-align: center; margin-bottom: 48px; }
.ooo-book__headline {
	font-size: clamp(2rem, 4.6vw, 3.2rem);
	font-weight: 800; line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--wba-dark);
	margin: 0 0 18px;
}
.ooo-book__headline em {
	font-style: italic; font-weight: 300;
	color: var(--wba-red);
}
.ooo-book__lede {
	font-size: 1.05rem; line-height: 1.6;
	color: var(--wba-muted);
	margin: 0;
}

.ooo-book__form {
	background: var(--wba-cream);
	border: 1px solid var(--wba-border);
	border-radius: 18px;
	padding: 40px 40px 36px;
}

/* Formspree honeypot — visually hidden, still in the DOM for bots */
.ooo-book__honeypot {
	position: absolute !important;
	left: -10000px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.ooo-book__form-success,
.ooo-book__form-error {
	display: flex;
	align-items: center; gap: 12px;
	padding: 14px 18px;
	border-radius: 10px;
	margin-bottom: 22px;
	font-size: 0.9rem;
	line-height: 1.45;
}
.ooo-book__form-success {
	background: #ecf7e9;
	border: 1px solid #4caf50;
	color: #1e5e26;
}
.ooo-book__form-success svg { color: #2d8a3a; flex-shrink: 0; }
.ooo-book__form-error {
	background: #fdeeef;
	border: 1px solid var(--wba-red);
	color: var(--wba-red);
}
.ooo-book__form-error svg { color: var(--wba-red); flex-shrink: 0; }

.ooo-book__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-bottom: 28px;
}
.ooo-book__field {
	display: flex; flex-direction: column;
	gap: 7px;
}
.ooo-book__field--full {
	grid-column: 1 / -1;
}
.ooo-book__field label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wba-dark);
}
.ooo-book__field label span[aria-hidden] {
	color: var(--wba-red);
	margin-left: 2px;
}
.ooo-book__field label small {
	display: block;
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--wba-muted);
	margin-top: 2px;
}
.ooo-book__field input,
.ooo-book__field select,
.ooo-book__field textarea {
	font-family: inherit;
	font-size: 0.95rem;
	color: var(--wba-dark);
	background: var(--wba-white);
	border: 1px solid var(--wba-border);
	border-radius: 8px;
	padding: 12px 14px;
	width: 100%;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.ooo-book__field input::placeholder,
.ooo-book__field textarea::placeholder {
	color: #bbb;
}
.ooo-book__field input:focus,
.ooo-book__field select:focus,
.ooo-book__field textarea:focus {
	outline: none;
	border-color: var(--wba-red);
	box-shadow: 0 0 0 3px rgba(193,39,45,0.12);
}
.ooo-book__field textarea {
	resize: vertical;
	min-height: 110px;
	line-height: 1.5;
}
.ooo-book__field select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><polyline points='1,1 5,5 9,1' fill='none' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 36px;
}

.ooo-book__footer {
	display: flex; flex-direction: column;
	align-items: center; gap: 14px;
	padding-top: 22px;
	border-top: 1px solid var(--wba-border);
}
.ooo-book__submit {
	width: 100%;
	max-width: 360px;
	justify-content: center;
	padding: 17px 28px;
	font-size: 0.82rem;
}
.ooo-book__submit:disabled {
	opacity: 0.6;
	cursor: wait;
	transform: none;
}
.ooo-book__response {
	font-size: 0.82rem;
	font-style: italic;
	color: var(--wba-muted);
	text-align: center;
	margin: 0;
	line-height: 1.5;
	max-width: 480px;
}

/* =============================================================
   RESPONSIVE
   ============================================================= */
@media (max-width: 1080px) {
	.ooo-coach__inner { grid-template-columns: 1fr; gap: 56px; max-width: 720px; }
	.ooo-coach__media { position: static; max-width: 460px; margin: 0 auto; }
	.ooo-stats__grid { grid-template-columns: repeat(2, 1fr); }
	.ooo-skills__grid { grid-template-columns: repeat(2, 1fr); }
	.ooo-why__grid { grid-template-columns: repeat(2, 1fr); }
	.ooo-sessions__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
	.ooo-hero { min-height: 460px; }
	.ooo-hero__inner { padding: 0 var(--gutter-m); }
	.ooo-hero__ctas { flex-direction: column; align-items: stretch; }
	.ooo-btn { justify-content: center; }
	.ooo-anchors__inner { padding: 0 var(--gutter-m); gap: 22px; }
	.ooo-anchors__inner a.is-cta { margin-left: 0; }

	.ooo-coach, .ooo-stats, .ooo-skills, .ooo-why,
	.ooo-sessions, .ooo-book {
		padding-left: var(--gutter-m); padding-right: var(--gutter-m);
		padding-top: 70px; padding-bottom: 70px;
	}
	.ooo-coach__name { font-size: 2.4rem; }
	.ooo-stats__grid { grid-template-columns: 1fr; }
	.ooo-skills__grid { grid-template-columns: 1fr; }
	.ooo-why__grid { grid-template-columns: 1fr; }
	.ooo-sessions__grid { grid-template-columns: 1fr; }
	.ooo-book__form { padding: 28px 22px 26px; }
	.ooo-book__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.ooo-skill, .ooo-stats__card, .ooo-sessions__card,
	.ooo-why__card, .ooo-btn {
		transition: none !important;
	}
	.ooo-skill:hover, .ooo-stats__card:hover,
	.ooo-sessions__card:hover, .ooo-why__card:hover {
		transform: none;
	}
}
