/* ==========================================================================
   Biography Studio — page-writing-studio.css
   The Writing Studio — bespoke feature page.
   Background sequence: cream hero -> white video -> alternating sections.
   ========================================================================== */

/* 1 · HERO */
.bsws-hero {
	background-color: var(--bs-cream);
	background-image:
		radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255,254,250,0.8) 0%, transparent 60%),
		radial-gradient(ellipse 50% 40% at 5% 95%, rgba(237,229,217,0.35) 0%, transparent 50%);
	padding: 96px 0 80px;
}
.bsws-hero__inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
.bsws-hero__label {
	font-family: var(--bs-ui-font); font-size: 0.875rem; letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--bs-pink-dark); margin-bottom: 20px;
}
.bsws-hero__heading {
	font-family: var(--bs-heading-font); font-size: clamp(2.5rem, 5vw, 5.25rem);
	font-weight: 400; font-style: italic; line-height: 1.08; letter-spacing: -0.015em;
	color: var(--bs-navy); margin-bottom: 28px; max-width: 18ch;
}
.bsws-hero__intro {
	font-family: var(--bs-body-font); font-size: 1.1875rem; line-height: 1.7;
	color: var(--bs-text-muted); max-width: 54ch;
}

/* 2 · VIDEO */
.bsws-video {
	background: var(--bs-white); padding: 72px 0 88px; border-top: 1px solid var(--bs-border-light);
}
.bsws-video__lead {
	font-family: var(--bs-ui-font); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.12em;
	text-transform: uppercase; color: var(--bs-navy); text-align: center; margin-bottom: 28px;
}
.bsws-video__frame {
	position: relative; width: 100%; max-width: 900px; margin: 0 auto;
	aspect-ratio: 16 / 9; border-radius: 4px; overflow: hidden; background: #000;
	box-shadow: 0 18px 50px rgba(9, 58, 102, 0.14);
}
.bsws-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* 3 · CONTENT SECTIONS (prose) */
.bsws-section { padding: 96px 0; border-top: 1px solid var(--bs-border-light); }
.bsws-section--cream { background: var(--bs-cream); }
.bsws-section--white { background: var(--bs-white); }
.bsws-section__inner { max-width: 660px; margin: 0 auto; text-align: center; }
.bsws-section__heading {
	font-family: var(--bs-heading-font); font-size: clamp(1.75rem, 3vw, 2.625rem);
	font-weight: 400; line-height: 1.2; letter-spacing: -0.01em; color: var(--bs-navy);
	margin-bottom: 22px;
}
.bsws-section__rule { width: 40px; height: 2px; background: var(--bs-pink); margin: 0 auto 26px; }
.bsws-section__copy {
	font-family: var(--bs-body-font); font-size: 1.0625rem; line-height: 1.85;
	color: var(--bs-text); text-align: left;
}
.bsws-section__copy p { margin-bottom: 1.25em; }
.bsws-section__copy p:last-child { margin-bottom: 0; }

/* 4 · FEATURE ROWS (image + text) — break out wider than .bs-container */
.bsws-feature-wrap { max-width: 1360px; margin: 0 auto; padding: 0 24px; }
.bsws-feature {
	display: grid;
	grid-template-columns: 1.7fr 1fr;
	gap: 60px;
	align-items: center;
	max-width: 100%;
	margin: 0 auto;
}
.bsws-feature--reverse { grid-template-columns: 1fr 1.7fr; }
.bsws-feature--reverse .bsws-feature__media { order: 2; }
.bsws-feature--reverse .bsws-feature__body { order: 1; }
.bsws-feature__media img {
	display: block; width: 100%; height: auto;
	border-radius: 6px;
	border: 1px solid var(--bs-border-light);
	box-shadow: 0 16px 44px rgba(9, 58, 102, 0.12);
}
.bsws-feature__heading {
	font-family: var(--bs-heading-font); font-size: clamp(1.625rem, 2.6vw, 2.25rem);
	font-weight: 400; line-height: 1.2; letter-spacing: -0.01em; color: var(--bs-navy);
	margin-bottom: 20px;
}
.bsws-feature__rule { width: 40px; height: 2px; background: var(--bs-pink); margin: 0 0 24px; }
.bsws-feature__copy {
	font-family: var(--bs-body-font); font-size: 1.0625rem; line-height: 1.85; color: var(--bs-text);
}
.bsws-feature__copy p { margin-bottom: 1.25em; }
.bsws-feature__copy p:last-child { margin-bottom: 0; }

/* 5 · CLOSING CTA */
.bsws-close {
	background: var(--bs-cream); padding: 112px 0; border-top: 1px solid var(--bs-border-light);
	text-align: center;
}
.bsws-close__inner { max-width: 640px; margin: 0 auto; }
.bsws-close__heading {
	font-family: var(--bs-heading-font); font-size: clamp(2.25rem, 5vw, 4.25rem);
	font-weight: 400; font-style: italic; line-height: 1.1; letter-spacing: -0.01em;
	color: var(--bs-navy); margin-bottom: 28px;
}
.bsws-close__rule { width: 40px; height: 2px; background: var(--bs-pink); margin: 0 auto 28px; }
.bsws-close__sub {
	font-family: var(--bs-body-font); font-size: 1.0625rem; line-height: 1.7;
	color: var(--bs-text-muted); margin-bottom: 40px;
}
.bsws-close__ctas { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }

/* RESPONSIVE */
@media ( max-width: 980px ) {
	.bsws-feature { grid-template-columns: 1fr; gap: 32px; max-width: 620px; }
	.bsws-feature--reverse .bsws-feature__media { order: 0; }
	.bsws-feature__heading { text-align: left; }
}
@media ( max-width: 768px ) {
	.bsws-hero { padding: 64px 0 56px; }
	.bsws-video { padding: 48px 0 56px; }
	.bsws-section { padding: 56px 0; }
	.bsws-close { padding: 80px 0; }
	.bsws-close__ctas { flex-direction: column; align-items: center; }
	.bsws-close__ctas .bsh-btn { width: 100%; max-width: 320px; text-align: center; }
}
