/*
Theme Name: The Perry v4 Editorial
Theme URI: https://theperry.co.uk/
Description: Protected-staging redesign child theme for thePerry.co.uk, built on Twenty Twenty-Five.
Author: thePerry.co.uk
Template: twentytwentyfive
Version: 1.4.11
Text Domain: the-perry-v4
*/

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/inter-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/inter-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Source Serif 4";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/source-serif-4-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Source Serif 4";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/source-serif-4-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	--tp-ivory: #f6f3ed;
	--tp-cream: #eee8de;
	--tp-light: #fffdf9;
	--tp-charcoal: #232522;
	--tp-secondary: #65665f;
	--tp-border: #d8d1c6;
	--tp-brass: #a98249;
	--tp-brass-ink: #7a5b30;
	--tp-brass-light: #d3b278;
	--tp-green: #314638;
	--tp-green-deep: #24372c;
	--tp-oxblood: #7b3e47;
	--tp-heritage-cream: #f3eee4;
	--tp-navy: #2c3e4a;
	--tp-navy-dark: #23343f;
	--tp-blue-grey: #667a86;
	--tp-pale-slate: #e8ecee;
	--tp-serif: "Source Serif 4", Georgia, serif;
	--tp-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--tp-shell: 1240px;
	--tp-reading: 760px;
	--tp-radius: 6px;
	--tp-shadow: 0 24px 60px rgb(35 37 34 / 12%);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	text-size-adjust: 100%;
}

body.tp-v4 {
	margin: 0;
	background-color: #ddd7cd;
	background-image:
		radial-gradient(circle at 12% 5%, rgb(255 253 249 / 72%) 0, transparent 30%),
		radial-gradient(circle at 88% 22%, rgb(169 130 73 / 10%) 0, transparent 26%),
		linear-gradient(135deg, #e9e4db 0%, #d7d0c4 55%, #e4ded4 100%);
	background-attachment: fixed;
	color: var(--tp-charcoal);
	font-family: var(--tp-sans);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

.tp-site-frame {
	position: relative;
	width: min(calc(100% - 40px), 1480px);
	margin: clamp(18px, 2.4vw, 36px) auto clamp(44px, 6vw, 88px);
	background: var(--tp-ivory);
	border: 1px solid rgb(122 91 48 / 14%);
	box-shadow:
		0 2px 3px rgb(35 37 34 / 7%),
		0 18px 46px rgb(35 37 34 / 13%),
		0 48px 110px rgb(35 37 34 / 18%);
}

.tp-is-staging .tp-site-frame {
	margin-top: 18px;
}

.tp-site-frame::after {
	position: absolute;
	z-index: -1;
	right: 14px;
	bottom: -14px;
	left: 14px;
	height: 28px;
	background: rgb(106 91 69 / 12%);
	filter: blur(18px);
	content: "";
	pointer-events: none;
}

body.tp-v4,
body.tp-v4 button,
body.tp-v4 input,
body.tp-v4 textarea,
body.tp-v4 select {
	font-family: var(--tp-sans);
}

body.tp-v4 :where(img) {
	display: block;
	max-width: 100%;
	height: auto;
}

body.tp-v4 :where(figure, blockquote, p, h1, h2, h3, h4, ul, ol, dl) {
	margin-top: 0;
}

body.tp-v4 :where(h1, h2, h3, h4) {
	color: var(--tp-charcoal);
	font-family: var(--tp-serif);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 1.13;
}

body.tp-v4 :where(h1) {
	font-size: clamp(2.65rem, 5vw, 3.55rem);
}

body.tp-v4 :where(h2) {
	font-size: clamp(2rem, 3.5vw, 2.6rem);
}

body.tp-v4 :where(h3) {
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

body.tp-v4 :where(h4) {
	font-size: 1.25rem;
}

body.tp-v4 :where(a) {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

body.tp-v4 :where(a:hover) {
	text-decoration-color: var(--tp-brass);
}

body.tp-v4 :focus-visible {
	outline: 3px solid #0b6e99;
	outline-offset: 4px;
	border-radius: 2px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.screen-reader-text:focus,
.tp-skip-link:focus {
	top: 12px;
	left: 12px;
	z-index: 99999;
	display: block;
	width: auto !important;
	height: auto !important;
	clip: auto !important;
	margin: 0 !important;
	padding: 12px 18px !important;
	background: var(--tp-light);
	color: var(--tp-charcoal);
	font-weight: 700;
}

.tp-shell {
	width: min(100% - 48px, var(--tp-shell));
	margin-inline: auto;
}

.tp-reading-width {
	width: min(100% - 48px, var(--tp-reading));
}

.tp-staging-ribbon {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 32px;
	padding: 5px 24px;
	background: var(--tp-navy-dark);
	color: var(--tp-light);
	font-size: 12px;
	letter-spacing: 0.02em;
	line-height: 1.35;
	text-align: center;
}

.tp-staging-ribbon strong {
	color: #f0cf97;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.tp-site-header {
	position: relative;
	z-index: 50;
	background: rgb(255 253 249 / 96%);
	border-bottom: 1px solid var(--tp-border);
	backdrop-filter: blur(12px);
}

.tp-header__inner {
	display: grid;
	grid-template-columns: 172px minmax(0, 1fr);
	align-items: center;
	min-height: 88px;
	gap: 22px;
}

.tp-brand,
.tp-footer__logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.tp-logo {
	width: 162px;
	max-height: 58px;
	object-fit: contain;
	object-position: left center;
}

.tp-logo-fallback {
	font-family: var(--tp-serif);
	font-size: 1.75rem;
	font-weight: 600;
}

.tp-primary-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
}

.tp-primary-nav ul {
	display: flex;
	align-items: center;
	gap: clamp(12px, 1.45vw, 22px);
	padding: 0;
	margin: 0;
	list-style: none;
}

.tp-primary-nav li {
	margin: 0;
}

.tp-primary-nav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.tp-primary-nav ul a::after {
	position: absolute;
	right: 0;
	bottom: 3px;
	left: 0;
	height: 2px;
	background: var(--tp-brass);
	content: "";
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 180ms ease;
}

.tp-site-header--trips .tp-primary-nav ul a::after {
	background: var(--tp-green);
}

.tp-site-header--ai .tp-primary-nav ul a::after {
	background: var(--tp-navy);
}

.tp-primary-nav ul a:hover::after,
.tp-primary-nav ul a[aria-current="page"]::after {
	transform: scaleX(1);
}

.tp-nav-actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.tp-nav-search {
	display: flex;
	align-items: center;
	border-bottom: 1px solid transparent;
}

.tp-nav-search:focus-within {
	border-bottom-color: var(--tp-charcoal);
}

.tp-nav-search input {
	width: 1px;
	min-width: 0;
	padding: 8px 0;
	border: 0;
	background: transparent;
	opacity: 0;
	transition: width 180ms ease, opacity 180ms ease;
}

.tp-nav-search:focus-within input,
.tp-nav-search:hover input {
	width: 110px;
	opacity: 1;
}

.tp-nav-search button {
	display: grid;
	width: 44px;
	height: 44px;
	padding: 0;
	place-items: center;
	border: 0;
	background: transparent;
	color: var(--tp-charcoal);
	font-size: 21px;
	cursor: pointer;
}

.tp-account-link {
	gap: 8px;
	justify-content: center;
	min-width: 104px;
	padding: 0 15px;
	background: #8b6937;
	color: var(--tp-light) !important;
	font-size: 13px !important;
	font-weight: 650 !important;
}

.tp-account-link svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.tp-account-link:hover {
	background: #72552c;
}

.tp-menu-toggle {
	display: none;
	min-width: 48px;
	min-height: 48px;
	padding: 10px;
	border: 1px solid var(--tp-border);
	background: transparent;
	cursor: pointer;
}

.tp-menu-toggle__icon {
	display: grid;
	width: 22px;
	gap: 6px;
}

.tp-menu-toggle__icon span {
	display: block;
	height: 2px;
	background: currentcolor;
}

.tp-site-main {
	overflow: clip;
}

.tp-eyebrow {
	margin-bottom: 12px;
	color: var(--tp-secondary);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.4;
	text-transform: uppercase;
}

.tp-lede {
	max-width: 690px;
	color: #444842;
	font-size: clamp(1.05rem, 2vw, 1.25rem);
	line-height: 1.62;
}

.tp-lede-small {
	font-size: 1.08rem;
}

.tp-section {
	padding-block: clamp(72px, 8vw, 104px);
}

.tp-section--tight {
	padding-block: clamp(52px, 6vw, 78px);
}

.tp-section--light {
	background: var(--tp-light);
}

.tp-section--cream {
	background: var(--tp-cream);
}

.tp-section--pale {
	background: var(--tp-pale-slate);
}

.tp-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 28px;
	margin-bottom: 34px;
}

.tp-section-heading h2 {
	margin-bottom: 6px;
}

.tp-section-heading p:last-child {
	margin-bottom: 0;
	color: var(--tp-secondary);
}

.tp-text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-size: 14px;
	font-weight: 600;
}

.tp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 12px 20px;
	border: 1px solid var(--tp-charcoal);
	border-radius: 3px;
	background: var(--tp-charcoal);
	color: var(--tp-ivory) !important;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.tp-button:hover {
	background: #080908;
	transform: translateY(-1px);
}

.tp-button--trips {
	border-color: var(--tp-green);
	background: var(--tp-green);
}

.tp-button--trips:hover {
	border-color: var(--tp-green-deep);
	background: var(--tp-green-deep);
}

.tp-button--ai {
	border-color: var(--tp-navy);
	background: var(--tp-navy);
}

.tp-button--ai:hover {
	border-color: var(--tp-navy-dark);
	background: var(--tp-navy-dark);
}

.tp-button--secondary {
	border-color: var(--tp-border);
	background: transparent;
	color: var(--tp-charcoal) !important;
}

.tp-button--secondary:hover {
	border-color: var(--tp-charcoal);
	background: var(--tp-light);
}

.tp-button--light {
	border-color: var(--tp-light);
	background: var(--tp-light);
	color: var(--tp-navy-dark) !important;
}

.tp-button-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
}

.tp-home-hero {
	position: relative;
	background: radial-gradient(circle at 20% 20%, #fffdf9 0, var(--tp-ivory) 60%);
}

.tp-home-hero::before {
	position: absolute;
	top: 0;
	right: 0;
	width: 52%;
	height: 100%;
	background: linear-gradient(90deg, transparent 0%, rgb(255 253 249 / 40%) 100%);
	content: "";
}

.tp-home-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(420px, 0.88fr);
	align-items: stretch;
	min-height: 450px;
	gap: 0;
	padding-block: 0;
}

.tp-home-hero__copy {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 760px;
	padding: 52px clamp(44px, 5.5vw, 72px) 52px 0;
}

.tp-home-hero h1 {
	max-width: 760px;
	margin-bottom: 24px;
	font-size: clamp(2.55rem, 3.9vw, 3.3rem);
}

.tp-home-hero__image {
	position: relative;
	height: auto;
	min-height: 450px;
	margin: 0;
	overflow: hidden;
}

.tp-home-hero__image::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, var(--tp-ivory) 0%, rgb(246 243 237 / 72%) 12%, transparent 42%);
	content: "";
}

