/* ==========================================================================
   SRR Coaching – Elementor section widgets (values from Figma @1440px).
   ========================================================================== */

/* Decorative blurred glows */
.srr-glow {
	position: absolute;
	z-index: 0;
	width: 186px;
	height: 186px;
	border-radius: 50%;
	filter: blur(100px);
	pointer-events: none;
	transform: translateZ(0);
}
.srrc-section > .srr-wrap { position: relative; z-index: 1; }

.srr-radius { border-radius: 15px; overflow: hidden; }
.srr-cover { width: 100%; height: 100%; object-fit: cover; }
.srr-cta__bg .srr-cover { height: 100%; } /* beat Elementor's img { height: auto } on background photos */

/* Shared metallic gold text */
.srr-statement__title,
.srr-stat__num {
	background: linear-gradient(90deg, #b89768 0%, #5b3f1c 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: #b89768;
}

/* ================================ HERO ================================== */
.srr-hero {
	min-height: 862px;
	padding: 185px 0 80px;
	overflow: hidden;
	background: var(--srr-bg);
	isolation: isolate;
}
.srr-hero__bg { position: absolute; inset: 0; z-index: -1; }
.srr-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.9; }
.srr-hero__overlay {
	position: absolute;
	inset: 0;
	opacity: 0.9;
	background: radial-gradient(ellipse 36% 52% at 63.6% 40.8%, rgba(16, 14, 13, 0) 0%, #100e0d 100%);
}
.srr-hero__inner { position: relative; z-index: 2; }
.srr-hero__content { max-width: 734px; }
.srr-hero__eyebrow {
	font-family: "Manrope", var(--srr-font);
	line-height: 24px;
	color: var(--srr-white);
	margin-bottom: 15px;
}
.srr-hero__title {
	font-size: clamp(46px, 5.903vw, 85px);
	line-height: 1.0353;
	letter-spacing: 0.01em;
	text-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
	margin: 0 0 15px;
}
.srr-hero__text { max-width: 613px; font-size: 20px; line-height: 27px; margin: 0 0 26px; } /* Figma 11:70: 65px box + 15px gap */
.srr-hero .srrc-btn-wrap { margin-top: 0; }
.srr-hero__note { margin-top: 15px; font-size: 14px; line-height: 22px; color: var(--srr-muted); }
.srr-hero__media {
	position: absolute;
	z-index: 1;
	top: min(117px, 8.125vw);
	left: calc(50% - min(35px, 2.43vw));
	width: min(655px, 45.49vw);
	aspect-ratio: 655 / 872;
}
.srr-hero__img { width: 100%; height: 100%; object-fit: contain; object-position: center top; }

/* Hero slider (only when extra slides are added). Slides stack in one grid cell and cross-fade;
   they stay unpositioned so the background and person image still anchor to the section. */
.srr-hero__slides { display: grid; }
.srr-hero__slide { grid-area: 1 / 1; isolation: isolate; opacity: 0; visibility: hidden; transition: opacity 0.8s ease, visibility 0s linear 0.8s; }
.srr-hero__slide.is-active { opacity: 1; visibility: visible; transition: opacity 0.8s ease; }
.srr-hero__arrow {
	position: absolute;
	z-index: 3;
	top: 50%;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid var(--srr-gold);
	border-radius: 50%;
	background: rgba(16, 14, 13, 0.45);
	color: var(--srr-gold);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
	transition: background-color 0.3s, color 0.3s;
}
.srr-hero__arrow:hover,
.srr-hero__arrow:focus-visible { background: var(--srr-gold); color: #100e0d; }
.srr-hero__arrow--prev { left: 24px; }
.srr-hero__arrow--next { right: 24px; }
.srr-hero__dots { position: absolute; z-index: 3; left: 0; right: 0; bottom: 32px; display: flex; justify-content: center; gap: 12px; }
.srr-hero__dot { width: 10px; height: 10px; padding: 0; border: 1px solid var(--srr-gold); border-radius: 50%; background: transparent; cursor: pointer; transition: background-color 0.3s, transform 0.3s; }
.srr-hero__dot.is-active { background: var(--srr-gold); transform: scale(1.2); }
@media (prefers-reduced-motion: reduce) {
	.srr-hero__slide, .srr-hero__slide.is-active { transition: none; }
}

/* ============================ SOUND FAMILIAR ============================ */
.srr-struggles {
	padding: 128px 0 126px;
	/* Figma FILL: always covers the full section width and height. */
	background: var(--srr-bg) var(--srr-photo, none) center center / cover no-repeat;
	background-blend-mode: overlay; /* Figma: image fill in Overlay mode */
	overflow: hidden;
	overflow: clip; /* clip (not hidden) so the pinned grid can stick */
}
.srr-glow--a { background: #b89768; left: calc(50% - 312px); top: 441px; }
.srr-glow--b { background: #a58961; left: calc(50% - 578px); top: 672px; }
.srr-struggles__grid {
	display: grid;
	grid-template-columns: minmax(0, 594fr) minmax(0, 598fr); /* Figma: statements at x=742 */
	column-gap: 48px;
	align-items: start;
}
.srr-struggles__left .srrc-intro { max-width: 454px; }
.srr-struggles__left .srr-h2 { font-size: clamp(30px, 3.125vw, 45px); line-height: 1.0667; text-transform: none; margin-bottom: 19px; }
.srr-struggles__media { margin-top: 71px; aspect-ratio: 594 / 490; position: relative; z-index: 1; }
.srr-struggles__window { position: relative; }
/* Desktop: the stripes live on their own layer, sized exactly like the Figma
   frame (1440×1333, image scaled to the frame height and centred) and anchored
   to the content, so they sit where the design has them at any screen width
   and stay with the content while the section is pinned. */
.srr-struggles__bg { display: none; }
@media (min-width: 992px) {
	.srr-struggles { background-image: none; }
	.srr-struggles__grid { position: relative; z-index: 0; isolation: isolate; }
	.srr-struggles__bg {
		display: block;
		position: absolute;
		z-index: -1;
		top: -128px;
		left: 50%;
		width: 100vw;
		height: 1333px;
		transform: translateX(-50%);
		background: var(--srr-bg) var(--srr-photo, none) center center / cover no-repeat;
		background-blend-mode: overlay;
		pointer-events: none;
	}
	/* The two warm glows (Figma Ellipse 1 & 2) now live on the stripes layer. */
	.srr-struggles > .srr-glow--a,
	.srr-struggles > .srr-glow--b { display: none; }
	.srr-struggles__bg::before,
	.srr-struggles__bg::after {
		content: "";
		position: absolute;
		width: 186px;
		height: 186px;
		border-radius: 50%;
		filter: blur(100px);
	}
	.srr-struggles__bg::before { background: #b89768; left: calc(50% - 312px); top: 441px; }
	.srr-struggles__bg::after { background: #a58961; left: calc(50% - 578px); top: 672px; }
}
.srr-struggles__list { display: flex; flex-direction: column; gap: 34px; }
/* Desktop: a window over the statements; the list slides with page scroll. */
@media (min-width: 992px) {
	.js-srr-focus.srr-struggles__window {
		/* The box reaches up into the stripe band (--srr-ext) without moving the
		   statements, so a statement leaving the lit slot rises into the stripes
		   and dissolves there. Figma height below that, never taller than the screen. */
		--srr-ext: 120px;
		margin-top: calc(-1 * var(--srr-ext));
		padding-top: var(--srr-ext);
		height: calc(min(862px, max(480px, calc(100vh - 150px))) + var(--srr-ext));
		height: calc(min(862px, max(480px, calc(100svh - 150px))) + var(--srr-ext));
		overflow: hidden;
		-webkit-mask-image: linear-gradient(180deg, transparent 0, rgba(0, 0, 0, 0.35) calc(var(--srr-ext) * 0.55), #000 calc(var(--srr-ext) + 60px), #000 calc(100% - 120px), transparent 100%);
		mask-image: linear-gradient(180deg, transparent 0, rgba(0, 0, 0, 0.35) calc(var(--srr-ext) * 0.55), #000 calc(var(--srr-ext) + 60px), #000 calc(100% - 120px), transparent 100%);
	}
	/* Pinned: the grid stays on screen while scrolling plays the statements. */
	.srr-struggles.is-pinned .srr-struggles__grid { position: sticky; }
	.srr-struggles.is-pinned .srr-struggles__media { aspect-ratio: auto; }
	/* Movement and fades follow the scroll position (srr-widgets.js). */
	.js-srr-focus .srr-struggles__list { will-change: transform; }
	.js-srr-focus .srr-statement { transition: none; }
}
/* Figma 17:96 / 22:128 / 22:131 / 22:134: 1px bottom line inside each card;
   inactive cards are 30% opacity as a whole (line included). */
.srr-statement {
	--srr-metal: linear-gradient(180deg, #b89768 16%, #5b3f1c 85%);
	padding: 0 30px 30px;
	border-bottom: 1px solid rgba(91, 63, 28, 0.29);
	transition: opacity 0.7s var(--srr-ease);
}
.js-srr-focus .srr-statement:not(.is-active) { opacity: 0.3; }
.srr-statement__title {
	font-size: clamp(34px, 4.167vw, 60px);
	line-height: 1;
	margin: 0 0 10px;
	max-width: 525px;
	/* Metallic gold per line of text (light top, dark bottom), as in Figma. */
	background-image: var(--srr-metal);
	background-size: 100% 1em;
	background-repeat: repeat-y;
}
.srr-statement__text { font-size: 17px; line-height: 27px; max-width: 531px; }
/* Statement above the lit one: title darkens towards the top (Figma 17:95). */
.js-srr-focus .srr-statement.is-before .srr-statement__title,
.srr-struggles__window--marquee .srr-statement.is-before .srr-statement__title {
	background-image: linear-gradient(180deg, #000 -7%, rgba(0, 0, 0, 0) 100%), var(--srr-metal);
	background-size: 100% 100%, 100% 1em;
	background-repeat: no-repeat, repeat-y;
}
/* Statement below the lit one: title and text darken towards the bottom (Figma 22:132 / 22:133). */
.js-srr-focus .srr-statement.is-after .srr-statement__title,
.srr-struggles__window--marquee .srr-statement.is-after .srr-statement__title {
	background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 18%, #000 122%), var(--srr-metal);
	background-size: 100% 100%, 100% 1em;
	background-repeat: no-repeat, repeat-y;
}
.js-srr-focus .srr-statement.is-after .srr-statement__text,
.srr-struggles__window--marquee .srr-statement.is-after .srr-statement__text {
	background-image: linear-gradient(180deg, #fff 0%, #000 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.srr-struggles__nav { display: none; }
/* Tablet/mobile: swipeable statement cards (srr-widgets.js adds the dots/arrows/counter). */
@media (max-width: 991px) {
	.js-srr-focus .srr-struggles__list {
		flex-direction: row;
		gap: 14px;
		margin: 0 -20px;
		padding: 6px 20px 10px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding: 0 20px;
		scrollbar-width: none;
	}
	.js-srr-focus .srr-struggles__list::-webkit-scrollbar { display: none; }
	.srr-js .js-srr-focus .srr-statement,
	.srr-js body:not(.elementor-editor-active) .js-srr-focus .srr-statement {
		flex: 0 0 min(86%, 520px);
		scroll-snap-align: center;
		padding: 30px 24px 28px;
		border: 1px solid rgba(184, 151, 104, 0.22);
		border-radius: 15px;
		background: linear-gradient(160deg, rgba(184, 151, 104, 0.1) 0%, rgba(16, 14, 13, 0.6) 60%);
		transform: scale(0.94);
		transition: opacity 0.4s var(--srr-ease), transform 0.4s var(--srr-ease), border-color 0.4s;
	}
	.srr-js .js-srr-focus .srr-statement.is-active,
	.srr-js body:not(.elementor-editor-active) .js-srr-focus .srr-statement.is-active { transform: none; border-color: rgba(184, 151, 104, 0.55); }
	.js-srr-focus .srr-statement:not(.is-active) { opacity: 0.45; }
	/* No top/bottom fades on cards: they sit side by side. */
	.js-srr-focus .srr-statement.is-before .srr-statement__title,
	.js-srr-focus .srr-statement.is-after .srr-statement__title { background-image: var(--srr-metal); background-size: 100% 1em; background-repeat: repeat-y; }
	.js-srr-focus .srr-statement.is-after .srr-statement__text { background: none; -webkit-text-fill-color: currentColor; }
	.js-srr-focus .srr-statement__title { font-size: clamp(30px, 8vw, 44px); }
	.js-srr-focus .srr-struggles__nav { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 18px; }
	.srr-struggles__dots { display: flex; gap: 8px; }
	.srr-struggles__dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 4px; background: rgba(184, 151, 104, 0.35); cursor: pointer; transition: width 0.3s var(--srr-ease), background-color 0.3s; }
	.srr-struggles__dot.is-active { width: 26px; background: var(--srr-gold); }
	.srr-struggles__count { min-width: 3.2em; font-size: 13px; letter-spacing: 0.12em; color: var(--srr-gold); text-align: center; }
	.srr-struggles__arrow { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--srr-gold); border-radius: 50%; background: transparent; color: var(--srr-gold); font-size: 16px; cursor: pointer; transition: opacity 0.3s, background-color 0.3s, color 0.3s; }
	.srr-struggles__arrow:hover:not(:disabled) { background: var(--srr-gold); color: #100e0d; }
	.srr-struggles__arrow:disabled { opacity: 0.3; cursor: default; }
}
.srr-struggles__bottom { position: relative; z-index: 1; margin-top: 80px; text-align: center; } /* above the grid's background, which reaches below the grid on wide screens */
.srr-struggles__bottom-text { max-width: 842px; margin: 0 auto; font-size: 24px; line-height: 27px; }
.srr-struggles__bottom .srrc-btn-wrap { margin-top: 27px; }

/* ================================ ABOUT ================================= */
.srr-about { padding: 100px 0 94px; overflow: hidden; background: var(--srr-bg); }
.srr-about__visual { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.srr-about__signature { position: absolute; top: 61px; left: calc(50% - 17px); width: 768px; max-width: none; }
.srr-about__grid {
	display: grid;
	grid-template-columns: minmax(0, 636fr) minmax(0, 601fr);
	column-gap: 11px;
	align-items: start;
}
@media (min-width: 1280px) { .srr-about__grid { padding-right: 12px; } } /* Figma 25:164: photo runs to x=1348 */
.srr-about__intro { padding-left: 15px; max-width: 620px; }
.srr-about__intro .srrc-eyebrow { color: var(--srr-white); }
.srr-about__intro .srr-h2 { color: var(--srr-gold); line-height: 0.923; }
.srr-text + .srr-text { margin-top: 10px; }
.srr-about__media { margin: -59px 0 -116px; aspect-ratio: 601 / 944; }
.srr-about__img { width: 100%; height: 100%; object-fit: cover; }
.srr-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 57px;
	background: #000;
	border-radius: 8px;
	overflow: hidden;
}
.srr-stat { display: flex; flex-direction: column; gap: 10px; padding: 20px; }
.srr-stat + .srr-stat { border-left: 1px solid rgba(91, 63, 28, 0.29); }
.srr-stat__num { font-size: clamp(72px, 8.333vw, 120px); line-height: 0.8333; }
.srr-stat__label { font-family: var(--srr-font); font-weight: 700; font-size: 24px; line-height: 27px; text-transform: uppercase; color: var(--srr-white); }
.srr-stat__text { font-size: 17px; line-height: 27px; }
.srr-about .srrc-btn-wrap { margin-top: 44px; }

/* =============================== APPROACH =============================== */
.srr-approach,
.srr-steps { background: var(--srr-bg); overflow: hidden; }
.srr-approach::before,
.srr-steps::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--srr-pattern);
	background-repeat: repeat;
	pointer-events: none;
}
.srr-approach { padding: 91px 0; }
.srr-approach::before { background-size: 256px; opacity: 0.5; }
.srr-approach__intro { max-width: 788px; }
.srr-approach__intro .srr-h2 { margin-bottom: 10px; } /* Figma 48:84: 60px box, text 18px below */
.srr-approach__row {
	display: grid;
	grid-template-columns: minmax(0, 403fr) minmax(0, 708fr);
	column-gap: 127px;
	margin-top: 80px;
	align-items: start;
}
.srr-approach__left { padding-top: 2px; }
.srr-approach__left .srr-h3 { color: var(--srr-gold); text-transform: none; }
.srr-approach__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 92px;
	row-gap: 71px; /* Figma: rows 274px apart */
}
.srr-pillar { position: relative; display: flex; flex-direction: column; gap: 10px; }
.srr-pillar:nth-child(odd)::after {
	content: "";
	position: absolute;
	top: 0;
	right: -46px;
	width: 1px;
	height: 100%;
	min-height: 219px;
	background: var(--srr-line);
}
.srr-pillar:nth-child(n+3)::before {
	content: "";
	position: absolute;
	top: -29px;
	left: 0;
	right: -46px;
	height: 1px;
	background: var(--srr-line);
}
.srr-pillar:nth-child(even):nth-child(n+3)::before { left: -46px; right: 0; }
.srr-pillar__icon { display: block; height: 45px; color: #fff; }
.srr-pillar__icon svg,
.srr-pillar__icon img { height: 45px; width: auto; display: block; }
.srr-pillar__label { font-size: 13px; line-height: 20px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--srr-gold-2); }
.srr-pillar__title { font-family: var(--srr-font); font-weight: 700; font-size: 24px; line-height: 27px; color: var(--srr-white); }
.srr-pillar__text { font-size: 17px; line-height: 27px; }

/* =============================== PACKAGES =============================== */
.srr-packages { padding: 105px 0; overflow: hidden; }
.srr-bgmedia { position: absolute; inset: 0; z-index: 0; }
.srr-packages { background: var(--srr-bg); }
.srr-bgmedia__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: luminosity; /* Figma: video fill in Luminosity mode */ }
.srr-bgmedia::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.9); }
.srr-glow--c { background: #ffcc5d; left: calc(50% - 583px); top: 148px; z-index: 1; filter: blur(70px); opacity: 0.9; }
.srr-packages .srr-h2,
.srr-guide .srr-h2 { line-height: 0.923; }
.srr-guide .srrc-eyebrow { margin-bottom: 0; }
.srr-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 50px;
	align-items: start;
}
.srr-split__media { aspect-ratio: 594 / 490; margin-left: 2px; }
.srr-split__content { padding-top: 58px; }
.srr-split__content .srr-text { max-width: 526px; }
.srr-formats { margin-top: 18px; font-size: 17px; line-height: 27px; color: var(--srr-muted); max-width: 560px; }
.srr-formats__dot { color: var(--srr-gold); margin: 0 0.55em; }
.srr-formats > span { display: inline-block; white-space: nowrap; } /* wrap between formats, never inside one */

/* ================================ STEPS ================================= */
.srr-steps { padding: 101px 0; }
.srr-steps::before { background-size: 400px; filter: brightness(0.84); } /* Figma paper fill has exposure -0.09: measured 18.5 vs 22 avg grey */
.srr-steps__intro { max-width: 836px; }
.srr-steps__intro .srrc-eyebrow { line-height: 35px; margin-bottom: 0; }
.srr-steps__intro .srr-h2 { line-height: 0.923; }
.srr-steps__media { position: relative; margin: 36px 0 0 0.5%; width: 99.5%; aspect-ratio: 1234 / 520; }
.srr-steps__shape { position: relative; z-index: 1; width: 100%; height: 100%; filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.15)); }
.srr-steps__shape img { width: 100%; height: 100%; object-fit: cover; border-radius: 15px; }
.srr-steps__shape.is-masked img {
	border-radius: 0;
	-webkit-mask: var(--srr-mask) center / 100% 100% no-repeat;
	mask: var(--srr-mask) center / 100% 100% no-repeat;
}
.srr-steps__media .srr-glow { filter: blur(70px); opacity: 0.45; } /* matched to Figma's 200 layer blur by pixel sampling */
.srr-glow--d { width: 9.3%; height: auto; aspect-ratio: 1; background: #b89768; left: 13.6%; top: 21.7%; }
.srr-glow--e { width: 50.2%; height: 41.3%; background: #f4ad2a; left: 17%; top: 36.6%; }
.srr-glow--f { width: 8.2%; height: auto; aspect-ratio: 1; background: #f4ad2a; left: 78.6%; top: 12.1%; }
.srr-steps__list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 345px)); /* Figma: 345px columns, 92px gaps */
	column-gap: 92px;
	margin-top: 35px !important;
	border-top: 1px solid var(--srr-gold);
	border-bottom: 1px solid var(--srr-gold);
}
.srr-step { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 30px 0 38px; margin: 0; } /* 294px between the gold lines */
.srr-step + .srr-step::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -46px;
	width: 1px;
	background: var(--srr-line);
}
.srr-step__num {
	/* Figma 61:330 / 186:344: hollow 96px numerals, thin outline, background showing through. */
	font-family: var(--srr-font);
	font-weight: 400;
	font-size: clamp(64px, 6.667vw, 96px);
	line-height: 1;
	letter-spacing: 0.18em;
	color: rgba(0, 0, 0, 0.12); /* sampled from the Figma render: glyph body ~12% darker than the paper */
	-webkit-text-stroke: 1px #353029; /* Figma stroke colour */
}
.srr-step__num--img { -webkit-text-stroke: 0; line-height: 0; }
.srr-step .srr-step__num--img img { display: block; width: auto; height: 0.889em; margin: 0.076em 0 0.035em 0.029em; } /* Figma @1.5x export, trimmed to the glyphs: sits exactly where the 96px text numerals sit */
.srr-step__title { font-family: var(--srr-font); font-weight: 700; font-size: 24px; line-height: 27px; color: var(--srr-white); }
.srr-step__text { font-size: 17px; line-height: 27px; }
.srr-steps .srrc-btn-wrap { margin-top: 49px; }

/* ================================ GUIDE ================================= */
.srr-guide { padding: 104px 0 35px; background: var(--srr-bg); overflow: hidden; }
.srr-guide__grid {
	display: grid;
	grid-template-columns: minmax(0, 552fr) minmax(0, 605fr); /* Figma: content at x=735 */
	column-gap: 83px;
	align-items: start;
}
.srr-guide__media { position: relative; padding-left: 22px; }
.srr-glow--g { background: #ffcc5d; left: 150px; top: 112px; }
.srr-guide__img { position: relative; z-index: 1; width: 100%; max-width: 530px; aspect-ratio: 530 / 598; object-fit: cover; }
.srr-guide__content { padding-top: 35px; }
.srr-guide__content .srr-text { max-width: 522px; }
.srr-guide__form { margin-top: 28px; max-width: 602px; } /* Figma 68:408: 18px below the 91px text box */
.srr-guide__form input[type="submit"] { padding-left: 33px; padding-right: 33px; } /* Figma 105:646: 254px */
.srr-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.srrc-section .srr-input {
	width: 100%;
	height: 50px;
	padding: 0 10px;
	border: 1px solid var(--srr-line);
	border-radius: 5px;
	background: transparent;
	color: var(--srr-white);
	font-family: var(--srr-font);
	font-size: 17px;
	line-height: 27px;
	box-shadow: none;
	transition: border-color 0.3s;
}
.srrc-section .srr-input::placeholder { color: var(--srr-white); opacity: 1; }
.srrc-section .srr-input:focus { outline: 0; border-color: var(--srr-gold); }
.srr-guide__note { margin-top: 18px; font-size: 14px; line-height: 18px; color: var(--srr-muted); }
.srr-guide__note p { margin: 0; }
.srr-guide__note strong { font-weight: 600; }

/* ============================== FAQ (container) ========================= */
.srr-faq-section { position: relative; background-color: var(--srr-bg); overflow: hidden; }
.srr-faq-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("../home/pattern-faq.webp") repeat;
	background-size: 400px;
	opacity: 0.15;
	pointer-events: none;
}
.srr-faq-section > * { position: relative; z-index: 1; }
/* Coaching FAQ (Figma 180:144): intro at x=102, 604px accordion at x=708. */
@media (min-width: 1025px) {
	body.page-coaching .srr-faq-section.e-con.e-parent { --content-width: 1240px; }
	.page-coaching .srr-faq-section > .e-con-inner > .e-con:first-child { flex: 1 1 0; max-width: 560px; }
	.page-coaching .srr-faq-section > .e-con-inner > .e-con:last-child { width: 604px; flex: 0 0 604px; margin-right: 28px; }
	/* Home FAQ (Figma 68:419): same grid as coaching. */
	body.home .srr-faq-section.e-con.e-parent { --content-width: 1240px; }
	.home .srr-faq-section > .e-con-inner > .e-con:first-child { flex: 1 1 0; max-width: 560px; }
	.home .srr-faq-section > .e-con-inner > .e-con:last-child { width: 604px; flex: 0 0 604px; margin-right: 28px; }
	/* The accordion reserves its tallest answer's height below the list; pull it into the section's bottom padding so top/bottom gaps match (capped to stay inside the 124px padding). */
	.srr-faq-section .pn-accordion { margin-bottom: calc(-1 * min(var(--pn-panel-h, 0px), 100px)); }
}

/* ============================ SECTION INTRO ============================= */
.srr-intro-block .srrc-intro { max-width: 540px; }
.srr-intro-block .srr-text { max-width: 522px; }
.srr-intro-block .srrc-eyebrow { line-height: 26px; margin-bottom: 0; }

/* ================================= CTA ================================== */
.srr-cta { padding: 144px 0 142px; background: var(--srr-bg); overflow: hidden; }
.srr-cta__bg { position: absolute; inset: 0; z-index: 0; opacity: 0.1; }
.srr-cta__intro { max-width: 1032px; }
.srr-cta__intro .srr-text { max-width: 788px; margin: 0 auto; }
.home .srr-cta__intro .srr-text { padding-top: 2px; } /* Figma 68:487: 138px heading box */
/* Coaching CTA (Figma 180:101): 605px tall, text at 148px, 128px heading box, shadowed copy. */
@media (min-width: 992px) {
	.page-coaching .srr-cta { padding: 148px 0; }
	.page-coaching .srr-cta .srr-h2 { margin-bottom: 10px; }
}
.page-coaching .srr-cta__intro { text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.85); }


/* ============================ INNER PAGE BANNER ========================= */
.srr-pbanner { min-height: 641px; padding: 224px 0 105px; background: var(--srr-bg); overflow: hidden; isolation: isolate; }
.srr-pbanner__bg { position: absolute; left: 0; right: 0; top: 113px; bottom: 0; z-index: -1; }
.srr-pbanner__bg .srr-pbanner__img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.srr-pbanner__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(70deg, rgba(16, 14, 13, 0.6) 0%, rgba(16, 14, 13, 0) 62%),
		linear-gradient(180deg, #100e0d 1.6%, rgba(16, 14, 13, 0) 63.8%),
		rgba(0, 0, 0, 0.2);
}
.srr-pbanner__inner { position: relative; z-index: 1; }
.srr-pbanner__eyebrow { line-height: 24px; margin-bottom: 15px; }
.srr-pbanner__title {
	font-family: var(--srr-display);
	font-stretch: 75%;
	font-variation-settings: "wdth" 75;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--srr-white);
	font-size: clamp(44px, 5.208vw, 75px);
	line-height: 1.1733;
	letter-spacing: 0.01em;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.45);
	max-width: 735px;
	margin: 0 0 -4px;
}
.srr-pbanner__copy { max-width: 726px; text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.45); }
.srr-pbanner__sub { font-size: 24px; line-height: 32px; font-weight: 600; margin: 0 0 15px; }
.srr-pbanner__text { font-size: 20px; line-height: 27px; }

