/* TTC — calm corporate editorial treatment. */
/* Display/UI fonts are registered in theme.json fontFace (static weights). */

/* Compact left identity: brand + nav share one row, actions on the right. */
.site-header--ttc .site-header__brand .wp-block-site-title {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.15rem;
	font-weight: 650;
	letter-spacing: 0.01em;
}
.site-header--ttc .wp-block-navigation__container {
	gap: clamp(1.1rem, 2.5vw, 1.9rem);
}
.site-header--ttc .wp-block-navigation .wp-block-navigation-item__content {
	font-size: var(--wp--preset--font-size--s);
}

/* TTC article rhythm: measure is slightly narrower and calmer
   (not applied on the front page or lux pages, which compose their own widths). */
.site-main:not(.site-main--front):not(.site-main--lux) .wp-block-post-content > * {
	max-width: 46rem;
}
.site-main:not(.site-main--front):not(.site-main--lux) .wp-block-post-content > .alignwide {
	max-width: var(--wp--style--global--wide-size);
}

/* Lux pages: every direct child (blocks AND the i18n variant/fallback
   wrappers injected around them) sits on the wide measure, centred, with
   a fluid gutter so content never touches the viewport edge. */
.site-main--lux .wp-block-post-content {
	padding-inline: clamp(1.25rem, 4vw, 2.5rem);
}
.site-main--lux .wp-block-post-content > * {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

/* Milestone strip used on the TTC home page. */
.ttc-facts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	border-top: 1px solid var(--wp--preset--color--line);
	padding-block-start: 1.5rem;
}
.ttc-facts__item {
	border-top: 2px solid var(--wp--preset--color--accent);
	padding-block-start: 0.75rem;
}
.ttc-facts__kicker {
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.ttc-facts__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--l);
	margin: 0.35rem 0 0.25rem;
}
.ttc-facts__text {
	font-size: var(--wp--preset--font-size--s);
	color: var(--wp--preset--color--muted);
	margin: 0;
}
@media (max-width: 720px) {
	.ttc-facts { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------ */
/* TTC image-led composition                                           */
/* ------------------------------------------------------------------ */

/* Front page: hero sits flush under the centred masthead. */
.site-main--front { padding-block-start: 0; }

/* Lux pages: sections carry their own padding — the foundation's
   site-main padding would stack on top of the hero's and leave a dead
   band under the masthead. */
.site-main--lux { padding-block: 0; }

/* Cover hero — restrained overlay title card, aligned to the global rail:
   WP applies root padding to the cover itself via these custom properties,
   the inner container pads again, and the foundation's title card carried
   its own 36px inset — three stacked gutters pushed text ~53px right of
   every other element's left edge. */
.ttc-hero {
	--wp--style--root--padding-left: 0px;
	--wp--style--root--padding-right: 0px;
	padding-inline: 0;
}
.ttc-hero .wp-block-cover__inner-container {
	padding-inline: clamp(1.25rem, 4vw, 2.5rem);
	padding-block-end: clamp(1.5rem, 4vw, 3rem);
}
.ttc-hero .trw-cover-title { padding-inline: 0; }
.ttc-hero .trw-hero__title { font-size: var(--wp--preset--font-size--hero); }

/* Company split — image column gets a hairline frame. */
.ttc-split .wp-block-media-text__media img {
	border: 1px solid var(--wp--preset--color--line);
}

@media (max-width: 880px) {
	.ttc-hero { min-height: 54vh; }
}
@media (max-width: 540px) {
	.trw-cover-title { max-width: none; }
}

/* ------------------------------------------------------------------ */
/* TTC luxury informational layer (.ttc-lux-*)                         */
/* Scoped to the lux-hero / story / brands / contact / terms blocks.   */
/* ------------------------------------------------------------------ */

.ttc-lux-kicker {
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin: 0 0 1rem;
}
.ttc-lux-title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--hero);
	font-weight: 400;
	line-height: 1.08;
	margin: 0;
}
.ttc-lux-lede {
	font-size: var(--wp--preset--font-size--l);
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
	margin: 1.25rem 0 0;
	max-width: 34rem;
}
.ttc-lux-heading {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 1rem;
}
.ttc-lux-body {
	color: var(--wp--preset--color--ink-soft);
	line-height: 1.7;
	max-width: 46rem;
}
.ttc-lux-body > :first-child { margin-top: 0; }
.ttc-lux-body > :last-child { margin-bottom: 0; }

/* Hero — three variants. */
.ttc-lux-hero { --ttc-hero-h: 52vh; }
.ttc-lux-hero__media { margin: 0; }
.ttc-lux-hero__media img { display: block; width: 100%; height: 100%; object-fit: cover; }

.ttc-lux-hero--full {
	position: relative;
	min-height: var(--ttc-hero-h);
	display: grid;
	align-items: end;
	overflow: hidden;
}
.ttc-lux-hero--full .ttc-lux-hero__media {
	position: absolute;
	inset: 0;
}
.ttc-lux-hero--full::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(36, 26, 16, 0.78), rgba(36, 26, 16, 0.15) 60%, transparent);
}
.ttc-lux-hero--full .ttc-lux-hero__panel {
	position: relative;
	z-index: 1;
	padding: clamp(1.5rem, 4vw, 3.5rem);
	border-left: 3px solid var(--wp--preset--color--bronze-light);
	margin: clamp(1.25rem, 4vw, 3rem);
	color: var(--wp--preset--color--on-dark);
}
.ttc-lux-hero--full .ttc-lux-kicker,
.ttc-lux-hero--full .ttc-lux-lede { color: var(--wp--preset--color--on-dark); }

