.book-page {
	overflow: clip;
	background: #020202;
	color: #f7f7f7;
}

.book-page,
.book-page button,
.book-page input {
	font-family: "Montserrat", sans-serif;
}

.book-page .accent-rule {
	display: block;
	height: 2px;
	border-radius: 999px;
	background: #387820;
}

.book-page .button {
	min-height: 52px;
	padding: 12px 16px;
	border-radius: 6px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.25;
}

.book-hero {
	position: relative;
	min-height: 730px;
	background-color: #020202;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.book-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent 0%, rgba(2, 2, 2, .12) 42%, rgba(2, 2, 2, .82) 62%, #020202 100%);
	pointer-events: none;
}

.book-hero__layout {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-height: 730px;
	padding-block: 100px;
}

.book-hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: min(48%, 521px);
}

.book-hero__eyebrow {
	margin: 0 0 14px;
	color: #f7f7f7;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.25;
}

.book-hero__eyebrow::before {
	margin-right: 10px;
}

.book-hero__title {
	margin: 0;
	color: #f7f7f7;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.3;
}

.book-hero__rule {
	width: 200px;
	margin: 16px 0 24px;
}

.book-hero__subheading {
	max-width: 575px;
	margin: 0;
	color: #f7f7f7;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3;
}

.book-hero__description {
	max-width: 565px;
	margin: 32px 0 0;
	color: #c0c1c3;
	font-size: 18px;
	line-height: 1.5;
}

.book-hero__button {
	min-width: 190px;
	justify-content: center;
	margin-top: 32px;
}

.book-between {
	position: relative;
	min-height: 493px;
	padding-block: 90px;
	background-color: #f7f7f7;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #0d0d0d;
}

.book-between::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(247, 247, 247, .98) 0%, rgba(247, 247, 247, .9) 35%, rgba(247, 247, 247, .22) 72%, rgba(247, 247, 247, .05) 100%);
	pointer-events: none;
}

.book-between__content {
	position: relative;
	max-width: 1280px;
}

.book-between__title {
	max-width: 520px;
	margin: 0;
	color: #0d0d0d;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.3;
}

.book-between__rule {
	width: 200px;
	margin: 20px 0 32px;
}

.book-between__copy {
	max-width: 401px;
	color: #555;
	font-size: 16px;
	line-height: 1.5;
}

.book-between__copy p {
	margin: 0;
}

.book-between__copy p + p {
	margin-top: 20px;
}

.book-quote {
	min-height: 284px;
	padding: 78px 0 56px;
	background: #0d0d0d;
}

.book-quote__content {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 34px;
}

.book-quote__mark {
	flex: 0 0 68px;
	width: 68px;
	height: 51px;
	object-fit: contain;
}

.book-quote blockquote {
	max-width: 780px;
	margin: 0;
	text-align: center;
}

.book-quote blockquote p {
	margin: 0;
	color: #f7f7f7;
	font-size: 32px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.3;
}

.book-quote cite {
	display: block;
	margin-top: 18px;
	color: #f7f7f7;
	font-size: 24px;
	font-style: italic;
	text-align:left;
/* 	font-weight: 600; */
}

.book-story {
	display: grid;
	grid-template-columns: 54.24% 45.76%;
	height: 788px;
	min-height: 788px;
	background: #f7f7f7;
	color: #0d0d0d;
}

.book-story__media {
	min-width: 0;
	height: 788px;
	min-height: 788px;
	overflow: hidden;
}

.book-story__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.book-story__content {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-width: 0;
	padding: 60px;
}

.book-story__body {
	max-width: 570px;
}

.book-story__title {
	margin: 0;
	color: #0d0d0d;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.3;
}

.book-story__rule {
	width: 200px;
	margin: 20px 0 22px;
}

.book-story__copy {
	color: #555;
	font-size: 16px;
	line-height: 1.5;
}

.book-story__copy p {
	margin: 0;
}

.book-story__copy p + p {
	margin-top: 20px;
}

.book-story__button {
	min-width: 190px;
	justify-content: center;
	margin-top: 40px;
}

.book-story__testimonial {
	position: relative;
	max-width: 570px;
	margin: 45px 0 0;
	padding-top: 0;
}

.book-story__quote-mark {
	position: absolute;
	top: 0;
	left: 4px;
	width: 38px;
	height: 28px;
	object-fit: contain;
}

