/**
 * Home v3 Gutenberg preview — scoped to body.tkbc-home-gutenberg (page /home-v3-gutenberg/ only).
 * Mockup-match pass (2026-10-20): proportional replica of the 1920px concept mockup.
 * Every desktop coordinate is a mockup pixel; --u converts it (1px at >=1920px, scaled below).
 * Fonts (self-hosted, OFL): League Spartan (headlines), Poppins (body/UI), Loved by the King (hero
 * script), Ms Madi (Christmas script).
 * Source: assets/homepage-mockup/build/homepage-gutenberg.src.css — calc(n * var(--u)) = calc(n * var(--u)).
 */

@font-face {
	font-family: "TKBC League Spartan";
	src: url("../fonts/homepage/leaguespartan-700.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "TKBC Poppins";
	src: url("../fonts/homepage/poppins-400.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "TKBC Poppins";
	src: url("../fonts/homepage/poppins-500.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "TKBC Poppins";
	src: url("../fonts/homepage/poppins-600.woff2") format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "TKBC Poppins";
	src: url("../fonts/homepage/poppins-700.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "TKBC Loved by the King";
	src: url("../fonts/homepage/lovedbytheking-400.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "TKBC Ms Madi";
	src: url("../fonts/homepage/msmadi-400.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

body.tkbc-home-gutenberg {
	--tkbc-purple: #421f55;
	--tkbc-teal: #4cbeb5;
	--tkbc-teal-hover: #3fa9a1;
	--tkbc-mint: #cdeeec;
	--tkbc-grey: #ebebeb;
	--tkbc-ink: #252525;
	--tkbc-white: #ffffff;
	--tkbc-head: "TKBC League Spartan", "League Spartan", Montserrat, Arial, sans-serif;
	--tkbc-body: "TKBC Poppins", Poppins, Montserrat, Arial, sans-serif;
	--tkbc-script: "TKBC Loved by the King", cursive;
	--tkbc-script-xmas: "TKBC Ms Madi", cursive;
	color: var(--tkbc-ink);
}

/* —— Kill Divi sidebar / container padding on this slug only —— */
body.tkbc-home-gutenberg.et_right_sidebar #sidebar,
body.tkbc-home-gutenberg #sidebar,
body.tkbc-home-gutenberg .et_pb_widget_area_right {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.tkbc-home-gutenberg.et_right_sidebar #left-area,
body.tkbc-home-gutenberg #left-area {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	margin: 0 !important;
}

body.tkbc-home-gutenberg.et_right_sidebar #main-content .container:before {
	display: none !important;
}

body.tkbc-home-gutenberg #main-content .container {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
}

body.tkbc-home-gutenberg .et_pb_section,
body.tkbc-home-gutenberg #main-content,
body.tkbc-home-gutenberg .entry-content {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 0;
}

body.tkbc-home-gutenberg .entry-title,
body.tkbc-home-gutenberg h1.entry-title,
body.tkbc-home-gutenberg .et_pb_post h1.entry-title {
	display: none !important;
}

body.tkbc-home-gutenberg article.page,
body.tkbc-home-gutenberg .post-content,
body.tkbc-home-gutenberg .entry-content > .tkbc-hp {
	margin: 0;
	padding: 0;
}

body.tkbc-home-gutenberg #main-content .entry-content:after,
body.tkbc-home-gutenberg #main-content .entry-content > p:empty {
	display: none;
}

/* Divi boxed main area (1800px) would scale the replica; go full width on this slug only. */
body.tkbc-home-gutenberg #et-main-area,
body.tkbc-home-gutenberg #page-container {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* The mockup's purple footer is rendered inside the page body (.tkbc-hp).
   Hide the site chrome footers on this page only:
   - Divi .footer-wrap (teal "OUR BOOKS / COMPANY / …" section — shown on front page
     because theme inject_elementor_footer() only hides .footer-wrap when NOT front page)
   - Divi #main-footer / #footer-bottom
   - Elementor footer template 24346 if it still renders
   Also match body.home / page-id-25629. MU-plugin 1.8.1 prints the same rules inline
   with data-noptimize because Autoptimize was dropping .footer-wrap from this block. */
body.home .footer-wrap,
body.page-id-25629 .footer-wrap,
body.tkbc-home-gutenberg .footer-wrap,
body.tkbc-home-gutenberg .et_pb_section.footer,
body.tkbc-home-gutenberg #main-footer,
body.tkbc-home-gutenberg footer#main-footer,
body.tkbc-home-gutenberg #footer-bottom,
body.tkbc-home-gutenberg footer.elementor,
body.tkbc-home-gutenberg .elementor-location-footer,
body.tkbc-home-gutenberg .elementor-24346 {
	display: none !important;
}

/* —— Scale unit —— */
body.tkbc-home-gutenberg .tkbc-hp {
	container-type: inline-size;
	font-family: var(--tkbc-body);
	font-size: 16px;
	line-height: 1.4;
	color: var(--tkbc-ink);
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

body.tkbc-home-gutenberg .tkbc-hp * {
	box-sizing: border-box;
}

body.tkbc-home-gutenberg .tkbc-hp .s {
	--u: min(1px, calc(100vw / 1920));
	--u: min(1px, calc(100cqw / 1920));
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	height: calc(var(--sh) * var(--u));
	overflow: hidden;
}

body.tkbc-home-gutenberg .tkbc-hp .s img,
body.tkbc-home-gutenberg .tkbc-hp .s picture {
	display: block;
	max-width: none;
	border: 0;
	margin: 0;
	padding: 0;
	box-shadow: none;
}

body.tkbc-home-gutenberg .tkbc-hp .s picture img {
	width: 100%;
	height: auto;
}

/* a positioned wrapper (link/span) holding a picture: picture fills the wrapper */
body.tkbc-home-gutenberg .tkbc-hp .s .p > picture:not(.p):not(.arw) {
	width: 100%;
}

body.tkbc-home-gutenberg .tkbc-hp .p {
	position: absolute;
	left: calc(var(--x) * var(--u));
	top: calc(var(--y) * var(--u));
	width: calc(var(--w, 0) * var(--u));
	margin: 0;
	padding: 0;
}

body.tkbc-home-gutenberg .tkbc-hp .p:not([style*="--w"]) {
	width: auto;
}

body.tkbc-home-gutenberg .tkbc-hp .p[style*="--h"] {
	height: calc(var(--h) * var(--u));
}

body.tkbc-home-gutenberg .tkbc-hp .dd {
	pointer-events: none;
	z-index: 3;
	user-select: none;
}

body.tkbc-home-gutenberg .tkbc-hp .dd img {
	width: 100%;
	height: 100%;
	object-fit: fill;
}

body.tkbc-home-gutenberg .tkbc-hp .sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* —— Type —— */
body.tkbc-home-gutenberg .tkbc-hp h1,
body.tkbc-home-gutenberg .tkbc-hp h2,
body.tkbc-home-gutenberg .tkbc-hp h3,
body.tkbc-home-gutenberg .tkbc-hp p {
	margin: 0;
	padding: 0;
	white-space: nowrap;
}

body.tkbc-home-gutenberg .tkbc-hp .h1,
body.tkbc-home-gutenberg .tkbc-hp .h2 {
	font-family: var(--tkbc-head);
	font-weight: 900;
	color: var(--tkbc-purple);
	letter-spacing: -0.005em;
	text-transform: none;
}

body.tkbc-home-gutenberg .tkbc-hp .h1 {
	font-size: calc(76 * var(--u));
	line-height: calc(81 * var(--u));
	letter-spacing: 0.015em;
}

body.tkbc-home-gutenberg .tkbc-hp .h2 {
	font-size: calc(55 * var(--u));
	line-height: calc(62 * var(--u));
	letter-spacing: 0.01em;
}

body.tkbc-home-gutenberg .tkbc-hp .c {
	text-align: center;
}

body.tkbc-home-gutenberg .tkbc-hp .btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: calc(12 * var(--u));
	background: var(--tkbc-teal);
	color: var(--tkbc-white);
	border-radius: calc(40 * var(--u));
	padding: calc(7 * var(--u)) calc(28 * var(--u)) 0 calc(31 * var(--u));
	font-family: var(--tkbc-body);
	font-weight: 700;
	font-size: calc(23 * var(--u));
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	border: 0;
	box-shadow: none;
	transition: background 0.2s ease;
	z-index: 4;
}

body.tkbc-home-gutenberg .tkbc-hp .btn:hover,
body.tkbc-home-gutenberg .tkbc-hp .btn:focus-visible {
	background: var(--tkbc-teal-hover);
	color: var(--tkbc-white);
}

body.tkbc-home-gutenberg .tkbc-hp .btn:focus-visible,
body.tkbc-home-gutenberg .tkbc-hp a:focus-visible {
	outline: 3px solid #f4a419;
	outline-offset: 3px;
}

body.tkbc-home-gutenberg .tkbc-hp .s .btn > .arw,
body.tkbc-home-gutenberg .tkbc-hp .s .fform .arw {
	width: calc(31 * var(--u));
	flex: 0 0 auto;
}

/* —— Hero —— */
body.tkbc-home-gutenberg .tkbc-hp .hero {
	background: var(--tkbc-white);
}

/* —— Synced book sliders (1.6.0): hero photo, learning spread, Christmas gift ——
   .sl is a fixed box (mockup coordinates); one absolutely positioned .sl__i layer per book sits inside
   it, so swapping books never moves anything else. homepage-gutenberg.js toggles .is-on on the three
   slots together; the CSS does the cross-fade. Without JS only the first (starting) layer shows. */
body.tkbc-home-gutenberg .tkbc-hp .sl {
	z-index: 1;
	overflow: hidden;
}

body.tkbc-home-gutenberg .tkbc-hp .sl--hero {
	border-radius: calc(12 * var(--u));
}

body.tkbc-home-gutenberg .tkbc-hp .sl--spread {
	z-index: 2;
}

body.tkbc-home-gutenberg .tkbc-hp .sl--gift {
	border-radius: calc(8 * var(--u));
}

body.tkbc-home-gutenberg .tkbc-hp .sl__i {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	margin: 0;
	padding: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.8s ease, visibility 0s linear 0.8s;
}

body.tkbc-home-gutenberg .tkbc-hp .sl__i.is-on {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

body.tkbc-home-gutenberg .tkbc-hp .sl .sl__i picture,
body.tkbc-home-gutenberg .tkbc-hp .sl .sl__i img {
	width: 100%;
	height: 100%;
}

body.tkbc-home-gutenberg .tkbc-hp .sl--hero .sl__i img {
	object-fit: cover;
}

body.tkbc-home-gutenberg .tkbc-hp .sl--spread .sl__i img,
body.tkbc-home-gutenberg .tkbc-hp .sl--gift .sl__i img {
	object-fit: fill;
}

/* Gift: the MSU composite crop fills the box; the cut-outs and the shared white rays sit at their
   mockup offsets inside it (--gx/--gw/--gh are mockup px relative to the 702 x 301 box). */
body.tkbc-home-gutenberg .tkbc-hp .sl--gift .sl__rays {
	position: absolute;
	top: 0;
	left: calc(var(--gx) / 702 * 100%);
	width: calc(var(--gw) / 702 * 100%);
	height: 100%;
	z-index: 0;
	pointer-events: none;
	user-select: none;
}

body.tkbc-home-gutenberg .tkbc-hp .sl--gift .sl__rays img {
	width: 100%;
	height: 100%;
	object-fit: fill;
}

body.tkbc-home-gutenberg .tkbc-hp .sl--gift .sl__i {
	z-index: 1;
}

body.tkbc-home-gutenberg .tkbc-hp .sl--gift .sl__i--cut {
	left: calc(var(--gx) / 702 * 100%);
	width: calc(var(--gw) / 702 * 100%);
	height: calc(var(--gh) / 301 * 100%);
}

/* Dot indicators (hero only): a translucent purple pill in the photo's bottom-right corner on
   desktop, a plain centred row under the photo on phones. Hit area never below 44 px. */
body.tkbc-home-gutenberg .tkbc-hp .sl-dots,
body.tkbc-home-gutenberg .tkbc-hp .p.sl-dots[style*="--h"] {
	left: auto;
	right: calc(68 * var(--u));
	top: auto;
	bottom: calc(12 * var(--u));
	width: auto;
	height: auto;
	display: flex;
	align-items: center;
	padding: 0 calc(8 * var(--u));
	background: rgba(66, 31, 85, 0.55);
	border-radius: 999px;
	z-index: 4;
}

body.tkbc-home-gutenberg .tkbc-hp .sl-dot {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(calc(44 * var(--u)), 44px);
	height: max(calc(44 * var(--u)), 44px);
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	box-shadow: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

body.tkbc-home-gutenberg .tkbc-hp .sl-dot span {
	display: block;
	width: max(calc(11 * var(--u)), 9px);
	height: max(calc(11 * var(--u)), 9px);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.55);
	transition: transform 0.25s ease, background 0.25s ease;
}

body.tkbc-home-gutenberg .tkbc-hp .sl-dot:hover span,
body.tkbc-home-gutenberg .tkbc-hp .sl-dot.is-on span {
	background: var(--tkbc-white);
}

body.tkbc-home-gutenberg .tkbc-hp .sl-dot.is-on span {
	transform: scale(1.35);
}

body.tkbc-home-gutenberg .tkbc-hp .sl-dot:focus-visible {
	outline: 3px solid #f4a419;
	outline-offset: -3px;
}

body.tkbc-home-gutenberg .tkbc-hp .hero .h1 {
	z-index: 2;
}

body.tkbc-home-gutenberg .tkbc-hp .script {
	font-family: var(--tkbc-script);
	font-weight: 400;
	font-size: calc(92 * var(--u));
	line-height: calc(74 * var(--u));
	color: var(--tkbc-purple);
	z-index: 2;
}

body.tkbc-home-gutenberg .tkbc-hp .lede {
	font-size: calc(24 * var(--u));
	line-height: calc(28 * var(--u));
	font-weight: 500;
	color: var(--tkbc-ink);
	z-index: 2;
}

/* —— Trust —— */
body.tkbc-home-gutenberg .tkbc-hp .trust__bar {
	position: absolute;
	left: calc(55 * var(--u));
	top: 0;
	width: calc(1810 * var(--u));
	height: 100%;
	background: var(--tkbc-grey);
}

body.tkbc-home-gutenberg .tkbc-hp .trust .ico {
	display: block;
}

body.tkbc-home-gutenberg .tkbc-hp .trust .ico picture {
	width: 100%;
}

body.tkbc-home-gutenberg .tkbc-hp .trust .tl {
	font-size: calc(20 * var(--u));
	line-height: calc(23 * var(--u));
	font-weight: 600;
	color: var(--tkbc-ink);
}

/* —— Products —— */
body.tkbc-home-gutenberg .tkbc-hp .products {
	background: var(--tkbc-white);
}

body.tkbc-home-gutenberg .tkbc-hp .products .h2 {
	font-size: calc(76 * var(--u));
	line-height: calc(84 * var(--u));
	letter-spacing: 0.01em;
}

body.tkbc-home-gutenberg .tkbc-hp .card {
	background: var(--tkbc-grey);
	border-radius: calc(11 * var(--u));
	z-index: 2;
}

body.tkbc-home-gutenberg .tkbc-hp .card .cover {
	display: block;
	text-decoration: none;
}


body.tkbc-home-gutenberg .tkbc-hp .card .ct {
	font-family: var(--tkbc-body);
	font-weight: 600;
	font-size: calc(22 * var(--u));
	line-height: calc(30 * var(--u));
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--tkbc-purple);
}

body.tkbc-home-gutenberg .tkbc-hp .card .cd {
	font-size: calc(20 * var(--u));
	line-height: calc(28 * var(--u));
	font-weight: 500;
	color: var(--tkbc-ink);
}

body.tkbc-home-gutenberg .tkbc-hp .card .btn {
	padding: calc(6 * var(--u)) calc(18 * var(--u)) 0 calc(17 * var(--u));
	font-size: calc(18 * var(--u));
}

body.tkbc-home-gutenberg .tkbc-hp .card .cp {
	font-size: calc(20 * var(--u));
	line-height: calc(28 * var(--u));
	font-weight: 400;
	color: var(--tkbc-ink);
}

body.tkbc-home-gutenberg .tkbc-hp .card .cm {
	font-size: calc(15.5 * var(--u));
	line-height: calc(22 * var(--u));
	font-weight: 400;
	color: var(--tkbc-ink);
}

/* —— Steps —— */
body.tkbc-home-gutenberg .tkbc-hp .steps {
	background: var(--tkbc-mint);
}

body.tkbc-home-gutenberg .tkbc-hp .step .num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(45 * var(--u));
	height: calc(44 * var(--u));
	border-radius: 50%;
	background: var(--tkbc-teal);
	color: var(--tkbc-white);
}

body.tkbc-home-gutenberg .tkbc-hp .step .num picture {
	width: calc(var(--w) * var(--u));
}

body.tkbc-home-gutenberg .tkbc-hp .step .st {
	font-family: var(--tkbc-body);
	font-weight: 600;
	font-size: calc(22 * var(--u));
	line-height: calc(30 * var(--u));
	color: var(--tkbc-purple);
}

body.tkbc-home-gutenberg .tkbc-hp .step .sd {
	font-size: calc(15 * var(--u));
	line-height: calc(19 * var(--u));
	font-weight: 400;
	color: var(--tkbc-ink);
}

/* —— Learning —— */
body.tkbc-home-gutenberg .tkbc-hp .learning {
	background: var(--tkbc-white);
}

body.tkbc-home-gutenberg .tkbc-hp .learning .h2 {
	font-size: calc(76 * var(--u));
	line-height: calc(84 * var(--u));
	letter-spacing: 0.012em;
	z-index: 3;
}

body.tkbc-home-gutenberg .tkbc-hp .learning .body {
	z-index: 3;
}

body.tkbc-home-gutenberg .tkbc-hp .learning .body p {
	font-size: calc(24 * var(--u));
	line-height: calc(29 * var(--u));
	font-weight: 400;
	color: var(--tkbc-ink);
	margin: 0 0 calc(29 * var(--u));
}

body.tkbc-home-gutenberg .tkbc-hp .learning .body p:last-child {
	margin-bottom: 0;
}

body.tkbc-home-gutenberg .tkbc-hp .tlink {
	display: inline-flex;
	align-items: center;
	gap: calc(10 * var(--u));
	font-family: var(--tkbc-head);
	font-weight: 900;
	font-size: calc(31 * var(--u));
	line-height: calc(40 * var(--u));
	letter-spacing: 0.06em;
	color: var(--tkbc-purple);
	text-decoration: none;
	white-space: nowrap;
	z-index: 4;
}

body.tkbc-home-gutenberg .tkbc-hp .tlink:hover {
	color: var(--tkbc-teal);
}

body.tkbc-home-gutenberg .tkbc-hp .tlink__arrow {
	width: calc(40 * var(--u));
	height: calc(24 * var(--u));
	display: block;
}

/* —— Reviews —— */
body.tkbc-home-gutenberg .tkbc-hp .reviews {
	background: var(--tkbc-grey);
}

body.tkbc-home-gutenberg .tkbc-hp .reviews .h2 {
	font-size: calc(64 * var(--u));
	line-height: calc(72 * var(--u));
	letter-spacing: 0.021em;
	z-index: 2;
}

/* Auto-scrolling strip: .rail is the clipped window (mockup card row at y 153, h 290); .track holds two
   identical .set copies and slides left by exactly one copy (50% + half the gap), so the loop is seamless.
   Starts at x 153 so the first four cards sit on their mockup positions at t = 0. */
body.tkbc-home-gutenberg .tkbc-hp .rail {
	--gap: calc(17 * var(--u));
	--start: calc(153 * var(--u));
	--speed: 66s;
	overflow: hidden;
	z-index: 2;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 calc(70 * var(--u)), #000 calc(100% - calc(70 * var(--u))), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 calc(70 * var(--u)), #000 calc(100% - calc(70 * var(--u))), transparent 100%);
}

body.tkbc-home-gutenberg .tkbc-hp .track {
	display: flex;
	gap: var(--gap);
	width: max-content;
	height: 100%;
	transform: translateX(var(--start));
	animation: tkbc-hp-marquee var(--speed) linear infinite;
	will-change: transform;
}

body.tkbc-home-gutenberg .tkbc-hp .set {
	display: flex;
	gap: var(--gap);
	height: 100%;
}

body.tkbc-home-gutenberg .tkbc-hp .rail:hover .track,
body.tkbc-home-gutenberg .tkbc-hp .rail:focus-within .track {
	animation-play-state: paused;
}

@keyframes tkbc-hp-marquee {
	from {
		transform: translateX(var(--start));
	}

	to {
		transform: translateX(calc(var(--start) - 50% - var(--gap) / 2));
	}
}

body.tkbc-home-gutenberg .tkbc-hp .rev {
	position: relative;
	flex: 0 0 calc(392 * var(--u));
	width: calc(392 * var(--u));
	height: calc(290 * var(--u));
	background: #fcfcfc;
	border-radius: calc(17 * var(--u));
	overflow: hidden;
	z-index: 2;
}

/* Initials avatar for reviews without an existing avatar crop (palette tokens only) */
body.tkbc-home-gutenberg .tkbc-hp .rev .av--ini {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(56 * var(--u));
	height: calc(56 * var(--u));
	border-radius: 50%;
	font-family: var(--tkbc-body);
	font-weight: 600;
	font-size: calc(20 * var(--u));
	line-height: 1;
	letter-spacing: 0.02em;
	color: var(--tkbc-white);
	background: var(--tkbc-teal);
	user-select: none;
}

body.tkbc-home-gutenberg .tkbc-hp .rev .av--purple {
	background: var(--tkbc-purple);
}

body.tkbc-home-gutenberg .tkbc-hp .rev .av--mint {
	background: var(--tkbc-mint);
	color: var(--tkbc-purple);
}

/* Text source label (Etsy etc.) sits where the Google badge sits, right-aligned */
body.tkbc-home-gutenberg .tkbc-hp .rev .rg--txt {
	left: auto;
	right: calc(19 * var(--u));
	width: auto;
	padding: calc(4 * var(--u)) calc(9 * var(--u)) calc(2 * var(--u));
	border: calc(1 * var(--u)) solid #dadce0;
	border-radius: calc(7 * var(--u));
	font-family: var(--tkbc-body);
	font-weight: 600;
	font-size: calc(13 * var(--u));
	line-height: calc(16 * var(--u));
	letter-spacing: 0.02em;
	color: #5f6368;
	background: var(--tkbc-white);
	white-space: nowrap;
}

body.tkbc-home-gutenberg .tkbc-hp .rev__head {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: calc(84 * var(--u));
	border-bottom: calc(2 * var(--u)) solid #e8edf0;
}

body.tkbc-home-gutenberg .tkbc-hp .rev .av picture,
body.tkbc-home-gutenberg .tkbc-hp .rev .av img {
	width: calc(56 * var(--u));
	height: calc(56 * var(--u));
	border-radius: 50%;
}

body.tkbc-home-gutenberg .tkbc-hp .rev .rn {
	font-family: var(--tkbc-body);
	font-weight: 600;
	font-size: calc(24 * var(--u));
	line-height: calc(32 * var(--u));
	color: #000;
}

body.tkbc-home-gutenberg .tkbc-hp .rev .rs picture {
	width: calc(138 * var(--u));
}

body.tkbc-home-gutenberg .tkbc-hp .rev .rg picture {
	width: calc(34 * var(--u));
}

body.tkbc-home-gutenberg .tkbc-hp .rev .rt {
	font-size: calc(20.5 * var(--u));
	line-height: calc(33 * var(--u));
	font-weight: 400;
	color: var(--tkbc-ink);
	white-space: normal;
}

/* —— Christmas banner (inside the grey reviews band) —— */
body.tkbc-home-gutenberg .tkbc-hp .xmas {
	background: var(--tkbc-purple);
	border-radius: calc(21 * var(--u));
	overflow: hidden;
	color: var(--tkbc-white);
	z-index: 2;
}

body.tkbc-home-gutenberg .tkbc-hp .xmas .xs {
	font-family: var(--tkbc-script-xmas);
	font-weight: 400;
	font-size: calc(73 * var(--u));
	line-height: calc(84 * var(--u));
	text-align: center;
	color: var(--tkbc-white);
	-webkit-text-stroke: calc(0.7 * var(--u)) var(--tkbc-white);
	z-index: 2;
}

body.tkbc-home-gutenberg .tkbc-hp .xmas .btn {
	font-size: calc(19 * var(--u));
	padding: calc(6 * var(--u)) calc(40 * var(--u)) 0 calc(38 * var(--u));
}

body.tkbc-home-gutenberg .tkbc-hp .xmas .xt {
	font-size: calc(20 * var(--u));
	line-height: calc(23 * var(--u));
	font-weight: 600;
	color: var(--tkbc-white);
	z-index: 2;
}

/* —— Blog (1.7.0) ——
   Three latest posts, rendered by the MU-plugin into .bgrid. White cards on mint; the image box is
   a fixed 16:9 and the title/excerpt are clamped to 2/3 lines so the card height (and the section
   height) never depends on the post. */
body.tkbc-home-gutenberg .tkbc-hp .blog {
	background: var(--tkbc-mint);
}

body.tkbc-home-gutenberg .tkbc-hp .blog .h2 {
	font-size: calc(64 * var(--u));
	line-height: calc(72 * var(--u));
	letter-spacing: 0.021em;
	z-index: 2;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bl {
	font-size: calc(22 * var(--u));
	line-height: calc(30 * var(--u));
	font-weight: 400;
	color: var(--tkbc-ink);
	text-align: center;
	z-index: 2;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bgrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: calc(48 * var(--u));
	z-index: 2;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bcard {
	display: flex;
	flex-direction: column;
	background: var(--tkbc-white);
	border-radius: calc(14 * var(--u));
	overflow: hidden;
	box-shadow: 0 calc(6 * var(--u)) calc(24 * var(--u)) rgba(66, 31, 85, 0.08);
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bimg {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: var(--tkbc-grey);
	overflow: hidden;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bimg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bimg--none {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--tkbc-purple);
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bimg--none img {
	width: 40%;
	height: auto;
	object-fit: contain;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bbody {
	display: flex;
	flex-direction: column;
	gap: calc(10 * var(--u));
	padding: calc(22 * var(--u)) calc(26 * var(--u)) calc(26 * var(--u));
	flex: 1 1 auto;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bdate {
	font-size: calc(16 * var(--u));
	line-height: calc(22 * var(--u));
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--tkbc-teal-hover);
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bt {
	font-family: var(--tkbc-body);
	font-weight: 600;
	font-size: calc(24 * var(--u));
	line-height: calc(32 * var(--u));
	height: calc(64 * var(--u));
	color: var(--tkbc-purple);
	white-space: normal;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bt a {
	color: inherit;
	text-decoration: none;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bt a:hover {
	text-decoration: underline;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bx {
	font-size: calc(19 * var(--u));
	line-height: calc(28 * var(--u));
	height: calc(84 * var(--u));
	font-weight: 400;
	color: var(--tkbc-ink);
	white-space: normal;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bmore {
	display: inline-flex;
	align-items: center;
	gap: calc(10 * var(--u));
	margin-top: auto;
	min-height: calc(44 * var(--u));
	font-weight: 700;
	font-size: calc(19 * var(--u));
	line-height: calc(26 * var(--u));
	color: var(--tkbc-purple);
	text-decoration: none;
	align-self: flex-start;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bmore:hover {
	text-decoration: underline;
}

body.tkbc-home-gutenberg .tkbc-hp .blog .bmore .arw {
	width: calc(24 * var(--u));
	flex: 0 0 auto;
}

/* —— Footer (mockup) —— */
body.tkbc-home-gutenberg .tkbc-hp .foot {
	background: var(--tkbc-purple);
	color: var(--tkbc-white);
}

body.tkbc-home-gutenberg .tkbc-hp .foot .flogo picture {
	width: calc(354 * var(--u));
}

/* Footer type (1.7.0): the mockup's footer text measured 18/15/12 px at a 1440 viewport (headings/
   links/legal). Raised to 18 px 700 headings, 16.5 px links on 27 px rows, 13.5 px legal on 21 px
   rows at 1440 (24/22/18 on the 1920 canvas); every link is a block the full row high. */
body.tkbc-home-gutenberg .tkbc-hp .foot .fh {
	font-family: var(--tkbc-body);
	font-weight: 700;
	font-size: calc(24 * var(--u));
	line-height: calc(30 * var(--u));
	color: var(--tkbc-white);
	margin: 0 0 calc(8 * var(--u));
}

body.tkbc-home-gutenberg .tkbc-hp .foot .fcol ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: calc(36 * var(--u));
}

body.tkbc-home-gutenberg .tkbc-hp .foot .fcol li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: calc(36 * var(--u));
	line-height: calc(36 * var(--u));
	white-space: nowrap;
}

body.tkbc-home-gutenberg .tkbc-hp .foot .fcol li::before,
body.tkbc-home-gutenberg .tkbc-hp .foot .fcol li::marker {
	content: none;
	display: none;
}

body.tkbc-home-gutenberg .tkbc-hp .foot li a {
	display: block;
	height: calc(36 * var(--u));
	font-size: calc(22 * var(--u));
	line-height: calc(36 * var(--u));
	font-weight: 400;
	color: var(--tkbc-white);
	text-decoration: none;
}

body.tkbc-home-gutenberg .tkbc-hp .foot li a:hover {
	text-decoration: underline;
}

body.tkbc-home-gutenberg .tkbc-hp .foot .fstay p {
	font-size: calc(21 * var(--u));
	line-height: calc(32 * var(--u));
	font-weight: 400;
	color: var(--tkbc-white);
	margin-top: 0;
}

body.tkbc-home-gutenberg .tkbc-hp .fform {
	display: flex;
	align-items: center;
	background: var(--tkbc-white);
	border-radius: calc(14 * var(--u));
	padding: calc(3 * var(--u));
	z-index: 2;
}

body.tkbc-home-gutenberg .tkbc-hp .fform input {
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
	border: 0;
	background: transparent;
	font-family: var(--tkbc-body);
	font-size: calc(20 * var(--u));
	font-weight: 400;
	color: var(--tkbc-ink);
	padding: 0 calc(14 * var(--u)) 0 calc(14 * var(--u));
	margin: 0;
	outline: none;
	box-shadow: none;
	border-radius: 0;
}

body.tkbc-home-gutenberg .tkbc-hp .fform input::placeholder {
	color: #787878;
	opacity: 1;
}

body.tkbc-home-gutenberg .tkbc-hp .fform button {
	flex: 0 0 auto;
	width: calc(87 * var(--u));
	height: calc(55 * var(--u));
	border: 0;
	border-radius: calc(14 * var(--u));
	background: var(--tkbc-teal);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	cursor: pointer;
}

body.tkbc-home-gutenberg .tkbc-hp .fform button:hover {
	background: var(--tkbc-teal-hover);
}

/* Legal bar (1.6.0): Terms, Privacy, Returns, copyright and the registered-office line, small Poppins
   on the purple, under a hairline. Matches what the live Divi footer-bottom carries today. */
body.tkbc-home-gutenberg .tkbc-hp .foot .fsep {
	height: calc(1 * var(--u));
	border: 0;
	margin: 0;
	padding: 0;
	background: rgba(255, 255, 255, 0.22);
}

body.tkbc-home-gutenberg .tkbc-hp .foot .flegal ul {
	list-style: none !important;
	display: flex;
	gap: calc(28 * var(--u));
	margin: 0 !important;
	padding: 0 !important;
}

body.tkbc-home-gutenberg .tkbc-hp .foot .flegal li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: nowrap;
}

body.tkbc-home-gutenberg .tkbc-hp .foot .flegal li::before,
body.tkbc-home-gutenberg .tkbc-hp .foot .flegal li::marker {
	content: none;
	display: none;
}

body.tkbc-home-gutenberg .tkbc-hp .foot .flegal li a,
body.tkbc-home-gutenberg .tkbc-hp .foot .fcopy,
body.tkbc-home-gutenberg .tkbc-hp .foot .fco {
	display: block;
	height: auto;
	font-family: var(--tkbc-body);
	font-size: calc(18 * var(--u));
	line-height: calc(28 * var(--u));
	font-weight: 400;
	color: rgba(255, 255, 255, 0.88);
	text-decoration: none;
	white-space: nowrap;
}

body.tkbc-home-gutenberg .tkbc-hp .foot .flegal li a:hover,
body.tkbc-home-gutenberg .tkbc-hp .foot .fco a:hover {
	color: var(--tkbc-white);
	text-decoration: underline;
}

body.tkbc-home-gutenberg .tkbc-hp .foot .fcopy {
	text-align: right;
}

body.tkbc-home-gutenberg .tkbc-hp .foot .fco a {
	color: inherit;
	text-decoration: none;
}

/* ================================================================
   Mobile / tablet (<= 900px): no mobile mockup exists — stacked flow layout
   using the same type, colours and assets.
   ================================================================ */
@media (max-width: 900px) {
	body.tkbc-home-gutenberg .tkbc-hp {
		--m: 1px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .s {
		--u: 1px;
		height: auto;
		overflow: visible;
		padding: 32px 20px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .p,
	body.tkbc-home-gutenberg .tkbc-hp .p[style*="--h"] {
		position: static;
		width: auto;
		height: auto;
	}

	body.tkbc-home-gutenberg .tkbc-hp .s .dd,
	body.tkbc-home-gutenberg .tkbc-hp .s .stp-arrow,
	body.tkbc-home-gutenberg .tkbc-hp .trust__bar {
		display: none !important;
	}

	body.tkbc-home-gutenberg .tkbc-hp h1,
	body.tkbc-home-gutenberg .tkbc-hp h2,
	body.tkbc-home-gutenberg .tkbc-hp h3,
	body.tkbc-home-gutenberg .tkbc-hp p {
		white-space: normal;
	}

	body.tkbc-home-gutenberg .tkbc-hp .s picture img {
		width: 100%;
		height: auto;
	}

	/* Hero */
	body.tkbc-home-gutenberg .tkbc-hp .hero {
		display: flex;
		flex-direction: column;
		padding-top: 20px;
	}

	/* Sliders: the box becomes a flow block with the slot's aspect ratio; layers stay stacked inside. */
	body.tkbc-home-gutenberg .tkbc-hp .p.sl {
		position: relative;
		left: auto;
		top: auto;
		height: auto;
	}

	body.tkbc-home-gutenberg .tkbc-hp .p.sl--hero {
		order: 0;
		margin: 0 -20px 8px;
		width: calc(100% + 40px);
		aspect-ratio: 907 / 503;
		border-radius: 0;
	}

	body.tkbc-home-gutenberg .tkbc-hp .p.sl-dots,
	body.tkbc-home-gutenberg .tkbc-hp .p.sl-dots[style*="--h"] {
		position: static;
		order: 0;
		width: auto;
		height: auto;
		justify-content: center;
		margin: 0 0 12px;
		padding: 0;
		background: none;
		border-radius: 0;
	}

	body.tkbc-home-gutenberg .tkbc-hp .sl-dot {
		width: 44px;
		height: 44px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .sl-dot span {
		width: 10px;
		height: 10px;
		background: rgba(66, 31, 85, 0.28);
	}

	body.tkbc-home-gutenberg .tkbc-hp .sl-dot:hover span,
	body.tkbc-home-gutenberg .tkbc-hp .sl-dot.is-on span {
		background: var(--tkbc-purple);
	}

	body.tkbc-home-gutenberg .tkbc-hp .hero .h1 {
		order: 1;
		font-size: 44px;
		line-height: 42px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .hero .script {
		order: 2;
		font-size: 50px;
		line-height: 42px;
		margin-top: 12px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .hero .script + picture.dd {
		display: block !important;
		order: 3;
		width: 220px;
		margin-top: 6px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .hero .lede {
		order: 4;
		font-size: 18px;
		line-height: 24px;
		margin-top: 22px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .hero .btn {
		order: 5;
		margin-top: 22px;
		align-self: flex-start;
	}

	body.tkbc-home-gutenberg .tkbc-hp .btn,
	body.tkbc-home-gutenberg .tkbc-hp .card .btn,
	body.tkbc-home-gutenberg .tkbc-hp .xmas .btn {
		display: inline-flex;
		gap: 14px;
		font-size: 17px;
		padding: 15px 22px;
		border-radius: 999px;
		min-height: 44px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .s .btn > .arw,
	body.tkbc-home-gutenberg .tkbc-hp .s .fform .arw {
		width: 26px;
	}

	/* Trust */
	body.tkbc-home-gutenberg .tkbc-hp .trust {
		background: var(--tkbc-grey);
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 18px 16px;
		padding: 22px 20px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .trust__item {
		display: flex;
		align-items: center;
		gap: 12px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .trust .ico picture {
		width: 40px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .trust .ico img {
		width: 40px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .trust .tl {
		font-size: 15px;
		line-height: 19px;
		height: auto;
	}

	/* Products */
	body.tkbc-home-gutenberg .tkbc-hp .h2 {
		font-size: 36px;
		line-height: 38px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .products .h2 {
		font-size: 36px;
		line-height: 38px;
		margin-bottom: 24px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .card {
		border-radius: 11px;
		padding: 22px 22px 24px;
		margin: 0 0 18px;
		display: flex;
		flex-direction: column;
	}

	body.tkbc-home-gutenberg .tkbc-hp .card .cover {
		margin: 0 auto 18px;
		width: 100%;
		max-width: 285px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .card .cover img {
		width: 100%;
	}

	body.tkbc-home-gutenberg .tkbc-hp .card .ct {
		font-size: 20px;
		line-height: 26px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .card .cd {
		font-size: 17px;
		line-height: 24px;
		margin: 6px 0 16px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .card .btn {
		order: 4;
		align-self: flex-start;
	}

	body.tkbc-home-gutenberg .tkbc-hp .card .cp {
		order: 5;
		font-size: 17px;
		line-height: 24px;
		margin-top: 14px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .card .cm {
		order: 6;
		font-size: 14px;
		line-height: 20px;
		margin-top: 4px;
	}

	/* Steps */
	body.tkbc-home-gutenberg .tkbc-hp .steps .h2 {
		text-align: center;
		margin-bottom: 26px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .step {
		display: grid;
		grid-template-columns: 45px 1fr;
		grid-template-areas: "icon icon" "num title" "num desc";
		column-gap: 14px;
		row-gap: 4px;
		margin-bottom: 28px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .step > picture {
		grid-area: icon;
		width: auto;
		margin-bottom: 10px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .step > picture img {
		width: auto;
		height: 90px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .step .num {
		grid-area: num;
		width: 45px;
		height: 44px;
		align-self: start;
	}

	body.tkbc-home-gutenberg .tkbc-hp .step .num picture img {
		width: auto;
		height: 25px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .step .st {
		grid-area: title;
		font-size: 22px;
		line-height: 28px;
		align-self: center;
	}

	body.tkbc-home-gutenberg .tkbc-hp .step .sd {
		grid-area: desc;
		font-size: 15px;
		line-height: 21px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .step .sd br {
		display: none;
	}

	/* Learning */
	body.tkbc-home-gutenberg .tkbc-hp .learning {
		display: flex;
		flex-direction: column;
	}

	body.tkbc-home-gutenberg .tkbc-hp .p.sl--spread {
		order: 0;
		margin: 0 0 22px;
		aspect-ratio: 1071 / 600;
	}

	body.tkbc-home-gutenberg .tkbc-hp .learning .h2 {
		order: 1;
		font-size: 40px;
		line-height: 40px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .learning .body {
		order: 2;
		margin-top: 18px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .learning .body p {
		font-size: 17px;
		line-height: 24px;
		margin: 0 0 18px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .learning .body br {
		display: none;
	}

	body.tkbc-home-gutenberg .tkbc-hp .tlink {
		order: 3;
		font-size: 24px;
		line-height: 28px;
		gap: 10px;
		margin-top: 6px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .tlink__arrow {
		width: 30px;
		height: 18px;
	}

	/* Reviews */
	body.tkbc-home-gutenberg .tkbc-hp .reviews .h2 {
		text-align: center;
		margin-bottom: 26px;
	}

	/* Mobile: a swipeable, snap-scrolling row (one set only); tkbc-homepage-gutenberg.js nudges it
	   along one card at a time and stops as soon as the visitor touches it. */
	body.tkbc-home-gutenberg .tkbc-hp .rail {
		position: relative;
		width: auto;
		height: auto;
		margin: 0 -20px;
		padding: 0 20px 6px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 20px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-webkit-mask-image: none;
		mask-image: none;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rail::-webkit-scrollbar {
		display: none;
	}

	body.tkbc-home-gutenberg .tkbc-hp .track {
		--gap: 14px;
		height: auto;
		transform: none;
		animation: none;
		will-change: auto;
	}

	body.tkbc-home-gutenberg .tkbc-hp .set {
		height: auto;
		align-items: stretch;
	}

	body.tkbc-home-gutenberg .tkbc-hp .set[aria-hidden="true"] {
		display: none;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev {
		position: relative;
		flex: 0 0 min(82vw, 340px);
		width: min(82vw, 340px);
		height: auto;
		scroll-snap-align: start;
		border-radius: 17px;
		margin-bottom: 0;
		padding: 0 20px 20px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev .av--ini {
		width: 56px;
		height: 56px;
		font-size: 20px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev .rg--txt {
		grid-area: g;
		justify-self: end;
		padding: 4px 9px 2px;
		border-width: 1px;
		border-radius: 7px;
		font-size: 12px;
		line-height: 16px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev__head {
		position: relative;
		height: auto;
		display: grid;
		grid-template-columns: 56px 1fr auto;
		grid-template-areas: "av name g" "av stars g";
		column-gap: 14px;
		align-items: center;
		padding: 12px 0 10px;
		margin: 0 0 14px;
		border-bottom: 2px solid #e8edf0;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev .av {
		grid-area: av;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev .av picture,
	body.tkbc-home-gutenberg .tkbc-hp .rev .av img {
		width: 56px;
		height: 56px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev .rn {
		grid-area: name;
		font-size: 20px;
		line-height: 24px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev .rs {
		grid-area: stars;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev .rs picture {
		width: 110px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev .rg {
		grid-area: g;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev .rg picture {
		width: 34px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev .rt {
		font-size: 16px;
		line-height: 25px;
	}

	/* Christmas */
	body.tkbc-home-gutenberg .tkbc-hp .xmas {
		margin-top: 14px;
		border-radius: 21px;
		padding: 26px 22px 28px;
		text-align: center;
	}

	body.tkbc-home-gutenberg .tkbc-hp .p.sl--gift {
		margin: 0 -22px 10px;
		width: calc(100% + 44px);
		aspect-ratio: 702 / 301;
		border-radius: 0;
	}

	body.tkbc-home-gutenberg .tkbc-hp .xmas .xs {
		font-size: 46px;
		line-height: 50px;
	}

body.tkbc-home-gutenberg .tkbc-hp .xmas .xt {
		font-size: 17px;
		line-height: 22px;
		margin: 16px 0 18px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .xmas .btn {
		display: inline-flex;
	}

	/* Blog: cards stack full width; title/excerpt unclamped heights, link rows >= 44 px. */
	body.tkbc-home-gutenberg .tkbc-hp .blog {
		padding: 32px 20px 36px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .blog .h2 {
		text-align: center;
		font-size: 36px;
		line-height: 38px;
		margin-bottom: 12px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .blog .bl {
		font-size: 16px;
		line-height: 24px;
		margin-bottom: 22px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .blog .bgrid,
	body.tkbc-home-gutenberg .tkbc-hp .blog .p.bgrid[style*="--h"] {
		display: grid;
		grid-template-columns: 1fr;
		gap: 18px;
		height: auto;
		margin-bottom: 24px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .blog .bcard {
		border-radius: 14px;
		box-shadow: 0 6px 20px rgba(66, 31, 85, 0.08);
	}

	body.tkbc-home-gutenberg .tkbc-hp .blog .bbody {
		gap: 8px;
		padding: 18px 20px 14px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .blog .bdate {
		font-size: 13px;
		line-height: 18px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .blog .bt {
		font-size: 20px;
		line-height: 26px;
		height: auto;
		-webkit-line-clamp: 3;
	}

	body.tkbc-home-gutenberg .tkbc-hp .blog .bt a {
		display: block;
		padding: 2px 0;
	}

	body.tkbc-home-gutenberg .tkbc-hp .blog .bx {
		font-size: 16px;
		line-height: 24px;
		height: auto;
	}

	body.tkbc-home-gutenberg .tkbc-hp .blog .bmore {
		gap: 10px;
		min-height: 44px;
		padding: 10px 0;
		font-size: 16px;
		line-height: 24px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .blog .bmore .arw {
		width: 24px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .blog .bbtn {
		display: flex;
		width: fit-content;
		margin: 0 auto;
	}

	/* Footer */
	body.tkbc-home-gutenberg .tkbc-hp .foot {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 26px 16px;
		padding: 34px 20px 40px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .flogo {
		grid-column: 1 / -1;
		width: 220px;
		display: block;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .flogo picture {
		width: 220px;
	}

	/* Footer type on phones (1.7.0): 18 px 700 headings, 16 px links as 44 px-tall blocks (24 px line
	   + 10 px padding each side, so the tap target is the whole row), 14 px legal on 22 px lines. */
	body.tkbc-home-gutenberg .tkbc-hp .foot .fh {
		font-size: 18px;
		line-height: 26px;
		margin-bottom: 4px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .fcol ul {
		line-height: 24px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .fcol li {
		height: auto;
		line-height: 24px;
		white-space: normal;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot li a {
		font-size: 16px;
		line-height: 24px;
		height: auto;
		min-height: 44px;
		padding: 10px 0;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .fstay {
		grid-column: 1 / -1;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .fstay p {
		font-size: 16px;
		line-height: 24px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .fstay br {
		display: none;
	}

	body.tkbc-home-gutenberg .tkbc-hp .fform {
		grid-column: 1 / -1;
		display: flex;
		height: 61px;
		border-radius: 14px;
		padding: 3px;
		margin-top: -10px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .fform input {
		font-size: 17px;
		padding: 0 12px 0 18px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .fform button {
		width: 74px;
		height: 55px;
		border-radius: 14px;
	}

	/* Legal bar: full-width rows under the form; extra bottom padding keeps the last line clear of the
	   GHL chat button and its greeting bubble (together ~195 px tall when the page is scrolled to the end). */
	body.tkbc-home-gutenberg .tkbc-hp .foot {
		padding-bottom: 200px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .fsep,
	body.tkbc-home-gutenberg .tkbc-hp .foot .flegal,
	body.tkbc-home-gutenberg .tkbc-hp .foot .fcopy,
	body.tkbc-home-gutenberg .tkbc-hp .foot .fco {
		grid-column: 1 / -1;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .fsep {
		height: 1px;
		margin: 4px 0 -14px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .flegal ul {
		flex-wrap: wrap;
		gap: 0 24px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .flegal li a,
	body.tkbc-home-gutenberg .tkbc-hp .foot .fcopy,
	body.tkbc-home-gutenberg .tkbc-hp .foot .fco {
		font-size: 14px;
		line-height: 22px;
		white-space: normal;
	}

	/* legal links: 22 px line + 11 px padding each side = 44 px tap target */
	body.tkbc-home-gutenberg .tkbc-hp .foot .flegal li a {
		min-height: 44px;
		padding: 11px 0;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .fcopy {
		order: 2;
		text-align: left;
		margin-top: -18px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .fco {
		order: 1;
		margin-top: -18px;
	}

	body.tkbc-home-gutenberg .tkbc-hp .foot .fco a {
		display: inline-block;
		padding: 11px 0;
		margin: -11px 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.tkbc-home-gutenberg .tkbc-hp .btn {
		transition: none;
	}

	/* Book sliders: no auto-advance (JS) and no fade; the dots still switch books instantly. */
	body.tkbc-home-gutenberg .tkbc-hp .sl__i,
	body.tkbc-home-gutenberg .tkbc-hp .sl-dot span {
		transition: none;
	}

	/* Reviews: no marquee; a static row the visitor scrolls themselves (one set only). */
	body.tkbc-home-gutenberg .tkbc-hp .rail {
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
		-webkit-mask-image: none;
		mask-image: none;
	}

	body.tkbc-home-gutenberg .tkbc-hp .track {
		animation: none;
		transform: none;
		will-change: auto;
		padding-left: var(--start);
		padding-right: var(--start);
	}

	body.tkbc-home-gutenberg .tkbc-hp .set[aria-hidden="true"] {
		display: none;
	}

	body.tkbc-home-gutenberg .tkbc-hp .rev {
		scroll-snap-align: start;
	}

	@media (max-width: 900px) {
		body.tkbc-home-gutenberg .tkbc-hp .track {
			padding-left: 0;
			padding-right: 0;
		}
	}
}