.tp-home-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tp-pathways {
	padding-block: clamp(26px, 3.4vw, 46px);
	background: linear-gradient(180deg, #f7f3ec 0%, #eee8de 100%);
	border-block: 1px solid rgb(169 130 73 / 18%);
}

.tp-pathways__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 28px);
	background: transparent;
}

.tp-pathway {
	position: relative;
	display: block;
	min-height: 340px;
	background: var(--tp-light);
	border: 1px solid rgb(92 82 67 / 18%);
	box-shadow: 0 18px 42px rgb(42 39 33 / 12%);
	overflow: hidden;
	isolation: isolate;
	transition: box-shadow 220ms ease, transform 220ms ease;
}

.tp-pathway:hover {
	box-shadow: 0 24px 52px rgb(42 39 33 / 17%);
	transform: translateY(-3px);
}

.tp-pathway__media {
	position: absolute;
	inset: 0;
	min-height: 100%;
	overflow: hidden;
}

.tp-pathway__media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(255 253 249 / 99%) 0%, rgb(255 253 249 / 94%) 38%, rgb(255 253 249 / 62%) 57%, transparent 78%);
	content: "";
}

.tp-pathway--trips .tp-pathway__media::after {
	background: linear-gradient(90deg, rgb(243 238 228 / 99%) 0%, rgb(243 238 228 / 94%) 38%, rgb(243 238 228 / 62%) 57%, transparent 78%);
}

.tp-pathway__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tp-pathway__copy {
	position: relative;
	z-index: 2;
	display: flex;
	width: min(64%, 390px);
	min-height: 340px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(30px, 3.3vw, 42px);
	background: transparent;
}

.tp-pathway--trips .tp-pathway__copy {
	background: transparent;
}

.tp-pathway h2 {
	margin-bottom: 14px;
	font-size: clamp(1.72rem, 2.35vw, 2.15rem);
}

.tp-pathway p:not(.tp-eyebrow) {
	margin-bottom: 22px;
	font-size: 15px;
}

.tp-home-reading {
	position: relative;
	border-top: 0;
}

.tp-home-reading::before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 74px;
	height: 2px;
	background: var(--tp-brass);
	content: "";
	transform: translateX(-50%);
}

.tp-card-grid {
	display: grid;
	gap: 26px;
}

.tp-card-grid--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tp-card-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tp-card-grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tp-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	border: 1px solid var(--tp-border);
	border-radius: 3px;
	background: var(--tp-light);
	box-shadow: 0 10px 24px rgb(42 39 33 / 7%);
	overflow: hidden;
	transition: box-shadow 200ms ease, transform 200ms ease;
}

.tp-card:hover {
	box-shadow: 0 17px 34px rgb(42 39 33 / 12%);
	transform: translateY(-2px);
}

.tp-card__image {
	display: block;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--tp-cream);
}

.tp-card__image img,
.tp-image-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.tp-image-placeholder {
	background: linear-gradient(135deg, var(--tp-cream), var(--tp-pale-slate));
}

.tp-card:hover .tp-card__image img {
	transform: scale(1.025);
}

.tp-card__body {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 22px;
}

.tp-card__title {
	display: -webkit-box;
	overflow: hidden;
	margin-bottom: 12px;
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.tp-card-grid--archive {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tp-card-grid--archive .tp-card {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	min-height: 190px;
}

.tp-card-grid--archive .tp-card__image {
	height: 100%;
	aspect-ratio: auto;
}

.tp-card-grid--archive .tp-card__body {
	padding: 20px;
}

.tp-card-grid--archive .tp-card__title {
	font-size: 1.28rem;
}

.tp-card-grid--archive .tp-card__excerpt {
	-webkit-line-clamp: 2;
}

.tp-card__title a {
	text-decoration: none;
}

.tp-card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin-bottom: 18px;
	color: var(--tp-secondary);
	font-size: 14px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.tp-card__link {
	display: grid;
	width: 44px;
	height: 44px;
	margin-top: auto;
	place-items: center;
	border-bottom: 1px solid var(--tp-charcoal);
	font-size: 19px;
	text-decoration: none;
}

.tp-featured-guide {
	background: var(--tp-cream);
}

.tp-featured-guide__grid {
	display: grid;
	grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.35fr) minmax(210px, 0.65fr);
	align-items: center;
	gap: clamp(36px, 6vw, 76px);
}

.tp-guide-book {
	display: block;
	width: min(100%, 300px);
	margin: 0 auto;
	text-decoration: none;
}

.tp-guide-book img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.tp-guide-book--featured {
	width: min(100%, 320px);
}

.tp-guide-book--medium {
	width: min(100%, 245px);
}

.tp-guide-book--large {
	width: min(100%, 400px);
}

.tp-guide-book--featured img,
.tp-guide-book--medium img,
.tp-guide-book--large img {
	filter: drop-shadow(0 22px 24px rgb(23 31 36 / 17%));
}

.tp-guide-book--lite {
	position: relative;
	isolation: isolate;
	width: min(100%, 300px);
	aspect-ratio: 0.675;
}

.tp-guide-book--lite img {
	position: absolute;
	top: 0;
	left: 0;
	width: 149.25%;
	max-width: none;
	height: auto;
	clip-path: polygon(18% 10%, 85% 9%, 84% 88%, 18% 91%);
	filter: drop-shadow(0 18px 18px rgb(35 37 34 / 16%));
	transform: translate(-18%, -9%);
	transform-origin: top left;
}

.tp-featured-guide__copy h2 {
	margin-bottom: 18px;
}

.tp-check-list {
	display: grid;
	gap: 10px;
	padding: 0;
	margin-bottom: 26px;
	list-style: none;
}

.tp-check-list li {
	position: relative;
	padding-left: 30px;
}

.tp-check-list li::before {
	position: absolute;
	top: 0.18em;
	left: 0;
	display: grid;
	width: 20px;
	height: 20px;
	place-items: center;
	border-radius: 50%;
	background: var(--tp-navy);
	color: var(--tp-light);
	content: "✓";
	font-size: 11px;
	font-weight: 700;
}

.tp-featured-guide__quote {
	padding-left: 30px;
	margin: 0;
	border-left: 1px solid var(--tp-border);
}

.tp-featured-guide__quote p {
	font-family: var(--tp-serif);
	font-size: 1.35rem;
	font-style: italic;
	line-height: 1.4;
}

.tp-featured-guide__quote cite {
	color: var(--tp-secondary);
	font-size: 11px;
	font-style: normal;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.tp-lite-feature {
	background: var(--tp-light);
}

.tp-lite-feature__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(260px, 0.68fr) minmax(0, 0.92fr);
	align-items: center;
	gap: clamp(30px, 4vw, 58px);
}

.tp-lite-feature__cover {
	display: block;
	width: min(100%, 320px);
	margin: 0;
	justify-self: center;
	text-decoration: none;
}

.tp-lite-feature__cover img,
.tp-preview-grid figure img,
.tp-lite-hero figure img {
	height: auto;
}

.tp-lite-feature__list {
	padding: 30px;
	border: 1px solid rgb(169 130 73 / 12%);
	background: var(--tp-ivory);
	box-shadow: 0 14px 32px rgb(42 39 33 / 7%);
}

.tp-lite-feature__list h3 {
	font-size: 1.35rem;
}

.tp-staging-note {
	padding: 12px 14px;
	margin-top: 18px;
	border-left: 3px solid var(--tp-brass);
	background: rgb(169 130 73 / 10%);
	color: #554329;
	font-size: 13px;
}

.tp-inline-form-preview {
	max-width: 590px;
	margin-block: 24px 0;
}

.tp-inline-form-preview label {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 700;
}

.tp-inline-form-preview > div {
	display: flex;
}

.tp-inline-form-preview input,
.tp-inline-form-preview button {
	min-height: 50px;
	border-radius: 0;
	font: inherit;
}

.tp-inline-form-preview input {
	min-width: 0;
	flex: 1;
	padding: 12px 15px;
	border: 1px solid var(--tp-border);
	background: #f7f7f4;
	color: var(--tp-secondary);
}

.tp-inline-form-preview button {
	padding-inline: 19px;
	border: 1px solid #87949b;
	background: #87949b;
	color: white;
	font-size: 13px;
	font-weight: 700;
}

.tp-inline-form-preview :disabled {
	cursor: not-allowed;
	opacity: 0.82;
}

.tp-department-rail {
	display: grid;
	grid-template-columns: minmax(250px, 1.7fr) repeat(5, minmax(105px, 0.7fr));
	margin-top: 58px;
	border-block: 1px solid var(--tp-border);
}

.tp-department-rail__intro,
.tp-department-rail > a {
	padding: 25px 22px;
}

.tp-department-rail__intro {
	padding-left: 0;
}

.tp-department-rail__intro h3 {
	margin-bottom: 9px;
	font-size: 1.45rem;
}

.tp-department-rail__intro p:last-child {
	margin: 0;
	color: var(--tp-secondary);
	font-size: 13px;
}

.tp-department-rail > a {
	display: flex;
	min-height: 138px;
	flex-direction: column;
	justify-content: space-between;
	border-left: 1px solid var(--tp-border);
	font-size: 13px;
	text-decoration: none;
}

.tp-department-rail > a:hover {
	background: var(--tp-cream);
}

.tp-department-rail > a span {
	color: var(--tp-brass-ink);
	font-family: var(--tp-serif);
	font-size: 1.45rem;
}

.tp-outward {
	position: relative;
	background:
		radial-gradient(ellipse at 84% 60%, rgb(49 70 56 / 7%) 0%, transparent 42%),
		linear-gradient(100deg, var(--tp-ivory) 0%, #fbf9f4 66%, var(--tp-cream) 100%);
}

.tp-outward__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, 0.78fr);
	align-items: center;
	gap: clamp(42px, 6vw, 88px);
}

