:root {
	--tel-ink: #26372f;
	--tel-forest: #355246;
	--tel-paper: #fffdf8;
	--tel-oat: #f1eadc;
	--tel-clay: #bc5a3c;
	--tel-sun: #e3a83c;
	--tel-line: #d7cdbb;
	--tel-muted: #67726a;
	--tel-serif: Georgia, "Times New Roman", serif;
	--tel-sans: "Helvetica Neue", Arial, sans-serif;
}

body {
	background: var(--tel-paper);
	color: var(--tel-ink);
	font-family: var(--tel-sans);
}

.site-header {
	border-bottom: 1px solid var(--tel-line);
	background: var(--tel-paper);
}

.site-branding .main-title,
.site-branding .main-title a {
	color: var(--tel-forest);
	font-family: var(--tel-serif);
	font-size: clamp(1.45rem, 2.3vw, 2rem);
	font-weight: 700;
	letter-spacing: -.035em;
}

.site-description {
	color: var(--tel-muted);
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.main-navigation,
.main-navigation ul ul {
	background: transparent;
}

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle {
	color: var(--tel-ink);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: var(--tel-clay);
	background: transparent;
}

.tel-home {
	overflow: hidden;
}

.tel-shell {
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
}

.tel-eyebrow,
.tel-hero__note-label,
.tel-card-number {
	color: var(--tel-clay);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .14em;
	line-height: 1.3;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.tel-hero {
	background:
		linear-gradient(90deg, rgba(241, 234, 220, .84) 0 50%, transparent 50%),
		var(--tel-paper);
	padding: clamp(4.5rem, 9vw, 8.5rem) 0 clamp(4rem, 7vw, 6.5rem);
}

.tel-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 7vw, 8rem);
	grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
}

.tel-hero h1,
.tel-categories h2,
.tel-guide h2,
.tel-latest h2 {
	color: var(--tel-forest);
	font-family: var(--tel-serif);
	font-size: clamp(2.8rem, 6vw, 5.6rem);
	font-weight: 500;
	letter-spacing: -.055em;
	line-height: .94;
	margin: 0;
	max-width: 720px;
}

.tel-hero h1 em {
	color: var(--tel-clay);
	font-weight: inherit;
}

.tel-hero__lede {
	color: #46574e;
	font-size: clamp(1rem, 1.6vw, 1.2rem);
	line-height: 1.7;
	margin: 1.75rem 0 2rem;
	max-width: 620px;
}

.tel-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1.15rem 1.7rem;
}

.tel-button {
	background: var(--tel-forest);
	border: 1px solid var(--tel-forest);
	color: #fff !important;
	display: inline-block;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .08em;
	padding: 1rem 1.2rem;
	text-decoration: none;
	text-transform: uppercase;
	transition: background .2s ease, color .2s ease;
}

.tel-button:hover,
.tel-button:focus {
	background: var(--tel-clay);
	border-color: var(--tel-clay);
}

.tel-text-link,
.tel-guide__links a,
.tel-hero__note a {
	color: var(--tel-forest);
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .03em;
	text-decoration: underline;
	text-decoration-color: var(--tel-sun);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}

.tel-hero__note {
	background: var(--tel-forest);
	box-shadow: 10px 10px 0 var(--tel-sun);
	color: #f9f6ee;
	padding: clamp(1.7rem, 3vw, 2.6rem);
}

.tel-hero__note-label {
	color: #f4c65d;
}

.tel-hero__note-title {
	font-family: var(--tel-serif);
	font-size: 1.65rem;
	letter-spacing: -.025em;
	line-height: 1.1;
	margin: 0 0 1.5rem;
}

.tel-hero__note ul {
	border-top: 1px solid rgba(255,255,255,.28);
	list-style: none;
	margin: 0 0 1.4rem;
	padding: 1rem 0 0;
}

.tel-hero__note li {
	border-bottom: 1px solid rgba(255,255,255,.18);
	font-size: .88rem;
	padding: .62rem 0;
}

.tel-hero__note a {
	color: #fff;
	text-decoration-color: #f4c65d;
}

.tel-categories {
	padding: clamp(4.5rem, 9vw, 8rem) 0;
}

.tel-section-heading {
	align-items: end;
	display: grid;
	gap: 2rem;
	grid-template-columns: 1.2fr .8fr;
	margin-bottom: 2.8rem;
}