.ttc-lux-hero--split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 4.5rem);
	padding-block: clamp(2rem, 4.5vw, 3.5rem);
}
.ttc-lux-hero--split .ttc-lux-hero__media img {
	border: 1px solid var(--wp--preset--color--line);
	aspect-ratio: 4 / 3;
}

.ttc-lux-hero--text {
	text-align: center;
	padding-block: clamp(1.75rem, 3.5vw, 2.75rem) clamp(1.25rem, 2.5vw, 2rem);
}
.ttc-lux-hero--text .ttc-lux-lede { margin-inline: auto; }
.ttc-lux-rule {
	width: 4rem;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--bronze);
	margin: 2rem auto 0;
}

/* Story sections. */
.ttc-lux-story {
	display: grid;
	gap: clamp(1.5rem, 3.5vw, 2.5rem);
	padding-block: clamp(1.5rem, 3vw, 2.5rem);
}
.ttc-lux-section--text {
	max-width: 46rem;
	margin-inline: auto;
	text-align: center;
}
.ttc-lux-section--text .ttc-lux-body { margin-inline: auto; }
.ttc-lux-section--split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 4.5rem);
}
.ttc-lux-section--split .ttc-lux-section__media { margin: 0; }
.ttc-lux-section--split .ttc-lux-section__media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border: 1px solid var(--wp--preset--color--line);
}
.ttc-lux-section--img-left .ttc-lux-section__media { order: -1; }

/* Brand grid. */
.ttc-lux-brands { padding-block: clamp(1rem, 2.5vw, 1.75rem); }
.ttc-lux-brands__intro { margin-bottom: clamp(1rem, 2.5vw, 1.75rem); max-width: none; }
.ttc-lux-brands__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: clamp(1rem, 2.5vw, 1.75rem);
}
.ttc-lux-brand {
	border: 1px solid var(--wp--preset--color--line);
	padding: clamp(1.75rem, 3vw, 2.5rem) 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.6rem;
}
.ttc-lux-brand__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 5.5rem;
}
a.ttc-lux-brand__mark {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.18s ease, transform 0.18s ease;
}
a.ttc-lux-brand__mark:hover,
a.ttc-lux-brand__mark:focus-visible {
	opacity: 0.78;
	transform: translateY(-1px);
}
.ttc-lux-brand__logo { max-height: 4.5rem; width: auto; object-fit: contain; }
.ttc-lux-brand__mono {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4.25rem;
	height: 4.25rem;
	border: 1px solid var(--wp--preset--color--bronze);
	font-family: var(--wp--preset--font-family--display);
	font-size: 2rem;
	line-height: 1;
	color: var(--wp--preset--color--accent);
}
.ttc-lux-brand__name {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--l);
}
.ttc-lux-brand__desc {
	font-size: var(--wp--preset--font-size--s);
	color: var(--wp--preset--color--muted);
}
.ttc-lux-brand__flag {
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	border: 1px solid var(--wp--preset--color--line);
	padding: 0.25rem 0.65rem;
}
.ttc-lux-brand__link {
	position: relative;
	display: inline-flex;
	align-items: baseline;
	gap: 0.4em;
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--accent);
	padding-bottom: 0.2rem;
	margin-top: 0.15rem;
}
/* Same hairline-draw hover as the header nav — one animated line, no
   default underline. */
.ttc-lux-brand__link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.22s cubic-bezier(0.2, 0.6, 0.2, 1);
}
.ttc-lux-brand__link:hover::after,
.ttc-lux-brand__link:focus-visible::after { transform: scaleX(1); }
.ttc-lux-brand__link-arrow {
	font-size: 0.85em;
	transition: transform 0.18s ease;
}
.ttc-lux-brand__link:hover .ttc-lux-brand__link-arrow {
	transform: translate(1px, -1px);
}
body.trw-motion-minimal .ttc-lux-brand__link-arrow { transition: none; transform: none; }
.ttc-lux-brand__more {
	font-size: var(--wp--preset--font-size--s);
	font-weight: 600;
	color: var(--wp--preset--color--accent);
}

/* Brand detail page (/brand/{slug}/). */
.ttc-lux-brandd {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.9rem;
	padding-block: clamp(2rem, 4vw, 3.25rem);
}
.ttc-lux-brandd__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 9rem;
	padding: 1.25rem 2rem;
}
.ttc-lux-brandd__mark:has(.ttc-lux-brandd__logo) {
	border: 1px solid var(--wp--preset--color--line);
}
.ttc-lux-brandd__logo { max-height: 8rem; width: auto; object-fit: contain; }
.ttc-lux-brandd__mono { width: 6rem; height: 6rem; font-size: 3rem; }
.ttc-lux-brandd__name {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xl, 2.4rem);
	margin: 0;
}
.ttc-lux-brandd__body {
	max-width: 46rem;
	text-align: start;
}
.ttc-lux-brandd__links { display: flex; gap: 1.25rem; }

/* Contact panel. */
.ttc-lux-contact { padding-block: clamp(1.25rem, 3vw, 2.25rem); max-width: 46rem; }
.ttc-lux-channels { margin: clamp(1.5rem, 3vw, 2.5rem) 0 0; }
.ttc-lux-channels__row {
	display: grid;
	grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr);
	gap: 1rem;
	border-top: 1px solid var(--wp--preset--color--line);
	padding-block: 1rem;
}
.ttc-lux-channels__row:last-child { border-bottom: 1px solid var(--wp--preset--color--line); }
.ttc-lux-channels dt {
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin: 0;
}
.ttc-lux-channels dd { margin: 0; overflow-wrap: anywhere; }
.ttc-lux-note { font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--muted); }

