/* Tucker May theme styles. Colors and fonts come from theme.json presets. */

:root {
	--tm-base: var(--wp--preset--color--base, #E6E7E3);
	--tm-surface: var(--wp--preset--color--surface, #F7F7F5);
	--tm-field: var(--wp--preset--color--field, #EEEFEC);
	--tm-line: var(--wp--preset--color--line, #D0D2CC);
	--tm-ink: var(--wp--preset--color--ink, #1A1C1E);
	--tm-muted: var(--wp--preset--color--muted, #5A5E62);
	--tm-pine: var(--wp--preset--color--pine, #0E6B5C);
	--tm-slate: var(--wp--preset--color--slate, #34506E);
	--tm-navy: var(--wp--preset--color--wle-navy, #052E49);
	--tm-cream: var(--wp--preset--color--wle-cream, #FAF8EF);
	--tm-blue: var(--wp--preset--color--wle-blue, #2D99D1);
	--tm-mono: var(--wp--preset--font-family--geist-mono, ui-monospace, monospace);
	--tm-shadow: rgba(26, 28, 30, 0.12);
	--tm-pad: clamp(16px, 4vw, 56px);
	--tm-radius: 18px;
}

body { background: var(--tm-base); }
[class*="tm-"][hidden], .tm-followup[hidden], .tm-signup[hidden] { display: none !important; }
.tm-content, .tm-content > * { margin-block: 0; }
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}

/* Page width wrappers */
.tm-header-inner, .tm-footer-inner, .tm-page, .tm-home {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(1240px + 2 * var(--tm-pad));
	margin-inline: auto !important;
	padding-inline: var(--tm-pad);
}
.tm-standard { padding-block: clamp(28px, 4vw, 56px); }

/* Reset flow-layout margins inside grid/flex containers so gaps do the spacing */
.tm-cards > *, .tm-card > *, .tm-card-head > *, .tm-covers > *, .tm-shelf > *, .tm-summaries > *,
.tm-soon > *, .tm-split > *, .tm-smt > *, .tm-plans > *, .tm-hire-grid > *, .tm-jokes > *, .tm-sheets > *,
.tm-offers > *, .tm-facts > *, .tm-sample-groups > *, .tm-entries > *, .tm-entry > *, .tm-book > *,
.tm-reviews > *, .tm-about > *, .tm-jumps > *, .tm-port-grid > *, .tm-cross > *, .tm-about-mini > *,
.tm-brand > *, .tm-offer-head > *, .tm-page > *, .tm-home > * { margin-block: 0 !important; }

/* Type helpers */
.tm-eyebrow, .tm-kicker, .tm-label, .tm-step, .tm-meta {
	font-family: var(--tm-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--tm-muted);
}
.tm-page .tm-hero .tm-eyebrow, .tm-section-head .tm-eyebrow { color: var(--tm-pine); }
.tm-lede { font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; max-width: 62ch; }
.tm-note { font-size: 14px; color: var(--tm-muted); }
.tm-section-head { display: grid; gap: 8px; margin-bottom: 20px; }
.tm-section-head > * { margin: 0 !important; }
.tm-hero { display: grid; gap: 14px; max-width: 780px; }
.tm-hero > * { margin: 0 !important; }
.tm-hero h1 { text-wrap: balance; }

/* Buttons */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--tm-pine);
	border: 1.5px solid currentColor;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--tm-ink); color: #fff; border-color: var(--tm-ink); }
.tm-btn-light > .wp-block-button__link { background: #fff; color: var(--tm-ink); border-color: #fff; }
.tm-btn-light > .wp-block-button__link:hover { background: var(--tm-base); color: var(--tm-ink); border-color: var(--tm-base); }
.tm-btn-blue > .wp-block-button__link { background: var(--tm-blue); color: var(--tm-navy); border-color: var(--tm-blue); }
.tm-btn-blue > .wp-block-button__link:hover { background: #fff; color: var(--tm-navy); border-color: #fff; }
.tm-btn-slate > .wp-block-button__link { background: var(--tm-slate); border-color: var(--tm-slate); }
.wp-block-button__link { white-space: nowrap; text-decoration: none; }
.wp-block-button__link:focus-visible, .tm-btn:focus-visible, .tm-signup input:focus-visible, .tm-form :is(input, select, textarea):focus-visible {
	outline: 2px solid var(--tm-pine); outline-offset: 2px;
}
.tm-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font: 700 14px/1 var(--wp--preset--font-family--geist, sans-serif);
	padding: 12px 20px; border-radius: 999px; cursor: pointer; white-space: nowrap;
	background: var(--tm-pine); color: #fff; border: 1.5px solid var(--tm-pine);
}
.tm-btn:hover { background: var(--tm-ink); border-color: var(--tm-ink); }
.tm-btn:disabled { opacity: 0.6; cursor: progress; }
.tm-btn--navy { background: var(--tm-navy); border-color: var(--tm-navy); }
.tm-btn--ghost { background: transparent; color: var(--tm-pine); }
.tm-btn--ghost:hover { color: #fff; }

/* ---------------- Header ---------------- */
.tm-site-header { background: var(--tm-base); border-bottom: 1px solid var(--tm-line); position: relative; z-index: 20; }
.tm-header-inner { padding-top: 14px; }
.tm-header-inner > * { margin-block: 0; }
.tm-brand { gap: 14px; align-items: center; }
.tm-logo img { width: 46px; height: auto; display: block; }
.tm-photo img { width: 56px; height: 56px; object-fit: cover; border-radius: 10px; display: block; border: 1px solid var(--tm-line); }
.tm-id > * { margin: 0 !important; }
.tm-name { font-size: clamp(22px, 2.2vw, 30px); font-weight: 700; letter-spacing: -0.035em; line-height: 1; }
.tm-name a { text-decoration: none; color: var(--tm-ink); }
.tm-sub { font-size: 13px; font-weight: 600; color: var(--tm-pine); margin-top: 5px !important; }
nav.tm-nav { margin-top: 14px !important; padding-block: 12px 13px; border-top: 1px solid var(--tm-line); }
.tm-nav .wp-block-navigation__container { gap: 6px 26px; }
.tm-nav .wp-block-navigation-item__content { text-decoration: none; }
.tm-nav .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 4px; }
.tm-nav .wp-block-navigation__submenu-container {
	background: var(--tm-surface) !important; border: 1px solid var(--tm-line) !important; border-radius: 12px;
	padding: 8px !important; box-shadow: 0 16px 36px -14px var(--tm-shadow); min-width: 220px !important;
}
.tm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 9px 12px !important; border-radius: 8px; }
.tm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--tm-field); text-decoration: none; }
.tm-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--tm-base) !important; padding: 24px var(--tm-pad) !important; }
.tm-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { font-size: 18px; gap: 14px; }
@media (max-width: 599px) {
	nav.tm-nav { border-top: 0; margin-top: 0 !important; padding: 0; position: absolute; right: var(--tm-pad); top: 28px; }
	.tm-header-inner { padding-bottom: 14px; }
	.tm-sub { font-size: 12px; }
	.tm-logo { display: none; }
	.tm-photo img { width: 48px; height: 48px; }
	.tm-id { padding-right: 44px; }
}

/* ---------------- Footer ---------------- */
.tm-site-footer { background: var(--tm-ink); color: #F2F1EE; margin-top: clamp(40px, 5vw, 72px); }
.tm-footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; padding-block: 28px; font-size: 14px; }
.tm-footer-inner > * { margin: 0 !important; }
.tm-footer-inner a { color: inherit; text-decoration: none; }
.tm-footer-inner a:hover { text-decoration: underline; }
.tm-copy a { margin-left: 16px; font-size: 13px; opacity: 0.75; text-decoration: underline !important; text-underline-offset: 3px; }
.tm-foot-links { display: flex; flex-wrap: wrap; gap: 8px 20px; }

/* ---------------- Home: three cards ---------------- */
.tm-home { padding-block: clamp(20px, 2.6vw, 36px) 0; }
.tm-cards.wp-block-columns {
	display: grid !important;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr);
	grid-auto-rows: auto;
	gap: 0 clamp(16px, 2vw, 28px);
	margin: 0;
}
.tm-card.wp-block-column {
	display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0;
	background: var(--tm-surface); border: 1px solid var(--tm-line); border-radius: var(--tm-radius); overflow: hidden;
	box-shadow: 0 1px 2px var(--tm-shadow), 0 18px 40px -18px var(--tm-shadow);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	min-width: 0;
}
.tm-card.wp-block-column:hover { transform: translateY(-3px); box-shadow: 0 1px 2px var(--tm-shadow), 0 26px 50px -18px var(--tm-shadow); }
.tm-card-head { display: grid; gap: 8px; padding: clamp(20px, 2.4vw, 30px); color: #fff; align-content: start; }
.tm-card-head h2 { font-size: clamp(32px, 3.4vw, 48px); line-height: 0.98; color: inherit; }
.tm-card-head .tm-kicker { color: inherit; opacity: 0.85; }
.tm-card-head .tm-tag { font-size: 15px; line-height: 1.4; opacity: 0.92; }
.tm-card--books .tm-card-head { background: var(--tm-pine); }
.tm-card--comedy .tm-card-head { background: var(--tm-slate); }
.tm-card-body { display: flex; flex-direction: column; gap: 18px; padding: clamp(20px, 2.4vw, 30px); }
.tm-card-body > * { margin: 0 !important; }
.tm-card-foot { margin: 0; border-top: 1px solid var(--tm-line); font-family: var(--tm-mono); font-size: 14px; font-weight: 600; }
.tm-card-foot a { display: flex; justify-content: space-between; align-items: center; padding: 14px clamp(20px, 2.4vw, 30px); text-decoration: none; color: var(--tm-ink); }
.tm-card-foot a::after { content: "→"; font-size: 18px; transition: transform 0.2s ease; }
.tm-card-foot a:hover::after { transform: translateX(4px); }

/* Books card */
.tm-covers { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 10px !important; }
.tm-covers .wp-block-image a { display: block; transition: transform 0.2s ease; }
.tm-covers .wp-block-image a:hover { transform: translateY(-3px) rotate(-1deg); }
.tm-covers img, .tm-soon-cover img, .tm-book-cover img {
	display: block; width: 100%; aspect-ratio: 5 / 8; object-fit: cover; border-radius: 3px 6px 6px 3px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25), 0 14px 28px -10px rgba(0, 0, 0, 0.55);
}
.tm-covers .is-active img { outline: 3px solid #fff; outline-offset: 3px; }
.tm-shelf.wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; }
.tm-shelf .wp-block-column { display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; }
.tm-shelf .wp-block-column > * { margin: 0 !important; }
.tm-shelf .wp-block-button, .tm-shelf .wp-block-button__link { width: 100%; }
.tm-shelf .wp-block-button__link { padding-inline: 10px; font-size: 13px; }
.tm-formats { list-style: none; margin: 0; padding: 0 !important; display: flex; flex-wrap: wrap; font-size: 13px; line-height: 1.5; color: var(--tm-muted); }
.tm-formats li { white-space: nowrap; }
.tm-formats li:not(:last-child)::after { content: "·"; margin: 0 6px; }
.tm-summaries { display: grid; padding: 14px 16px; border-radius: 14px; border: 1px dashed var(--tm-line); }
.tm-summaries > * { grid-area: 1 / 1; transition: opacity 0.2s ease; }
.tm-summary { opacity: 0; pointer-events: none; }
.tm-summary > * { margin: 0 !important; }
.tm-summary h3 { font-size: 16px; margin-bottom: 4px !important; }
.tm-summary p { font-size: 14px; line-height: 1.5; }
.tm-summary-hint { align-self: center; justify-self: center; text-align: center; font-family: var(--tm-mono); font-size: 13px; color: var(--tm-muted); }
.tm-summaries.is-showing .tm-summary-hint { opacity: 0; }
.tm-summary.is-active { opacity: 1; }
@media (hover: none), (max-width: 781px) {
	.tm-summaries { border-style: solid; gap: 14px; }
	.tm-summaries > * { grid-area: auto; }
	.tm-summary { opacity: 1; }
	.tm-summary-hint { display: none; }
}
.tm-soon { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 8px 16px; align-items: center; padding: 16px; border-radius: 14px; background: var(--tm-field); border: 1px solid var(--tm-line); }
.tm-soon-text > * { margin: 0 !important; }
.tm-soon-text h3 { font-size: 19px; line-height: 1.15; margin-block: 4px !important; }
.tm-soon .tm-book-signup { grid-column: 1 / -1; }

/* WLE card */
.tm-wle-head { background: var(--tm-cream); color: var(--tm-navy); padding: 0; gap: 0; grid-template-rows: 1fr auto 1fr; }
.tm-wle-head .tm-kicker { background: var(--tm-navy); color: var(--tm-cream); opacity: 1; display: flex; align-items: flex-end; padding: 18px clamp(20px, 2.4vw, 30px) 12px; }
.tm-wle-head .tm-tag { background: var(--tm-blue); color: var(--tm-navy); opacity: 1; font-weight: 600; padding: 12px clamp(20px, 2.4vw, 30px) 18px; }
.tm-wle-wordmark img { display: block; width: 100%; height: auto; }
.tm-card--wle .wp-block-button__link, .tm-card--wle .tm-btn { background: var(--tm-navy); border-color: var(--tm-navy); }
.tm-pitch { font-size: 15px; line-height: 1.55; }
.tm-pitch a { color: var(--tm-navy); font-weight: 600; text-underline-offset: 3px; }
.tm-label { margin-bottom: -10px !important; }

/* Comedy card and offers */
.tm-creds { font-size: 15px; border-left: 2px solid var(--tm-slate); padding-left: 12px; }
.tm-offer { border: 1px solid var(--tm-line); border-radius: 12px; padding: 18px; display: grid; gap: 10px; background: var(--tm-field); align-content: start; }
.tm-offer > * { margin: 0 !important; }
.tm-offer--dark { background: var(--tm-ink); color: #fff; border-color: var(--tm-ink); }
.tm-offer-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.tm-offer-head h3 { font-size: 19px; line-height: 1.2; color: inherit; }
.tm-price { font-family: var(--tm-mono); font-weight: 700; font-size: 18px; white-space: nowrap; }
.tm-checks { list-style: none; margin: 4px 0 6px; padding: 0 !important; display: grid; gap: 8px; font-size: 14px; }
.tm-checks li { display: grid; grid-template-columns: 16px 1fr; gap: 8px; }
.tm-checks li::before { content: "✓"; font-weight: 700; }
.tm-offer--dark .wp-block-button, .tm-offer--dark .wp-block-button__link { width: 100%; }

/* Signup forms */
.tm-signup { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.tm-signup input {
	flex: 1 1 160px; min-width: 0; box-sizing: border-box; font: 14px var(--wp--preset--font-family--geist, sans-serif);
	padding: 11px 16px; border: 1.5px solid var(--tm-line); border-radius: 999px; background: var(--tm-field); color: var(--tm-ink);
}
.tm-card-body .tm-signup input { background: var(--tm-base); }
.tm-soon .tm-signup input { background: var(--tm-surface); }
.tm-book-signup > * { margin: 0; }
.tm-signup-error { color: #9B1C1C; font-size: 13px; margin-top: 8px !important; }
.tm-followup { display: grid; gap: 10px; padding: 14px; border-radius: 12px; background: var(--tm-surface); border: 1px solid var(--tm-line); }
.tm-followup p { margin: 0; font-size: 14px; }
.tm-followup-done { font-family: var(--tm-mono); font-weight: 600; font-size: 13px !important; color: var(--tm-pine); }
.tm-followup-row { display: flex; flex-wrap: wrap; gap: 8px; }
.tm-admin-note { font-size: 12px; background: #FFF4CC; border: 1px solid #E8D48A; padding: 8px 10px; border-radius: 8px; margin-top: 8px !important; }

/* Substack post lists */
.tm-post-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--tm-line); }
.tm-post-list li { border-bottom: 1px solid var(--tm-line); padding: 10px 0; display: grid; gap: 2px; }
.tm-post-list a { text-decoration: none; font-weight: 600; font-size: 15px; line-height: 1.35; }
.tm-post-list a:hover { text-decoration: underline; }
.tm-post-list span { font-family: var(--tm-mono); font-size: 12px; color: var(--tm-muted); }
.tm-post-cards { display: grid; gap: 16px; }
.tm-post-card { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 20px; align-items: center; padding: 14px; border-radius: 16px; background: var(--tm-surface); border: 1px solid var(--tm-line); text-decoration: none; color: var(--tm-ink); transition: transform 0.2s ease; }
.tm-post-card[hidden] { display: none; }
.tm-post-card:hover { transform: translateY(-2px); }
.tm-post-card__img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; display: block; }
.tm-post-card__img--empty { background: repeating-linear-gradient(135deg, var(--tm-cream) 0 10px, #EDEAE0 10px 20px); }
.tm-post-card__text { display: grid; gap: 4px; }
.tm-post-card__title { font-size: 20px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; }
.tm-post-card__sub { color: var(--tm-muted); font-size: 15px; }
.tm-more-row { text-align: center; margin-top: 20px; }
.tm-feed-fallback a { font-weight: 600; }

/* ---------------- Inner pages ---------------- */
.tm-page { display: grid; gap: clamp(40px, 5vw, 72px); padding-block: clamp(28px, 4vw, 56px) 0; }
.tm-panel { background: var(--tm-surface); border: 1px solid var(--tm-line); border-radius: var(--tm-radius); padding: clamp(20px, 3vw, 40px); box-shadow: 0 1px 2px var(--tm-shadow), 0 18px 40px -22px var(--tm-shadow); }
.tm-panel > * { margin-block: 0 !important; }
.tm-panel > * + * { margin-top: 14px !important; }
.tm-narrow { max-width: 820px; }
.tm-split { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }

/* Novels */
.tm-book { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.tm-book-info { display: grid; gap: 16px; align-content: start; }
.tm-book-info > * { margin: 0 !important; }
.tm-desc { display: grid; gap: 12px; max-width: 64ch; }
.tm-desc > * { margin: 0 !important; line-height: 1.65; }
.tm-hook { font-size: 19px; font-weight: 600; line-height: 1.4 !important; letter-spacing: -0.01em; }
.tm-fans { font-size: 14px; color: var(--tm-muted); padding-top: 12px; border-top: 1px solid var(--tm-line); }
.tm-badge { font-family: var(--tm-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tm-pine); }
.tm-badge::before { content: "★ "; }
.tm-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 8px !important; }
.tm-review { padding: 18px; border-radius: 14px; background: var(--tm-field); border: 1px solid var(--tm-line); display: grid; gap: 10px; align-content: start; }
.tm-review > * { margin: 0 !important; }
.tm-stars { color: var(--tm-pine); letter-spacing: 0.1em; font-size: 14px; }
.tm-review-quote { font-size: 15px; line-height: 1.5; }
.tm-review-by { font-family: var(--tm-mono); font-size: 12px; color: var(--tm-muted); }
.tm-book--soon { grid-template-columns: minmax(0, 220px) minmax(0, 1fr); align-items: center; }
.tm-book--soon .tm-signup { max-width: 440px; }
.tm-cross { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; background: var(--tm-navy); color: var(--tm-cream); border-radius: var(--tm-radius); padding: clamp(20px, 3vw, 40px); }
.tm-cross .wp-block-group > * { margin: 0 !important; }
.tm-cross .wp-block-group > * + * { margin-top: 8px !important; }
.tm-cross .tm-eyebrow { color: var(--tm-blue); }

/* Writing Lessons Everywhere page */
.tm-wle-logo img { display: block; width: 100%; border-radius: var(--tm-radius); box-shadow: 0 18px 40px -22px var(--tm-shadow); }
.tm-page .tm-smt-step .wp-block-button__link, .tm-page .tm-hero .tm-btn { background: var(--tm-navy); border-color: var(--tm-navy); }
.tm-smt { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tm-smt-step { position: relative; padding: 20px; border-radius: 14px; background: var(--tm-field); border: 1px solid var(--tm-line); display: grid; gap: 8px; align-content: start; }
.tm-smt-step > * { margin: 0 !important; }
.tm-smt-step:not(:last-child)::after { content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--tm-blue); color: #fff; font-size: 13px; z-index: 1; }
.tm-step { color: var(--tm-blue); }
.tm-smt-step p, .tm-smt-step li { font-size: 15px; line-height: 1.55; }
.tm-smt-step ol { margin: 0; padding-left: 20px; display: grid; gap: 4px; }
.tm-more-link a { color: var(--tm-navy); font-weight: 600; }
.tm-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tm-plan { border-radius: var(--tm-radius); border: 1px solid var(--tm-line); background: var(--tm-surface); padding: clamp(20px, 2.6vw, 32px); display: grid; gap: 12px; align-content: start; }
.tm-plan > * { margin: 0 !important; }
.tm-plan--paid { background: var(--tm-navy); color: var(--tm-cream); border-color: var(--tm-navy); }
.tm-plan h3 { color: inherit; }
.tm-price-big { font-size: 44px; font-weight: 700; letter-spacing: -0.03em; line-height: 1; }
.tm-alt { font-family: var(--tm-mono); font-size: 13px; opacity: 0.85; margin-top: -4px !important; }
.tm-plan .tm-checks li::before { color: var(--tm-blue); }
.tm-plan .tm-btn { background: var(--tm-navy); border-color: var(--tm-navy); }
.tm-about-mini { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: center; }
.tm-about-mini > * + * { margin-top: 0 !important; }
.tm-about-mini .wp-block-group > * { margin: 0 0 6px !important; }
.tm-mini-photo img { width: 88px; height: 88px; border-radius: 14px; object-fit: cover; display: block; }

/* Comedy page */
.tm-hire { background: var(--tm-slate); color: #fff; border-radius: 22px; padding: clamp(24px, 4vw, 52px); display: grid; gap: clamp(20px, 3vw, 36px); box-shadow: 0 24px 50px -28px rgba(0, 0, 0, 0.6); }
.tm-hire > * { margin: 0 !important; }
.tm-hire .tm-eyebrow { color: #C9D6E4; }
.tm-hire h2 { color: #fff; font-size: clamp(30px, 4vw, 50px); max-width: 18ch; }
.tm-hire-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: rgba(255, 255, 255, 0.18); border-radius: 14px; overflow: hidden; }
.tm-hire-grid > .wp-block-group { background: var(--tm-slate); padding: clamp(18px, 2.4vw, 28px); display: grid; gap: 10px; align-content: start; }
.tm-hire-grid > .wp-block-group > * { margin: 0 !important; font-size: 15px; line-height: 1.55; color: #E3EAF1; }
.tm-hire-grid .tm-hire-big { font-weight: 800; letter-spacing: -0.03em; font-size: clamp(24px, 2.6vw, 34px) !important; line-height: 1.05 !important; color: #fff !important; }
.tm-jokes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tm-joke { padding: 20px; border-radius: 14px; background: var(--tm-field); border: 1px solid var(--tm-line); display: grid; gap: 12px; align-content: space-between; }
.tm-joke > * { margin: 0 !important; }
.tm-joke-text { font-size: 17px; line-height: 1.45; font-weight: 600; letter-spacing: -0.01em; }
.tm-joke-src { font-family: var(--tm-mono); font-size: 12px; color: var(--tm-muted); }
.tm-sheets { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.tm-sheets img { width: 100%; border-radius: 6px; border: 1px solid var(--tm-line); box-shadow: 0 10px 24px -14px rgba(0, 0, 0, 0.5); transition: transform 0.2s ease; }
.tm-sheets a:hover img { transform: translateY(-3px); }
.tm-sheets figcaption { font-size: 14px; font-weight: 600; text-align: left; margin-top: 8px; }
.tm-steps { margin: 0; padding: 0 !important; list-style: none; counter-reset: tm-step; display: grid; gap: 14px; }
.tm-steps li { counter-increment: tm-step; display: grid; grid-template-columns: 32px 1fr; gap: 12px; font-size: 15px; align-items: start; }
.tm-steps li::before { content: counter(tm-step); width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--tm-slate); color: #fff; font: 600 13px var(--tm-mono); }
.tm-faqs { display: grid; gap: 10px; }
.tm-faqs > * { margin: 0 !important; }
.tm-faq { border: 1px solid var(--tm-line); border-radius: 12px; background: var(--tm-surface); padding: 0 18px; }
.tm-faq summary { cursor: pointer; padding: 16px 0; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.tm-faq summary::-webkit-details-marker { display: none; }
.tm-faq summary::after { content: "+"; font-size: 20px; line-height: 1; color: var(--tm-slate); }
.tm-faq[open] summary::after { content: "–"; }
.tm-faq p { padding-bottom: 16px; margin: 0; font-size: 15px; line-height: 1.6; color: var(--tm-muted); }

/* YouTube page */
.tm-spec .tm-chips { list-style: none; margin: 0; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.tm-chips li { font-weight: 600; font-size: 14px; padding: 8px 14px; border-radius: 999px; background: var(--tm-slate); color: #fff; }
.tm-offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tm-offers .tm-price { color: var(--tm-slate); }
.tm-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 20px !important; }
.tm-facts > .wp-block-group { padding: 18px; border-radius: 14px; background: var(--tm-field); border: 1px solid var(--tm-line); display: grid; gap: 4px; }
.tm-facts > .wp-block-group > * { margin: 0 !important; font-size: 14px; color: var(--tm-muted); }
.tm-facts .tm-fact-title { font-size: 18px !important; font-weight: 700; color: var(--tm-ink) !important; }
.tm-sample-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tm-sample-list { list-style: none; margin: 0; padding: 0 !important; }
.tm-sample-list li { border-top: 1px solid var(--tm-line); }
.tm-sample-list a { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; text-decoration: none; font-weight: 600; font-size: 15px; }
.tm-sample-list a::after { content: "↗"; color: var(--tm-slate); }
.tm-page:has(.tm-spec) .tm-btn { background: var(--tm-slate); border-color: var(--tm-slate); }

/* Entries: screenplays, TV, poetry */
.tm-entries { display: grid; gap: 16px; }
.tm-entry { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 24px; align-items: start; }
.tm-entry > * + * { margin-top: 0 !important; }
.tm-entry-body { display: grid; gap: 8px; }
.tm-entry-body > * { margin: 0 !important; }
.tm-logline { font-size: 17px; line-height: 1.5; font-weight: 500; }
.tm-entry-summary { font-size: 15px; line-height: 1.6; color: var(--tm-muted); max-width: 70ch; }
.tm-chip { justify-self: start; font-family: var(--tm-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; border: 1px solid var(--tm-line); background: var(--tm-field); }

/* About */
.tm-about { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: clamp(24px, 5vw, 64px); align-items: start; }
.tm-about > .wp-block-group > * { margin: 0 !important; }
.tm-about > .wp-block-group > * + * { margin-top: 16px !important; }
.tm-portrait img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 22px; box-shadow: 0 24px 50px -26px rgba(0, 0, 0, 0.55); display: block; }
.tm-bio { display: grid; gap: 16px; font-size: 17px; line-height: 1.7; max-width: 64ch; }
.tm-bio > * { margin: 0 !important; }
.tm-jumps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tm-jump a { display: grid; gap: 4px; padding: 18px; border-radius: 14px; color: #fff; text-decoration: none; font-size: 14px; opacity: 0.95; }
.tm-jump strong { font-size: 18px; }
.tm-jump--pine a { background: var(--tm-pine); }
.tm-jump--navy a { background: var(--tm-navy); }
.tm-jump--slate a { background: var(--tm-slate); }

/* Portfolio */
.tm-port-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tm-port-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.tm-port a { display: grid; gap: 4px; padding: 18px 48px 18px 22px; border-radius: 16px; background: var(--tm-surface); border: 1px solid var(--tm-line); border-left: 6px solid var(--tm-ink); text-decoration: none; color: var(--tm-muted); font-size: 14px; position: relative; transition: transform 0.2s ease; }
.tm-port a::after { content: "→"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 20px; }
.tm-port a:hover { transform: translateY(-2px); }
.tm-port strong { font-size: 19px; color: var(--tm-ink); letter-spacing: -0.01em; }
.tm-port--pine a { border-left-color: var(--tm-pine); }
.tm-port--slate a { border-left-color: var(--tm-slate); }
.tm-port--navy a { border-left-color: var(--tm-navy); }

/* Contact, forms, legal */
.tm-form { display: grid; gap: 12px; max-width: 560px; }
.tm-form label { display: grid; gap: 6px; font-size: 13px; font-weight: 600; }
.tm-form input, .tm-form textarea, .tm-form select { font: 15px var(--wp--preset--font-family--geist, sans-serif); padding: 11px 14px; border: 1.5px solid var(--tm-line); border-radius: 12px; background: var(--tm-field); color: var(--tm-ink); width: 100%; box-sizing: border-box; }
.tm-form textarea { resize: vertical; }
.tm-form p { margin: 0; }
.tm-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tm-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tm-form-notice { padding: 12px 16px; border-radius: 12px; font-weight: 600; margin-bottom: 14px; }
.tm-form-notice--ok { background: #E3F1EC; color: var(--tm-pine); }
.tm-form-notice--error { background: #FBE9E9; color: #9B1C1C; }
.tm-social-row { display: flex; gap: 18px; flex-wrap: wrap; }
.tm-legal { max-width: 780px; font-size: 16px; line-height: 1.7; }
.tm-legal h2 { font-size: 22px; margin-top: 26px !important; }
.tm-legal ul { padding-left: 20px; display: grid; gap: 8px; }
.tm-draft-note { font-family: var(--tm-mono); font-size: 13px; background: var(--tm-field); border: 1px dashed var(--tm-line); border-radius: 10px; padding: 10px 14px; color: var(--tm-muted); }

/* ---------------- Responsive ---------------- */
@media (max-width: 1080px) {
	.tm-cards.wp-block-columns { grid-template-columns: 1fr 1fr; }
	.tm-card--books.wp-block-column { grid-column: 1 / -1; }
	.tm-card--books .tm-covers { max-width: 520px; }
}
@media (max-width: 781px) {
	.tm-cards.wp-block-columns { grid-template-columns: 1fr; row-gap: 0; }
	.tm-card.wp-block-column { margin-bottom: 16px; }
	.tm-split, .tm-book, .tm-book--soon, .tm-cross, .tm-about, .tm-smt, .tm-plans, .tm-hire-grid, .tm-jokes,
	.tm-offers, .tm-facts, .tm-sample-groups, .tm-reviews, .tm-jumps, .tm-port-grid, .tm-entry, .tm-form-row { grid-template-columns: 1fr; }
	.tm-book-cover img, .tm-portrait img { max-width: 240px; }
	.tm-smt-step:not(:last-child)::after { right: 50%; top: auto; bottom: -13px; transform: translateX(50%) rotate(90deg); }
	.tm-sheets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tm-post-card { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.tm-card, .tm-covers a, .tm-card-foot a::after, .tm-post-card, .tm-port a, .tm-sheets img, .tm-summaries > * { transition: none !important; }
	.tm-card:hover, .tm-covers a:hover, .tm-post-card:hover, .tm-port a:hover { transform: none !important; }
}

/* Phone menu: show Other Writing items as a simple indented list */
.tm-nav .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 6px 0 0 16px !important; min-width: 0 !important;
}
.tm-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 6px 0 !important; }
