/* Compatibility for previously saved 0.2/0.3 threedtopia-* blocks. */
/* Visual Direction V2. Shared by the frontend and Gutenberg editor. */
:root {
	--threedtopia-section-space: clamp(4rem, 8vw, 8rem);
	--threedtopia-grid-gap: clamp(1.5rem, 4vw, 4rem);
}
.threedtopia-main { margin-block-start: 0; }
.threedtopia-section { padding-block: var(--threedtopia-section-space); margin-block-start: 0; }
.threedtopia-section + .threedtopia-section { border-top: 1px solid var(--wp--preset--color--line); }
.threedtopia-section h1, .threedtopia-section h2 { text-wrap: balance; }
.threedtopia-section h1 { font-size: var(--wp--preset--font-size--display); }
.threedtopia-section h1 em, .threedtopia-section h2 em {
	font-family: var(--wp--preset--font-family--editorial);
	font-weight: 400;
	letter-spacing: -.055em;
}
.threedtopia-section h3 { font-size: clamp(1.25rem, 2vw, 1.625rem); font-weight: 400; letter-spacing: -.025em; }
.threedtopia-section p { max-width: 62ch; }
.threedtopia-label { font-size: .75rem; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; }
.threedtopia-muted, .threedtopia-note { color: var(--wp--preset--color--muted); }
.threedtopia-note { font-size: .8125rem; line-height: 1.6; margin-top: 1.5rem; }
.threedtopia-intro { font-size: var(--wp--preset--font-size--large); line-height: 1.6; }
.threedtopia-text-link { font-size: .9375rem; }
.threedtopia-text-link a { display: inline-block; text-decoration: none; border-bottom: 1px solid currentColor; padding-block: .55rem; }
.threedtopia-text-link span { margin-left: .8rem; }
.threedtopia-text-link a:hover, .threedtopia-header a:hover, .threedtopia-footer a:hover { color: var(--wp--preset--color--accent); }