.book-story__testimonial p {
	margin: 0;
	padding-left: 67px;
	color: #555;
	font-size: 16px;
	font-style: italic;
	font-weight: 500;
	line-height: 1.5;
}

.book-story__testimonial cite {
	display: block;
	margin: 14px 0 0 67px;
	color: #0d0d0d;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
}

.book-details {
	min-height: 647px;
	padding-block: 110px;
	background: #121212;
}

.book-details__content {
	max-width: 1280px;
}

.book-details__columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.book-detail-block {
	min-width: 0;
	padding: 0 80px 42px;
}

.book-detail-block:first-child {
	padding-left: 0;
	border-right: 1px solid rgba(192, 193, 195, .45);
}

.book-detail-block:last-child {
	padding-right: 0;
}

.book-detail-block__title {
	margin: 0;
	color: #f7f7f7;
	font-size: 38px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.2;
	margin-bottom:42px;
}

.book-detail-block__rule {
	width: 120px;
	margin: 18px 0 30px;
}

.book-detail-block__list {
	display: grid;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.book-detail-block__list li {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	color: #c0c1c3;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.3;
}

.book-detail-block__list img,
.book-detail-block__check {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin-top: 4px;
}

.book-detail-block__check {
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: #387820;
	color: #f7f7f7;
	font-size: 12px;
	line-height: 1;
}

.book-details__testimonial {
	position: relative;
	max-width: 914px;
	margin: 48px auto 0;
	padding-left: 81px;
	text-align: left;
}

.book-details__quote-mark {
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 37px;
	object-fit: contain;
}

.book-details__testimonial p {
	margin: 0;
	color: #C0C1C3;
	font-size: 24px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.3;
}

.book-details__testimonial cite {
	display: block;
	margin-top: 16px;
	color: #fff;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	text-align:left;
}

.book-newsletter {
	min-height: 350px;
	padding-block: 60px;
	background: #f7f7f7;
	color: #0d0d0d;
}

.book-newsletter__layout {
	display: grid;
	grid-template-columns: 419px minmax(0, 1fr);
	align-items: start;
	max-width: 1280px;
}

.book-newsletter__intro {
	padding-right: 76px;
	border-right: 1px solid #C0C1C3;
}

.book-newsletter__title {
	margin: 0;
	color: #0d0d0d;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.18;
}

.book-newsletter__rule {
	width: 200px;
	margin: 18px 0 22px;
}

.book-newsletter__copy {
	max-width: 343px;
	color: #555;
	font-size: 20px;
	line-height: 1.55;
}

.book-newsletter__copy p {
	margin: 0;
}

.book-newsletter__signup {
	min-width: 0;
	padding-left: 74px;
/* 	border-left: 1px solid #c0c1c3; */
}

.book-newsletter__form {
	display: grid;
	grid-template-columns: minmax(0, 511px) minmax(220px, 269px);
	align-items: start;
	gap: 14px 10px;
	width: 100%;
	margin: 0;
}

.book-newsletter__form .hidden-fields-container,
.book-newsletter__form .sr-only,
.book-newsletter__form .wpcf7-response-output {
	grid-column: 1 / -1;
}

.book-newsletter__form .wpcf7-form-control-wrap {
	position: relative;
	display: block;
	min-width: 0;
}

.book-newsletter__email-icon {
	position: absolute;
	top: 50%;
	left: 16px;
	z-index: 1;
	width: 24px;
	height: 24px;
	object-fit: contain;
	transform: translateY(-50%);
	pointer-events: none;
}

.book-newsletter__form input[type="email"] {
	width: 100%;
	min-height: 56px;
	padding: 15px 18px 15px 52px;
	border: 1px solid #c0c1c3;
	border-radius: 4px;
	background: #fff;
	color: #0d0d0d !important;
	font-size: 16px;
	line-height: 1.4;
}

.book-newsletter__form input[type="email"]::placeholder {
	color: #777;
	opacity: 1;
}

.book-newsletter__form input[type="email"]:focus {
	border-color: #387820;
	outline: 2px solid rgba(56, 120, 32, .2);
	outline-offset: 1px;
}

.book-page .book-newsletter__button {
	grid-column: 2;
	grid-row: 1;
	align-self: start;
/* 	width: 269px; */
	padding: 12px 24px;
	min-height: 56px;
	white-space: nowrap;
}
.book-page .book-newsletter__button .button__icon{
	display:none;
}

.book-newsletter__benefits {
	display: flex;
	grid-column: 1 / -1;
	grid-row: 2;
	align-items: center;
	gap: 18px;
	margin: 0;
	padding: 0;
	color: #555;
	font-size: 14px;
	line-height: 1.3;
	list-style: none;
}

.book-newsletter__benefits li + li {
	position: relative;
	padding-left: 21px;
}

.book-newsletter__benefits li + li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #387820;
	transform: translateY(-50%);
}

