/* Tosca Tila – theme styles. Tokens come from theme.json (--wp--preset--*). */

:root {
	--tt-ease: var(--wp--custom--ease);
	--tt-r-sm: var(--wp--custom--radius--sm);
	--tt-r-md: var(--wp--custom--radius--md);
	--tt-r-lg: var(--wp--custom--radius--lg);
	--tt-shadow-sm: var(--wp--preset--shadow--sm);
	--tt-shadow-md: var(--wp--preset--shadow--md);
	--tt-shadow-lg: var(--wp--preset--shadow--lg);
	--tt-header-h: 4.5rem;
}

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; font-variant-numeric: lining-nums; }
h1, h2, h3, h4 { text-wrap: balance; }
p, li { text-wrap: pretty; }
time, .tt-tabular { font-variant-numeric: tabular-nums; }
.wp-block-post-content p, .tt-prose p { max-width: 42rem; }
.tt-section > ul, .tt-section > ol { max-width: 42rem; }
img { height: auto; }

.screen-reader-text {
	border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute; width: 1px; word-wrap: normal !important;
}

/* Focus (3px gold on dark, burgundy on light) */
:focus-visible { outline: 3px solid var(--wp--preset--color--burgundy-700); outline-offset: 3px; }
.has-burgundy-900-background-color :focus-visible,
.has-burgundy-700-background-color :focus-visible,
.has-night-950-background-color :focus-visible,
.tt-footer :focus-visible,

.tt-skip-link {
	position: fixed; inset-block-start: 0.5rem; inset-inline-start: 0.5rem; z-index: 1000;
	background: var(--wp--preset--color--burgundy-700); color: var(--wp--preset--color--cream-100);
	padding: 0.75rem 1.25rem; border-radius: 999px; font-weight: 700; text-decoration: none;
	transform: translateY(-200%);
}
.tt-skip-link:focus { transform: none; outline: 3px solid var(--wp--preset--color--gold-500); }

/* Header: quiet, static logo size */
.tt-header { border-block-end: 3px solid var(--wp--preset--color--gold-500); position: relative; z-index: 50; padding-block: .875rem; }
.tt-header__inner { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; gap: var(--wp--preset--spacing--50); }
.tt-header__inner > .tt-logo, .tt-header__inner > a { margin: 0; flex: 0 0 auto; }
.tt-header__nav { gap: var(--wp--preset--spacing--50); margin-inline-start: auto; justify-content: flex-end; }
.tt-header .tt-logo-light { display: none; }
.tt-header .tt-logo-dark { display: inline-block; }
.tt-header .wp-block-navigation, .tt-header .wp-block-navigation a { color: var(--wp--preset--color--cream-100); }
.tt-header .wp-block-navigation a:hover { color: var(--wp--preset--color--gold-500); }
.tt-header .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--cream-100); }
.tt-header .wp-block-navigation__responsive-container.is-menu-open a { color: var(--wp--preset--color--night-950); }
.tt-header .wp-block-button__link { background: var(--wp--preset--color--gold-500); color: var(--wp--preset--color--night-950); }
.tt-header :focus-visible { outline-color: var(--wp--preset--color--gold-500); }
@media (max-width: 47.99rem) { .tt-header__inner { flex-direction: row; } }
.tt-logo { display: inline-flex; line-height: 0; }
.tt-logo img { height: 3rem; width: auto; }
.tt-footer .tt-logo img { height: 3rem; }
.wp-block-navigation a { text-decoration: none; }
.wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: 0.3em; text-decoration-thickness: 2px; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--paper-50); }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-width: 48px; min-height: 48px; }
.wp-block-navigation .current-menu-item > a, .wp-block-navigation [aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.3em; }

/* Logo variants */
.tt-logo-dark { display: none; }
.tt-footer .tt-logo-light { display: none; }
.tt-footer .tt-logo-dark { display: inline-block; }

/* Buttons */
.wp-element-button, .wp-block-button__link {
	min-height: 48px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.is-style-tt-secondary .wp-block-button__link, .wp-block-button.is-style-tt-secondary .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--burgundy-700); border: 2px solid var(--wp--preset--color--burgundy-700);
}
.is-style-tt-secondary .wp-block-button__link:hover, .wp-block-button.is-style-tt-secondary .wp-block-button__link:hover {
	background: var(--wp--preset--color--burgundy-700); color: var(--wp--preset--color--cream-100); box-shadow: none;
}
.is-style-tt-accent .wp-block-button__link, .wp-block-button.is-style-tt-accent .wp-block-button__link {
	background: var(--wp--preset--color--gold-500); color: var(--wp--preset--color--night-950);
}
.is-style-tt-accent .wp-block-button__link:hover, .wp-block-button.is-style-tt-accent .wp-block-button__link:hover { background: #E8AE45; color: var(--wp--preset--color--night-950); box-shadow: none; }
.has-burgundy-900-background-color .is-style-tt-secondary .wp-block-button__link,
.has-burgundy-700-background-color .is-style-tt-secondary .wp-block-button__link,
.has-night-950-background-color .is-style-tt-secondary .wp-block-button__link,
.tt-footer .is-style-tt-secondary .wp-block-button__link { color: var(--wp--preset--color--cream-100); border-color: var(--wp--preset--color--cream-100); }
.has-burgundy-900-background-color .is-style-tt-secondary .wp-block-button__link:hover,
.has-burgundy-700-background-color .is-style-tt-secondary .wp-block-button__link:hover,
.has-night-950-background-color .is-style-tt-secondary .wp-block-button__link:hover { background: var(--wp--preset--color--cream-100); color: var(--wp--preset--color--burgundy-900); }

/* Text on dark sections */
.has-burgundy-900-background-color, .has-burgundy-700-background-color, .has-night-950-background-color, .tt-footer { color: var(--wp--preset--color--cream-100); }
.has-burgundy-900-background-color :where(h1,h2,h3,h4,a:not(.wp-element-button)),
.has-burgundy-700-background-color :where(h1,h2,h3,h4,a:not(.wp-element-button)),
.has-night-950-background-color :where(h1,h2,h3,h4,a:not(.wp-element-button)),
.tt-footer :where(h1,h2,h3,h4,a:not(.wp-element-button)) { color: var(--wp--preset--color--cream-100); }
.has-burgundy-900-background-color :where(h2,h3), .has-night-950-background-color :where(h2,h3), .tt-footer :where(h2,h3,h4) { color: var(--wp--preset--color--gold-500); }

/* Display font: hero & taglines only */
.tt-display, .has-display-font-family { font-family: var(--wp--preset--font-family--display); text-transform: uppercase; letter-spacing: 0.02em; font-weight: 400; line-height: 1.1; }
.tt-eyebrow { font-family: var(--wp--preset--font-family--heading); text-transform: uppercase; letter-spacing: 0.12em; font-size: var(--wp--preset--font-size--sm); font-weight: 600; margin: 0; }

/* Hero: dark band, text + image */
.tt-hero { padding-block: var(--wp--preset--spacing--80); color: var(--wp--preset--color--cream-100); }
.tt-hero h1 { color: var(--wp--preset--color--cream-100); margin-block-end: var(--wp--preset--spacing--40); }
.tt-hero p { font-size: var(--wp--preset--font-size--lg); max-width: 32ch; }
.tt-hero .wp-block-button__link { background: var(--wp--preset--color--gold-500); color: var(--wp--preset--color--night-950); }
.tt-hero .wp-block-image img { width: 100%; display: block; border-radius: var(--tt-r-lg); }
.tt-hero--cover { padding-block: var(--wp--preset--spacing--80); }
.tt-hero--cover .wp-block-cover__inner-container { width: 100%; max-width: 72rem; }
.tt-hero--cover .wp-block-cover__inner-container > * { max-width: 36rem; margin-inline: 0 !important; }
.tt-hero--cover .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(90deg, var(--wp--preset--color--burgundy-900) 0%, color-mix(in srgb, var(--wp--preset--color--burgundy-900) 88%, transparent) 38%, color-mix(in srgb, var(--wp--preset--color--burgundy-900) 25%, transparent) 70%, transparent 100%) !important; }
@media (max-width: 781px) { .tt-hero--cover .wp-block-cover__background { background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--burgundy-900) 90%, transparent) 0%, color-mix(in srgb, var(--wp--preset--color--burgundy-900) 70%, transparent) 100%) !important; } }
.tt-hero--cover .wp-block-cover__image-background { inset: 0 auto auto 0 !important; width: 135% !important; height: 100% !important; max-width: none !important; }
@media (max-width: 781px) { .tt-hero--cover .wp-block-cover__image-background { width: 100% !important; inset: 0 !important; } }
.tt-hero--cover .wp-block-cover__image-background { object-position: 0 10%; }
.tt-hero .wp-block-columns { gap: var(--wp--preset--spacing--70); }