.tp-outward__quote {
	font-family: var(--tp-serif);
	font-size: 1.25rem;
	font-style: italic;
}

.tp-outward__mark {
	color: var(--tp-green);
	font-family: var(--tp-serif);
	font-size: 11rem;
	line-height: 0.6;
	opacity: 0.13;
	text-align: center;
}

.tp-outward__landscape {
	width: min(100%, 620px);
	height: auto;
	justify-self: end;
	opacity: 0.82;
	filter: drop-shadow(0 12px 18px rgb(49 70 56 / 8%));
	mix-blend-mode: multiply;
}

.tp-trust {
	border-top: 1px solid var(--tp-border);
}

.tp-trust__grid,
.tp-split-copy,
.tp-about-intro {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr) auto;
	align-items: center;
	gap: clamp(28px, 5vw, 72px);
}

.tp-about-intro,
.tp-split-copy {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.tp-hub-hero {
	padding-block: 32px 0;
	background: var(--tp-light);
}

.tp-hub-hero__frame {
	position: relative;
	min-height: 460px;
	overflow: hidden;
}

.tp-hub-hero__frame > img.tp-hub-hero__image {
	width: 100%;
	height: 460px;
	object-fit: cover;
	object-position: center 56%;
}

.tp-hub-hero__frame::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(25 38 30 / 28%) 0%, transparent 68%);
	content: "";
}

.tp-hub-hero__panel {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: clamp(24px, 5vw, 70px);
	width: min(470px, calc(100% - 48px));
	padding: clamp(30px, 4vw, 48px);
	background: rgb(246 243 237 / 94%);
	transform: translateY(-50%);
}

.tp-hub-hero__panel h1 {
	margin-bottom: 18px;
}

.tp-category-band {
	padding-block: 54px 64px;
	background: var(--tp-green);
	color: var(--tp-light);
}

.tp-section-heading--inverse h2,
.tp-section-heading--inverse .tp-eyebrow {
	color: var(--tp-light);
}

.tp-category-band__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}

.tp-category-band__grid a {
	display: flex;
	min-height: 104px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid rgb(255 253 249 / 20%);
	color: var(--tp-light);
	font-size: 13px;
	text-align: center;
	text-decoration: none;
}

.tp-category-band__grid a:hover {
	background: var(--tp-green-deep);
}

.tp-category-band__grid span {
	font-family: var(--tp-serif);
	font-size: 2rem;
}

.tp-destination__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
	align-items: stretch;
	min-height: 410px;
	gap: 0;
	background: var(--tp-light);
}

.tp-destination figure,
.tp-destination blockquote {
	margin: 0;
}

.tp-destination figure {
	position: relative;
	overflow: hidden;
}

.tp-destination figure::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent 66%, var(--tp-light) 100%);
	content: "";
}

.tp-destination figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tp-destination__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(38px, 5vw, 66px);
}

.tp-destination__copy blockquote {
	padding: 22px 0 0;
	margin-top: 30px;
	border-top: 1px solid var(--tp-border);
	font-family: var(--tp-serif);
	font-size: 1.08rem;
	font-style: italic;
}

.tp-ai-hero {
	background: linear-gradient(105deg, var(--tp-pale-slate), var(--tp-light));
}

.tp-ai-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
	align-items: stretch;
	min-height: 500px;
}

.tp-ai-hero__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(56px, 8vw, 104px) clamp(20px, 6vw, 82px) clamp(56px, 8vw, 104px) 0;
}

.tp-ai-hero__image {
	margin: 0;
}

.tp-ai-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tp-guide-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(300px, 0.7fr);
	gap: 28px;
}

.tp-guide-feature {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	align-items: center;
	gap: 32px;
	min-height: 410px;
	padding: clamp(32px, 4vw, 52px);
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
	box-shadow: 0 16px 38px rgb(42 39 33 / 8%);
}

.tp-guide-feature--lite {
	grid-template-columns: 1fr;
	align-content: center;
	min-height: 410px;
	padding: 34px;
	background: var(--tp-pale-slate);
}

.tp-guide-feature__lite-cover {
	display: block;
	width: min(100%, 225px);
	margin-inline: auto;
	text-decoration: none;
}

.tp-check-list--compact {
	gap: 7px;
	font-size: 14px;
}

.tp-mini-list {
	padding-left: 20px;
	font-size: 14px;
}

.tp-principles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}

.tp-principles article {
	padding-top: 24px;
	border-top: 1px solid var(--tp-border);
}

.tp-principles article > span,
.tp-resource-list article > span {
	color: var(--tp-brass-ink);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.tp-account-cta,
.tp-product-final {
	padding-block: 70px;
	background: var(--tp-navy);
	color: var(--tp-light);
}

.tp-account-cta h2,
.tp-product-final h2,
.tp-account-cta .tp-eyebrow,
.tp-product-final .tp-eyebrow {
	color: var(--tp-light);
}

.tp-account-cta__inner,
.tp-product-final__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
}

.tp-account-cta__inner > div,
.tp-product-final__inner > div {
	max-width: 780px;
}

.tp-page-hero {
	padding-block: clamp(62px, 7vw, 88px);
	border-bottom: 1px solid var(--tp-border);
	background: var(--tp-cream);
}

.tp-page-hero--ai {
	background: var(--tp-pale-slate);
}

.tp-page-hero--professional {
	background: linear-gradient(110deg, var(--tp-pale-slate), var(--tp-light));
}

.tp-page-hero--journal {
	background: linear-gradient(110deg, var(--tp-ivory), var(--tp-light));
}

.tp-page-hero--kitchen {
	background: var(--tp-heritage-cream);
}

.tp-page-hero--about {
	background: linear-gradient(110deg, var(--tp-ivory), var(--tp-light));
}

.tp-page-hero--faded {
	padding-block: 0;
	overflow: hidden;
}

.tp-page-hero--faded .tp-page-hero__grid {
	grid-template-columns: minmax(0, 1.04fr) minmax(420px, 0.96fr);
	align-items: stretch;
	min-height: 460px;
	gap: 0;
}

.tp-page-hero--faded .tp-page-hero__copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(62px, 7vw, 88px) clamp(50px, 7vw, 92px) clamp(62px, 7vw, 88px) 0;
}

.tp-page-hero--faded .tp-page-hero__grid figure {
	position: relative;
	height: auto;
	min-height: 460px;
}

.tp-page-hero--faded .tp-page-hero__grid figure::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, var(--tp-ivory) 0, rgb(246 243 237 / 62%) 13%, transparent 43%);
	content: "";
}

.tp-page-hero--kitchen.tp-page-hero--faded .tp-page-hero__grid figure::after {
	background: linear-gradient(90deg, var(--tp-heritage-cream) 0, rgb(243 238 228 / 64%) 13%, transparent 43%);
}

.tp-page-hero--simple {
	padding-block: 70px;
}

.tp-page-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.78fr);
	align-items: center;
	gap: clamp(40px, 7vw, 94px);
}

.tp-page-hero__grid figure {
	margin: 0;
	height: 300px;
	overflow: hidden;
}

.tp-page-hero__grid figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tp-page-hero__aside {
	padding: 28px 0 28px 36px;
	border-left: 1px solid var(--tp-brass);
}

.tp-page-hero__aside span {
	display: block;
	font-family: var(--tp-serif);
	font-size: 4.25rem;
	line-height: 1;
}

.tp-editorial-intro,
.tp-trips-intro,
.tp-kitchen-intro,
.tp-editorial-feature,
.tp-subject-band__inner,
.tp-ai-at-home-feature__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
	align-items: start;
	gap: clamp(38px, 7vw, 92px);
}

.tp-editorial-intro__copy > p,
.tp-kitchen-intro > div > p,
.tp-trips-intro > div > p {
	max-width: 760px;
}

.tp-editorial-intro__copy blockquote {
	padding: 22px 26px;
	margin: 30px 0 0;
	border-left: 3px solid var(--tp-brass);
	background: var(--tp-cream);
	font-family: var(--tp-serif);
	font-size: 1.2rem;
	font-style: italic;
}

.tp-editorial-routes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 4vw, 46px);
}

.tp-editorial-routes--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
}

.tp-editorial-routes article {
	padding-top: 24px;
	border-top: 1px solid var(--tp-border);
}