.tel-section-heading h2,
.tel-guide h2,
.tel-latest h2 {
	font-size: clamp(2.15rem, 4vw, 3.7rem);
}

.tel-section-heading > p,
.tel-guide__details > p {
	color: var(--tel-muted);
	font-size: 1rem;
	line-height: 1.75;
	margin: 0;
}

.tel-category-grid {
	border-left: 1px solid var(--tel-line);
	border-top: 1px solid var(--tel-line);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.tel-category-card {
	border-bottom: 1px solid var(--tel-line);
	border-right: 1px solid var(--tel-line);
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.tel-category-card__image {
	aspect-ratio: 4 / 3;
	background: var(--tel-oat);
	display: block;
	overflow: hidden;
}

.tel-category-card__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform .45s ease;
	width: 100%;
}

.tel-category-card:hover img {
	transform: scale(1.045);
}

.tel-category-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.35rem 1.2rem 1.5rem;
}

.tel-card-number {
	margin-bottom: 2.2rem;
}

.tel-category-card h3 {
	font-family: var(--tel-serif);
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: -.025em;
	line-height: 1.06;
	margin: 0 0 .72rem;
}

.tel-category-card h3 a {
	color: var(--tel-forest);
	text-decoration: none;
}

.tel-category-card__content > p:not(.tel-card-number) {
	color: var(--tel-muted);
	font-size: .9rem;
	line-height: 1.55;
	margin: 0 0 1.5rem;
}

.tel-card-link {
	color: var(--tel-clay);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .06em;
	margin-top: auto;
	text-decoration: none;
	text-transform: uppercase;
}

.tel-guide {
	background: var(--tel-oat);
	border-bottom: 1px solid var(--tel-line);
	border-top: 1px solid var(--tel-line);
	padding: clamp(4rem, 8vw, 7rem) 0;
}

.tel-guide__grid {
	display: grid;
	gap: clamp(2.5rem, 8vw, 8rem);
	grid-template-columns: 1fr 1fr;
}

.tel-guide__details {
	max-width: 510px;
}

.tel-guide__links {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.6rem;
	margin-top: 1.6rem;
}

.tel-latest {
	padding: clamp(4rem, 8vw, 7rem) 0;
}

.site-footer {
	background: var(--tel-forest);
	color: #f9f6ee;
}

.site-footer a {
	color: #fff;
}

.site-info {
	font-size: .82rem;
	letter-spacing: .02em;
}

@media (max-width: 900px) {
	.tel-category-grid { grid-template-columns: repeat(2, 1fr); }
	.tel-hero__grid, .tel-guide__grid { grid-template-columns: 1fr; }
	.tel-hero__note { max-width: 490px; }
}

@media (max-width: 640px) {
	.tel-shell { width: min(100% - 32px, 1180px); }
	.tel-hero { background: var(--tel-oat); padding: 4rem 0; }
	.tel-section-heading { grid-template-columns: 1fr; margin-bottom: 2rem; }
	.tel-category-grid { grid-template-columns: 1fr; }
	.tel-category-card { display: grid; grid-template-columns: 42% 58%; }
	.tel-category-card__image { aspect-ratio: auto; height: 100%; }
	.tel-category-card__content { padding: 1.1rem; }
	.tel-card-number { margin-bottom: 1rem; }
	.tel-category-card h3 { font-size: 1.35rem; }
	.main-navigation .menu-toggle { padding-left: 0; }
}

@media (max-width: 390px) {
	.tel-category-card { display: flex; }
	.tel-category-card__image { aspect-ratio: 4 / 3; }
}