/* Section rhythm & decor */
.tt-section, .tt-hero { padding-inline: max(var(--wp--preset--spacing--40), calc((100vw - 72rem) / 2)); }
.tt-section.is-layout-constrained > *, .tt-hero.is-layout-constrained > * { max-width: none; margin-inline: 0 !important; }
.tt-section > h1 + p { font-size: var(--wp--preset--font-size--lg); }
.tt-section > h1 { margin-block-end: var(--wp--preset--spacing--40); }
.tt-section { padding-block: var(--wp--preset--spacing--90); }
.tt-section > h2:first-child { margin-block-end: var(--wp--preset--spacing--60); }
.tt-divider { border: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--wp--preset--color--gold-500), transparent); max-width: 16rem; margin-inline: auto; opacity: 1; }
.is-style-tt-stitch { border: 2px dashed var(--wp--preset--color--leather-600); border-radius: var(--tt-r-lg); }

/* Cards */
.is-style-tt-card, .tt-card { background: var(--wp--preset--color--sand-200); border-radius: var(--tt-r-lg); overflow: hidden; }
.tt-card .wp-block-post-featured-image, .tt-card .wp-block-image { margin: 0; }
.tt-card .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; border-radius: 0; }
.tt-card__body { padding: var(--wp--preset--spacing--50); }
.tt-card a { text-decoration: none; }
.tt-card .wp-block-post-title a:hover { text-decoration: underline; }
.tt-meta { font-size: var(--wp--preset--font-size--sm); margin: 0; font-variant-numeric: tabular-nums; }
.tt-date-badge { display: inline-block; background: var(--wp--preset--color--burgundy-700); color: var(--wp--preset--color--cream-100); font-family: var(--wp--preset--font-family--heading); font-weight: 600; letter-spacing: .04em; padding: .25rem .75rem; border-radius: 999px; font-size: var(--wp--preset--font-size--sm); }
.tt-price-row { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; border-block-end: 1px dashed var(--wp--preset--color--leather-600); padding-block: .75rem; margin: 0; }
.tt-price-row strong { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--lg); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Gallery */
.wp-block-gallery img { border-radius: var(--tt-r-md); }

/* FAQ */
.tt-faq details { margin-block: .75rem; background: var(--wp--preset--color--paper-50); }
.tt-faq summary { cursor: pointer; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: var(--wp--preset--font-size--lg); min-height: 48px; display: flex; align-items: center; }

/* Quote / testimonials */
.tt-quote { border: 0; padding: var(--wp--preset--spacing--50); background: var(--wp--preset--color--sand-200); border-radius: var(--tt-r-lg); margin: 0; }
.tt-quote p { font-size: var(--wp--preset--font-size--lg); }
.tt-quote cite { font-style: normal; font-weight: 700; font-size: var(--wp--preset--font-size--sm); }