.tp-editorial-routes article > span {
	display: block;
	margin-bottom: 18px;
	color: var(--tp-brass-ink);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.tp-editorial-routes h3 {
	margin-bottom: 12px;
}

.tp-editorial-routes p {
	color: var(--tp-secondary);
	font-size: 15px;
}

.tp-ai-resource-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid #cbd2d6;
	border-left: 1px solid #cbd2d6;
}

.tp-ai-resource-grid article {
	min-height: 210px;
	padding: 28px;
	border-right: 1px solid #cbd2d6;
	border-bottom: 1px solid #cbd2d6;
	background: rgb(255 255 255 / 42%);
}

.tp-ai-resource-grid span,
.tp-kitchen-mood-grid > article > span {
	display: block;
	margin-bottom: 22px;
	color: var(--tp-brass-ink);
	font-family: var(--tp-serif);
	font-size: 1.75rem;
}

.tp-ai-resource-grid h3 {
	font-size: 1.28rem;
}

.tp-ai-resource-grid p {
	margin-bottom: 0;
	color: var(--tp-secondary);
	font-size: 14px;
}

.tp-ai-decision-section {
	background: var(--tp-navy-dark);
	color: var(--tp-light);
}

.tp-ai-decision-layout {
	display: grid;
	grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
	align-items: start;
	gap: clamp(48px, 8vw, 110px);
}

.tp-ai-decision-intro {
	position: sticky;
	top: 32px;
}

.tp-ai-decision-section h2,
.tp-ai-decision-section h3,
.tp-ai-decision-section .tp-eyebrow {
	color: var(--tp-light);
}

.tp-ai-decision-intro > p:last-child,
.tp-decision-path p {
	color: #cfd6d9;
}

.tp-decision-path article {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 24px;
	padding: 30px 0;
	border-top: 1px solid rgb(255 255 255 / 22%);
}

.tp-decision-path article:first-child {
	padding-top: 0;
	border-top: 0;
}

.tp-decision-path span {
	color: var(--tp-brass-light);
	font-family: var(--tp-serif);
	font-size: 2.2rem;
	line-height: 1;
}

.tp-decision-path h3 {
	margin-bottom: 9px;
}

.tp-decision-path p {
	margin-bottom: 0;
}

.tp-ai-principles {
	background: var(--tp-ivory);
}

.tp-text-link--light {
	color: var(--tp-light) !important;
}

.tp-subject-band {
	padding-block: clamp(58px, 7vw, 82px);
	background: var(--tp-navy-dark);
	color: var(--tp-light);
}

.tp-subject-band__inner {
	grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.3fr);
	align-items: center;
}

.tp-subject-band h2,
.tp-subject-band .tp-eyebrow {
	color: var(--tp-light);
}

.tp-subject-band ul {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: 0;
	margin: 0;
	list-style: none;
}

.tp-subject-band li {
	display: flex;
	min-height: 74px;
	align-items: center;
	justify-content: center;
	padding: 14px;
	border: 1px solid rgb(255 253 249 / 18%);
	color: #e7e9e7;
	font-size: 13px;
	text-align: center;
}

.tp-notice-panel {
	display: grid;
	grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
	align-items: start;
	gap: clamp(32px, 6vw, 76px);
	padding: clamp(32px, 5vw, 56px);
	border-top: 4px solid var(--tp-navy);
	background: var(--tp-light);
}

.tp-notice-panel > p {
	margin: 0;
	color: var(--tp-secondary);
}

.tp-notice-panel--kitchen {
	border-top-color: var(--tp-oxblood);
	background: var(--tp-heritage-cream);
}

.tp-journal-crossroads {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(28px, 5vw, 58px);
}

.tp-journal-crossroads article {
	padding: clamp(28px, 4vw, 44px);
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
}

.tp-journal-crossroads article:last-child {
	background: var(--tp-heritage-cream);
}

.tp-kitchen-intro {
	grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1.45fr);
	align-items: center;
}

.tp-kitchen-intro blockquote {
	padding: 44px 28px;
	margin: 0;
	border-block: 1px solid var(--tp-oxblood);
	color: var(--tp-oxblood);
	font-family: var(--tp-serif);
	font-size: clamp(2.4rem, 5vw, 4.5rem);
	font-style: italic;
	line-height: 1;
	text-align: center;
}

.tp-kitchen-intro blockquote p {
	margin: 0;
}

.tp-kitchen-closing {
	background: linear-gradient(110deg, #efe5da, var(--tp-heritage-cream));
}

.tp-button--kitchen {
	background: var(--tp-oxblood);
	color: var(--tp-light) !important;
}

.tp-button--kitchen:hover {
	background: #63313a;
}

.tp-kitchen-mood-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.tp-kitchen-mood-grid article {
	display: flex;
	min-height: 330px;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(28px, 4vw, 42px);
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
}

.tp-kitchen-mood-grid .tp-text-link {
	margin-top: auto;
}

.tp-kitchen-practical {
	background: var(--tp-oxblood);
	color: #fff8f3;
}

.tp-kitchen-practical__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	align-items: start;
	gap: clamp(48px, 8vw, 110px);
}

.tp-kitchen-practical h2,
.tp-kitchen-practical .tp-eyebrow,
.tp-kitchen-practical strong {
	color: #fff8f3;
}

.tp-kitchen-practical__layout > div:first-child > p:last-child,
.tp-kitchen-notes p {
	color: #ead8d7;
}

.tp-kitchen-notes article {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 24px;
	padding: 24px 0;
	border-top: 1px solid rgb(255 255 255 / 25%);
}

.tp-kitchen-notes article:first-child {
	padding-top: 0;
	border-top: 0;
}

.tp-kitchen-notes p {
	margin: 0;
}

.tp-journal-ledger {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--tp-border);
	border-left: 1px solid var(--tp-border);
}

.tp-journal-ledger article {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 24px;
	min-height: 200px;
	padding: clamp(28px, 4vw, 42px);
	border-right: 1px solid var(--tp-border);
	border-bottom: 1px solid var(--tp-border);
	background: rgb(255 253 249 / 64%);
}

.tp-journal-ledger article > span {
	color: var(--tp-brass-ink);
	font-family: var(--tp-serif);
	font-size: 2rem;
}

.tp-journal-ledger p {
	margin: 0;
	color: var(--tp-secondary);
}

.tp-image-route-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.tp-image-route-grid > a {
	display: flex;
	min-width: 0;
	flex-direction: column;
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
	text-decoration: none;
}

.tp-image-route-grid__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.tp-image-route-grid__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.tp-image-route-grid > a:hover .tp-image-route-grid__media img {
	transform: scale(1.025);
}

.tp-image-route-grid__copy {
	display: flex;
	min-height: 170px;
	flex-direction: column;
	align-items: flex-start;
	padding: 24px;
}

.tp-image-route-grid__copy small {
	margin-bottom: 8px;
	color: var(--tp-secondary);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.tp-image-route-grid__copy strong {
	font-family: var(--tp-serif);
	font-size: 1.5rem;
	font-weight: 500;
}

.tp-image-route-grid__copy em {
	margin-top: auto;
	color: var(--tp-secondary);
	font-size: 13px;
	font-style: normal;
}

.tp-about-method__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	align-items: start;
	gap: clamp(48px, 8vw, 110px);
}

.tp-method-steps {
	padding: 0;
	margin: 0;
	list-style: none;
}

.tp-method-steps li {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 24px;
	padding: 28px 0;
	border-top: 1px solid var(--tp-border);
}

.tp-method-steps li:first-child {
	padding-top: 0;
	border-top: 0;
}

.tp-method-steps li > span {
	color: var(--tp-brass-ink);
	font-family: var(--tp-serif);
	font-size: 2rem;
}

.tp-method-steps p {
	margin: 0;
	color: var(--tp-secondary);
}

.tp-about-contact {
	padding-block: clamp(66px, 8vw, 94px);
	background: var(--tp-navy-dark);
	color: var(--tp-light);
}

.tp-about-contact__inner {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(30px, 5vw, 64px);
}

.tp-about-contact h2,
.tp-about-contact .tp-eyebrow {
	color: var(--tp-light);
}

.tp-about-contact__mark {
	display: grid;
	width: 76px;
	height: 76px;
	place-items: center;
	border: 1px solid rgb(255 255 255 / 35%);
	border-radius: 50%;
	color: var(--tp-brass-light);
	font-family: var(--tp-serif);
	font-size: 2rem;
}

.tp-journey-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--tp-border);
	border-left: 1px solid var(--tp-border);
}

.tp-journey-steps article {
	min-height: 300px;
	padding: clamp(28px, 4vw, 42px);
	border-right: 1px solid var(--tp-border);
	border-bottom: 1px solid var(--tp-border);
	background: rgb(255 253 249 / 58%);
}

.tp-journey-steps article > span {
	display: inline-block;
	padding-bottom: 8px;
	margin-bottom: 28px;
	border-bottom: 2px solid var(--tp-green);
	color: var(--tp-green-deep);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.tp-trips-intro {
	grid-template-columns: minmax(190px, 0.55fr) minmax(0, 1.45fr);
}

.tp-trips-intro > .tp-eyebrow {
	padding-top: 10px;
}

.tp-editorial-feature {
	grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.72fr);
	align-items: center;
}

.tp-field-notes {
	padding: clamp(28px, 4vw, 44px);
	background: var(--tp-green);
	color: var(--tp-light);
}

.tp-field-notes .tp-eyebrow,
.tp-field-notes dt,
.tp-field-notes dd {
	color: var(--tp-light);
}

.tp-field-notes dl {
	margin: 0;
}

.tp-field-notes dl > div {
	display: grid;
	grid-template-columns: 78px minmax(0, 1fr);
	gap: 16px;
	padding-block: 14px;
	border-top: 1px solid rgb(255 253 249 / 25%);
}