/* Terms list. */
.ttc-lux-terms { max-width: 46rem; padding-block: clamp(1.25rem, 3vw, 2.25rem); }
.ttc-lux-terms__updated {
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.ttc-lux-banner {
	border-left: 3px solid var(--wp--preset--color--bronze);
	background: var(--wp--preset--color--accent-quiet);
	padding: 0.9rem 1.25rem;
	margin-block: 1.5rem;
}
.ttc-lux-banner p { margin: 0; font-size: var(--wp--preset--font-size--s); }
.ttc-lux-terms__list {
	list-style: none;
	margin: clamp(2rem, 4vw, 3rem) 0 0;
	padding: 0;
	counter-reset: ttc-term;
	display: grid;
	gap: clamp(2rem, 4vw, 3rem);
}
.ttc-lux-terms__item {
	counter-increment: ttc-term;
	position: relative;
	padding-left: 3.5rem;
}
.ttc-lux-terms__item::before {
	content: counter(ttc-term, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0.35rem;
	font-family: var(--wp--preset--font-family--display);
	font-style: italic;
	font-size: var(--wp--preset--font-size--l);
	color: var(--wp--preset--color--bronze);
}


/* Luxury pages: keep content off the far edges without a global shell. */
.site-main--lux .ttc-lux-story,
.site-main--lux .ttc-lux-brands,
.site-main--lux .ttc-lux-hero--split,
.site-main--lux .ttc-lux-hero--text {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}
/* Terms + contact keep the reading measure — centred within the wide column. */
.site-main--lux .ttc-lux-contact,
.site-main--lux .ttc-lux-terms {
	max-width: 46rem;
	margin-inline: auto;
}
.site-main--lux .trw-form-wrap,
.site-main--lux .trc-contact-summary {
	max-width: 46rem;
	margin-inline: auto;
}

/* Terms meta rail — date/notice sit beside the numbered list instead of
   stacking above it, so the page reads as one section. Declared after the
   46rem measures above so the wider grid wins at equal specificity. */
@media (min-width: 860px) {
	.site-main--lux .ttc-lux-terms {
		max-width: var(--wp--style--global--wide-size);
		display: grid;
		grid-template-columns: minmax(0, 2fr) minmax(0, 5fr);
		column-gap: clamp(2.5rem, 5vw, 4rem);
		align-items: start;
	}
	.site-main--lux .ttc-lux-terms__list {
		grid-column: 2;
		grid-row: 1 / span 10;
		margin: 0;
	}
	.site-main--lux .ttc-lux-terms .ttc-lux-banner { margin-block: 1rem 0; }
}

@media (max-width: 880px) {
	.ttc-lux-hero--full { min-height: 60vh; }
	.ttc-lux-hero--split,
	.ttc-lux-section--split { grid-template-columns: 1fr; }
	.ttc-lux-section--img-left .ttc-lux-section__media { order: 0; }
	.ttc-lux-hero--split .ttc-lux-hero__media img { aspect-ratio: 16 / 10; }
}
@media (max-width: 540px) {
	.ttc-lux-hero--full .ttc-lux-hero__panel { margin: 0.75rem; }
	.ttc-lux-terms__item { padding-left: 2.75rem; }
}
@media (prefers-reduced-motion: reduce) {
	.ttc-lux-hero--full .ttc-lux-hero__media img { scroll-behavior: auto; }
}

/* ------------------------------------------------------------------ */
/* V2 — refined-premium direction (mixed mood)                         */
/* Editorial-light base, deep-espresso statement sections, warmer      */
/* image grade and a larger display scale (theme.json fontSizes).      */
/* ------------------------------------------------------------------ */

/* Oversized serif reads tighter. */
.ttc-lux-title,
.trw-hero__title,
.trw-section-head,
.ttc-lux-heading,
.ttc-lux-brandd__name,
.ttc-split h2 {
	letter-spacing: -0.015em;
}

/* Editorial tick — a short bronze rule leading each small-caps kicker. */
.trw-hero__kicker::before,
.ttc-lux-kicker::before,
.trw-tile__kicker::before {
	content: "";
	display: inline-block;
	width: 1.6rem;
	height: 0;
	border-top: 1px solid var(--wp--preset--color--bronze);
	margin-inline-end: 0.7rem;
	vertical-align: middle;
}

/* Unified warm grade — mixed archival B&W, maps and colour photography
   settle into one tobacco tone. */
.ttc-hero .wp-block-cover__image-background,
.trw-tiles--img .trw-tile .wp-block-image img,
.ttc-split .wp-block-media-text__media img,
.ttc-lux-section__media img,
.ttc-lux-hero__media img,
.trw-band img {
	filter: saturate(0.82) sepia(0.12) contrast(1.03);
}

/* Front hero — open text on a directional grade instead of a card. */
.ttc-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, rgba(28, 19, 11, 0.74), rgba(28, 19, 11, 0.32) 48%, transparent 78%);
	pointer-events: none;
}
.ttc-hero .wp-block-cover__inner-container { position: relative; z-index: 1; }
.ttc-hero .trw-cover-title {
	background: transparent;
	color: var(--wp--preset--color--on-dark);
	max-width: 56rem;
}
.ttc-hero .trw-hero__title { text-wrap: balance; }
.ttc-hero .trw-hero__kicker { color: var(--wp--preset--color--bronze-light); }
.ttc-hero .trw-hero__lede {
	color: rgba(244, 238, 225, 0.86);
	font-size: var(--wp--preset--font-size--l);
	line-height: 1.7;
	max-width: 34rem;
	text-wrap: pretty;
}
/* Quiet scroll cue — decorative hairline, no text. */
.ttc-hero .wp-block-cover__inner-container::after {
	content: "";
	position: absolute;
	left: clamp(1.25rem, 4vw, 2.5rem);
	bottom: 1.75rem;
	width: 3.25rem;
	border-top: 1px solid var(--wp--preset--color--bronze-light);
	opacity: 0.8;
	pointer-events: none;
}
.ttc-hero .wp-element-button {
	border-color: var(--wp--preset--color--on-dark);
	color: var(--wp--preset--color--on-dark);
	background: transparent;
}
.ttc-hero .wp-block-button:not(.is-style-outline) .wp-element-button {
	background: var(--wp--preset--color--on-dark);
	color: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--on-dark);
}
.ttc-hero .wp-element-button:hover {
	background: var(--wp--preset--color--bronze-light);
	border-color: var(--wp--preset--color--bronze-light);
	color: var(--wp--preset--color--accent-deep);
}