/* ========================= INTRO & FOCUS POINTS ========================= */
.srr-focus { padding: 128px 0; background: var(--srr-bg); overflow: hidden; }
.srr-focus__signature { position: absolute; z-index: 0; top: 170px; left: calc(50% + 62px); width: 562px; max-width: none; pointer-events: none; }
.srr-focus__intro { max-width: 743px; }
.srr-focus__intro .srr-h2 { color: var(--srr-white); }
.srr-lead { font-family: var(--srr-font); font-weight: 600; font-size: 24px; line-height: 32px; color: var(--srr-white); max-width: 640px; margin: 0 0 18px; }
.srr-focus__intro .srr-text { max-width: 640px; }
.srr-points {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 308px));
	justify-content: space-between;
	margin: 51px 0 0;
	padding-right: 3px;
}
.srr-point { position: relative; display: flex; flex-direction: column; gap: 10px; }
.srr-point + .srr-point::before {
	content: "";
	position: absolute;
	top: 0;
	left: -78px;
	width: 1px;
	height: 151px;
	background: var(--srr-line);
}
.srr-point__num { font-size: 13px; line-height: 20px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--srr-gold-2); }
.srr-point__title { font-family: var(--srr-font); font-weight: 600; font-size: 24px; line-height: 27px; color: var(--srr-white); }
.srr-point__text { font-size: 17px; line-height: 27px; }
.srr-focus .srrc-btn-wrap { margin-top: 91px; } /* Figma 180:278: button top at 727px, section 913px */