/* Forms */
.tt-form { max-width: 40rem; }
.tt-field { margin-block-end: 1.25rem; }
.tt-field label { display: block; font-weight: 600; margin-block-end: .375rem; }
.tt-field input[type="text"], .tt-field input[type="email"], .tt-field input[type="tel"], .tt-field select, .tt-field textarea {
	width: 100%; min-height: 48px; padding: .625rem .875rem; font: inherit; color: inherit;
	background: var(--wp--preset--color--paper-50); border: 2px solid var(--wp--preset--color--leather-600); border-radius: var(--tt-r-md);
}
.tt-field textarea { min-height: 9rem; }
.tt-field [aria-invalid="true"] { border-color: #A3180F; }
.tt-field__error { color: #A3180F; font-weight: 600; margin: .375rem 0 0; font-size: var(--wp--preset--font-size--sm); }
.tt-field--check { display: grid; grid-template-columns: auto 1fr; gap: .25rem .75rem; align-items: start; }
.tt-field--check input { width: 1.5rem; height: 1.5rem; margin-block-start: .125rem; accent-color: var(--wp--preset--color--burgundy-700); }
.tt-field--check label { font-weight: 400; margin: 0; }
.tt-field--check .tt-field__error { grid-column: 2; }
.tt-form__hint { font-size: var(--wp--preset--font-size--sm); margin-block-start: 0; }
.tt-form__notice { padding: 1rem 1.25rem; border-radius: var(--tt-r-md); font-weight: 600; border-inline-start: 6px solid; }
.tt-form__notice--ok { background: #E4F0E5; color: #1D4A27; border-color: #2F6B3A; }
.tt-form__notice--error { background: #F8E3E0; color: #7A1009; border-color: #A3180F; }
.tt-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* Map */
.tt-map { border-radius: var(--tt-r-lg); overflow: hidden; background: var(--wp--preset--color--sand-200); }
.tt-map iframe { display: block; width: 100%; height: 24rem; border: 0; }
.tt-map__link { display: inline-block; margin-block-start: .5rem; }

/* Calendar */
.tt-cal__nav { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-block-end: 1rem; }
.tt-cal__title { margin: 0; font-size: var(--wp--preset--font-size--xl); }
.tt-cal__table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.tt-cal__table th { font-family: var(--wp--preset--font-family--heading); text-transform: uppercase; padding: .5rem; background: var(--wp--preset--color--burgundy-700); color: var(--wp--preset--color--cream-100); }
.tt-cal__table td { border: 1px solid var(--wp--preset--color--sand-200); vertical-align: top; height: 6rem; padding: .375rem; }
.tt-cal__day { font-weight: 700; font-size: var(--wp--preset--font-size--sm); display: block; }
.tt-cal__event { display: block; margin-block-start: .25rem; padding: .25rem .5rem; background: var(--wp--preset--color--burgundy-700); color: var(--wp--preset--color--cream-100); border-radius: var(--tt-r-sm); font-size: var(--wp--preset--font-size--xs); text-decoration: none; overflow-wrap: anywhere; }
.tt-cal__event:hover { background: var(--wp--preset--color--burgundy-900); }
.tt-cal__table td.is-today { background: color-mix(in srgb, var(--wp--preset--color--gold-500) 20%, transparent); }
.tt-cal__dow { display: none; }
@media (max-width: 47.99rem) {
	.tt-cal__table, .tt-cal__table tbody, .tt-cal__table tr, .tt-cal__table td { display: block; }
	.tt-cal__table thead { display: none; }
	.tt-cal__table td.is-empty { display: none; }
	.tt-cal__table td { height: auto; margin-block-end: .5rem; border-radius: var(--tt-r-md); }
	.tt-cal__dow { display: inline; }
}

/* Footer */
.tt-footer { background: var(--wp--preset--color--burgundy-900); }
.tt-footer a { text-underline-offset: .2em; }
.tt-footer .wp-block-separator { border-color: var(--wp--preset--color--gold-500); opacity: 1; }
.tt-footer p, .tt-footer li { max-width: none; }
.tt-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .25rem; }
.tt-footer ul a, .tt-footer .tt-contact a { display: inline-block; padding-block: .5rem; }


/* Forced colours / contrast */
@media (forced-colors: active) { .wp-element-button, .tt-card, .tt-cal__event { border: 1px solid CanvasText; } }
@media (prefers-contrast: more) { .tt-card, .is-style-tt-card { box-shadow: none; border: 2px solid currentColor; } }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	
}

/* Mobile */
@media (max-width: 47.99rem) {
	.wp-block-columns { gap: var(--wp--preset--spacing--50); }
}
@media (min-width: 48rem) { :root { --wp--style--root--padding-left: 2rem; --wp--style--root--padding-right: 2rem; } }

.tt-surface-wine a:not(.wp-element-button) { color: var(--wp--preset--color--cream-100); }
.tt-surface-wine a:not(.wp-element-button):hover { color: var(--wp--preset--color--gold-500); }

@media (max-width: 47.99rem) { .tt-header .wp-block-buttons { display: none; } }
.tt-form, .tt-field input, .tt-field select, .tt-field textarea { box-sizing: border-box; max-width: 100%; }
.tt-footer .wp-block-navigation ul, .tt-footer .wp-block-navigation__container { display: flex; flex-wrap: wrap; gap: 0 var(--wp--preset--spacing--50); }
.tt-footer .wp-block-navigation.is-vertical .wp-block-navigation__container { display: grid; }


.tt-header .wp-block-navigation__responsive-container-open svg { width: 2rem; height: 2rem; }
@media (max-width: 47.99rem) { .tt-header__nav { margin-inline-start: auto; } }

.wp-site-blocks > * { margin-block-start: 0; }
h1 { font-size: clamp(2rem, 1rem + 3.2vw, 3.5rem); overflow-wrap: normal; hyphens: manual; }

/* Cards: always left-aligned content */
.tt-card__body.is-layout-constrained > * { max-width: none; margin-inline: 0 !important; }
.tt-card__body > * + * { margin-block-start: var(--wp--preset--spacing--40); }

/* FAQ: tight heading-to-accordion spacing */
.tt-faq-intro { padding-block-end: 0; }
.tt-faq-intro > h2 { margin-block-end: 0; }
.tt-faq { padding-block-start: var(--wp--preset--spacing--40); }

/* Contact: info card + form side by side */
.tt-contact { gap: var(--wp--preset--spacing--60); }
@media (min-width: 48rem) {
	.tt-contact > .wp-block-column:first-child { flex-basis: 38%; flex-grow: 0; }
	.tt-contact > .wp-block-column:last-child { flex-basis: 62%; }
}
.tt-contact .tt-map iframe { height: 16rem; }
.tt-contact .tt-form { max-width: none; }
.tt-form form { display: grid; gap: 0 var(--wp--preset--spacing--40); }
@media (min-width: 40rem) {
	.tt-form form { grid-template-columns: 1fr 1fr; }
	.tt-form form > * { grid-column: 1 / -1; }
	.tt-form form > .tt-field--half { grid-column: auto; }
}
.tt-form__title { margin-block-start: 0; font-size: var(--wp--preset--font-size--xl); }


/* Mobile navigation */
@media (max-width: 47.99rem) {
	.tt-header__inner { flex-wrap: nowrap; }
	.tt-header__nav { margin-inline-start: auto; gap: var(--wp--preset--spacing--30); align-items: center; }
	.tt-header .wp-block-navigation__responsive-container-open { padding: 0; display: inline-grid; place-items: center; width: 44px; height: 44px; border: 2px solid var(--wp--preset--color--cream-100); border-radius: var(--tt-r-md); }
	.tt-header .wp-block-navigation__responsive-container-open svg { width: 1.5rem; height: 1.5rem; }
	.tt-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--paper-50); padding: var(--wp--preset--spacing--50); }
	.tt-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: var(--wp--preset--spacing--60); }
	.tt-header .is-menu-open .wp-block-navigation__container { gap: 0; align-items: stretch; width: 100%; }
	.tt-header .is-menu-open .wp-block-navigation-item { display: block; width: 100%; border-block-end: 1px solid var(--wp--preset--color--sand-200); }
	.tt-header .is-menu-open .wp-block-navigation-item > a { display: block; padding: .875rem 0; font-size: var(--wp--preset--font-size--lg); font-weight: 600; }
	.tt-header .is-menu-open .wp-block-navigation__submenu-container { position: static; display: block; width: 100%; padding: 0 0 .5rem 1rem; margin: 0 0 .5rem; border: 0; border-inline-start: 3px solid var(--wp--preset--color--gold-500); background: transparent; min-width: 0; }
	.tt-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
	.tt-header .is-menu-open .wp-block-navigation__submenu-container a { padding: .5rem 0; font-size: var(--wp--preset--font-size--base); font-weight: 400; text-transform: none; }
	.tt-header .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
	.tt-header .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--night-950); }
}
.tt-faq-intro > h2 { margin-block-start: var(--wp--preset--spacing--60); }
.tt-form__submit { justify-self: start; }
@media (max-width: 47.99rem) {
	.tt-header .is-menu-open .wp-block-navigation__responsive-container-content,
	.tt-header .is-menu-open .wp-block-navigation__container,
	.tt-header .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; justify-content: flex-start; text-align: left; }
	.tt-header .is-menu-open .wp-block-navigation-item__content { text-align: left; }
}
@media (max-width: 47.99rem) {
	.tt-header .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; }
	.tt-header .is-menu-open .wp-block-navigation-item > a, .tt-header .is-menu-open .wp-block-navigation__submenu-container { width: 100%; }
}
@media (max-width: 47.99rem) {
	.tt-header .is-menu-open .wp-block-navigation__submenu-container { border-inline-start: 3px solid var(--wp--preset--color--gold-500) !important; padding-inline-start: 1rem !important; margin-inline-start: 0 !important; }
}

/* CTA arrow: fades in on hover/focus without changing button width */
.wp-block-button__link, .wp-element-button { position: relative; }
.wp-block-button__link::after, .wp-element-button::after {
	content: ""; position: absolute; top: 50%; inset-inline-end: .75em; width: 1.1em; height: 1.1em; margin-top: -.55em; opacity: 0; transform: translateX(-.6em);
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: opacity .25s ease, transform .3s cubic-bezier(.22,1,.36,1);
}
.wp-block-button__link, .wp-element-button { transition: padding .3s cubic-bezier(.22,1,.36,1), background-color .2s, color .2s; }
.wp-block-button__link:hover, .wp-block-button__link:focus-visible, .wp-element-button:hover, .wp-element-button:focus-visible {
	padding-inline-start: calc(1.5rem - .6em); padding-inline-end: calc(1.5rem + .6em);
}
.wp-block-button__link:hover::after, .wp-block-button__link:focus-visible::after, .wp-element-button:hover::after, .wp-element-button:focus-visible::after { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .wp-block-button__link, .wp-element-button, .wp-block-button__link::after, .wp-element-button::after { transition: none; } }
.tt-brandlogo { margin-block: 0 var(--wp--preset--spacing--30); }
.tt-brandlogo img { width: 12rem; max-width: 100%; height: auto; }