.book-story__signature {
	margin: 24px 0 0;
}

.book-story__signature img {
	display: block;
	width: 100%;
	max-width: 260px; /* adjust to match Figma */
	height: auto;
}
.book-newsletter__email-icon:has(+ input:not(:focus):not(:placeholder-shown)) {
    transform: translateY(-100%) !important;
}
.book-newsletter__form:has(.wpcf7-not-valid-tip) .book-newsletter__email-icon{
    transform: translatey(-100%);
}

@media (min-width: 1440px){
	.book-story__media img{
		object-position:center 20%;
	}
	.book-hero__layout{
		min-height: 871px;
	}
	
}

@media (max-width: 1200px) {
	.book-hero,
	.book-hero__layout {
		min-height: 600px;
	}

	.book-hero__content {
		width: min(50%, 520px);
	}

	.book-story__content {
		padding-inline: 54px;
	}

	.book-detail-block {
		padding-inline: 48px;
	}

	.book-newsletter__intro {
		padding-right: 48px;
	}

	.book-newsletter__signup {
		padding-left: 48px;
	}

	.book-newsletter__form {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.book-page .book-newsletter__button {
		width: auto;
	}
	
	.book-newsletter__form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 0 !important;
}

.book-newsletter__form .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
}

.book-newsletter__form .wpcf7-form-control-wrap input {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

.book-newsletter__button {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
}

.book-newsletter__benefits {
    width: 100% !important;
    grid-column: 1 !important;
    grid-row: 3 !important;
    margin: 0 !important;
}
	.book-newsletter__button{
		width: auto !important;
    margin: 0 auto 0 0 !important;
	}
}