/* ================================ SESSIONS ============================== */
.srr-sessions { padding: 128px 0 154px; background: #19150f; overflow: hidden; }
.srr-sessions .srr-glow--a { left: calc(50% - 311px); top: 430px; }
.srr-sessions .srr-glow--b { left: calc(50% - 577px); top: 661px; }
.srr-sessions__top { max-width: 708px; }
.srr-sessions__top .srr-h2 { line-height: 0.923; }
.srr-sessions__top .srr-text { max-width: 549px; padding-top: 8px; } /* Figma 180:286: 26px below the heading */
.srr-sessions__grid {
	display: grid;
	grid-template-columns: minmax(0, 594fr) minmax(0, 604fr);
	column-gap: 40px;
	margin-top: 42px;
	align-items: start;
}
.srr-sessions__media { position: relative; z-index: 1; aspect-ratio: 594 / 436; }
.srr-sessions__detail { padding-top: 8px; display: flex; flex-direction: column; gap: 15px; align-items: flex-start; }
.srr-sessions__detail .srrc-eyebrow { color: var(--srr-muted); margin: 0; }
.srr-sessions__detail .srr-h3 { color: var(--srr-gold); text-transform: none; line-height: 1.1556; margin: 0; }
.srr-checklist { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.srr-checklist li { display: flex; align-items: flex-start; gap: 10px; font-size: 17px; line-height: 27px; color: var(--srr-white); margin: 0; }
.srr-checklist__icon { flex: 0 0 17px; display: inline-flex; margin-top: 5px; color: var(--srr-gold); }
.srr-sessions__note { font-size: 17px; line-height: 27px; color: var(--srr-gold); }
.srr-sessions__detail .srrc-btn-wrap { margin-top: 20px; }

/* ================================ PROCESS =============================== */
.srr-process { padding: 91px 0; background: var(--srr-bg); overflow: hidden; }
.srr-process__bg { position: absolute; inset: 0; z-index: 0; opacity: 0.35; }
.srr-process__bg .srr-cover { position: absolute; left: -5.36%; top: -4.37%; width: 110.69%; height: 120.34%; max-width: none; } /* Figma 180:63 image crop: 90.34% x 83.1% from (4.84%, 3.63%) */
.srr-process__shade { position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(16, 14, 13, 0) 27.4%, rgba(16, 14, 13, 0.65) 100%); }
.srr-process__intro { max-width: 1070px; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.85); }
.srr-process__intro .srr-h2 { max-width: 788px; margin-left: auto; margin-right: auto; line-height: 0.977; }
.srr-process__intro .srr-text { max-width: 724px; margin: 0 auto; }
.srr-steps__list.srr-process__list { border: 0; margin-top: 54px !important; }
.srr-process .srr-step { padding: 30px 0 3px; } /* Figma 186:342: 294px tall, no lines above or below */
.srr-process .srr-step__num { -webkit-text-stroke-color: rgba(255, 233, 198, 0.21); color: rgba(255, 252, 252, 0.047); } /* Figma: #111 @69% + #353029 stroke in Screen blend = these normal-blend colours (shadows are black, so invisible in Screen) */
.srr-step__quote { font-size: 14px; line-height: 27px; letter-spacing: 0.03em; color: var(--srr-gold); }
.srr-process .srrc-btn-wrap { margin-top: 63px; }
.srr-process .srrc-btn { box-shadow: 0 0 6.5px #f4ad2a; } /* Figma 202:29 */
/* Number images exported from Figma lose its Screen blend (dark fill on transparent): re-apply it.
   The wrap must not be its own stacking context, or the blend can't reach the photo behind. */
.srr-process > .srr-wrap { z-index: auto; }
.srr-process .srr-step__num--img img { mix-blend-mode: screen; }

/* ============================== RESPONSIVE ============================== */
@media (max-width: 1199px) {
	.srr-hero { min-height: 0; padding-bottom: 120px; }
	.srr-hero__content { max-width: 56%; }
	.srr-struggles__grid,
	.srr-about__grid,
	.srr-guide__grid { column-gap: 40px; }
	.srr-approach__row { column-gap: 60px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); }
	.srr-approach__grid,
	.srr-steps__list { column-gap: 60px; }
	.srr-steps__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.srr-pillar:nth-child(odd)::after { right: -30px; }
	.srr-pillar:nth-child(n+3)::before { right: -30px; }
	.srr-pillar:nth-child(even):nth-child(n+3)::before { left: -30px; }
	.srr-step + .srr-step::before { left: -30px; }
	.srr-statement { padding: 0 24px 24px; }
}