/* Mega menu: submenus with 3+ items open as a full-width panel (desktop) */
.tt-header { position: relative; }
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu:has(> .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(3)) { position: static; }
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu:has(> .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(3)) > .wp-block-navigation__submenu-container {
	position: absolute; top: 100%; left: 0; right: 0; width: 100%; min-width: 0; box-sizing: border-box;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: .5rem 2rem; align-items: start;
	padding: var(--wp--preset--spacing--40) max(var(--wp--preset--spacing--40), calc((100vw - 72rem) / 2)) !important;
	background: var(--wp--preset--color--paper-50) !important; box-shadow: 0 12px 24px rgba(26,13,11,.18); border: 0 !important; border-top: 3px solid var(--wp--preset--color--gold-500) !important; border-radius: 0; transition: none;
}
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu:has(> .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(3)) > .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block; padding: .75rem 1rem; border-radius: var(--tt-r-md); }
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: rgba(255,255,255,.08); }
.tt-header .wp-block-navigation-item__description { display: block; margin-top: .25rem; font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--sm); font-weight: 400; text-transform: none; letter-spacing: 0; opacity: .8; }
.tt-header .wp-block-navigation, .tt-header .wp-block-navigation__responsive-container:not(.is-menu-open), .tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content, .tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container, .tt-header__nav, .tt-header__inner { position: static; }
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container, .tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container a { color: var(--wp--preset--color--night-950) !important; }
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container a:hover { color: var(--wp--preset--color--burgundy-700) !important; }
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-dialog { position: static; }

/* Hover bridge so the pointer can travel from the parent link to the mega panel */
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu:has(> .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(3)) > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 1.75rem; }
/* Mega menu links: calm hover, only the title changes colour */
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem 0; border-radius: 0; background: none !important; text-decoration: none !important; transition: color .2s ease; }
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: none !important; }
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__description { color: var(--wp--preset--color--night-950); text-decoration: none; }
/* Regular dropdown (1–2 items): compact light panel directly under the parent */
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) li.wp-block-navigation-submenu:not(:has(> .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(3))) > .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--paper-50) !important; box-shadow: 0 12px 24px rgba(26,13,11,.18); border: 0 !important; border-top: 3px solid var(--wp--preset--color--gold-500) !important; border-radius: 0 0 var(--tt-r-md) var(--tt-r-md); min-width: 16rem; padding: .5rem !important; top: 100%; left: 0; transition: none; animation: none; opacity: 1;
}
.tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) li.wp-block-navigation-submenu:not(:has(> .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(3))) > .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .625rem 1rem; border-radius: var(--tt-r-md); transition: color .2s ease; }
/* No arrow animation on transparent (outline) buttons */
:is(.is-style-tt-secondary, .is-style-outline) > .wp-block-button__link::after { display: none; }
:is(.is-style-tt-secondary, .is-style-outline) > .wp-block-button__link:is(:hover, :focus-visible) { padding-inline: 1.5rem; }
/* Memorial cards: three per row, equal height */
.tt-memorials { margin-block-start: var(--wp--preset--spacing--40); gap: var(--wp--preset--spacing--40); }
.tt-memorials .wp-block-column > .tt-card { height: 100%; }
.tt-memorials .tt-card .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.tt-memorials .tt-card__body > * + * { margin-block-start: var(--wp--preset--spacing--20); }
.tt-memorials .tt-card__body h3 { margin: 0; }
.tt-memorials .tt-card .wp-block-image { display: block; width: 100%; }
.tt-memorials .tt-card .wp-block-image img { display: block; width: 100% !important; max-width: none; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }

/* Mobile menu: toggle buttons and stacked submenu links */
@media (max-width: 781px) {
	.tt-header .wp-block-navigation__responsive-container-open { width: 48px; height: 48px; border: 0; border-radius: 999px; background: var(--wp--preset--color--gold-500); color: var(--wp--preset--color--night-950); transition: background-color .2s ease, transform .2s ease; }
	.tt-header .wp-block-navigation__responsive-container-open:hover { background: var(--wp--preset--color--gold-300, var(--wp--preset--color--gold-500)); }
	.tt-header .wp-block-navigation__responsive-container-open:active { transform: scale(.95); }
	.tt-header .wp-block-navigation__responsive-container-close { width: 48px; height: 48px; border-radius: 999px; background: var(--wp--preset--color--burgundy-900); color: var(--wp--preset--color--cream-100); display: inline-grid; place-items: center; padding: 0; }
	.tt-header .wp-block-navigation__responsive-container-close svg { width: 1.5rem; height: 1.5rem; }
	.tt-header .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 .5rem !important; padding-inline-start: 1rem !important; margin-inline-start: 0 !important; }
	.tt-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { display: block; padding: 0; }
	.tt-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: flex !important; flex-direction: column; align-items: flex-start; gap: .125rem; padding: .625rem 0 !important; }
	.tt-header .is-menu-open .wp-block-navigation-item__description { display: block; margin: 0; font-size: var(--wp--preset--font-size--sm); font-weight: 400; text-transform: none; letter-spacing: 0; opacity: .75; }
}