/* Front-page rhythm — tighter than the foundation default. */
.trw-flow > * + * { margin-block-start: clamp(1.75rem, 4vw, 3rem); }

/* Section heads step up to the display tier. */
.trw-section-head {
	font-size: var(--wp--preset--font-size--xxl);
	padding-block-start: 1.25rem;
	margin-block-end: clamp(1.25rem, 3vw, 2rem);
}
/* Lead paragraph — first text after a section head becomes a
   serif standfirst, then the measure settles back to prose. */
.trw-section-head + p {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--l);
	font-weight: 300;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
	max-width: 40rem;
}

/* Image tiles — taller stage, hairline frame, quiet lift on hover. */
.trw-tiles--img .trw-tile {
	background: var(--wp--preset--color--surface);
	transition: border-color 0.2s ease, transform 0.22s ease, box-shadow 0.28s ease;
}
.trw-tiles--img .trw-tile:hover {
	border-color: var(--wp--preset--color--bronze);
	transform: translateY(-3px);
	box-shadow: 0 20px 42px -26px rgba(36, 26, 16, 0.5);
}
.trw-tiles--img .trw-tile .wp-block-image img { aspect-ratio: 3 / 2; }
.trw-tiles--img .trw-tile .wp-block-image img { transition: transform 0.6s ease; }
.trw-tiles--img .trw-tile:hover .wp-block-image img { transform: scale(1.03); }
.trw-tiles--img .trw-tile__title { font-size: var(--wp--preset--font-size--l); }
.trw-tiles--img .trw-tile__kicker { color: var(--wp--preset--color--bronze); }

/* Split sections — mounted-print frame and larger headings. */
.ttc-split .wp-block-media-text__media img {
	border: 1px solid var(--wp--preset--color--line);
	box-shadow: 0 22px 44px -28px rgba(36, 26, 16, 0.55);
}
.ttc-lux-section--split .ttc-lux-section__media img {
	box-shadow: 0 22px 44px -28px rgba(36, 26, 16, 0.55);
}
.ttc-split h2 { font-size: var(--wp--preset--font-size--xl); }
/* Split sections — image and copy sit on the same optical centre. */
.ttc-split.wp-block-media-text {
	align-items: center;
	gap: clamp(1.5rem, 3.5vw, 2.75rem);
}
.ttc-split .wp-block-media-text__content { max-width: 30rem; }

/* Full-bleed map/photo band — cinematic crop, editorial caption. */
.trw-band img {
	max-height: 46vh;
	filter: brightness(0.94) sepia(0.15);
}
.trw-band figcaption {
	font-family: var(--wp--preset--font-family--display);
	font-style: italic;
	font-size: var(--wp--preset--font-size--s);
	text-align: center;
	color: var(--wp--preset--color--muted);
	padding-block: 1.1rem 0;
}

/* Dark statement band — the closing CTA runs full-bleed espresso. */
.trw-cta {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background: var(--wp--preset--color--accent-deep);
	color: var(--wp--preset--color--on-dark);
	text-align: center;
	padding-block: clamp(2.25rem, 5vw, 4rem) !important;
	border-top: none !important;
	overflow: hidden;
	/* Continuity into the footer comes from the footer carrying the same
	   accent-deep field with zero top margin — a 100vmax box-shadow here
	   would also paint over the image band and splits ABOVE the CTA. */
}
/* Warm centre glow lifts the espresso field off flat black. */
.trw-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(60% 90% at 50% 42%, rgba(176, 146, 95, 0.16), transparent 70%);
	pointer-events: none;
}
.trw-cta > * {
	position: relative;
	z-index: 1;
	max-width: 46rem;
	margin-inline: auto;
}
.trw-cta h2 {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xxl);
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--on-dark);
}
.trw-cta p { color: rgba(244, 238, 225, 0.84); }
.trw-cta .wp-block-buttons { justify-content: center; }
.trw-cta .wp-element-button {
	background: transparent;
	border: 1px solid var(--wp--preset--color--bronze-light);
	color: var(--wp--preset--color--on-dark);
}
.trw-cta .wp-element-button:hover {
	background: var(--wp--preset--color--bronze-light);
	color: var(--wp--preset--color--accent-deep);
}