@media (max-width: 991px) {
	.srr-hero { padding: 140px 0 0; }
	.srr-hero__content { max-width: 100%; text-align: center; }
	.srr-hero__text { margin-left: auto; margin-right: auto; }
	.srr-hero__media {
		position: relative;
		top: auto;
		left: auto;
		width: min(78%, 460px);
		margin: 36px auto -1px;
		aspect-ratio: 655 / 760;
		overflow: hidden;
	}

	.srr-struggles,
	.srr-about,
	.srr-approach,
	.srr-packages,
	.srr-steps,
	.srr-cta { padding: 90px 0; }
	.srr-guide { padding: 90px 0 60px; }
	.srr-glow { filter: blur(70px); }

	.srr-struggles__grid,
	.srr-about__grid,
	.srr-approach__row,
	.srr-split,
	.srr-guide__grid { grid-template-columns: minmax(0, 1fr); row-gap: 48px; }
	.srr-struggles__left .srrc-intro { max-width: 640px; }
	.srr-struggles__media { margin-top: 40px; }
	.srr-struggles__bottom { margin-top: 60px; }

	.srr-about__intro { padding-left: 0; }
	.srr-about__media { margin: 0 auto -90px; width: min(100%, 520px); }
	.srr-about__signature { top: auto; bottom: 280px; left: 50%; transform: translateX(-50%); width: 110%; }

	.srr-approach__row { margin-top: 56px; }
	.srr-split__content { padding-top: 0; }
	.srr-split__media { margin-left: 0; }

	.srr-steps__list { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
	.srr-step { padding: 26px 0; }
	.srr-step + .srr-step::before { left: 0; right: 0; top: 0; bottom: auto; width: auto; height: 1px; }

	.srr-guide__media { padding-left: 0; width: 100%; max-width: 460px; margin: 0 auto; }
	.srr-guide__content { padding-top: 0; }
}

@media (max-width: 767px) {
	.srr-text,
	.srr-pillar__text,
	.srr-step__text,
	.srr-statement__text,
	.srr-stat__text { font-size: 16px; line-height: 25px; }
	.srr-hero { padding-top: 120px; }
	.srr-hero__text { font-size: 18px; line-height: 26px; }
	.srr-hero__title { letter-spacing: 0; }
	.srr-hero__media { width: min(92%, 400px); }
	.srr-hero__arrow { top: auto; bottom: 14px; width: 40px; height: 40px; font-size: 16px; transform: none; }
	.srr-hero__arrow--prev { left: 16px; }
	.srr-hero__arrow--next { right: 16px; }
	.srr-hero__dots { bottom: 29px; }

	.srr-struggles,
	.srr-about,
	.srr-approach,
	.srr-packages,
	.srr-steps,
	.srr-cta { padding: 70px 0; }
	.srr-guide { padding: 70px 0 50px; }

	.srr-statement { padding: 0 18px 20px; }
	.srr-struggles__bottom-text { font-size: 20px; line-height: 26px; }

	.srr-stats { grid-template-columns: minmax(0, 1fr); }
	.srr-stat + .srr-stat { border-left: 0; border-top: 1px solid rgba(91, 63, 28, 0.29); }
	.srr-stat { padding: 22px 20px; align-items: center; text-align: center; }
	.srr-step,
	.srr-pillar { align-items: center; text-align: center; }
	.srr-process .srr-step { padding: 26px 0 30px; }
	/* Small screens: show the numbers a little larger so the thin outline stays readable;
	   images otherwise exactly as designed (see-through fill). */
	.srr-steps .srr-step__num { font-size: 80px; }

	.srr-cta { padding: 80px 0; }
	.srr-cta__intro .srr-h2 { font-size: 32px; line-height: 1.1; margin-bottom: 20px; }
	.srr-cta__intro .srr-text { padding: 0 8px; }
	.srr-cta .srrc-btn-wrap { margin-top: 32px; }

	.srr-approach__grid { grid-template-columns: minmax(0, 1fr); row-gap: 56px; }
	.srr-pillar:nth-child(odd)::after { display: none; }
	.srr-pillar:nth-child(n+2)::before {
		content: "";
		position: absolute;
		top: -28px;
		left: 0;
		right: 0;
		height: 1px;
		background: var(--srr-line);
	}
	.srr-pillar:nth-child(even):nth-child(n+3)::before { left: 0; }

	.srr-steps__media { aspect-ratio: 1234 / 620; }
	.srr-form__row { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.srr-formats__dot { margin: 0 0.35em; }
	.srrc-btn { white-space: normal; text-align: center; }
}

@media (max-width: 420px) {
	.srrc-btn { padding: 18px 22px; font-size: 16px; }
	.srr-hero__note { font-size: 13px; }
}

.srr-intro-block { font-family: var(--srr-font); font-size: 17px; line-height: 27px; letter-spacing: 0; color: var(--srr-white); }
.srr-intro-block p, .srr-intro-block h2, .srr-intro-block h3 { margin-top: 0; }

@media (max-width: 1199px) {
	.srr-points { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 60px; }
	.srr-point + .srr-point::before { left: -30px; }
	.srr-focus__signature { left: auto; right: -80px; }
}
@media (max-width: 991px) {
	.srr-pbanner { min-height: 0; padding: 150px 0 90px; }
	.srr-pbanner__bg { top: 0; }
	.srr-focus, .srr-process { padding: 90px 0; }
	.srr-sessions { padding: 90px 0; }
	.srr-focus__signature { top: 40px; width: 360px; opacity: 0.6; }
	.srr-points { grid-template-columns: minmax(0, 1fr); row-gap: 48px; margin-top: 48px; }
	.srr-point + .srr-point::before { left: 0; top: -24px; width: 100%; height: 1px; }
	.srr-focus .srrc-btn-wrap { margin-top: 56px; }
	.srr-sessions__grid { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
	.srr-sessions__detail { padding-top: 0; }
}
@media (max-width: 767px) {
	.srr-pbanner { padding: 150px 0 70px; }
	.srr-pbanner__sub { font-size: 20px; line-height: 28px; }
	.srr-pbanner__text { font-size: 17px; line-height: 26px; }
	.srr-lead { font-size: 20px; line-height: 28px; }
	.srr-focus, .srr-process, .srr-sessions { padding: 70px 0; }
	.srr-checklist li, .srr-sessions__note { font-size: 16px; line-height: 25px; }
}

/* ================================ CONTACT =============================== */
.srr-contact { padding: 110px 0 120px; background: var(--srr-bg); overflow: hidden; }
.srr-contact .srr-glow--g { left: calc(50% + 260px); top: 140px; }
.srr-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 560fr) minmax(0, 604fr);
	column-gap: 76px;
	align-items: start;
}
.srr-contact__info .srr-h2 { line-height: 0.923; }
.srr-contact__info .srr-text { max-width: 520px; }
.srr-contact__list { margin: 36px 0 0; border-top: 1px solid var(--srr-line); }
.srr-contact__item { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--srr-line); }
.srr-contact__item dt { font-size: 13px; line-height: 20px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--srr-gold-2); font-weight: 400; }
.srr-contact__item dd { margin: 0; font-size: 17px; line-height: 27px; color: var(--srr-white); text-align: right; }
.srr-contact__item a { color: var(--srr-white); text-decoration: none; transition: color 0.3s; }
.srr-contact__item a:hover { color: var(--srr-gold); }
.srr-contact__note { margin-top: 24px; font-size: 14px; line-height: 22px; color: var(--srr-muted); }
.srr-contact__card {
	position: relative;
	z-index: 1;
	padding: 48px 44px;
	background: rgba(0, 0, 0, 0.45);
	border: 1px solid rgba(91, 63, 28, 0.45);
	border-radius: 15px;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.srr-contact__title {
	font-family: var(--srr-display);
	font-stretch: 75%;
	font-variation-settings: "wdth" 75;
	font-weight: 800;
	font-size: clamp(30px, 3.125vw, 45px);
	line-height: 1.1556;
	text-transform: uppercase;
	color: var(--srr-gold);
	margin: 0 0 24px;
}
.srr-contact__form { display: grid; gap: 16px; }
.srr-contact__form .srrc-btn-wrap { margin-top: 8px; }
.srrc-section .srr-input--area { height: auto; min-height: 150px; padding: 12px 10px; resize: vertical; }

/* ============================== TEXT CONTENT ============================ */
.srr-richtext { padding: 90px 0 110px; background: var(--srr-bg); }
.srr-prose { max-width: none; font-size: 17px; line-height: 27px; color: rgba(255, 255, 255, 0.86); }
.srr-prose .srr-prose__updated { margin: 0 0 8px; }
.srr-prose h2 {
	font-family: var(--srr-display);
	font-stretch: 75%;
	font-variation-settings: "wdth" 75;
	font-weight: 800;
	font-size: clamp(28px, 2.5vw, 36px);
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--srr-gold);
	margin: 44px 0 14px;
}
.srr-prose h3 { font-family: var(--srr-font); font-weight: 600; font-size: 22px; line-height: 30px; color: var(--srr-white); margin: 30px 0 10px; }
.srr-prose p { margin: 0 0 18px; }
.srr-prose ul, .srr-prose ol { margin: 0 0 18px; padding-left: 22px; }
.srr-prose li { margin: 0 0 8px; }
.srr-prose li::marker { color: var(--srr-gold); }
.srr-prose a { color: var(--srr-gold); text-decoration: underline; text-underline-offset: 3px; }
.srr-prose strong { color: var(--srr-white); }

