/*
Theme Name: ToolpathWorks
Description: A native WordPress block theme for the ToolpathWorks technical portfolio.
Version: 0.2.0
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: toolpathworks
Tags: portfolio, block-patterns, full-site-editing, wide-blocks
*/

/* Shared by the public site and the native WordPress editor. */
html {
	scroll-padding-top: 2rem;
}

body {
	-webkit-font-smoothing: antialiased;
}

/* MAN4MACH-inspired graph paper, with independent light and dark palettes. */
html[data-site-theme] body { background-image:linear-gradient(var(--tpw-grid) 1px,transparent 1px),linear-gradient(90deg,var(--tpw-grid) 1px,transparent 1px);background-size:32px 32px; }
html[data-site-theme=light] body { --wp--preset--color--paper:#f5f3ed;--wp--preset--color--white:#fffef9;--tpw-grid:#213d5310; }
html[data-site-theme=dark] { color-scheme:dark; }
html[data-site-theme=dark] body { --wp--preset--color--paper:#111b21;--wp--preset--color--white:#19262e;--wp--preset--color--graphite:#e7eeed;--wp--preset--color--muted:#b1c0c8;--wp--preset--color--blue:#88caff;--wp--preset--color--line:#3a4e5a;--tpw-grid:#bddce00b; }
.tpw-header { background:var(--wp--preset--color--paper); }
.tpw-header-row>.wp-block-site-title { margin-right:auto; }
.tpw-appearance { font-family:inherit;font-size:12px;font-weight:500;line-height:1.2;min-height:44px;border:1px solid var(--wp--preset--color--line);border-radius:4px;padding:8px 12px;background:var(--wp--preset--color--white);color:var(--wp--preset--color--graphite);cursor:pointer; }
.tpw-appearance[hidden] { display:none; }
@media(max-width:600px) { .tpw-header-row { gap:12px; }.tpw-header .wp-block-site-title { font-size:1.5rem; } }

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--blue);
	outline-offset: 4px;
}

:where(a) {
	text-underline-offset: 0.2em;
	text-decoration-thickness: 0.08em;
}

:where(h1, h2, h3, p, li, a) {
	overflow-wrap: break-word;
}

:where(img, video) {
	max-width: 100%;
	height: auto;
}

.wp-site-blocks > .wp-block-template-part {
	margin-block: 0;
}

.tpw-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-block: 1.5rem;
}

.tpw-header-row {
	gap: 1.25rem 2rem;
}

.tpw-header .wp-block-site-title {
	letter-spacing: -0.055em;
}

.tpw-header .wp-block-site-title a {
	text-decoration: none;
}

.tpw-header .wp-block-site-title a:hover {
	color: var(--wp--preset--color--blue);
}

.tpw-header .wp-block-navigation-item__content {
	padding-block: 0.5rem;
}

.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.45em;
}

.tpw-main {
	margin-block-start: 0;
	padding-block: clamp(3rem, 7vw, 6rem);
	min-height: 55vh;
}

.tpw-front-main {
	margin-block-start: 0;
}

.tpw-hero {
	padding-block: clamp(3.5rem, 9vw, 8rem) clamp(3rem, 7vw, 6rem);
}

.tpw-eyebrow {
	font-size: 0.75rem;
	font-weight: 650;
	letter-spacing: 0.14em;
	line-height: 1.6;
	text-transform: uppercase;
}

.tpw-hero-title {
	max-width: 21ch;
	text-wrap: balance;
}

.tpw-hero-copy {
	max-width: 42rem;
}

.tpw-hero-actions {
	padding-top: 1rem;
}

.tpw-disciplines {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-block: 2rem;
}

.tpw-discipline-list {
	column-gap: 2rem;
	row-gap: 0.85rem;
}

.tpw-discipline-list p {
	margin: 0;
	padding-left: 0.9rem;
	border-left: 2px solid var(--wp--preset--color--blue);
}

.tpw-home-content {
	margin-block: clamp(3rem, 7vw, 6rem);
}

.tpw-home-content:empty {
	display: none;
}

.tpw-page-heading {
	margin-block-end: 3rem;
}

.tpw-case-study h2 {
	margin-block-start: 3rem;
}

.tpw-case-facts {
	border-left: 2px solid var(--wp--preset--color--blue);
	padding-left: 1.5rem;
}

.tpw-post-list > li {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-bottom: 2rem;
	margin-bottom: 2rem;
}

.tpw-footer {
	margin-block-start: 0;
	border-top: 1px solid var(--wp--preset--color--line);
	padding-block: 2.5rem;
}

.tpw-footer-row {
	gap: 1.5rem 3rem;
	align-items: flex-start;
}

.tpw-footer .wp-block-site-title a {
	text-decoration: none;
}

.tpw-footer-note {
	max-width: 34rem;
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	border-width: 1px;
}

.wp-block-button__link:hover {
	filter: brightness(0.92);
}

.wp-block-image figcaption,
.wp-block-gallery figcaption {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
}

.wp-block-table {
	overflow-x: auto;
}

@media (max-width: 599px) {
	.tpw-header {
		padding-block: 1rem;
	}

	.tpw-header-row {
		flex-wrap: nowrap;
		gap: 0.75rem;
	}

	.tpw-header .wp-block-site-title {
		font-size: 1.4rem;
	}

	.tpw-header .wp-block-navigation__responsive-container.is-menu-open {
		padding: 1.5rem;
	}

	.tpw-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		gap: 1rem;
		font-size: 1.5rem;
	}

	.tpw-case-facts {
		margin-top: 1rem;
	}
}