/* Footer — deep espresso close-out. */
.site-footer {
	background: var(--wp--preset--color--accent-deep);
	color: var(--wp--preset--color--on-dark);
	margin-block-start: 0;
	padding-block: clamp(2.25rem, 4.5vw, 3.5rem) clamp(1.5rem, 2.5vw, 2rem);
}
.site-footer .wp-block-site-title,
.site-footer h4,
.site-footer .wp-block-heading {
	color: var(--wp--preset--color--on-dark);
}
.site-footer h4 { letter-spacing: 0.14em; font-size: var(--wp--preset--font-size--xs); }
.site-footer .wp-block-site-tagline,
.site-footer .site-footer__note,
.site-footer .trc-contact-summary,
.site-footer .site-footer__legal p {
	color: rgba(244, 238, 225, 0.7);
}
.site-footer .trc-contact-summary strong {
	display: block;
	color: var(--wp--preset--color--on-dark);
	font-weight: 600;
	margin-block: 0.4rem 0.15rem;
}
.site-footer a { color: rgba(244, 238, 225, 0.85); }
.site-footer a:hover { color: var(--wp--preset--color--bronze-light); }
.site-footer .site-footer__links a { color: rgba(244, 238, 225, 0.8); }
.site-footer .site-footer__links a:hover {
	color: var(--wp--preset--color--bronze-light);
	text-decoration: none;
}
.site-footer .wp-block-separator {
	border-color: rgba(176, 146, 95, 0.35);
}
.site-footer .site-footer__legal { border-top-color: rgba(176, 146, 95, 0.35); }
.site-footer .trc-prefs__field label { color: rgba(244, 238, 225, 0.66); }
.site-footer .trc-prefs__field select {
	background-color: #2E2115;
	border: 1px solid rgba(176, 146, 95, 0.45);
	color: var(--wp--preset--color--on-dark);
	border-radius: 0;
}
.site-footer .trc-prefs__apply {
	background: var(--wp--preset--color--bronze);
	border-color: var(--wp--preset--color--bronze);
	color: var(--wp--preset--color--on-dark);
	border-radius: 0;
	letter-spacing: 0.1em;
}
.site-footer .trc-prefs__apply:hover {
	background: var(--wp--preset--color--bronze-light);
	border-color: var(--wp--preset--color--bronze-light);
	color: var(--wp--preset--color--accent-deep);
}

/* Buttons — small-caps latin label, square shoulders, deeper espresso. */
.wp-element-button {
	border-radius: 0;
	padding: 0.95rem 1.9rem;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.wp-block-search__button { letter-spacing: 0.14em; }
body.trc-lang .wp-element-button { letter-spacing: 0.03em; text-transform: none; }

/* Brand cards — quieter box, ring monogram, bronze hover. */
.ttc-lux-brand {
	background: var(--wp--preset--color--surface);
	transition: border-color 0.2s ease, transform 0.22s ease, box-shadow 0.28s ease;
}
.ttc-lux-brand:hover {
	border-color: var(--wp--preset--color--bronze);
	transform: translateY(-3px);
	box-shadow: 0 20px 42px -26px rgba(36, 26, 16, 0.45);
}
.ttc-lux-brand__mono {
	border-radius: 50%;
	width: 5.25rem;
	height: 5.25rem;
	font-size: 2.3rem;
	font-style: italic;
	border-color: var(--wp--preset--color--bronze);
}
.ttc-lux-brand__flag { border-radius: 999px; }
.ttc-lux-brand__more::after { content: " →"; }

/* Contact channels breathe more. */
.ttc-lux-channels__row { padding-block: 1.25rem; }

/* Terms — hairline-separated numbered list. */
.ttc-lux-terms__item {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: 1.9rem;
}
.ttc-lux-terms__item::before { top: 2.1rem; }

/* Fields — slightly airier, square shoulders. */
.trw-field input[type="text"],
.trw-field input[type="email"],
.trw-field select,
.trw-field textarea,
.wp-block-search__input {
	padding: 0.85rem 1rem;
}
.trw-field :is(input, select, textarea):focus-visible,
.wp-block-search__input:focus-visible {
	outline-color: var(--wp--preset--color--bronze);
}

/* Selects — replace the native chrome with a drawn chevron in the
   current text colour, so fields read the same on light forms and the
   dark footer preference block. */
.trw-field select,
.trc-prefs__field select {
	appearance: none;
	padding-right: 2.25rem;
	background-image:
		linear-gradient(45deg, transparent 50%, currentColor 50%),
		linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: calc(100% - 1.15rem) 52%, calc(100% - 0.8rem) 52%;
	background-size: 5px 5px;
	background-repeat: no-repeat;
}

/* Header — one clean hairline under the bar. */
.site-header { border-bottom: 1px solid var(--wp--preset--color--line); }
.site-header--ttc .wp-block-navigation-item__content { letter-spacing: 0.07em; }
body.trc-lang .site-header__nav .wp-block-navigation-item__content { letter-spacing: 0.02em; }
body.trc-lang .ttc-lux-kicker { letter-spacing: 0.04em; text-transform: none; }

@media (prefers-reduced-motion: no-preference) {
	.trw-tiles--img .trw-tile .wp-block-image img { will-change: transform; }
}
@media (prefers-reduced-motion: reduce) {
	.trw-tiles--img .trw-tile:hover .wp-block-image img { transform: none; }
	.ttc-lux-brand:hover { transform: none; }
}

/* ------------------------------------------------------------------ */
/* Contact page — subject left, form right. The block stack stays a    */
/* plain list in post_content; :has() grids whichever element directly */
/* holds the form (.entry-content in the source locale, the            */
/* .trc-i18n-variant wrapper in translated editions), so no content    */
/* surgery is needed and editors still see blocks stacked.             */
/* ------------------------------------------------------------------ */
@media (min-width: 860px) {
	.ttc-contact-layout .entry-content:has(> .trw-form-wrap),
	.ttc-contact-layout .trc-i18n-variant:has(> .trw-form-wrap) {
		display: grid;
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
		column-gap: clamp(2.5rem, 5vw, 4.5rem);
		row-gap: clamp(1.5rem, 3vw, 2.5rem);
		align-items: start;
	}
	.ttc-contact-layout .entry-content:has(> .trw-form-wrap) > *,
	.ttc-contact-layout .trc-i18n-variant:has(> .trw-form-wrap) > * {
		margin-block-start: 0;
	}
	.ttc-contact-layout .ttc-lux-hero { grid-column: 1 / -1; }
	.ttc-contact-layout .trw-form-wrap {
		grid-column: 2;
		grid-row: 2 / span 10;
		background: var(--wp--preset--color--surface);
		border: 1px solid var(--wp--preset--color--line);
		padding: clamp(1.5rem, 3vw, 2.5rem);
		box-shadow: 0 26px 52px -34px rgba(36, 26, 16, 0.4);
	}
	.ttc-contact-layout .trw-form { max-width: none; }
	.ttc-contact-layout #contact-form {
		grid-column: 2;
		grid-row: 2;
		height: 0;
	}
	.ttc-contact-layout .ttc-lux-contact,
	.ttc-contact-layout .trc-contact-summary {
		padding-block-end: clamp(1.25rem, 2.5vw, 2rem);
		border-bottom: 1px solid var(--wp--preset--color--line);
	}
	.ttc-contact-layout .trc-contact-summary {
		max-width: none;
		margin-inline: 0;
		margin-block-start: 0;
	}
	.ttc-contact-layout .trc-contact-summary strong {
		font-size: var(--wp--preset--font-size--xs);
		font-weight: 600;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--wp--preset--color--muted);
	}
}