@media (max-width: 991px) {
	.srr-contact { padding: 90px 0; }
	.srr-contact__grid { grid-template-columns: minmax(0, 1fr); row-gap: 48px; }
	.srr-contact__card { padding: 36px 28px; }
	.srr-richtext { padding: 70px 0 90px; }
}
@media (max-width: 767px) {
	.srr-contact { padding: 70px 0; }
	.srr-contact__card { padding: 28px 20px; }
	.srr-contact__item { flex-direction: column; gap: 4px; }
	.srr-contact__item dd { text-align: left; font-size: 16px; }
	.srr-prose { font-size: 16px; line-height: 26px; }
}

/* ======================= PLAIN TEMPLATES (posts, 404) ===================== */
.srr-pbanner--simple { min-height: 460px; padding: 200px 0 80px; }
.srr-prose__media { margin: 0 0 32px; border-radius: 15px; overflow: hidden; }
.srr-prose__media img { width: 100%; height: auto; display: block; }
.srr-prose img { max-width: 100%; height: auto; border-radius: 10px; }
.srr-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 40px; }
.srr-post-card { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.srr-post-card__media { display: block; width: 100%; aspect-ratio: 16 / 10; border-radius: 15px; overflow: hidden; margin-bottom: 8px; }
.srr-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--srr-ease); }
.srr-post-card:hover .srr-post-card__media img { transform: scale(1.04); }
.srr-post-card__date { margin: 0; }
.srr-post-card__title { font-family: var(--srr-font); font-weight: 700; font-size: 24px; line-height: 30px; margin: 0; }
.srr-post-card__title a { color: var(--srr-white); text-decoration: none; transition: color 0.3s; }
.srr-post-card__title a:hover { color: var(--srr-gold); }
.srr-post-card__excerpt { font-size: 16px; line-height: 25px; color: rgba(255, 255, 255, 0.8); margin: 0; }
.srr-pagination { margin-top: 56px; }
.srr-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.srr-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px; border: 1px solid var(--srr-line); border-radius: 30px; color: var(--srr-white); text-decoration: none; transition: background 0.3s, color 0.3s; }
.srr-pagination .page-numbers.current,
.srr-pagination a.page-numbers:hover { background: var(--srr-gold); border-color: var(--srr-gold); color: #000; }
.srr-postnav { display: flex; justify-content: space-between; gap: 24px; max-width: 860px; margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--srr-line); }
.srr-postnav a { color: var(--srr-gold); text-decoration: none; }
.srr-postnav__next { margin-left: auto; text-align: right; }
.srr-search { display: flex; gap: 12px; max-width: 520px; margin-top: 16px; }
.srr-search .srr-input { flex: 1 1 auto; }
.srr-search .srrc-btn { padding: 0 24px; }
@media (max-width: 991px) {
	.srr-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.srr-pbanner--simple { min-height: 380px; padding: 150px 0 60px; }
}
@media (max-width: 575px) {
	.srr-posts { grid-template-columns: minmax(0, 1fr); }
	.srr-search { flex-direction: column; }
	.srr-search .srrc-btn { height: 50px; }
	.srr-postnav { flex-direction: column; }
	.srr-postnav__next { margin-left: 0; text-align: left; }
}