/* Permanent brand bar: the mark and name always return visitors to the homepage. */
.tel-brandbar {
	background: var(--tel-paper);
	border-bottom: 1px solid var(--tel-line);
}
.tel-brandbar__inner {
	align-items: center;
	display: flex;
	justify-content: center;
	margin: 0 auto;
	min-height: 82px;
	width: min(1180px, calc(100% - 48px));
}
.tel-brand {
	align-items: center;
	color: var(--tel-forest) !important;
	display: inline-flex;
	gap: .7rem;
	text-decoration: none;
}
.tel-brand img {
	display: block;
	flex: 0 0 52px;
	height: 52px;
	width: 52px;
}
.tel-brand span { display: grid; gap: .15rem; }
.tel-brand strong {
	font-family: var(--tel-serif);
	font-size: 1.48rem;
	letter-spacing: -.035em;
	line-height: 1;
}
.tel-brand small {
	color: var(--tel-muted);
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.tel-footer-links {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	justify-content: center;
	margin: 0 auto;
	max-width: 920px;
	padding: 1.1rem 24px;
}
.tel-footer-links a {
	border: 1px solid rgba(255,255,255,.42);
	color: #fff !important;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .055em;
	padding: .6rem .75rem;
	text-decoration: none;
	text-transform: uppercase;
}
.tel-footer-links a:hover,
.tel-footer-links a:focus {
	background: var(--tel-sun);
	border-color: var(--tel-sun);
	color: var(--tel-forest) !important;
}
.tel-hero__note a,
.tel-guide__links a {
	display: inline-block;
	padding: .7rem .85rem;
	text-decoration: none;
}
.tel-hero__note a {
	border: 1px solid rgba(255,255,255,.52);
}
.tel-guide__links a {
	border: 1px solid var(--tel-forest);
}
.tel-hero__note a:hover,
.tel-hero__note a:focus {
	background: #fff;
	color: var(--tel-forest);
}
.tel-guide__links a:hover,
.tel-guide__links a:focus {
	background: var(--tel-forest);
	color: #fff;
}

@media (max-width: 640px) {
	.tel-footer-links { justify-content: flex-start; }
}

/* Logo and name live in the same navigation row as the category links. */
.main-navigation {
	background: var(--tel-paper);
	border-bottom: 1px solid var(--tel-line);
}
.main-navigation .inside-navigation {
	margin: 0 auto;
	max-width: 1180px;
}
.main-navigation .main-nav > ul {
	align-items: center;
	display: flex;
	width: 100%;
}
.main-navigation .main-nav > ul > li.tel-brand-menu {
	margin-right: auto;
}
.main-navigation .main-nav > ul > li.tel-brand-menu > a {
	align-items: center;
	color: var(--tel-forest) !important;
	display: inline-flex;
	gap: .48rem;
	line-height: 1 !important;
	padding-left: 0;
	padding-right: clamp(1rem, 2.2vw, 2.4rem);
	text-transform: none;
}
.main-navigation .tel-brand-mark {
	display: block;
	flex: 0 0 38px;
	height: 38px;
	width: 38px;
}
.main-navigation .tel-brand-menu span {
	font-family: var(--tel-serif);
	font-size: 1.28rem;
	font-weight: 700;
	letter-spacing: -.035em;
	white-space: nowrap;
}
.tel-brandbar { display: none; }

@media (max-width: 900px) {
	.main-navigation .main-nav > ul > li.tel-brand-menu > a {
		padding-right: 1rem;
	}
	.main-navigation .tel-brand-menu span { font-size: 1.08rem; }
}

@media (max-width: 768px) {
	.main-navigation .menu-toggle {
		color: var(--tel-forest);
	}
	.main-navigation .main-nav > ul {
		display: block;
	}
	.main-navigation .main-nav > ul > li.tel-brand-menu {
		margin-right: 0;
	}
	.main-navigation .main-nav > ul > li.tel-brand-menu > a {
		padding: 1rem;
	}
}

/* Small alignment correction for the logo and its wordmark. */
.main-navigation .main-nav > ul > li.tel-brand-menu > a,
.main-navigation .main-nav > ul > li.tel-brand-menu > a img,
.main-navigation .main-nav > ul > li.tel-brand-menu > a span {
	vertical-align: middle;
}
.main-navigation .main-nav > ul > li.tel-brand-menu > a {
	align-items: center !important;
}

/* High-contrast footer navigation: readable without hover. */
.site-footer,
.site-footer .site-info,
.site-footer .inside-site-info {
	background: var(--tel-forest) !important;
	color: #fff !important;
}
.site-footer .tel-footer-links a {
	background: transparent !important;
	border: 1px solid rgba(255,255,255,.72) !important;
	color: #fff !important;
	opacity: 1 !important;
}
.site-footer .tel-footer-links a:visited {
	color: #fff !important;
}
.site-footer .tel-footer-links a:hover,
.site-footer .tel-footer-links a:focus {
	background: var(--tel-sun) !important;
	border-color: var(--tel-sun) !important;
	color: #1d3329 !important;
}
.site-footer .site-info,
.site-footer .copyright-bar {
	color: rgba(255,255,255,.9) !important;
}

/* A visual Recipe Index rather than a plain list of links. */
.tel-recipe-index-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 2.2rem 0 3rem;
}
.tel-recipe-index-card {
	background: var(--tel-paper);
	border: 1px solid var(--tel-line);
	color: var(--tel-ink) !important;
	display: grid;
	grid-template-columns: 43% 57%;
	min-height: 220px;
	overflow: hidden;
	text-decoration: none !important;
	transition: box-shadow .2s ease, transform .2s ease;
}
.tel-recipe-index-card:hover,
.tel-recipe-index-card:focus {
	box-shadow: 8px 8px 0 var(--tel-sun);
	transform: translate(-2px, -2px);
}
.tel-recipe-index-card img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.tel-recipe-index-card span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1.35rem;
}
.tel-recipe-index-card strong {
	color: var(--tel-forest);
	font-family: var(--tel-serif);
	font-size: 1.55rem;
	font-weight: 600;
	letter-spacing: -.03em;
	line-height: 1.03;
}
.tel-recipe-index-card small {
	color: var(--tel-muted);
	font-size: .88rem;
	line-height: 1.55;
	margin: .7rem 0 1rem;
}
.tel-recipe-index-card b {
	color: var(--tel-clay);
	font-size: .72rem;
	letter-spacing: .06em;
	text-transform: uppercase;
}