.tp-field-notes dt {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tp-field-notes dd {
	margin: 0;
	font-family: var(--tp-serif);
	font-size: 1.05rem;
}

.tp-question-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.tp-question-grid article {
	padding: 28px;
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
}

.tp-question-grid article > span {
	display: block;
	margin-bottom: 22px;
	color: var(--tp-blue-grey);
	font-family: var(--tp-serif);
	font-size: 1.7rem;
}

.tp-question-grid h3 {
	margin-bottom: 10px;
}

.tp-question-grid p {
	margin: 0;
	color: var(--tp-secondary);
	font-size: 14px;
}

.tp-ai-at-home-feature {
	background: linear-gradient(112deg, var(--tp-pale-slate), var(--tp-light));
}

.tp-ai-at-home-feature__grid {
	grid-template-columns: minmax(210px, 0.55fr) minmax(0, 1.45fr);
	align-items: center;
}

.tp-ai-at-home-feature figure {
	width: min(100%, 270px);
	margin: 0 auto;
	filter: drop-shadow(0 20px 20px rgb(35 37 34 / 16%));
}

.tp-ai-at-home-feature figure img {
	width: 100%;
}

.tp-contact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.tp-contact-grid article {
	padding: clamp(28px, 4vw, 44px);
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
}

.tp-contact-grid article:last-child {
	grid-column: 1 / -1;
}

.tp-contact-grid h2 {
	font-size: 1.8rem;
}

.tp-contact-stage {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.75fr);
	align-items: center;
	gap: 56px;
}

.tp-status-card {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	gap: 8px 12px;
	padding: 28px;
	border: 1px solid #bfc8cd;
	background: var(--tp-light);
}

.tp-status-card p {
	grid-column: 2;
	margin-bottom: 16px;
	color: var(--tp-secondary);
	font-size: 14px;
}

.tp-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 36px;
	color: var(--tp-secondary);
	font-size: 12px;
}

.tp-breadcrumb a {
	min-height: 30px;
	line-height: 30px;
}

.tp-product-hero {
	padding-block: 32px clamp(72px, 9vw, 116px);
	background: linear-gradient(110deg, var(--tp-pale-slate), var(--tp-light));
}

.tp-product-hero__grid {
	display: grid;
	grid-template-columns: minmax(300px, 0.75fr) minmax(0, 1.25fr);
	align-items: center;
	gap: clamp(48px, 8vw, 110px);
}

.tp-product-hero__copy h1 {
	margin-bottom: 24px;
}

.tp-product-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block: 30px;
	border-block: 1px solid #bfc8cd;
}

.tp-product-facts div {
	padding: 18px 18px 18px 0;
	border-bottom: 1px solid #cbd2d6;
}

.tp-product-facts div:nth-last-child(-n + 2) {
	border-bottom: 0;
}

.tp-product-facts dt {
	color: var(--tp-secondary);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.tp-product-facts dd {
	margin: 6px 0 0;
	font-weight: 600;
}

.tp-product-action {
	display: flex;
	align-items: center;
	gap: 20px;
}

.tp-product-action p {
	max-width: 300px;
	margin: 0;
	color: var(--tp-secondary);
	font-size: 12px;
}

.tp-product-action .tpdp-buy {
	margin: 0;
}

.tp-product-action .tpdp-buy-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	border: 1px solid var(--tp-navy);
	border-radius: 3px;
	background: var(--tp-navy);
	color: var(--tp-light) !important;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.tp-product-action .tpdp-buy-button:hover {
	border-color: var(--tp-navy-dark);
	background: var(--tp-navy-dark);
	transform: translateY(-1px);
}

.tp-product-columns {
	display: grid;
	grid-template-columns: minmax(280px, 0.65fr) minmax(0, 1.35fr);
	align-items: start;
	gap: clamp(48px, 8vw, 110px);
}

.tp-purchase-section {
	background:
		linear-gradient(125deg, rgb(255 253 249 / 96%), rgb(239 234 224 / 94%)),
		var(--tp-cream);
}

.tp-purchase-heading {
	align-items: end;
	margin-bottom: clamp(34px, 5vw, 56px);
}

.tp-purchase-heading > p {
	max-width: 520px;
	margin: 0;
	color: var(--tp-secondary);
}

.tp-purchase-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 0;
	margin: 0;
	border-top: 1px solid var(--tp-border);
	border-left: 1px solid var(--tp-border);
	list-style: none;
}

.tp-purchase-steps li {
	min-height: 390px;
	padding: clamp(28px, 4vw, 44px);
	border-right: 1px solid var(--tp-border);
	border-bottom: 1px solid var(--tp-border);
	background: rgb(255 253 249 / 74%);
}

.tp-purchase-steps li:nth-child(2) {
	background: rgb(239 243 245 / 74%);
}

.tp-purchase-steps li:nth-child(3) {
	background: rgb(225 214 194 / 42%);
}

.tp-purchase-steps li > span {
	display: block;
	margin-bottom: 42px;
	color: var(--tp-brass-ink);
	font-family: var(--tp-serif);
	font-size: 2.15rem;
	line-height: 1;
}

.tp-purchase-steps h3 {
	margin-bottom: 16px;
	font-size: clamp(1.55rem, 2.3vw, 2rem);
}

.tp-purchase-steps p {
	color: var(--tp-secondary);
	font-size: 14px;
	line-height: 1.7;
}

.tp-purchase-steps__note {
	padding-top: 16px;
	border-top: 1px solid rgb(138 112 69 / 34%);
	color: var(--tp-charcoal) !important;
	font-size: 12px !important;
}

.tp-refund-panel {
	display: grid;
	grid-template-columns: minmax(260px, 0.58fr) minmax(0, 1.42fr);
	gap: clamp(36px, 7vw, 94px);
	padding: clamp(34px, 5vw, 58px);
	border-right: 1px solid var(--tp-border);
	border-bottom: 1px solid var(--tp-border);
	border-left: 1px solid var(--tp-border);
	background: var(--tp-navy-dark);
	color: var(--tp-light);
}

.tp-refund-panel h3,
.tp-refund-panel .tp-eyebrow {
	color: var(--tp-light);
}

.tp-refund-panel h3 {
	margin-bottom: 0;
	font-size: clamp(1.85rem, 3vw, 2.55rem);
}

.tp-refund-panel p {
	color: #d7dcde;
	font-size: 14px;
	line-height: 1.75;
}

.tp-refund-panel p:last-child {
	margin-bottom: 0;
}

.tp-refund-panel a {
	color: var(--tp-light);
	font-weight: 700;
	text-decoration-color: var(--tp-brass-light);
	text-underline-offset: 3px;
}

.tp-resource-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 32px;
}

.tp-resource-list article {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr);
	gap: 14px;
	padding-block: 24px;
	border-top: 1px solid var(--tp-border);
}

.tp-resource-list h3 {
	margin-bottom: 8px;
	font-size: 1.3rem;
}

.tp-resource-list p {
	margin: 0;
	color: var(--tp-secondary);
	font-size: 14px;
}

.tp-preview-grid,
.tp-delivery-preview {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(230px, 0.55fr);
	align-items: center;
	gap: clamp(48px, 8vw, 100px);
}

.tp-download-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 28px;
}

.tp-download-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(30px, 4vw, 48px);
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
	box-shadow: 0 16px 38px rgb(42 39 33 / 7%);
}

.tp-download-card--pack {
	background: var(--tp-pale-slate);
}

.tp-download-card h3 {
	font-size: clamp(1.6rem, 2.6vw, 2.15rem);
}

.tp-download-card .tp-check-list {
	margin-bottom: 28px;
}

.tp-download-card .tp-button {
	margin-top: auto;
}

.tp-lite-hero__grid {
	display: grid;
	grid-template-columns: minmax(300px, 0.68fr) minmax(0, 1.32fr);
	align-items: center;
	gap: clamp(48px, 7vw, 92px);
}

.tp-preview-grid figure {
	width: min(100%, 340px);
	margin: 0 auto;
	filter: drop-shadow(0 24px 24px rgb(35 37 34 / 15%));
}

.tp-lite-hero figure {
	width: min(100%, 410px);
	margin: 0 auto;
	filter: drop-shadow(0 24px 24px rgb(35 37 34 / 15%));
}

.tp-faq {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 32px;
}

.tp-faq details {
	padding: 22px 0;
	border-top: 1px solid var(--tp-border);
}

.tp-faq summary {
	cursor: pointer;
	font-family: var(--tp-serif);
	font-size: 1.25rem;
	font-weight: 600;
}

.tp-faq details p {
	margin: 16px 0 0;
	color: var(--tp-secondary);
}

.tp-lite-hero {
	padding-block: 32px clamp(72px, 9vw, 116px);
	background: linear-gradient(115deg, var(--tp-light), var(--tp-pale-slate));
}

.tp-lite-hero__grid {
	grid-template-columns: minmax(230px, 0.55fr) minmax(0, 1.25fr);
}

.tp-lite-hero--home {
	background: linear-gradient(115deg, var(--tp-ivory), var(--tp-pale-slate));
}

.tp-form-preview {
	display: grid;
	gap: 9px;
	padding: clamp(28px, 4vw, 42px);
	border: 1px solid #bfc8cd;
	background: var(--tp-light);
}

.tp-form-preview label {
	font-size: 13px;
	font-weight: 700;
}

.tp-form-preview label span {
	color: var(--tp-secondary);
	font-weight: 400;
}

.tp-input-preview {
	min-height: 50px;
	padding: 13px 15px;
	margin-bottom: 8px;
	border: 1px solid var(--tp-border);
	background: #f6f6f4;
	color: #8a8d88;
}

.tp-check-preview {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 10px;
}