/* ============================ CONTACT FORM 7 ============================ */
.srr-cf7 .wpcf7-form-control-wrap { display: block; }
/* Bootstrap-style rows/columns written in the CF7 form template (Bootstrap itself isn't loaded on SRR pages). */
.srr-cf7 .row { display: flex; flex-wrap: wrap; gap: 16px; margin: 0 0 16px; }
.srr-cf7 .row > [class*="col-"] { flex: 1 1 100%; min-width: 0; padding: 0; }
.srr-cf7 .row > .col-md-6 { flex-basis: calc(50% - 8px); }
.srr-cf7 .row > .col-md-4 { flex-basis: calc(33.333% - 11px); }
.srr-cf7 .row > .col-md-3 { flex-basis: calc(25% - 12px); }
.srr-cf7 .row > .col-md-8 { flex-basis: calc(66.666% - 6px); }
.srr-cf7 .row > .col-md-9 { flex-basis: calc(75% - 4px); }
.srr-cf7 .row:last-of-type { margin-bottom: 0; }
.srr-cf7 .clear { clear: both; }
@media (max-width: 767px) {
	.srr-cf7 .row > [class*="col-"] { flex-basis: 100%; }
}
/* Fields added in the CF7 template without the theme classes get the same look as .srr-input / gold button. */
.srrc-section .srr-cf7 :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], select, textarea):not(.srr-input) {
	width: 100%;
	height: 50px;
	padding: 0 10px;
	border: 1px solid var(--srr-line);
	border-radius: 5px;
	background: transparent;
	color: var(--srr-white);
	font-family: var(--srr-font);
	font-size: 17px;
	line-height: 27px;
	box-shadow: none;
	box-sizing: border-box;
	transition: border-color 0.3s;
}
.srrc-section .srr-cf7 textarea:not(.srr-input) { height: auto; min-height: 150px; padding: 12px 10px; resize: vertical; }
.srrc-section .srr-cf7 :is(input, textarea):not(.srr-input)::placeholder { color: var(--srr-white); opacity: 1; }
.srrc-section .srr-cf7 :is(input, select, textarea):not(.srr-input):focus { outline: 0; border-color: var(--srr-gold); }
.srrc-section .srr-cf7 input[type="submit"]:not(.srrc-btn) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 20px 30px;
	border: 1px solid transparent;
	border-radius: 30px;
	color: #000;
	background:
		linear-gradient(115deg, #a58961 -20%, #f4ad2a 40%, #dcad69 100%) padding-box,
		linear-gradient(90deg, #f4ad2a, #b89768) border-box;
	box-shadow: 0 4px 13.1px rgba(244, 173, 42, 0.4);
	font-family: var(--srr-font);
	font-size: 18px;
	font-weight: 600;
	line-height: 14px;
	letter-spacing: 0.01em;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: transform 0.35s var(--srr-ease), box-shadow 0.35s var(--srr-ease), filter 0.35s var(--srr-ease);
}
.srrc-section .srr-cf7 input[type="submit"]:not(.srrc-btn):hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 8px 22px rgba(244, 173, 42, 0.5); }
.srr-cf7__fields { display: grid; gap: 16px; }
.srr-cf7 .srrc-btn-wrap { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.srr-cf7 input.srrc-btn { -webkit-appearance: none; appearance: none; }
.srr-cf7 .wpcf7-spinner { margin: 0; background-color: var(--srr-gold); }
.srr-cf7 .srr-input.wpcf7-not-valid { border-color: #c0563f; }
.srr-cf7 .wpcf7-not-valid-tip { margin-top: 6px; font-size: 13px; line-height: 18px; color: #e38b6a; }
.srrc-section .srr-cf7 .wpcf7-response-output {
	margin: 18px 0 0;
	padding: 12px 16px;
	border: 1px solid var(--srr-line);
	border-radius: 8px;
	font-size: 15px;
	line-height: 22px;
	color: var(--srr-white);
}
.srrc-section form.srr-cf7.sent .wpcf7-response-output { border-color: var(--srr-gold); color: var(--srr-gold); }
.srrc-section form.srr-cf7.invalid .wpcf7-response-output,
.srrc-section form.srr-cf7.unaccepted .wpcf7-response-output,
.srrc-section form.srr-cf7.failed .wpcf7-response-output,
.srrc-section form.srr-cf7.spam .wpcf7-response-output { border-color: #c0563f; color: #e38b6a; }
.srr-guide__download { margin-top: 18px; }
.srr-form-note { font-size: 14px; color: var(--srr-muted); }
@media (max-width: 767px) {
	.srr-cf7 .srr-form__row { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
/* Banner without an image (e.g. Privacy Policy, Terms): compact plain dark
   header with a thin divider; height comes from its content, not min-height. */
.srrc-section.srr-pbanner--plain {
	min-height: 0 !important;
	padding: 190px 0 64px;
	border-bottom: 1px solid rgba(165, 138, 104, 0.18);
}
.srr-pbanner--plain .srr-pbanner__title { font-size: clamp(40px, 4.514vw, 65px); line-height: 1.05; margin-bottom: 10px; }
@media (max-width: 991px) {
	.srrc-section.srr-pbanner--plain { padding: 150px 0 52px; }
}
@media (max-width: 767px) {
	.srrc-section.srr-pbanner--plain { padding: 120px 0 44px; }
}

/* ========================================================================
   Scroll-linked line drawing (ref. brand-professor.com): every divider line
   grows with the scroll position and shrinks back when scrolling up.
   srr-theme.js sets --lp (0 → 1) on each line element; the finished lines
   look exactly as designed. Off in the Elementor editor / reduced motion.
   ======================================================================== */
.srr-js body:not(.elementor-editor-active) {
	--srr-lp-ease: 0.18s linear;
}
/* Gold lines above and below the Getting Started steps. */
.srr-js body:not(.elementor-editor-active) .srr-steps__list {
	border-top-color: transparent;
	border-bottom-color: transparent;
	background:
		linear-gradient(var(--srr-line-gold, #b89768), var(--srr-line-gold, #b89768)) left top / calc(var(--lp, 0) * 100%) 1px no-repeat,
		linear-gradient(var(--srr-line-gold, #b89768), var(--srr-line-gold, #b89768)) left bottom / calc(var(--lp, 0) * 100%) 1px no-repeat;
	transition: background-size var(--srr-lp-ease);
}
/* The Process (coaching page): no lines above and below the steps, per Figma. */
.srr-js body:not(.elementor-editor-active) .srr-steps__list.srr-process__list { background: none; }
/* Bottom lines: statements, contact details rows, plain banner. */
.srr-statement { --srr-line-c: rgba(91, 63, 28, 0.29); }
.srr-contact__item, .srr-contact__list, .srr-postnav { --srr-line-c: var(--srr-line); }
.srr-pbanner--plain { --srr-line-c: rgba(165, 138, 104, 0.18); }
.srr-js body:not(.elementor-editor-active) .srr-statement,
.srr-js body:not(.elementor-editor-active) .srr-contact__item,
.srr-js body:not(.elementor-editor-active) .srr-pbanner--plain {
	border-bottom-color: transparent;
	background-image: linear-gradient(var(--srr-line-c), var(--srr-line-c));
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: calc(var(--lp, 0) * 100%) 1px;
	transition: background-size var(--srr-lp-ease);
}
.srr-js body:not(.elementor-editor-active) .srr-statement:last-child { background: none; }
/* Top lines: contact details list, post navigation. */
.srr-js body:not(.elementor-editor-active) .srr-contact__list,
.srr-js body:not(.elementor-editor-active) .srr-postnav {
	border-top-color: transparent;
	background: linear-gradient(var(--srr-line-c), var(--srr-line-c)) left top / calc(var(--lp, 0) * 100%) 1px no-repeat;
	transition: background-size var(--srr-lp-ease);
}
/* Underline button (e.g. "Read Sam's full story"). */
.srr-js body:not(.elementor-editor-active) .srrc-btn--underline {
	border-bottom-color: transparent;
	background: linear-gradient(var(--srr-gold), var(--srr-gold)) left bottom / calc(var(--lp, 0) * 100%) 1px no-repeat;
	transition: background-size var(--srr-lp-ease), color 0.3s;
}
.srr-js body:not(.elementor-editor-active) .srrc-btn--underline:hover { background-image: linear-gradient(#dcad69, #dcad69); }
/* Meet Sam highlights: vertical divider between the numbers. */
.srr-js body:not(.elementor-editor-active) .srr-stat + .srr-stat {
	border-left-color: transparent;
	background: linear-gradient(rgba(91, 63, 28, 0.29), rgba(91, 63, 28, 0.29)) left top / 1px calc(var(--lp, 0) * 100%) no-repeat;
	transition: background-size var(--srr-lp-ease);
}
/* Pseudo-element dividers: vertical ones grow downwards, horizontal ones rightwards. */
.srr-js body:not(.elementor-editor-active) .srr-step + .srr-step::before,
.srr-js body:not(.elementor-editor-active) .srr-point + .srr-point::before,
.srr-js body:not(.elementor-editor-active) .srr-pillar::after {
	transform: scale(1, var(--lp, 0));
	transform-origin: 0 0;
	transition: transform var(--srr-lp-ease);
}
.srr-js body:not(.elementor-editor-active) .srr-pillar::before {
	transform: scale(var(--lp, 0), 1);
	transform-origin: 0 0;
	transition: transform var(--srr-lp-ease);
}
@media (max-width: 991px) {
	.srr-js body:not(.elementor-editor-active) .srr-step + .srr-step::before,
	.srr-js body:not(.elementor-editor-active) .srr-point + .srr-point::before { transform: scale(var(--lp, 0), 1); }
}
@media (max-width: 767px) {
	.srr-js body:not(.elementor-editor-active) .srr-stat + .srr-stat {
		border-top-color: transparent;
		background-size: calc(var(--lp, 0) * 100%) 1px;
	}
}

/* Sound Familiar – marquee mode: two copies of the list scroll up in a loop (pure CSS). */
.srr-struggles__window--marquee {
	height: min(640px, 80vh);
	overflow: hidden;
	-webkit-mask-image: linear-gradient(180deg, transparent 0, rgba(0, 0, 0, 0.35) 10%, #000 24%, #000 82%, transparent 100%);
	mask-image: linear-gradient(180deg, transparent 0, rgba(0, 0, 0, 0.35) 10%, #000 24%, #000 82%, transparent 100%);
}
.srr-marquee__track {
	display: flex;
	flex-direction: column;
	gap: 34px; /* = list gap, so the joint between the copies matches */
	animation: srr-marquee-up 40s linear infinite;
	will-change: transform;
}
.srr-struggles__window--marquee.is-hover-pause:hover .srr-marquee__track,
.srr-struggles__window--marquee.is-hover-pause:focus-within .srr-marquee__track { animation-play-state: paused; }
@keyframes srr-marquee-up {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(0, calc(-50% - 17px), 0); }
}
/* Lines drawn (the scroll line-draw doesn't apply here); srr-widgets.js sets each statement's
   fade and lit/before/after state as it passes the lit band, like the scroll effect. */
.srr-js body .srr-struggles__window--marquee .srr-statement {
	transition: none;
	border-bottom-color: rgba(91, 63, 28, 0.29);
	background: none;
}
@media (max-width: 991px) {
	.srr-struggles__window--marquee { height: min(520px, 70vh); }
}
@media (prefers-reduced-motion: reduce) {
	.srr-marquee__track { animation: none; }
	.srr-struggles__window--marquee { overflow-y: auto; }
}

/* Contact Form 7 validation: errors shown inside the fields + toast message (srr-widgets.js). */
.wpcf7 .wpcf7-not-valid-tip,
.wpcf7 form .wpcf7-response-output { display: none !important; }
.wpcf7 .srr-cf7-error,
.srrc-section .srr-cf7 .srr-cf7-error { border-color: #e74c3c !important; background-color: rgba(231, 76, 60, 0.08) !important; }
.wpcf7 .srr-cf7-error::placeholder { color: #e74c3c !important; opacity: 1 !important; }
.srr-cf7-host { position: relative; }
.srr-cf7-toast {
	position: absolute;
	z-index: 99;
	top: calc(100% + 18px);
	left: 0;
	right: 0;
	width: fit-content;
	max-width: 90%;
	margin: 0 auto;
	padding: 8px 18px;
	border-radius: 6px;
	background: #e74c3c;
	color: #fff;
	font-family: var(--srr-font);
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	cursor: pointer;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.srr-cf7-toast.is-ok { background: #27ae60; }
.srr-cf7-toast.is-in { opacity: 1; transform: none; }
/* CF7 loader next to a plain submit button: keep a gap so it never touches the button. */
.srr-cf7 input[type="submit"]:not(.srrc-btn) + .wpcf7-spinner { margin: 0 0 0 16px; vertical-align: middle; }