/* Feature section: eyebrow, checklist, framed image with badge */
.tt-eyebrow { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--sm); letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--burgundy-700); margin-block-end: .5rem !important; display: flex; align-items: center; gap: .75rem; }
.tt-eyebrow::before { content: ""; width: 2.5rem; height: 3px; background: var(--wp--preset--color--gold-500); border-radius: 2px; }
.tt-feature { gap: var(--wp--preset--spacing--70); }
.tt-checks { margin-block: var(--wp--preset--spacing--40); display: grid; gap: 1rem; justify-items: start; text-align: left; }
.tt-checks p { margin: 0 !important; max-width: none; display: flex; align-items: center; gap: .875rem; font-weight: 400; font-size: var(--wp--preset--font-size--base); line-height: 1.5; }
.tt-checks p::before { content: ""; flex: none; width: 2rem; height: 2rem; border-radius: 999px; background-color: var(--wp--preset--color--burgundy-700); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF3E8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E"); background-size: 70%; background-position: center; background-repeat: no-repeat; }
.tt-feature__media { position: relative; isolation: isolate; padding: 0 0 2.5rem; }
.tt-feature__media::before { content: ""; position: absolute; inset: 1.5rem -1.25rem 1rem 1.5rem; border: 3px solid var(--wp--preset--color--gold-500); border-radius: var(--tt-r-lg); z-index: -1; }
.tt-feature__media .wp-block-image { margin: 0; }
.tt-feature__media .wp-block-image img { width: 100%; aspect-ratio: 4/3.4; object-fit: cover; border-radius: var(--tt-r-lg); box-shadow: 0 18px 40px rgba(26,13,11,.22); }
.tt-badge { position: absolute; left: -1rem; bottom: 0; max-width: 18rem; padding: 1rem 1.25rem; background: var(--wp--preset--color--burgundy-900); color: var(--wp--preset--color--cream-100); border-radius: var(--tt-r-md); box-shadow: 0 12px 28px rgba(26,13,11,.3); }
.tt-badge p { margin: 0; color: inherit; }
.tt-badge__label { font-size: var(--wp--preset--font-size--xs); letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--gold-500); }
.tt-badge__name { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--xl); text-transform: uppercase; }
.tt-badge__text { font-size: var(--wp--preset--font-size--sm); opacity: .9; }
@media (max-width: 781px) { .tt-feature__media::before { inset: 1rem -.5rem 1rem 1rem; } .tt-badge { left: .5rem; right: 1rem; max-width: none; } }
.tt-memorials .tt-card { border: 0; box-shadow: 0 4px 6px rgba(26,13,11,.06), 0 12px 28px rgba(26,13,11,.14); }
.tt-memorials .tt-card .wp-block-image img { object-position: center 25%; }
.tt-videos .wp-block-column { flex: 0 0 calc((100% - 2 * var(--wp--preset--spacing--50)) / 3) !important; }
@media (max-width: 781px) { .tt-videos .wp-block-column { flex-basis: 100% !important; } }
.tt-videocard .wp-block-embed { margin: 0; }
.tt-videocard .wp-block-embed__wrapper { aspect-ratio: 16 / 9; }
.tt-videocard iframe { width: 100%; height: 100%; display: block; }
.tt-videos .tt-card { max-width: none; }
.tt-memorials .wp-block-columns, .tt-memorials { align-items: stretch; }
.tt-card .wp-block-details { margin-block-start: var(--wp--preset--spacing--30); }
.tt-card .wp-block-details summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; font-family: var(--wp--preset--font-family--heading); text-transform: uppercase; letter-spacing: .06em; color: var(--wp--preset--color--burgundy-700); font-weight: 600; }
.tt-card .wp-block-details summary::-webkit-details-marker { display: none; }
.tt-card .wp-block-details summary::after { content: ""; width: .6rem; height: .6rem; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; }
.tt-card .wp-block-details[open] summary::after { transform: rotate(-135deg); }
.tt-card .wp-block-details summary:hover { text-decoration: underline; text-underline-offset: 4px; }
.tt-card .wp-block-details > p { margin-block-start: .5rem; }

/* Price cards */
.tt-prices { gap: var(--wp--preset--spacing--40); margin-block: var(--wp--preset--spacing--40); }
.tt-pricecard { height: 100%; padding: var(--wp--preset--spacing--50); box-shadow: 0 4px 6px rgba(26,13,11,.06), 0 12px 28px rgba(26,13,11,.14); text-align: left; }
.tt-pricecard > * { margin: 0 !important; max-width: none; }
.tt-pricecard__label { font-family: var(--wp--preset--font-family--heading); text-transform: uppercase; letter-spacing: .06em; font-size: var(--wp--preset--font-size--base); color: var(--wp--preset--color--night-950); min-height: 2.8em; }
.tt-pricecard__amount { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--xxxl); line-height: 1.1; color: var(--wp--preset--color--burgundy-700); font-variant-numeric: tabular-nums; margin-block-start: .5rem !important; }
.tt-pricecard__unit { font-size: var(--wp--preset--font-size--sm); opacity: .8; margin-block-start: .25rem !important; }
.tt-note { padding: var(--wp--preset--spacing--40); background: var(--wp--preset--color--sand-200); border-inline-start: 4px solid var(--wp--preset--color--burgundy-700); border-radius: 0 var(--tt-r-md) var(--tt-r-md) 0; font-size: var(--wp--preset--font-size--sm); }
@media (max-width: 781px) { .tt-pricecard__label { min-height: 0; } }
.tt-memorials .tt-card { display: flex; flex-direction: column; }
.tt-memorials .tt-card .wp-block-image img { border-radius: 0 !important; }
.tt-memorials .tt-card__body { display: flex; flex-direction: column; flex: 1; }
.tt-memorials .tt-card__body > .wp-block-details { margin-block-start: auto; padding-block-start: var(--wp--preset--spacing--30); }