.threedtopia-header, .threedtopia-footer { max-width: var(--wp--style--global--wide-size, 1360px); margin-inline: auto; }
.threedtopia-header { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding-block: 1.6rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.threedtopia-header > * { margin-block: 0; }
.threedtopia-header .wp-block-navigation__container { gap: clamp(1rem, 3vw, 2.75rem); }
.threedtopia-header .wp-block-navigation a { text-decoration: none; }
.threedtopia-header .wp-block-navigation-item:last-child a { border-bottom: 1px solid currentColor; padding-block: .4rem; }
.threedtopia-wordmark { font-size: 1.9rem; font-weight: 700; letter-spacing: -.075em; line-height: 1.1; }
.threedtopia-wordmark a { text-decoration: none; }
.threedtopia-brand-dot { color: var(--wp--preset--color--accent); }
.threedtopia-hero { padding-top: clamp(3rem, 6vw, 6rem); padding-bottom: 2rem; }
.threedtopia-hero-top { display: grid; grid-template-columns: 1.7fr 1fr; gap: var(--threedtopia-grid-gap); align-items: end; margin-bottom: 3.5rem; }
.threedtopia-hero-title h1 { margin-bottom: 0; }
.threedtopia-hero-copy { padding-bottom: .4rem; }
.threedtopia-hero-copy .threedtopia-intro { max-width: 31ch; }
.threedtopia-image { margin: 0; overflow: hidden; background: var(--wp--preset--color--surface); }
.threedtopia-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.threedtopia-hero-image { aspect-ratio: 2.1; }
.threedtopia-hero-image img { object-position: 50% 56%; }
.threedtopia-portrait { aspect-ratio: 4 / 5; }
.threedtopia-landscape { aspect-ratio: 3 / 2; }
.threedtopia-square { aspect-ratio: 1; }
.threedtopia-banner { aspect-ratio: 2.2; margin-top: 3rem; }
.threedtopia-caption-row { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.threedtopia-caption-row p { font-size: .75rem; margin: 0; color: var(--wp--preset--color--muted); }
.threedtopia-grid { display: grid; gap: var(--threedtopia-grid-gap); }
.threedtopia-grid > *, .threedtopia-hero-top > *, .threedtopia-section-top > * { min-width: 0; margin-block: 0; }
.threedtopia-halves, .threedtopia-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.threedtopia-thirds { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); }
.threedtopia-section-heading { margin-bottom: 3rem; }
.threedtopia-direction-offset { padding-top: 7rem; }
.threedtopia-direction .threedtopia-label, .threedtopia-collection-item .threedtopia-label { margin-top: 1.5rem; }
.threedtopia-direction h2 { margin-top: .75rem; }
.threedtopia-section-top { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 3rem; }
.threedtopia-collection-item h3 { margin-top: .65rem; }
.threedtopia-collection-item > p:last-child { color: var(--wp--preset--color--muted); margin-top: .5rem; font-size: .9375rem; }
.threedtopia-story { grid-template-columns: 1fr 1fr; align-items: center; }
.threedtopia-story-copy { padding-inline: clamp(0rem, 2vw, 2rem); }
.threedtopia-step { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.25rem; margin-top: 1.5rem; }
.threedtopia-step p:not(.threedtopia-label) { margin-top: .65rem; color: var(--wp--preset--color--muted); }
.threedtopia-business-feature { grid-template-columns: 1fr 1.2fr; align-items: center; }
.threedtopia-application { display: grid; grid-template-columns: 3rem 1fr 1.3fr; gap: 2rem; border-top: 1px solid var(--wp--preset--color--line); padding-block: 1.65rem; }
.threedtopia-application > * { margin: 0; }
.threedtopia-application > p:last-child { color: var(--wp--preset--color--muted); }
.threedtopia-applications { margin-top: 3rem; }
.threedtopia-cta { text-align: center; }
.threedtopia-cta h2 { font-size: clamp(2.75rem, 6vw, 6rem); }
.threedtopia-cta .threedtopia-label { margin-inline: auto; }
.threedtopia-cta .wp-block-buttons { justify-content: center; margin-top: 2rem; }
.threedtopia-brief h2 { max-width: 21ch; }
.threedtopia-page-hero .threedtopia-intro { max-width: 48ch; }
.threedtopia-product-copy { align-self: center; padding-block: 2rem; }
.threedtopia-footer { border-top: 1px solid var(--wp--preset--color--contrast); display: grid; grid-template-columns: 1.6fr 1fr; gap: 3rem; padding-top: 3rem; padding-bottom: 1.5rem; margin-top: 0; }
.threedtopia-footer > * { margin: 0; }
.threedtopia-footer-statement { font-size: clamp(1.75rem, 3vw, 2.75rem); font-weight: 400; letter-spacing: -.04em; }
.threedtopia-footer-links .threedtopia-text-link { margin-top: .6rem; }
.threedtopia-footer-links .threedtopia-text-link a { border: 0; }
.threedtopia-footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.5rem; }
.threedtopia-footer-bottom p { margin: 0; font-size: .75rem; color: var(--wp--preset--color--muted); }
.threedtopia-swatch { min-height: 9rem; padding: 1.5rem; border: 1px solid var(--wp--preset--color--line); }
.threedtopia-swatch-base { background: var(--wp--preset--color--base); }
.threedtopia-swatch-contrast { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
.threedtopia-swatch-surface { background: var(--wp--preset--color--surface); }
.threedtopia-swatch-muted { background: var(--wp--preset--color--muted); color: var(--wp--preset--color--base); }
.threedtopia-swatch-line { background: var(--wp--preset--color--line); }
.threedtopia-swatch-accent { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--base); }
/* Keep editor-only chrome from inheriting the large editorial heading sizes. */
.editor-styles-wrapper .threedtopia-image img { height: 100%; }
@media (max-width: 900px) {
	.threedtopia-hero-top { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 2rem; }
	.threedtopia-hero-copy .threedtopia-intro { max-width: 48ch; }
	.threedtopia-story, .threedtopia-business-feature { grid-template-columns: 1fr 1fr; align-items: start; }
	.threedtopia-story-copy { padding-inline: 0; }
	.threedtopia-direction-offset { padding-top: 4rem; }
	.threedtopia-application { grid-template-columns: 2rem 1fr; gap: 1rem; }
	.threedtopia-application > p:last-child { grid-column: 2; }
}
@media (max-width: 680px) {
	.threedtopia-header { padding-block: 1.25rem; gap: 1rem; }
	.threedtopia-header .wp-block-navigation__responsive-container-open { display: flex; }
	.threedtopia-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.threedtopia-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); padding: 2rem 1.5rem; }
	.threedtopia-header .is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 1.5rem; font-size: 1.5rem; }
	.threedtopia-header .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; }
	.threedtopia-grid { grid-template-columns: minmax(0, 1fr); }
	.threedtopia-direction-offset { padding-top: 1.5rem; }
	.threedtopia-hero-image { aspect-ratio: 1; }
	.threedtopia-banner { aspect-ratio: 4 / 3; }
	.threedtopia-section-top { display: block; }
	.threedtopia-section-top > .threedtopia-text-link { margin-top: 1rem; }
	.threedtopia-thirds { gap: 2rem; }
	.threedtopia-section-heading { margin-bottom: 2rem; }
	.threedtopia-caption-row { gap: .5rem; }
	.threedtopia-caption-row p:last-child { text-align: right; }
	.threedtopia-footer { grid-template-columns: 1fr; gap: 2rem; }
	.threedtopia-footer-bottom { flex-direction: column; }
}

.threedtopia-content { padding-block: var(--threedtopia-section-space); }
.threedtopia-content > .wp-block-post-title { font-size: clamp(2.5rem, 5vw, 4.75rem); margin-bottom: 2rem; }