/* Editor canvas parity. The iframed post editor caps every top-level
   block at contentSize (720px), but the site's templates render
   post-content with the default flow layout — each section self-measures
   via its .trw-*/.ttc-* class. lux-editor.js tags the canvas body with
   .ttc-canvas-front / .ttc-canvas-lux / .ttc-canvas-page so the editor
   mirrors whichever template the page uses. */

/* front-page.html — children run edge-to-edge like .site-main--front:
   cover and image bands are full-bleed; .trw-flow/.ttc-split carry their
   own measures. The global root padding is switched off via its CSS
   variables (the editor-styles transform drops bare zero padding rules). */
.editor-styles-wrapper.ttc-canvas-front {
	--wp--style--root--padding-left: 0px;
	--wp--style--root--padding-right: 0px;
}
.editor-styles-wrapper.ttc-canvas-front .is-root-container > * {
	max-width: none;
	margin-inline: 0;
}

/* luxury.html — mirrors .site-main--lux .wp-block-post-content: wide
   centred column with a fluid gutter. */
.editor-styles-wrapper.ttc-canvas-lux .is-root-container {
	padding-inline: clamp(1.25rem, 4vw, 2.5rem);
}
.editor-styles-wrapper.ttc-canvas-lux .is-root-container > * {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

/* Default template — mirrors the .site-main prose measure. */
.editor-styles-wrapper.ttc-canvas-page .is-root-container > * {
	max-width: 46rem;
	margin-inline: auto;
}
.editor-styles-wrapper.ttc-canvas-page .is-root-container > .alignwide {
	max-width: var(--wp--style--global--wide-size);
}

/* The canvas post-title field keeps the wide measure in every mode —
   the front end never renders it inside post-content. */
.editor-styles-wrapper .is-root-container > .editor-post-title,
.editor-styles-wrapper .is-root-container > .ttc-i18n-title-wrap {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

/* Inner section measures — identical in every canvas. */
.editor-styles-wrapper .ttc-lux-story,
.editor-styles-wrapper .ttc-lux-brands,
.editor-styles-wrapper .ttc-lux-hero--split,
.editor-styles-wrapper .ttc-lux-hero--text {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}
.editor-styles-wrapper .ttc-lux-contact,
.editor-styles-wrapper .ttc-lux-terms,
.editor-styles-wrapper .trw-form-wrap,
.editor-styles-wrapper .trc-contact-summary {
	max-width: 46rem;
	margin-inline: auto;
}

/* Language edition: while a non-English edition is selected the canvas
   title field is swapped for a localized title input that writes the
   ttc_i18n_title meta. */
.editor-styles-wrapper .ttc-i18n-title--hidden {
	display: none;
}
.editor-styles-wrapper .ttc-i18n-title-wrap {
	position: relative;
}
.editor-styles-wrapper .ttc-i18n-title-chip {
	font: 600 11px/1.4 system-ui, -apple-system, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #7d6233;
	margin: 0 0 2px;
}
.editor-styles-wrapper .ttc-i18n-title:focus {
	outline: 1px dashed #b0925f;
	outline-offset: 2px;
}

/* ------------------------------------------------------------ */
/* Terms — meta rail, contents, print (TTC_ACCESS_LOCATION_20261021) */
/* ------------------------------------------------------------ */
.ttc-lux-terms__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	align-items: baseline;
}
.ttc-lux-terms__rev {
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--muted);
	margin: 0;
}
.ttc-lux-terms__status {
	font-size: var(--wp--preset--font-size--s);
	color: var(--wp--preset--color--muted);
	font-style: italic;
	margin-block: 0.5rem 0;
}
.ttc-lux-terms__print {
	min-height: 44px;
	padding: 0 1rem;
	font: inherit;
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	background: transparent;
	border: 1px solid var(--wp--preset--color--muted);
	border-radius: 999px;
	cursor: pointer;
	margin-left: auto;
}
.ttc-lux-terms__print:hover { background: var(--wp--preset--color--accent-quiet); }
.ttc-lux-terms__toc { margin-block-start: 1.75rem; }
.ttc-lux-terms__toc-t {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--m);
	font-style: italic;
	font-weight: 500;
	margin: 0 0 0.75rem;
}
.ttc-lux-terms__toc ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.35rem;
	counter-reset: ttc-toc;
}
.ttc-lux-terms__toc li { counter-increment: ttc-toc; }
.ttc-lux-terms__toc a {
	display: inline-block;
	min-height: 44px;
	padding-block: 0.3rem;
	font-size: var(--wp--preset--font-size--s);
	text-decoration: none;
	color: var(--wp--preset--color--ink, #38291d);
}
.ttc-lux-terms__toc a::before {
	content: counter(ttc-toc, decimal-leading-zero) " · ";
	color: var(--wp--preset--color--bronze);
}
.ttc-lux-terms__toc a:hover { text-decoration: underline; }
.ttc-lux-terms__item { scroll-margin-top: 6rem; }
@media (min-width: 860px) {
	.site-main--lux .ttc-lux-terms__meta,
	.site-main--lux .ttc-lux-terms .ttc-lux-banner,
	.site-main--lux .ttc-lux-terms__status,
	.site-main--lux .ttc-lux-terms__toc { grid-column: 1; }
	.ttc-lux-terms__meta { flex-direction: column; align-items: flex-start; }
	.ttc-lux-terms__print { margin-left: 0; margin-top: 0.5rem; }
}
@media print {
	.ttc-lux-terms__print,
	.ttc-loc__filters-btn,
	.ttc-loc__pages,
	.ttc-locd__actions { display: none !important; }
	.ttc-lux-terms__toc { display: none; }
	.ttc-lux-terms__list { display: block; }
	.ttc-lux-terms__item { break-inside: avoid; padding-left: 0; }
	.ttc-lux-terms__item::before { position: static; display: block; margin-bottom: 0.25rem; }
}

/* ------------------------------------------------------------ */
/* Location directory                                            */
/* ------------------------------------------------------------ */
.ttc-loc { max-width: var(--wp--style--global--wide-size); margin-inline: auto; padding-block: clamp(1rem,3vw,2rem); }
.ttc-loc__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.ttc-loc__count { margin: 0; font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--muted); }
.ttc-loc__filters-btn {
	display: none;
	min-height: 44px;
	padding: 0 1.15rem;
	font: inherit;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--s);
	background: transparent;
	border: 1px solid var(--wp--preset--color--ink, #38291d);
	border-radius: 999px;
	cursor: pointer;
}
.ttc-loc__layout { display: grid; grid-template-columns: minmax(0,17rem) minmax(0,1fr); gap: clamp(1.75rem,4vw,3rem); align-items: start; }
.ttc-loc__drawer-head { display: none; }
.ttc-loc__form { display: grid; gap: 0.35rem 0; }
.ttc-loc__lbl { font-size: var(--wp--preset--font-size--xs); font-weight: 700; letter-spacing: 0.06em; margin-top: 1rem; display: block; }
.ttc-loc__form input[type=search], .ttc-loc__form select {
	width: 100%; min-height: 44px; font: inherit; font-size: 0.92rem;
	padding: 0.55rem 0.8rem; border: 1px solid var(--wp--preset--color--muted);
	border-radius: 8px; background: var(--wp--preset--color--surface, #fcfaf5); color: inherit;
}
.ttc-loc__form input:focus-visible, .ttc-loc__form select:focus-visible,
.ttc-loc__apply:focus-visible, .ttc-loc__reset:focus-visible,
.ttc-loc__chip:focus-visible, .ttc-loc__filters-btn:focus-visible,
.ttc-loc__card a:focus-visible, .ttc-locd__act:focus-visible {
	outline: 2px solid var(--wp--preset--color--ink, #38291d); outline-offset: 2px;
}
.ttc-loc__form-btns { display: flex; gap: 0.75rem; align-items: center; margin-top: 1.4rem; }
.ttc-loc__apply {
	min-height: 44px; padding: 0 1.4rem; font: inherit; font-weight: 600;
	background: var(--wp--preset--color--ink, #38291d); color: var(--wp--preset--color--paper, #f7f3ec);
	border: 1px solid var(--wp--preset--color--ink, #38291d); border-radius: 8px; cursor: pointer;
}
.ttc-loc__reset { min-height: 44px; display: inline-flex; align-items: center; font-size: 0.9rem; }
.ttc-loc__chips { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 1.4rem; }
.ttc-loc__chips--top { margin: 0 0 1.1rem; }
.ttc-loc__chip {
	display: inline-flex; align-items: center; gap: 0.4rem; min-height: 36px;
	padding: 0.15rem 0.8rem; font-size: 0.8rem; text-decoration: none;
	background: var(--wp--preset--color--accent-quiet); border: 1px solid var(--wp--preset--color--line, #e4d8c2);
	border-radius: 999px; color: inherit;
}
.ttc-loc__chip:hover { text-decoration: underline; }
.ttc-loc__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%,16rem),1fr)); gap: 1.4rem; }
.ttc-loc__card {
	background: var(--wp--preset--color--surface, #fcfaf5);
	border: 1px solid var(--wp--preset--color--line, #e4d8c2);
	border-radius: 14px; overflow: hidden; display: flex; flex-direction: column;
}
.ttc-loc__card-img { display: block; aspect-ratio: 4/3; background: var(--wp--preset--color--accent-quiet); }
.ttc-loc__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ttc-loc__card-ph { display: block; width: 100%; height: 100%; }
.ttc-loc__card-body { padding: 1.1rem 1.2rem 1.3rem; display: flex; flex-direction: column; gap: 0.3rem; flex: 1; }
.ttc-loc__card-k { margin: 0; font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--muted); font-weight: 700; display: flex; gap: 0.5rem; align-items: center; }
.ttc-loc__rel { background: var(--wp--preset--color--accent-quiet); border-radius: 999px; padding: 0.1rem 0.6rem; font-size: 0.62rem; letter-spacing: 0.08em; }
.ttc-loc__card-t { margin: 0; font-size: 1.25rem; font-weight: 600; }
.ttc-loc__card-t a { color: inherit; text-decoration: none; }
.ttc-loc__card-t a:hover { text-decoration: underline; }
.ttc-loc__card-loc { margin: 0; font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.ttc-loc__card-a { margin: 0.25rem 0 0; font-size: 0.85rem; line-height: 1.5; }
.ttc-loc__card-h { margin: 0.1rem 0 0; font-size: 0.8rem; color: var(--wp--preset--color--muted); }
.ttc-loc__card-link { margin: auto 0 0; padding-top: 0.9rem; font-size: 0.85rem; font-weight: 600; }
.ttc-loc__card-link a { text-decoration: none; color: inherit; }
.ttc-loc__card-link a:hover { text-decoration: underline; }
.ttc-loc__empty { padding: clamp(2.5rem,6vw,4rem) 1rem; text-align: center; border: 1px dashed var(--wp--preset--color--line, #e4d8c2); border-radius: 14px; }
.ttc-loc__empty h2 { font-weight: 500; }
.ttc-loc__empty p { color: var(--wp--preset--color--muted); }
.ttc-loc__pages { margin-top: 2rem; }
.ttc-loc__pages ul { list-style: none; display: flex; gap: 0.4rem; padding: 0; margin: 0; justify-content: center; }
.ttc-loc__pages a, .ttc-loc__pages span.current {
	display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; justify-content: center;
	padding: 0 0.9rem; border: 1px solid var(--wp--preset--color--line, #e4d8c2); border-radius: 8px;
	text-decoration: none; font-size: 0.9rem;
}
.ttc-loc__pages span.current { background: var(--wp--preset--color--ink, #38291d); color: var(--wp--preset--color--paper, #f7f3ec); }

/* Mobile drawer (JS adds .ttc-loc-open to <body>) */
@media (max-width: 900px) {
	.ttc-loc__layout { grid-template-columns: 1fr; }
	.ttc-loc__filters-btn { display: inline-flex; align-items: center; }
	.ttc-loc__filters { order: -1; }
	body.ttc-loc-open { overflow: hidden; }
	.ttc-loc-open .ttc-loc__filters {
		position: fixed; inset: 0; z-index: 1000; overflow-y: auto;
		background: var(--wp--preset--color--paper, #f7f3ec); padding: 1.25rem 1.25rem 4rem;
	}
	.ttc-loc-open .ttc-loc__drawer-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; }
	.ttc-loc-open .ttc-loc__drawer-head h2 { font-size: 1.4rem; font-weight: 600; margin: 0; }
	.ttc-loc-open .ttc-loc__drawer-head button { min-width: 44px; min-height: 44px; font-size: 1.6rem; background: none; border: 0; cursor: pointer; }
}

/* ------------------------------------------------------------ */
/* Location detail                                               */
/* ------------------------------------------------------------ */
.ttc-locd { max-width: var(--wp--style--global--wide-size); margin-inline: auto; padding-block: clamp(1rem,3vw,2rem); }
.ttc-locd__crumb { margin-bottom: 1.5rem; font-size: 0.9rem; }
.ttc-locd__crumb a { text-decoration: none; }
.ttc-locd__crumb a:hover { text-decoration: underline; }
.ttc-locd__layout { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: clamp(1.75rem,4vw,3.5rem); align-items: start; }
.ttc-locd__media img { width: 100%; border-radius: 14px; display: block; }
.ttc-locd__k { margin: 0 0 0.4rem; font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--muted); font-weight: 700; display: flex; gap: 0.6rem; align-items: center; }
.ttc-locd__title { margin: 0; font-size: clamp(1.8rem,3.4vw,2.6rem); font-weight: 600; }
.ttc-locd__loc { margin: 0.4rem 0 0; color: var(--wp--preset--color--muted); }
.ttc-locd__notice { margin-top: 1.2rem; padding: 0.8rem 1.1rem; background: var(--wp--preset--color--accent-quiet); border-left: 3px solid var(--wp--preset--color--bronze); border-radius: 0 10px 10px 0; font-size: 0.9rem; }
.ttc-locd__facts { margin: 1.6rem 0 0; display: grid; grid-template-columns: minmax(8rem,auto) 1fr; gap: 0.5rem 1.5rem; }
.ttc-locd__facts dt { font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--muted); font-weight: 700; padding-top: 0.2rem; }
.ttc-locd__facts dd { margin: 0; font-size: 0.95rem; line-height: 1.55; }
.ttc-locd__desc { margin-top: 1.6rem; line-height: 1.7; }
.ttc-locd__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.8rem; }
.ttc-locd__act {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.2rem;
	border: 1px solid var(--wp--preset--color--ink, #38291d); border-radius: 8px;
	text-decoration: none; font-weight: 600; font-size: 0.88rem; color: inherit;
}
.ttc-locd__act--dir { background: var(--wp--preset--color--ink, #38291d); color: var(--wp--preset--color--paper, #f7f3ec); }
.ttc-locd__act:hover { text-decoration: underline; }
.ttc-locd__disclaimer { margin-top: 1.6rem; font-size: 0.78rem; color: var(--wp--preset--color--muted); line-height: 1.5; }
@media (max-width: 860px) { .ttc-locd__layout { grid-template-columns: 1fr; } }