/* Card modal */
.tt-readmore { margin-block-start: auto; align-self: flex-start; min-height: 48px; padding: 0 1.5rem; border: 2px solid var(--wp--preset--color--burgundy-700); border-radius: 999px; background: transparent; color: var(--wp--preset--color--burgundy-700); font: 600 var(--wp--preset--font-size--sm) var(--wp--preset--font-family--heading); text-transform: uppercase; letter-spacing: .06em; cursor: pointer; transition: background .2s, color .2s; }
.tt-readmore:hover { background: var(--wp--preset--color--burgundy-700); color: var(--wp--preset--color--cream-100); }
.tt-memorials .tt-card__body > .tt-readmore { margin-block-start: auto; }
.tt-modal { width: min(42rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; border: 0; border-radius: 1rem; overflow: auto; background: var(--wp--preset--color--paper-50); color: var(--wp--preset--color--night-950); box-shadow: 0 24px 64px rgba(26,13,11,.4); }
.tt-modal::backdrop { background: rgba(43,14,18,.65); }
.tt-modal__img img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.tt-modal__body { padding: var(--wp--preset--spacing--50); }
.tt-modal__body > * { margin-block: 0 .75rem; }
.tt-modal__close { position: absolute; top: .75rem; right: .75rem; width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--wp--preset--color--burgundy-900); color: var(--wp--preset--color--cream-100); font-size: 1.75rem; line-height: 1; cursor: pointer; }
.tt-modal-open { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) { .tt-modal[open] { animation: tt-pop .2s ease; } @keyframes tt-pop { from { opacity: 0; transform: translateY(12px); } } }
.tt-memorials .tt-card__body > .tt-readmore { margin-block-start: auto; }
.tt-memorials .tt-card__body > p:last-of-type:not(:last-child) { margin-block-end: var(--wp--preset--spacing--50) !important; }
.tt-header .wp-block-navigation__container { flex-wrap: nowrap; }
.tt-header .wp-block-navigation-item, .tt-header .wp-block-button__link { white-space: nowrap; }
@media (min-width: 48rem) and (max-width: 70rem) {
	.tt-header .wp-block-navigation__container { gap: var(--wp--preset--spacing--30); }
	.tt-header .wp-block-navigation-item > a { font-size: var(--wp--preset--font-size--sm); }
	.tt-header .wp-block-button__link { padding-inline: 1rem; font-size: var(--wp--preset--font-size--sm); }
}
@media (min-width: 48rem) and (max-width: 64rem) { .tt-header .wp-block-buttons { display: none; } }
.wp-site-blocks > .wp-block-template-part:has(> .tt-header) { position: sticky; top: 0; z-index: 100; }
.admin-bar .wp-site-blocks > .wp-block-template-part:has(> .tt-header) { top: var(--wp-admin--admin-bar--height, 32px); }
.tt-videos .tt-card { width: 100%; }
.tt-videocard .wp-block-embed, .tt-videocard .wp-block-embed__wrapper { width: 100%; }
.tt-memorials .tt-card__body > * { margin-inline: 0 !important; max-width: none; }
.tt-memorials .tt-card__body > .wp-block-buttons { margin-block-start: auto !important; justify-content: flex-start; }
.tt-memorials .tt-card > .tt-card__body { margin-inline: 0 !important; max-width: none; width: 100%; }
.tt-feature .tt-crlogo { margin: 0 0 var(--wp--preset--spacing--40) !important; }
.tt-feature .tt-crlogo img { display: block; width: 6rem; height: auto; }
.tt-feature .tt-cr { display: flex !important; flex-direction: row; align-items: center; gap: var(--wp--preset--spacing--40); margin: 0 0 var(--wp--preset--spacing--40) !important; }
.tt-feature .tt-cr .tt-crlogo { margin: 0 !important; flex: 0 0 auto; }
.tt-feature .tt-cr .tt-crlogo img { width: 5rem; }
.tt-feature .tt-cr p { margin: 0 !important; }
.tt-cr__label { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--sm); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--leather-600); }
.tt-cr__title { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--xl); text-transform: uppercase; color: var(--wp--preset--color--burgundy-700); line-height: 1.15; }
.tt-feature .tt-cr { display: block !important; margin: 0 0 var(--wp--preset--spacing--40) !important; }
.tt-feature__media .tt-seal { position: absolute; top: 1rem; right: 1rem; z-index: 3; width: 7rem; margin: 0 !important; }
.tt-feature__media .tt-seal img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: 0; box-shadow: none; filter: invert(1) drop-shadow(0 2px 6px rgba(26,13,11,.6)); }
@media (max-width: 781px) { .tt-feature__media .tt-seal { width: 5rem; top: .5rem; right: .5rem; } }
.tt-feature .tt-cr { margin: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--40) !important; }
.tt-feature__media .tt-seal { width: 6.5rem; height: 6.5rem; padding: .6rem; border-radius: 50%; background: var(--wp--preset--color--paper-50); box-shadow: 0 6px 20px rgba(26,13,11,.3); }
.tt-feature__media .tt-seal img { height: 100%; filter: none; }
@media (max-width: 781px) { .tt-feature__media .tt-seal { width: 5rem; height: 5rem; padding: .4rem; } }
.tt-badge__cr { margin-block-start: .5rem; padding-block-start: .5rem; border-block-start: 1px solid rgba(250,243,231,.25); font-weight: 600; opacity: 1; }
.tt-feature__media .tt-seal { padding: 1.1rem 1.1rem 1.35rem; box-sizing: border-box; }
@media (max-width: 781px) { .tt-feature__media .tt-seal { padding: .8rem .8rem 1rem; } }
.tt-feature__media .tt-seal { padding: 1.4rem 1.1rem 1rem; }
@media (max-width: 781px) { .tt-feature__media .tt-seal { padding: 1rem .8rem .7rem; } }
.tt-feature__media .tt-seal { padding: 1.17rem 1.1rem 1.23rem; }
@media (max-width: 781px) { .tt-feature__media .tt-seal { padding: .85rem .8rem .85rem; } }
.tt-cis { display: grid; gap: var(--wp--preset--spacing--30); margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40); }
.tt-ci { padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); border-radius: var(--tt-r-md); background: var(--wp--preset--color--paper-50); box-shadow: 0 2px 4px rgba(26,13,11,.06), 0 8px 20px rgba(26,13,11,.1); border-inline-start: 4px solid var(--wp--preset--color--burgundy-700); }
.tt-ci > * { margin: 0 !important; max-width: none; }
.tt-ci__label { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--sm); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--leather-600); }
.tt-ci p:not(.tt-ci__label) { font-size: var(--wp--preset--font-size--lg); font-weight: 600; }
.tt-contact-home .tt-map iframe { height: 28rem; border-radius: var(--tt-r-lg); box-shadow: 0 12px 28px rgba(26,13,11,.18); }
.tt-cis > .tt-ci { margin: 0 !important; width: 100%; max-width: none; justify-self: stretch; box-sizing: border-box; }
.tt-ci p:not(.tt-ci__label) { line-height: 1.4; }
.tt-contact-home .tt-map__link { margin-block-start: .75rem; }
.tt-mapbg { position: relative; isolation: isolate; min-height: 36rem; padding-block: var(--wp--preset--spacing--60); display: flex; align-items: center; background: var(--wp--preset--color--sand-200); }
.tt-mapbg > .tt-map { position: absolute; inset: 0; z-index: -1; margin: 0 !important; max-width: none; border-radius: 0; }
.tt-mapbg > .tt-map iframe { width: 100%; height: 100%; }
.tt-mapbg .tt-map__link { display: none; }
.tt-mapbg__card { width: min(28rem, calc(100% - 2rem)); margin-inline: max(1rem, calc((100% - 72rem) / 2)) auto !important; padding: var(--wp--preset--spacing--50); border-radius: var(--tt-r-lg); background: var(--wp--preset--color--paper-50); box-shadow: 0 24px 56px rgba(26,13,11,.3); box-sizing: border-box; }
.tt-mapbg__card > h2 { margin-block-start: 0; }
.tt-mapbg__card .tt-ci { box-shadow: none; background: var(--wp--preset--color--sand-200); }
@media (max-width: 781px) { .tt-mapbg { min-height: 0; padding: 0; display: block; } .tt-mapbg > .tt-map { position: static; height: 18rem; } .tt-mapbg__card { width: auto; margin: -2.5rem 1rem 1.5rem !important; position: relative; } }
/* Map band: sepia-tinted map with a burgundy contact bar */
.tt-mapband { background: var(--wp--preset--color--burgundy-900); }
.tt-mapband > .tt-map { margin: 0 !important; max-width: none; border-radius: 0; background: var(--wp--preset--color--sand-200); }
.tt-mapband > .tt-map iframe { height: 26rem; filter: sepia(.9) saturate(.8) hue-rotate(-18deg) contrast(1.05) brightness(.82); }
.tt-mapband .tt-map__link { display: none; }
.tt-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); border-block-start: 3px solid var(--wp--preset--color--gold-500); }
.tt-bar > * { margin: 0 !important; max-width: none; }
.tt-bar__items { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); }
.tt-bar__item > * { margin: 0 !important; max-width: none; }
.tt-bar__label { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--sm); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--gold-500); }
.tt-bar__item p:not(.tt-bar__label) { color: var(--wp--preset--color--cream-100); font-size: var(--wp--preset--font-size--lg); font-weight: 600; line-height: 1.4; }
.tt-bar .wp-block-button__link.is-style-tt-secondary, .tt-bar .tt-secondary .wp-block-button__link { color: var(--wp--preset--color--cream-100); border-color: var(--wp--preset--color--cream-100); }
.tt-bar .wp-block-button:not(.tt-secondary) .wp-block-button__link { background: var(--wp--preset--color--gold-500); color: var(--wp--preset--color--night-950); }

.tt-mapband { padding-inline: 0 !important; }
.tt-mapband > .tt-bar { margin-inline: auto !important; box-sizing: border-box; padding-inline: var(--wp--preset--spacing--40); }
.tt-bar .tt-bar__item { margin: 0 !important; width: auto; max-width: none; padding: 0; }
.tt-bar .wp-block-button.is-style-tt-secondary .wp-block-button__link { background: transparent; color: var(--wp--preset--color--cream-100); border: 2px solid var(--wp--preset--color--cream-100); }
.tt-bar .wp-block-button.is-style-tt-secondary .wp-block-button__link:hover { background: var(--wp--preset--color--cream-100); color: var(--wp--preset--color--burgundy-900); }

.tt-mapband > .tt-map { position: relative; }
.tt-mapband > .tt-map::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--wp--preset--color--burgundy-700); mix-blend-mode: soft-light; opacity: .35; }