@media (max-width: 620px) {
	.tel-recipe-index-grid { grid-template-columns: 1fr; }
	.tel-recipe-index-card { grid-template-columns: 38% 62%; min-height: 180px; }
	.tel-recipe-index-card strong { font-size: 1.35rem; }
}

/* The artwork sits high in its SVG canvas; optically center it with the wordmark. */
.main-navigation .tel-brand-mark {
	transform: translateY(4px);
}

/* Footer hook sits outside the usual footer wrapper in this inherited theme. */
.tel-footer-links {
	background: #355246 !important;
	box-sizing: border-box;
	display: flex !important;
	max-width: none !important;
	min-height: 76px;
	padding: 18px 24px !important;
	width: 100% !important;
}
.tel-footer-links a,
.tel-footer-links a:link,
.tel-footer-links a:visited {
	background: transparent !important;
	border: 1px solid rgba(255,255,255,.78) !important;
	color: #fff !important;
	display: inline-block !important;
	font-weight: 800 !important;
	opacity: 1 !important;
	text-shadow: none !important;
}
.tel-footer-links a:hover,
.tel-footer-links a:focus {
	background: #e3a83c !important;
	border-color: #e3a83c !important;
	color: #20362c !important;
}
.site-info,
.site-info .inside-site-info,
.site-info .copyright-bar {
	background: #355246 !important;
	color: #fff !important;
}
.site-info a,
.site-info a:link,
.site-info a:visited {
	color: #fff !important;
}

@media (max-width: 768px) {
	.main-navigation .tel-brand-mark { transform: translateY(3px); }
	.tel-footer-links { justify-content: center; }
}

/* Keep the desktop navigation on one clean line. */
@media (min-width: 769px) {
	.main-navigation .inside-navigation {
		align-items: center;
		display: flex;
		flex-wrap: nowrap;
	}
	.main-navigation .main-nav {
		flex: 1 1 auto;
		min-width: 0;
	}
	.main-navigation .main-nav > ul {
		flex-wrap: nowrap !important;
		justify-content: flex-start;
		white-space: nowrap;
	}
	.main-navigation .main-nav > ul > li:not(.tel-brand-menu) > a {
		font-size: .69rem !important;
		letter-spacing: .045em !important;
		padding-left: .58rem !important;
		padding-right: .58rem !important;
		white-space: nowrap;
	}
	.main-navigation .main-nav > ul > li.tel-brand-menu {
		flex: 0 0 auto;
	}
	.main-navigation .main-nav > ul > li.tel-brand-menu > a {
		padding-right: 1rem;
	}
	.main-navigation .menu-bar-items {
		flex: 0 0 auto;
		margin-left: .25rem;
	}
}