@media (max-width: 1024px) {
	.book-hero,
	.book-hero__layout {
		min-height: 570px;
	}

	.book-hero::before {
		background: linear-gradient(90deg, rgba(2, 2, 2, .08) 0%, rgba(2, 2, 2, .5) 42%, #020202 75%);
	}

	.book-hero__content {
		width: 52%;
	}

	.book-between {
		min-height: 450px;
		padding-block: 74px;
	}

	.book-story {
		grid-template-columns: .88fr 1.12fr;
		height: auto;
	}

	.book-story__media {
		height: auto;
		min-height: 720px;
	}

	.book-story__content {
		padding: 64px 40px;
	}

	.book-detail-block {
		padding-inline: 34px;
	}

	.book-newsletter__layout {
		grid-template-columns: .9fr 1.1fr;
	}

	.book-newsletter__intro {
		padding-right: 36px;
	}

	.book-newsletter__signup {
		padding-left: 36px;
	}
	
}

@media (max-width:900px){
	.book-quote .book-quote__content p br{
		display:none !important;
	}
}

@media (max-width: 767px) {
	.book-page .button {
		min-height: 48px;
	}

	.book-page .button{
		margin: 32px auto 0 auto;
	}
	
	.book-hero {
		min-height: 640px;
		background-position: 37% center;
	}

	.book-hero::before {
		background: linear-gradient(180deg, rgba(2, 2, 2, .08) 0%, rgba(2, 2, 2, .42) 40%, rgba(2, 2, 2, .96) 72%, #020202 100%);
	}

	.book-hero__layout {
		align-items: flex-end;
		min-height: 640px;
		padding-block: 44px;
	}

	.book-hero__content {
		align-items: center;
		width: 100%;
		max-width: 600px;
		margin-inline: auto;
		text-align: center;
	}

	.book-hero__title {
		font-size: 40px;
	}

	.book-hero__rule {
		width: 150px;
		margin: 16px 0 20px;
	}

	.book-hero__subheading {
		font-size: 22px;
	}

	.book-hero__description {
		font-size: 16px;
	}

	.book-between {
		min-height: 380px;
		padding-block: 62px;
		background-position: 65% center;
	}
	.book-quote cite{
		    margin-left: 90px;
	}
	.book-story__media img{
		object-position:center 20%;
	}

	.book-between::before {
		background: linear-gradient(90deg, rgba(247, 247, 247, .98) 0%, rgba(247, 247, 247, .88) 70%, rgba(247, 247, 247, .42) 100%);
	}

	.book-between__title {
		font-size: 36px;
	}

	.book-between__copy {
		max-width: 88%;
		font-size: 16px;
	}

	.book-quote {
		min-height: 0;
		padding-block: 58px;
	}

	.book-quote__content {
		display: block;
	}

	.book-quote__mark {
		height: 30px;
		margin: -20px 0 8px;
		text-align: center;
	}

	.book-quote blockquote p {
		font-size: 24px;
	}

	.book-story {
		grid-template-columns: 1fr;
	}

	.book-story__media {
		min-height: 520px;
		max-height: 660px;
	}

	.book-story__content {
		padding: 45px var(--gutter);
	}

	.book-story__body,
	.book-story__testimonial {
		max-width: none;
	}

	.book-story__title {
		font-size: 36px;
	}

	.book-story__testimonial {
		margin-top: 52px;
	}

	.book-details {
		min-height: 0;
		padding-block: 62px;
	}

	.book-details__columns {
		grid-template-columns: 1fr;
	}

	.book-detail-block {
		padding: 0 0 35px;
	}

	.book-detail-block:first-child {
		margin-bottom: 35px;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.10);
	}

	.book-detail-block__title {
		font-size: 30px;
		margin-bottom:20px;
	}

	.book-details__testimonial {
		margin-top: 20px;
	}

	.book-newsletter {
		min-height: 0;
		padding-block: 58px;
	}

	.book-newsletter__layout {
		grid-template-columns: 1fr;
	}

	.book-newsletter__intro {
		padding: 0 0 38px;
	}

	.book-newsletter__signup {
		padding: 38px 0 0;
		border-top: 1px solid #c0c1c3;
		border-left: 0;
	}
	
	.book-story__signature {
		margin: 20px 0 0;
	}

	.book-story__signature img {
		max-width: 200px;
	}
	.book-newsletter__intro{
		border-right:unset;
	}
}

@media (max-width:582px){
	.book-quote .book-quote__content p br{
		display:none;
	} 
	.book-quote cite{
		    margin-left: 20px;
	}
	.book-hero{
		   background-position: 20% center;
	}
}

@media (max-width: 520px) {
	.book-hero {
		min-height: 620px;
	}

	.book-hero__layout {
		min-height: 620px;
		padding-bottom: 36px;
		height:90vh;
	}

	.book-hero__title {
		font-size: 34px;
	}

	.book-hero__subheading {
		font-size: 19px;
	}

	.book-hero__description {
		margin-top: 16px;
		font-size: 15px;
	}

	.book-hero__button {
		width: 100%;
		justify-content: center;
		margin-top: 24px;
	}

	.book-between__title,
	.book-story__title {
		font-size: 31px;
	}

	.book-between__copy {
		max-width: 100%;
	}

	.book-quote blockquote p {
		font-size: 21px;
	}

	.book-story__media {
		min-height: 430px;
	}

	.book-story__testimonial p {
		padding-left: 55px;
		font-size: 16px;
	}
	.book-details__testimonial{
		padding-left: 50px;
	}

	.book-story__testimonial cite {
		margin-left: 51px;
	}
	.book-details__quote-mark{
		width: 34px;
    height: 37px;
	}

	.book-detail-block__title {
		font-size: 27px;
	}

	.book-detail-block__list li {
		font-size: 16px;
	}

	.book-details__testimonial p {
		font-size: 19px;
	}

	.book-newsletter__title {
		font-size: 31px;
	}

	.book-newsletter__copy {
		font-size: 16px;
	}

	.book-newsletter__form {
		grid-template-columns: 1fr;
	}

	.book-page .book-newsletter__button {
		grid-column: 1;
		grid-row: auto;
		width: 100%;
		justify-content: center;
	}

	.book-newsletter__benefits {
		grid-column: 1;
		grid-row: auto;
		flex-wrap: wrap;
		gap: 10px 16px;
	}
}