.tt-mapband { position: relative; }
.tt-infobox { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 2; width: min(22rem, calc(100% - 2rem)); margin: 0 !important; padding: var(--wp--preset--spacing--40); text-align: center; background: var(--wp--preset--color--burgundy-900); color: var(--wp--preset--color--cream-100); border: 0; border-radius: 12px; box-shadow: 0 12px 32px rgb(0 0 0 / .35); box-sizing: border-box; }
.tt-infobox > * { margin-inline: auto !important; }
.tt-infobox p { margin-block: 0 .5rem; color: var(--wp--preset--color--cream-100); }
.tt-infobox .tt-infobox__title { font-family: var(--wp--preset--font-family--heading); text-transform: uppercase; font-size: var(--wp--preset--font-size--xl); color: var(--wp--preset--color--gold-500); }
.tt-infobox .wp-block-buttons { justify-content: center; margin-top: .75rem; }
.tt-infobox .wp-block-button__link { background: var(--wp--preset--color--gold-500); color: var(--wp--preset--color--night-950); }

.tt-infobox { background: none; box-shadow: none; padding: 0; border-radius: 0; width: auto; }
.tt-infobox .wp-block-buttons { margin: 0; }
.tt-infobox .wp-block-button__link { box-shadow: 0 8px 24px rgb(0 0 0 / .35); }

.tt-mapband > .tt-map iframe { pointer-events: none; }

.tt-farrier img { max-width: 22rem; width: 100%; height: auto; margin-inline: auto; display: block; box-shadow: var(--wp--preset--shadow--card, 0 8px 24px rgb(0 0 0 / .15)); border-radius: 8px; }

.tt-mapband > .tt-map { height: 34rem; overflow: hidden; }
.tt-mapband > .tt-map iframe { position: relative; top: -130px; left: -60px; width: calc(100% + 60px); height: calc(34rem + 130px); max-width: none; }

.tt-farrier img { max-width: 20rem; }

.tt-brandlogo img { width: 100%; max-width: 22rem; margin-inline: auto; display: block; }
@media (min-width: 782px) { .tt-brandlogo img { margin-inline-end: 0; } }

.tt-homevideo { max-width: 48rem; margin-inline: 0 !important; margin-block: var(--wp--preset--spacing--40); }
.tt-homevideo .wp-block-embed, .tt-homevideo .wp-block-embed__wrapper { width: 100%; margin: 0; border-radius: 12px; overflow: hidden; }

.tt-section .tt-homevideo { max-width: 48rem !important; width: 100%; }

.tt-step { height: 100%; }
.tt-step__num { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--xxl); color: var(--wp--preset--color--burgundy-700); line-height: 1; margin-block: 0 .25rem !important; }
.tt-prices .wp-block-column { flex: 1 1 0; }

/* Mobile menu v2: compact, even rhythm, thumb-friendly */
.tt-header .tt-nav-cta { display: none; }
@media (max-width: 781px) {
	.tt-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4.5rem; }
	.tt-header .is-menu-open .wp-block-navigation__container { gap: 0; }
	.tt-header .is-menu-open .wp-block-navigation-item { border-block-end: 1px solid var(--wp--preset--color--sand-200); }
	.tt-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > a,
	.tt-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-submenu > a { min-height: 3.5rem; display: flex; align-items: center; padding: 0 !important; font-size: 1.25rem; }
	.tt-header .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 .75rem 1rem !important; margin: 0 0 .25rem !important; }
	.tt-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 2.75rem; flex-direction: row !important; align-items: center !important; padding: 0 !important; font-size: 1.0625rem; }
	.tt-header .is-menu-open .wp-block-navigation-item__description { display: none; }
	.tt-header .is-menu-open .wp-block-navigation-submenu { border-block-end: 0; }
	.tt-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-submenu { border-block-end: 1px solid var(--wp--preset--color--sand-200); }
	.tt-header .is-menu-open .tt-nav-cta { display: block; border: 0; margin-block-start: 1.5rem; }
	.tt-header .is-menu-open .tt-nav-cta > a { justify-content: center; min-height: 3.5rem; border-radius: 999px; background: var(--wp--preset--color--burgundy-700); color: var(--wp--preset--color--cream-100) !important; font-size: 1.125rem; letter-spacing: .04em; }
}

/* Mobile menu v3: list starts at the top, modern toggle */
@media (max-width: 781px) {
	.tt-header .wp-block-navigation__responsive-container-open {
		width: 48px; height: 48px; border-radius: 14px; padding: 0;
		background-color: rgba(250,243,230,.08); border: 1px solid rgba(250,243,230,.28);
		background-repeat: no-repeat; background-position: center;
		background-image: linear-gradient(var(--wp--preset--color--cream-100), var(--wp--preset--color--cream-100)), linear-gradient(var(--wp--preset--color--gold-500), var(--wp--preset--color--gold-500));
		background-size: 22px 2.5px, 14px 2.5px;
		background-position: left 12px top 17px, right 12px top 28px;
		transition: background-color .2s ease, border-color .2s ease;
	}
	.tt-header .wp-block-navigation__responsive-container-open svg { display: none; }
	.tt-header .wp-block-navigation__responsive-container-open:hover,
	.tt-header .wp-block-navigation__responsive-container-open:focus-visible { background-color: rgba(250,243,230,.16); border-color: var(--wp--preset--color--gold-500); }
	.tt-header .wp-block-navigation__responsive-container-close {
		position: absolute; top: .75rem; right: 1rem; width: 48px; height: 48px; border-radius: 14px;
		background: var(--wp--preset--color--burgundy-900); color: var(--wp--preset--color--cream-100);
	}
	.tt-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0; }
	.tt-header .wp-block-navigation__responsive-container.is-menu-open { padding-top: .75rem; }
}

@media (max-width: 781px) {
	.tt-header .wp-block-navigation__responsive-container.is-menu-open { padding: 0 var(--wp--preset--spacing--40) !important; }
	.tt-header .is-menu-open .wp-block-navigation__responsive-dialog,
	.tt-header .is-menu-open .wp-block-navigation__responsive-container-content { padding: 0 !important; margin: 0 !important; }
	.tt-header .is-menu-open .wp-block-navigation__container { margin: 0 !important; padding: 0 !important; }
}

@media (max-width: 781px) {
	.tt-header .wp-block-navigation__responsive-container-open,
	.tt-header .wp-block-navigation__responsive-container-open:hover,
	.tt-header .wp-block-navigation__responsive-container-open:focus-visible { border: 0; }
	.tt-header .wp-block-navigation__responsive-container.is-menu-open { padding-top: 10px !important; }
	.tt-header .wp-block-navigation__responsive-container-close { top: 4px; }
}

@media (max-width: 781px) {
	.tt-hero--cover h1 { font-size: clamp(2rem, 9.6vw, 3rem); line-height: 1.05; }
	.tt-hero--cover p { font-size: 1.375rem; line-height: 1.5; max-width: none; }
}

@media (max-width: 781px) {
	.tt-header .wp-block-navigation__responsive-container-open,
	.tt-header .wp-block-navigation__responsive-container-open:hover,
	.tt-header .wp-block-navigation__responsive-container-open:focus-visible,
	.tt-header .wp-block-navigation__responsive-container-open:active { background-color: transparent !important; }
}