.tp-check-preview span {
	width: 20px;
	height: 20px;
	margin-top: 3px;
	border: 1px solid #9ca3a7;
}

.tp-check-preview p {
	margin: 0;
	font-size: 13px;
}

.tp-form-preview button {
	min-height: 50px;
	border: 0;
	background: #9aa6ad;
	color: white;
	font-weight: 700;
}

.tp-form-preview small {
	color: var(--tp-secondary);
	line-height: 1.5;
}

.tp-comparison {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 24px;
}

.tp-comparison article {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(30px, 5vw, 52px);
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
}

.tp-comparison article.is-featured {
	border-top: 4px solid var(--tp-navy);
}

.tp-comparison ul {
	padding-left: 21px;
	margin-bottom: 26px;
}

.tp-price {
	display: block;
	margin-top: auto;
	margin-bottom: 20px;
	font-family: var(--tp-serif);
	font-size: 2.3rem;
}

.tp-account-hero,
.tp-legal-hero {
	padding-block: 70px;
	background: var(--tp-pale-slate);
	border-bottom: 1px solid #cbd2d6;
}

.tp-legal-hero {
	background: var(--tp-cream);
}

.tp-account-layout {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	align-items: start;
	gap: 34px;
}

.tp-account-layout > nav {
	display: grid;
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
}

.tp-account-layout > nav a {
	padding: 15px 18px;
	border-bottom: 1px solid var(--tp-border);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.tp-account-layout > nav a:last-child {
	border-bottom: 0;
}

.tp-account-layout > nav a.is-active {
	border-left: 4px solid var(--tp-navy);
	background: var(--tp-pale-slate);
}

.tp-account-panel {
	min-height: 480px;
	padding: clamp(28px, 5vw, 52px);
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
}

.tp-account-panels {
	display: grid;
	gap: 24px;
}

.tp-account-panel--compact {
	min-height: 0;
	scroll-margin-top: 24px;
}

.tp-account-panel--compact p:last-child {
	margin-bottom: 0;
}

.tp-account-panel__header {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--tp-border);
}

.tp-account-panel--live {
	min-height: 0;
}

body.tp-v4 .tp-account-panel--live .tpdp-account {
	max-width: none;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--tp-charcoal);
	font-family: var(--tp-sans);
}

body.tp-v4 .tp-account-panel--live .tpdp-account-section {
	padding: 42px 0;
	border-top: 1px solid var(--tp-border);
	scroll-margin-top: 24px;
}

body.tp-v4 .tp-account-panel--live .tpdp-account-section:first-child {
	padding-top: 0;
	border-top: 0;
}

body.tp-v4 .tp-account-panel--live .tpdp-account-section:last-child {
	padding-bottom: 0;
}

body.tp-v4 .tp-account-panel--live .tpdp-kicker {
	margin-bottom: 8px;
	color: var(--tp-secondary);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.tp-v4 .tp-account-panel--live .tpdp-account h2 {
	padding: 0;
	margin-bottom: 14px;
	border: 0;
	color: var(--tp-charcoal);
	font-family: var(--tp-serif);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 500;
}

body.tp-v4 .tp-account-panel--live .tpdp-intro,
body.tp-v4 .tp-account-panel--live .tpdp-empty-line,
body.tp-v4 .tp-account-panel--live .tpdp-licence-duration {
	color: var(--tp-secondary);
}

body.tp-v4 .tp-account-panel--live .tpdp-library {
	display: grid;
	gap: 16px;
	margin: 24px 0;
}

body.tp-v4 .tp-account-panel--live .tpdp-library-card,
body.tp-v4 .tp-account-panel--live .tpdp-licences li,
body.tp-v4 .tp-account-panel--live .tpdp-profile div {
	border: 1px solid var(--tp-border);
	border-radius: 2px;
	background: linear-gradient(135deg, var(--tp-light), var(--tp-pale-slate));
}

body.tp-v4 .tp-account-panel--live .tpdp-library-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px 20px;
	padding: 22px;
}

body.tp-v4 .tp-account-panel--live .tpdp-library-card > p {
	grid-column: 1 / -1;
	margin-bottom: 0;
}

body.tp-v4 .tp-account-panel--live .tpdp-empty {
	padding: clamp(28px, 5vw, 48px);
	border: 1px dashed var(--tp-border);
	background: rgb(232 236 238 / 48%);
	text-align: center;
}