@media (max-width: 781px) {
	.tt-header .wp-block-navigation__responsive-container-open:hover,
	.tt-header .wp-block-navigation__responsive-container-open:focus-visible,
	.tt-header .wp-block-navigation__responsive-container-open:active {
		background-image: linear-gradient(var(--wp--preset--color--cream-100), var(--wp--preset--color--cream-100)), linear-gradient(var(--wp--preset--color--gold-500), var(--wp--preset--color--gold-500)) !important;
		background-size: 22px 2.5px, 14px 2.5px !important;
		background-repeat: no-repeat !important;
		background-position: left 12px top 17px, right 12px top 28px !important;
		transform: none;
	}
	.tt-header .wp-block-navigation__responsive-container-close,
	.tt-header .wp-block-navigation__responsive-container-close:hover,
	.tt-header .wp-block-navigation__responsive-container-close:focus-visible { background: transparent !important; color: var(--wp--preset--color--burgundy-900) !important; border: 0; }
}

@media (max-width: 781px) {
	.tt-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-submenu,
	.tt-header .is-menu-open .wp-block-navigation-submenu.wp-block-navigation-item { border-block-end: 0 !important; }
}

/* Mobile menu motion: same toggle position, animated open/close */
@keyframes tt-nav-in { from { opacity: 0; transform: translateY(-.75rem); } to { opacity: 1; transform: none; } }
@keyframes tt-nav-item { from { opacity: 0; transform: translateY(.5rem); } to { opacity: 1; transform: none; } }
@keyframes tt-nav-x { from { opacity: 0; transform: rotate(-90deg) scale(.6); } to { opacity: 1; transform: none; } }
@media (max-width: 781px) {
	.tt-header .wp-block-navigation__responsive-container-close { right: 0; }
	.tt-header .wp-block-navigation__responsive-container.is-menu-open { animation: tt-nav-in .28s cubic-bezier(.2,.8,.2,1) both; }
	.tt-header .is-menu-open .wp-block-navigation__container > li { animation: tt-nav-item .35s cubic-bezier(.2,.8,.2,1) both; }
	.tt-header .is-menu-open .wp-block-navigation__container > li:nth-child(1) { animation-delay: .05s; }
	.tt-header .is-menu-open .wp-block-navigation__container > li:nth-child(2) { animation-delay: .09s; }
	.tt-header .is-menu-open .wp-block-navigation__container > li:nth-child(3) { animation-delay: .13s; }
	.tt-header .is-menu-open .wp-block-navigation__container > li:nth-child(4) { animation-delay: .17s; }
	.tt-header .is-menu-open .wp-block-navigation__container > li:nth-child(5) { animation-delay: .21s; }
	.tt-header .is-menu-open .wp-block-navigation__container > li:nth-child(6) { animation-delay: .25s; }
	.tt-header .wp-block-navigation__responsive-container-close svg { animation: tt-nav-x .35s cubic-bezier(.2,.8,.2,1) both; }
	.tt-header .wp-block-navigation__responsive-container-open { transition: background-size .25s ease; }
	.tt-header .wp-block-navigation__responsive-container-open:hover,
	.tt-header .wp-block-navigation__responsive-container-open:focus-visible { background-size: 22px 2.5px, 22px 2.5px !important; background-position: left 12px top 17px, left 12px top 28px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.tt-header .wp-block-navigation__responsive-container.is-menu-open,
	.tt-header .is-menu-open .wp-block-navigation__container > li,
	.tt-header .wp-block-navigation__responsive-container-close svg { animation: none; }
	.tt-header .wp-block-navigation__responsive-container-open { transition: none; }
}

/* Smoother menu motion: plain fade, lighter stagger, animated exit */
@keyframes tt-nav-in { from { opacity: 0; transform: none; } to { opacity: 1; transform: none; } }
@keyframes tt-nav-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes tt-nav-item { from { opacity: 0; transform: translateY(.375rem); } to { opacity: 1; transform: none; } }
@media (max-width: 781px) {
	.tt-header .wp-block-navigation__responsive-container.is-menu-open { animation: tt-nav-in .2s ease-out both; will-change: opacity; }
	.tt-header .wp-block-navigation__responsive-container.is-menu-open.tt-closing { animation: tt-nav-out .2s ease-in both; pointer-events: none; }
	.tt-header .is-menu-open .wp-block-navigation__container > li { animation: tt-nav-item .28s ease-out both; }
	.tt-header .is-menu-open.tt-closing .wp-block-navigation__container > li { animation: none; }
	.tt-header .wp-block-navigation__responsive-container-close svg { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
	.tt-header .wp-block-navigation__responsive-container.is-menu-open.tt-closing { animation: none; }
}

@media (max-width: 781px) {
	.tt-header .wp-block-navigation__responsive-container-open { transition: background-size .25s ease, background-position .25s ease, transform .25s ease; }
	.tt-header .wp-block-navigation__responsive-container-open:hover,
	.tt-header .wp-block-navigation__responsive-container-open:focus-visible {
		background-size: 26px 3px, 26px 3px !important;
		background-position: right 11px top 16px, right 11px top 29px !important;
		transform: scale(1.08);
	}
	.tt-header .wp-block-navigation__responsive-container-open:active { transform: scale(.94); }
}

/* Toggle: no hover effect; burger morphs into X on open, back on close */
@keyframes tt-x1 { from { left: 12px; top: 17px; width: 22px; transform: none; } to { left: 12px; top: 22.75px; width: 24px; transform: rotate(45deg); } }
@keyframes tt-x2 { from { left: 22px; top: 28px; width: 14px; transform: none; } to { left: 12px; top: 22.75px; width: 24px; transform: rotate(-45deg); } }
@keyframes tt-x1c { from { left: 12px; top: 22.75px; width: 24px; transform: rotate(45deg); } to { left: 12px; top: 17px; width: 22px; transform: none; } }
@keyframes tt-x2c { from { left: 12px; top: 22.75px; width: 24px; transform: rotate(-45deg); } to { left: 22px; top: 28px; width: 14px; transform: none; } }
@media (max-width: 781px) {
	.tt-header .wp-block-navigation__responsive-container-open,
	.tt-header .wp-block-navigation__responsive-container-open:hover,
	.tt-header .wp-block-navigation__responsive-container-open:focus-visible,
	.tt-header .wp-block-navigation__responsive-container-open:active {
		transform: none !important; transition: none;
		background-size: 22px 2.5px, 14px 2.5px !important;
		background-position: left 12px top 17px, right 12px top 28px !important;
	}
	.tt-header .wp-block-navigation__responsive-container-close svg { display: none; }
	.tt-header .wp-block-navigation__responsive-container-close::before,
	.tt-header .wp-block-navigation__responsive-container-close::after {
		content: ""; position: absolute; height: 2.5px; border-radius: 2px; background: var(--wp--preset--color--burgundy-900);
		left: 12px; top: 22.75px; width: 24px; animation-duration: .3s; animation-timing-function: cubic-bezier(.2,.8,.2,1); animation-fill-mode: both;
	}
	.tt-header .wp-block-navigation__responsive-container-close::before { animation-name: tt-x1; }
	.tt-header .wp-block-navigation__responsive-container-close::after { animation-name: tt-x2; }
	.tt-header .tt-closing .wp-block-navigation__responsive-container-close::before { animation-name: tt-x1c; }
	.tt-header .tt-closing .wp-block-navigation__responsive-container-close::after { animation-name: tt-x2c; }
}
@media (prefers-reduced-motion: reduce) {
	.tt-header .wp-block-navigation__responsive-container-close::before,
	.tt-header .wp-block-navigation__responsive-container-close::after { animation: none !important; }
	.tt-header .wp-block-navigation__responsive-container-close::before { transform: rotate(45deg); }
	.tt-header .wp-block-navigation__responsive-container-close::after { transform: rotate(-45deg); }
}