body.tp-v4 .tp-account-panel--live .tpdp-status {
	align-self: start;
	padding: 5px 9px;
	border-radius: 99px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

body.tp-v4 .tp-account-panel--live .tpdp-status-active {
	background: #dce9e0;
	color: var(--tp-green-deep);
}

body.tp-v4 .tp-account-panel--live .tpdp-status-ended {
	background: #efe0e2;
	color: var(--tp-oxblood);
}

body.tp-v4 .tp-account-panel--live table {
	display: block;
	width: 100%;
	border: 1px solid var(--tp-border);
	border-collapse: collapse;
	overflow-x: auto;
}

body.tp-v4 .tp-account-panel--live caption,
body.tp-v4 .tpdp-trap {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body.tp-v4 .tp-account-panel--live th,
body.tp-v4 .tp-account-panel--live td {
	padding: 13px 14px;
	border-bottom: 1px solid var(--tp-border);
	text-align: left;
	vertical-align: top;
}

body.tp-v4 .tp-account-panel--live th {
	background: var(--tp-navy-dark);
	color: var(--tp-light);
	font-size: 12px;
	letter-spacing: 0.04em;
}

body.tp-v4 .tp-account-panel--live details {
	margin-top: 10px;
}

body.tp-v4 .tp-account-panel--live summary {
	color: var(--tp-navy);
	font-weight: 700;
	cursor: pointer;
}

body.tp-v4 .tp-account-panel--live code {
	display: block;
	max-width: 100%;
	padding: 10px;
	margin-top: 10px;
	background: var(--tp-pale-slate);
	overflow-wrap: anywhere;
}

body.tp-v4 .tp-account-panel--live .tpdp-licences {
	display: grid;
	gap: 14px;
	padding: 0;
	list-style: none;
}

body.tp-v4 .tp-account-panel--live .tpdp-licences li {
	padding: 20px;
}

body.tp-v4 .tp-account-panel--live .tpdp-profile {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

body.tp-v4 .tp-account-panel--live .tpdp-profile div {
	padding: 18px;
}

body.tp-v4 .tp-account-panel--live .tpdp-profile dt {
	color: var(--tp-secondary);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.tp-v4 .tp-account-panel--live .tpdp-profile dd {
	margin: 5px 0 0;
	overflow-wrap: anywhere;
}

body.tp-v4 .tp-account-panel--live form {
	margin-block: 16px;
}

body.tp-v4 .tp-account-panel--live label {
	font-size: 14px;
	font-weight: 650;
}

body.tp-v4 .tp-account-panel--live input[type="email"],
body.tp-v4 .tp-account-panel--live input[type="text"],
body.tp-v4 .tp-account-panel--live textarea {
	width: 100%;
	max-width: 36rem;
	padding: 11px 12px;
	border: 1px solid #8c8d86;
	border-radius: 2px;
	background: var(--tp-light);
	font: inherit;
}

body.tp-v4 .tp-account-panel--live button {
	min-height: 46px;
	padding: 11px 16px;
	border: 1px solid var(--tp-navy);
	border-radius: 3px;
	background: var(--tp-navy);
	color: var(--tp-light);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

body.tp-v4 .tp-account-panel--live button:hover {
	border-color: var(--tp-navy-dark);
	background: var(--tp-navy-dark);
}

.tp-status-pill {
	padding: 6px 10px;
	border: 1px solid #bfc8cd;
	border-radius: 99px;
	background: var(--tp-pale-slate);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.tp-empty-state {
	padding: 42px;
	border: 1px dashed var(--tp-border);
	background: rgb(255 253 249 / 70%);
	text-align: center;
}

.tp-empty-state--account {
	max-width: 560px;
	margin: 70px auto 0;
}

.tp-empty-state--account > span {
	display: block;
	font-family: var(--tp-serif);
	font-size: 3.5rem;
	line-height: 1;
}

.tp-prose {
	font-size: 18px;
	line-height: 1.72;
}

.tp-prose > * {
	max-width: 100%;
}

.tp-prose h2,
.tp-prose h3,
.tp-prose h4 {
	margin-top: 2.2em;
	margin-bottom: 0.7em;
}

.tp-prose h2:first-child,
.tp-prose h3:first-child {
	margin-top: 0;
}

.tp-prose p,
.tp-prose ul,
.tp-prose ol,
.tp-prose blockquote,
.tp-prose figure,
.tp-prose table {
	margin-bottom: 1.5em;
}

.tp-prose a {
	color: #234f6a;
}

.tp-section-trips .tp-prose a {
	color: var(--tp-green-deep);
}

.tp-prose blockquote {
	padding: 24px 28px;
	border-left: 3px solid var(--tp-brass);
	background: var(--tp-cream);
	font-family: var(--tp-serif);
	font-size: 1.15em;
}

.tp-prose img {
	width: auto;
	margin-inline: auto;
}

.tp-prose figcaption {
	margin-top: 8px;
	color: var(--tp-secondary);
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

.tp-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

.tp-prose th,
.tp-prose td {
	padding: 12px;
	border: 1px solid var(--tp-border);
	text-align: left;
	vertical-align: top;
}

.tp-prose--page > :is(.tp-shell, .tp-page, .wp-block-group, div) {
	max-width: 100%;
}

.tp-article__header {
	padding-block: 38px 42px;
}

.tp-article__header h1 {
	margin-bottom: 20px;
	font-size: clamp(2.65rem, 4.6vw, 3.75rem);
}

.tp-article__intro-copy {
	max-width: 940px;
}

.tp-article__deck {
	color: var(--tp-secondary);
	font-family: var(--tp-serif);
	font-size: 1.2rem;
	line-height: 1.5;
}

.tp-article__hero {
	aspect-ratio: 2.75 / 1;
	max-height: 420px;
	margin-top: 0;
	margin-bottom: 0;
	overflow: hidden;
}

.tp-article__hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tp-article__hero figcaption {
	padding: 8px 0;
	color: var(--tp-secondary);
	font-size: 12px;
}

.tp-article__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-block: 24px;
	border-bottom: 1px solid var(--tp-border);
}

.tp-byline {
	display: flex;
	align-items: center;
	gap: 12px;
}

.tp-byline__mark {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 50%;
	background: var(--tp-charcoal);
	color: var(--tp-light);
	font-family: var(--tp-serif);
	font-size: 14px;
}

.tp-byline strong,
.tp-byline span {
	display: block;
}

.tp-byline span,
.tp-read-time {
	color: var(--tp-secondary);
	font-size: 12px;
}

.tp-article__actions {
	display: flex;
	align-items: center;
	gap: 18px;
}

.tp-share-button {
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	gap: 7px;
	padding: 8px 12px;
	border: 1px solid var(--tp-border);
	background: transparent;
	color: var(--tp-charcoal);
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

.tp-share-button:hover {
	border-color: var(--tp-charcoal);
	background: var(--tp-light);
}

.tp-article__layout {
	display: grid;
	grid-template-columns: minmax(0, var(--tp-reading)) minmax(220px, 1fr);
	align-items: start;
	gap: clamp(44px, 8vw, 100px);
	padding-block: clamp(54px, 7vw, 88px);
}

.tp-article__aside {
	position: sticky;
	top: 24px;
	padding: 24px;
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
}

.tp-article__aside dl {
	display: grid;
	gap: 12px;
	margin: 0;
}

.tp-article__aside dl div {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 10px;
	padding-top: 12px;
	border-top: 1px solid var(--tp-border);
	font-size: 12px;
}

.tp-article__aside dt {
	color: var(--tp-secondary);
}

.tp-article__aside dd {
	margin: 0;
	font-weight: 600;
}

.tp-article__aside-group {
	padding-top: 22px;
	margin-top: 22px;
	border-top: 1px solid var(--tp-border);
}

.tp-article__aside-group h2 {
	margin-bottom: 12px;
	font-family: var(--tp-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.tp-article__aside-group ul {
	display: grid;
	gap: 10px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.tp-article__aside-group li {
	position: relative;
	padding-left: 15px;
	font-size: 12px;
	line-height: 1.45;
}

.tp-article__aside-group li::before {
	position: absolute;
	top: 0;
	left: 0;
	color: var(--tp-brass-ink);
	content: "→";
}

.tp-article__aside-group a {
	overflow-wrap: anywhere;
}

.tp-search-large {
	display: flex;
	max-width: 680px;
	margin-top: 28px;
}

.tp-search-large input {
	min-width: 0;
	min-height: 52px;
	flex: 1;
	padding: 12px 16px;
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
	font-size: 16px;
}

.tp-search-large .tp-button {
	border-radius: 0;
}

.tp-search-result {
	padding: 30px;
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
}

.tp-search-result h2 {
	font-size: 1.65rem;
}

.tp-pagination {
	margin-top: 48px;
}

.tp-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tp-pagination a,
.tp-pagination span {
	display: grid;
	min-width: 44px;
	min-height: 44px;
	padding: 8px 12px;
	place-items: center;
	border: 1px solid var(--tp-border);
	background: var(--tp-light);
	text-decoration: none;
}

.tp-pagination .current {
	border-color: var(--tp-charcoal);
	background: var(--tp-charcoal);
	color: var(--tp-light);
}

.tp-error-page {
	min-height: 70vh;
	padding-block: clamp(80px, 12vw, 150px);
	background: radial-gradient(circle at 85% 20%, var(--tp-cream), var(--tp-ivory) 55%);
}

.tp-error-page__inner {
	max-width: 860px;
	text-align: center;
}

.tp-error-page__code {
	margin-bottom: -20px;
	color: var(--tp-brass);
	font-family: var(--tp-serif);
	font-size: clamp(6rem, 15vw, 12rem);
	line-height: 0.9;
	opacity: 0.35;
}

.tp-error-page .tp-lede,
.tp-error-page .tp-search-large,
.tp-error-page .tp-button-row {
	margin-inline: auto;
}

.tp-error-page .tp-button-row {
	justify-content: center;
	margin-top: 28px;
}

.tp-site-footer {
	padding-top: clamp(64px, 8vw, 92px);
	background: var(--tp-charcoal);
	color: var(--tp-ivory);
}

.tp-footer__grid {
	display: grid;
	grid-template-columns: minmax(260px, 1.5fr) repeat(3, minmax(140px, 0.65fr));
	gap: clamp(34px, 6vw, 76px);
}

.tp-footer__logo .tp-logo {
	filter: brightness(0) invert(1);
}

.tp-footer__brand p:not(.tp-footer__descriptor) {
	max-width: 330px;
	color: #d4d2cc;
	font-size: 13px;
}

.tp-footer__descriptor {
	margin: 12px 0 24px;
	color: var(--tp-brass-light);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.16em;
}

.tp-site-footer h2 {
	color: var(--tp-light);
	font-family: var(--tp-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
}

.tp-site-footer ul {
	padding: 0;
	list-style: none;
}

.tp-site-footer li {
	margin-bottom: 8px;
}

.tp-site-footer a {
	color: #e2dfd7;
	font-size: 13px;
}

.tp-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-block: 28px;
	margin-top: 58px;
	border-top: 1px solid rgb(246 243 237 / 22%);
	color: #b9b8b3;
	font-size: 11px;
}

.tp-footer__bottom p {
	margin: 0;
}

@media (max-width: 1120px) {
	.tp-header__inner {
		grid-template-columns: 150px minmax(0, 1fr);
	}

	.tp-logo {
		width: 145px;
	}

	.tp-primary-nav,
	.tp-primary-nav ul {
		gap: 14px;
	}

	.tp-primary-nav a {
		font-size: 12px;
	}

	.tp-card-grid--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tp-department-rail {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.tp-department-rail__intro {
		grid-column: 1 / -1;
		padding-left: 22px;
		border-bottom: 1px solid var(--tp-border);
	}

	.tp-department-rail > a:first-of-type {
		border-left: 0;
	}

	.tp-editorial-routes--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tp-featured-guide__grid {
		grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr);
	}

	.tp-featured-guide__quote {
		grid-column: 2;
	}
}

@media (max-width: 1080px) {
	.tp-shell {
		width: min(100% - 40px, var(--tp-shell));
	}

	.tp-reading-width {
		width: min(100% - 40px, var(--tp-reading));
	}

	.tp-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		min-height: 78px;
	}

	.tp-menu-toggle {
		display: flex;
		align-items: center;
		gap: 10px;
	}

	.tp-menu-toggle__label {
		font-size: 13px;
		font-weight: 700;
	}

	.tp-primary-nav {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		display: none;
		align-items: stretch;
		padding: 24px 20px 30px;
		background: var(--tp-light);
		border-bottom: 1px solid var(--tp-border);
		box-shadow: 0 18px 36px rgb(35 37 34 / 10%);
	}

	.tp-primary-nav.is-open {
		display: block;
	}

	.tp-primary-nav ul {
		display: grid;
		gap: 0;
	}

	.tp-primary-nav ul a {
		width: 100%;
		padding: 5px 0;
		border-bottom: 1px solid var(--tp-border);
		font-size: 15px;
	}

	.tp-nav-actions {
		align-items: stretch;
		margin-top: 18px;
	}

	.tp-nav-search {
		flex: 1;
		border: 1px solid var(--tp-border);
	}

	.tp-nav-search input,
	.tp-nav-search:hover input,
	.tp-nav-search:focus-within input {
		width: 100%;
		padding-left: 14px;
		opacity: 1;
	}

	.tp-account-link {
		min-height: 48px;
	}

	.tp-home-hero__inner,
	.tp-ai-hero__grid,
	.tp-page-hero__grid,
	.tp-lite-feature__grid,
	.tp-product-columns,
	.tp-refund-panel,
	.tp-contact-stage,
	.tp-article__layout {
		grid-template-columns: 1fr;
	}

	.tp-purchase-steps {
		grid-template-columns: 1fr;
	}

	.tp-purchase-steps li {
		min-height: 0;
	}

	.tp-home-hero__inner {
		gap: 34px;
	}

	.tp-home-hero__copy {
		padding: 56px 0 0;
	}

	.tp-home-hero__image {
		height: 250px;
		min-height: 250px;
	}

	.tp-home-hero__image img {
		min-height: 250px;
	}

	.tp-page-hero--faded .tp-page-hero__grid {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.tp-page-hero--faded .tp-page-hero__copy {
		padding: 58px 0 16px;
	}

	.tp-page-hero--faded .tp-page-hero__grid figure {
		height: 310px;
		min-height: 310px;
	}

	.tp-page-hero--faded .tp-page-hero__grid figure::after {
		background: linear-gradient(180deg, var(--tp-ivory) 0, transparent 40%);
	}

	.tp-page-hero--kitchen.tp-page-hero--faded .tp-page-hero__grid figure::after {
		background: linear-gradient(180deg, var(--tp-heritage-cream) 0, transparent 40%);
	}

	.tp-card-grid--archive {
		grid-template-columns: 1fr;
	}

	.tp-pathway {
		min-height: 330px;
	}

	.tp-pathway__media {
		position: absolute;
		inset: 0;
		min-height: 100%;
		max-height: none;
	}

	.tp-pathway__copy {
		width: min(70%, 390px);
		min-height: 330px;
	}

	.tp-guide-grid {
		grid-template-columns: 1fr;
	}

	.tp-guide-feature--lite {
		grid-template-columns: 150px minmax(0, 1fr);
	}

	.tp-ai-hero__copy {
		padding-right: 0;
	}

	.tp-ai-hero__image {
		min-height: 340px;
	}

	.tp-destination__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.tp-destination blockquote {
		grid-column: 1 / -1;
	}

	.tp-article__aside {
		position: static;
		order: 0;
	}

	.tp-editorial-intro,
	.tp-trips-intro,
	.tp-kitchen-intro,
	.tp-editorial-feature,
	.tp-subject-band__inner,
	.tp-ai-at-home-feature__grid,
	.tp-notice-panel,
	.tp-journal-crossroads {
		grid-template-columns: 1fr;
	}

	.tp-ai-decision-layout,
	.tp-kitchen-practical__layout,
	.tp-about-method__layout {
		grid-template-columns: 1fr;
	}

	.tp-ai-decision-intro {
		position: static;
	}

	.tp-ai-resource-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tp-journey-steps {
		grid-template-columns: 1fr;
	}

	.tp-journey-steps article {
		min-height: 0;
	}

	.tp-about-contact__inner {
		grid-template-columns: 76px minmax(0, 1fr);
	}

	.tp-about-contact__inner .tp-button-row {
		grid-column: 2;
	}

	.tp-page-hero__grid figure {
		height: 270px;
	}

	.tp-subject-band ul {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.tp-footer__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tp-footer__brand {
		grid-column: 1 / -1;
	}
}

/* Keep the guide and its decision-making copy together at the approved
 * desktop/tablet presentation width. Below this point a single column avoids
 * an overcrowded purchase introduction. */
@media (max-width: 920px) {
	.tp-product-hero__grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.tp-product-hero .tp-guide-book--large {
		width: min(100%, 340px);
	}
}

@media (max-width: 720px) {
	body.tp-v4 {
		font-size: 16px;
	}

	.tp-site-frame {
		width: 100%;
		margin: 0;
		border: 0;
		box-shadow: none;
	}

	.tp-is-staging .tp-site-frame {
		margin-top: 0;
	}

	.tp-site-frame::after {
		display: none;
	}

	.tp-shell,
	.tp-reading-width {
		width: min(100% - 32px, var(--tp-shell));
	}

	.tp-staging-ribbon {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
		padding-block: 7px;
		text-align: left;
	}

	.tp-pathways__grid,
	.tp-lite-feature__grid,
	.tp-featured-guide__grid,
	.tp-preview-grid,
	.tp-lite-hero__grid,
	.tp-delivery-preview,
	.tp-comparison,
	.tp-contact-grid,
	.tp-principles,
	.tp-resource-list,
	.tp-faq,
	.tp-account-layout,
	.tp-trust__grid,
	.tp-split-copy,
	.tp-about-intro,
	.tp-outward__inner {
		grid-template-columns: 1fr;
	}

	.tp-pathways__grid {
		width: min(100% - 32px, var(--tp-shell));
	}

	.tp-pathway {
		min-height: 390px;
	}

	.tp-pathway__copy {
		width: min(76%, 390px);
		min-height: 390px;
		padding: 30px;
	}

	.tp-pathway__media::after {
		background: linear-gradient(90deg, rgb(255 253 249 / 100%) 0%, rgb(255 253 249 / 96%) 44%, rgb(255 253 249 / 76%) 64%, rgb(255 253 249 / 12%) 100%);
	}

	.tp-pathway--trips .tp-pathway__media::after {
		background: linear-gradient(90deg, rgb(243 238 228 / 100%) 0%, rgb(243 238 228 / 96%) 44%, rgb(243 238 228 / 76%) 64%, rgb(243 238 228 / 12%) 100%);
	}

	.tp-card-grid--four,
	.tp-card-grid--three,
	.tp-card-grid--two {
		grid-template-columns: 1fr;
	}

	.tp-card__body {
		min-height: 0;
	}

	.tp-editorial-routes,
	.tp-question-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tp-ai-resource-grid,
	.tp-kitchen-mood-grid,
	.tp-journal-ledger,
	.tp-image-route-grid {
		grid-template-columns: 1fr;
	}

	.tp-kitchen-notes article {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.tp-department-rail {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tp-department-rail__intro {
		grid-column: 1 / -1;
	}

	.tp-department-rail > a {
		min-height: 108px;
	}

	.tp-department-rail > a:nth-of-type(odd) {
		border-left: 0;
	}

	.tp-subject-band ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tp-featured-guide__quote {
		grid-column: auto;
	}

	.tp-lite-feature__cover {
		width: min(280px, 82%);
		margin-inline: auto;
	}

	.tp-section-heading,
	.tp-purchase-heading,
	.tp-account-cta__inner,
	.tp-product-final__inner,
	.tp-footer__bottom,
	.tp-article__meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.tp-article__hero {
		aspect-ratio: 3 / 2;
	}

	.tp-article__header h1 {
		font-size: 2.35rem;
	}

	.tp-page-hero__grid figure {
		height: 250px;
	}

	.tp-page-hero--faded .tp-page-hero__copy {
		padding-top: 48px;
	}

	.tp-page-hero--faded .tp-page-hero__grid figure {
		height: 270px;
		min-height: 270px;
	}

	.tp-category-band__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tp-category-band__grid a:last-child {
		grid-column: 1 / -1;
	}

	.tp-destination__grid {
		grid-template-columns: 1fr;
	}

	.tp-destination figure {
		min-height: 280px;
	}

	.tp-destination figure::after {
		background: linear-gradient(180deg, transparent 70%, var(--tp-light) 100%);
	}

	.tp-destination blockquote {
		grid-column: auto;
	}

	.tp-guide-feature,
	.tp-guide-feature--lite {
		grid-template-columns: 1fr;
	}

	.tp-guide-feature__visual,
	.tp-guide-feature__lite-cover {
		width: min(220px, 70%);
		margin-inline: auto;
	}

	.tp-page-hero__aside {
		padding: 24px 0 0;
		border-top: 1px solid var(--tp-brass);
		border-left: 0;
	}

	.tp-about-contact__inner,
	.tp-about-contact__inner .tp-button-row {
		grid-column: auto;
		grid-template-columns: 1fr;
	}

	.tp-about-contact__mark {
		width: 60px;
		height: 60px;
	}

	.tp-product-facts {
		grid-template-columns: 1fr;
	}

	.tp-product-facts div:nth-last-child(-n + 2) {
		border-bottom: 1px solid #cbd2d6;
	}

	.tp-product-facts div:last-child {
		border-bottom: 0;
	}

	.tp-product-action {
		align-items: flex-start;
		flex-direction: column;
	}

	.tp-faq {
		gap: 0;
	}

	.tp-account-layout > nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tp-account-layout > nav a {
		border-right: 1px solid var(--tp-border);
	}

	.tp-account-panel__header {
		align-items: flex-start;
		flex-direction: column;
	}

	body.tp-v4 .tp-account-panel--live .tpdp-library-card,
	body.tp-v4 .tp-account-panel--live .tpdp-profile {
		grid-template-columns: 1fr;
	}

	.tp-prose {
		font-size: 17px;
	}

	.tp-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tp-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 440px) {
	.tp-menu-toggle__label {
		display: none;
	}

	.tp-logo {
		width: 132px;
	}

	.tp-nav-actions {
		flex-direction: column;
	}

	.tp-home-hero__inner {
		grid-template-columns: 1fr;
		padding-block: 48px;
	}

	.tp-home-hero__image {
		height: 210px;
		min-height: 210px;
	}

	.tp-home-hero__image img {
		min-height: 210px;
	}

	.tp-pathway {
		min-height: 370px;
	}

	.tp-pathway__copy {
		width: 82%;
		min-height: 370px;
		padding: 28px 22px;
	}

	.tp-hub-hero {
		padding-top: 16px;
	}

	.tp-hub-hero__frame,
	.tp-hub-hero__frame > img.tp-hub-hero__image {
		min-height: 340px;
		height: 340px;
	}

	.tp-hub-hero__panel {
		top: auto;
		right: 16px;
		bottom: 16px;
		left: 16px;
		width: auto;
		transform: none;
	}

	.tp-category-band__grid {
		grid-template-columns: 1fr;
	}

	.tp-category-band__grid a:last-child {
		grid-column: auto;
	}

	.tp-editorial-routes,
	.tp-question-grid,
	.tp-department-rail {
		grid-template-columns: 1fr;
	}

	.tp-department-rail > a {
		border-left: 0;
		border-top: 1px solid var(--tp-border);
	}

	.tp-inline-form-preview > div {
		align-items: stretch;
		flex-direction: column;
		gap: 8px;
	}

	.tp-card-grid--archive .tp-card {
		display: flex;
		min-height: 0;
	}

	.tp-card-grid--archive .tp-card__image {
		height: auto;
		aspect-ratio: 3 / 2;
	}

	.tp-page-hero__grid figure {
		height: 220px;
	}

	.tp-button-row {
		align-items: stretch;
		flex-direction: column;
	}

	.tp-button {
		width: 100%;
	}

	.tp-account-layout > nav,
	.tp-footer__grid {
		grid-template-columns: 1fr;
	}

	.tp-account-panel,
	.tp-empty-state,
	.tp-contact-grid article {
		padding: 24px;
	}

	body.tp-v4 .tp-account-panel--live button {
		width: 100%;
		margin-block: 4px;
	}

	.tp-search-large {
		flex-direction: column;
		gap: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media print {
	.tp-staging-ribbon,
	.tp-site-header,
	.tp-site-footer,
	.tp-related,
	.tp-article__aside {
		display: none !important;
	}

	body.tp-v4 {
		background: white;
		color: black;
	}

	.tp-article__layout {
		display: block;
	}
}