/*
Theme Name: ELROB Automation
Theme URI: https://elrob.sk/
Author: ELROB Automation
Description: Prezentačná téma ELROB Automation pre robotiku a PLC v automotive.
Version: 1.2.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: elrob-automation
*/

:root {
	--ink: #0a0c0f;
	--ink-soft: #101318;
	--panel: #15191f;
	--panel-light: #1a1f26;
	--line: rgba(255, 255, 255, 0.12);
	--line-dark: rgba(10, 12, 15, 0.15);
	--paper: #f3f1ec;
	--paper-white: #fbfaf7;
	--muted: #a8adb5;
	--muted-dark: #5f646c;
	--orange: #ff5a1f;
	--orange-deep: #d93d09;
	--orange-pale: #ff7b4a;
	--white: #fff;
	--content: 76rem;
	--wide: 88rem;
	--radius: 0.25rem;
	--shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.18);
	--header-height: 5.25rem;
	--font-sans: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--header-height) + 1rem);
}

body {
	margin: 0;
	background: var(--ink);
	color: var(--white);
	font-family: var(--font-sans);
	font-size: 1rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

button,
input,
textarea,
select {
	font: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

:focus-visible {
	outline: 0.19rem solid var(--orange-pale);
	outline-offset: 0.25rem;
}

::selection {
	background: var(--orange);
	color: var(--ink);
}

h1,
h2,
h3,
p {
	margin-top: 0;
}

h1,
h2,
h3 {
	line-height: 1.08;
	text-wrap: balance;
}

.container,
.container-wide {
	width: min(calc(100% - 2.5rem), var(--content));
	margin-inline: auto;
}

.container-wide {
	width: min(calc(100% - 2.5rem), var(--wide));
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 0.75rem;
	left: 0.75rem;
	z-index: 9999;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	clip: auto;
	background: var(--white);
	color: var(--ink);
	font-weight: 700;
}

/* Header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	border-bottom: 1px solid var(--line);
	background: rgba(10, 12, 15, 0.92);
	backdrop-filter: blur(1rem);
}

.admin-bar .site-header {
	top: 32px;
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: var(--header-height);
	gap: 2rem;
}

.site-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	min-width: max-content;
	color: var(--white);
	text-decoration: none;
}

.site-brand__custom-logo img,
.custom-logo,
.official-logo {
	display: block;
	width: auto;
	max-height: 4.25rem;
}

.site-brand--footer .official-logo {
	width: min(15rem, 100%);
	height: auto;
	max-height: none;
}

.brand-mark {
	position: relative;
	display: grid;
	place-items: center;
	width: 2.35rem;
	height: 2.35rem;
	border: 0.15rem solid var(--orange);
	transform: skew(-8deg);
}

.brand-mark::before,
.brand-mark::after,
.brand-mark span::before {
	content: "";
	position: absolute;
	background: var(--orange);
}

.brand-mark::before {
	width: 0.15rem;
	height: 1.1rem;
	left: 0.57rem;
	top: 0.48rem;
}

.brand-mark::after {
	width: 0.9rem;
	height: 0.15rem;
	left: 0.57rem;
	top: 0.48rem;
}

.brand-mark span::before {
	width: 1rem;
	height: 0.15rem;
	left: -0.5rem;
	top: 0.48rem;
	transform: rotate(-43deg);
	transform-origin: right center;
}

.brand-wordmark {
	display: flex;
	align-items: baseline;
	gap: 0.45rem;
	line-height: 1;
}

.brand-name {
	font-size: 1.38rem;
	font-weight: 850;
	letter-spacing: 0.07em;
}

.brand-descriptor {
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 650;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.primary-navigation {
	display: flex;
	align-items: center;
	gap: clamp(0.8rem, 1.5vw, 1.6rem);
}

.primary-navigation ul,
.footer-menu,
.footer-contact {
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-navigation .menu {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2vw, 2rem);
}

.primary-navigation .menu a {
	position: relative;
	display: block;
	padding: 0.7rem 0;
	color: #d7d9dd;
	font-size: 0.82rem;
	font-weight: 650;
	letter-spacing: 0.045em;
	text-decoration: none;
}

.primary-navigation .menu a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0.25rem;
	width: 100%;
	height: 0.1rem;
	background: var(--orange);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 180ms ease;
}

.primary-navigation .menu a:hover::after,
.primary-navigation .current-menu-item > a::after {
	transform: scaleX(1);
	transform-origin: left;
}

.language-switcher {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.18rem;
	padding-left: clamp(0.45rem, 1vw, 0.85rem);
	border-left: 1px solid var(--line);
}

.language-switcher a {
	display: grid;
	place-items: center;
	min-width: 2.05rem;
	height: 2.05rem;
	padding: 0.2rem;
	border: 1px solid transparent;
	color: #aeb2b8;
	font-size: 0.68rem;
	font-weight: 760;
	letter-spacing: 0.08em;
	text-decoration: none;
	transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.language-switcher a:hover {
	border-color: rgba(255, 255, 255, 0.25);
	color: var(--white);
}

.language-switcher a[aria-current="page"] {
	border-color: var(--orange);
	background: rgba(255, 90, 31, 0.12);
	color: var(--white);
}

.header-cta {
	display: inline-flex;
	align-items: center;
	min-height: 2.7rem;
	padding: 0.6rem 1rem;
	border: 1px solid var(--orange);
	color: var(--white);
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.055em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 180ms ease, color 180ms ease;
}

.header-cta:hover {
	background: var(--orange);
	color: var(--ink);
}

.nav-toggle {
	display: none;
	width: 2.8rem;
	height: 2.8rem;
	padding: 0.62rem;
	border: 1px solid var(--line);
	background: transparent;
	color: var(--white);
	cursor: pointer;
}

.nav-toggle__line {
	display: block;
	width: 100%;
	height: 0.12rem;
	margin: 0.3rem 0;
	background: currentColor;
	transition: transform 180ms ease, opacity 180ms ease;
}

/* Shared section styles */
.section-dark,
.section-mid,
.section-light,
.section-orange {
	position: relative;
	padding-block: clamp(5rem, 9vw, 8.5rem);
}

.section-dark {
	background: var(--ink);
}

.section-mid {
	background: var(--ink-soft);
}

.section-light {
	background: var(--paper);
	color: var(--ink);
}

.section-orange {
	background: var(--orange);
	color: var(--ink);
}

.eyebrow,
.section-kicker {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 1.25rem;
	color: var(--orange);
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.eyebrow span {
	width: 1.7rem;
	height: 0.12rem;
	background: var(--orange);
}

.section-kicker--dark {
	color: var(--ink);
}

.section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(16rem, 0.65fr);
	align-items: end;
	gap: 3rem;
	margin-bottom: clamp(2.75rem, 5vw, 4.5rem);
}

.section-heading h2,
.process-intro h2,
.experience-copy h2,
.contact-copy h2,
.proof-copy h2 {
	margin-bottom: 0;
	font-size: clamp(2.25rem, 5vw, 4.5rem);
	font-weight: 750;
	letter-spacing: -0.045em;
}

.section-heading > p,
.process-intro > p:last-child,
.experience-copy > p:last-child,
.contact-copy > p:last-child,
.proof-copy > p:last-child {
	margin-bottom: 0;
	font-size: clamp(1rem, 1.5vw, 1.16rem);
}

/* Hero */
.hero {
	position: relative;
	isolation: isolate;
	min-height: calc(100svh - var(--header-height));
	overflow: hidden;
	background: linear-gradient(110deg, var(--ink) 18%, #0d1116 70%, #11151b);
}

.hero-grid,
.experience-grid,
.contact-grid {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: 4.5rem 4.5rem;
	mask-image: linear-gradient(to right, transparent 0%, #000 42%, #000 100%);
}

.hero-glow {
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	filter: blur(0.1rem);
	pointer-events: none;
}

.hero-glow--one {
	top: 10%;
	right: 5%;
	width: 32rem;
	height: 32rem;
	background: radial-gradient(circle, rgba(255, 90, 31, 0.12), transparent 68%);
}

.hero-glow--two {
	bottom: -20%;
	left: 10%;
	width: 26rem;
	height: 26rem;
	background: radial-gradient(circle, rgba(255, 90, 31, 0.06), transparent 68%);
}

.hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.92fr);
	align-items: center;
	gap: clamp(3rem, 6vw, 7rem);
	min-height: calc(100svh - var(--header-height) - 5rem);
	padding-block: clamp(4.75rem, 9vw, 8.5rem) 4rem;
}

.hero-copy {
	position: relative;
	z-index: 2;
}

.hero h1 {
	max-width: 13ch;
	margin-bottom: 1.65rem;
	font-size: clamp(3.15rem, 6.4vw, 6.3rem);
	font-weight: 790;
	letter-spacing: -0.062em;
}

.hero h1 em {
	display: block;
	color: var(--orange);
	font-style: normal;
}

.hero-lead {
	max-width: 39rem;
	margin-bottom: 2.4rem;
	color: #bec2c8;
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	line-height: 1.65;
}

.hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.25rem;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1.4rem;
	min-height: 3.35rem;
	padding: 0.8rem 1.2rem;
	font-size: 0.8rem;
	font-weight: 780;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.button:hover {
	transform: translateY(-0.12rem);
}

.button--primary {
	background: var(--orange);
	color: var(--ink);
}

.button--primary:hover {
	background: var(--orange-pale);
}

.button--text {
	border-bottom: 1px solid rgba(255, 255, 255, 0.35);
	color: var(--white);
}

.button--text:hover {
	border-color: var(--orange);
	color: var(--orange-pale);
}

.hero-visual {
	position: relative;
	min-height: 30rem;
}

.machine-frame {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(100%, 34rem);
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(16, 19, 24, 0.86);
	box-shadow: var(--shadow), inset 0 0 0 0.35rem rgba(255, 255, 255, 0.018);
	transform: translate(-50%, -50%);
}

.machine-frame::before,
.machine-frame::after {
	content: "";
	position: absolute;
	width: 1.4rem;
	height: 1.4rem;
	border-color: var(--orange);
}

.machine-frame::before {
	top: -0.1rem;
	left: -0.1rem;
	border-top: 0.16rem solid;
	border-left: 0.16rem solid;
}

.machine-frame::after {
	right: -0.1rem;
	bottom: -0.1rem;
	border-right: 0.16rem solid;
	border-bottom: 0.16rem solid;
}

.machine-topline,
.machine-readout {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--line);
	color: #848a93;
	font-family: var(--font-mono);
	font-size: 0.58rem;
	letter-spacing: 0.1em;
}

.status-dot {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	color: #b7c9b7;
}

.status-dot::before {
	content: "";
	width: 0.42rem;
	height: 0.42rem;
	border-radius: 50%;
	background: #63d26f;
	box-shadow: 0 0 0.7rem #63d26f;
}

.machine-stage {
	position: relative;
	height: 22rem;
	overflow: hidden;
	background:
		radial-gradient(circle at 45% 45%, rgba(255, 90, 31, 0.08), transparent 40%),
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: auto, 2.25rem 2.25rem, 2.25rem 2.25rem;
}

.axis {
	position: absolute;
	background: rgba(255, 255, 255, 0.12);
}

.axis--x {
	left: 8%;
	right: 8%;
	bottom: 14%;
	height: 1px;
}

.axis--y {
	top: 8%;
	bottom: 10%;
	left: 14%;
	width: 1px;
}

.robot-envelope {
	position: absolute;
	top: 7%;
	left: 11%;
	z-index: 1;
	width: 66%;
	height: 78%;
	border: 1px dashed rgba(255, 255, 255, 0.12);
	border-bottom-color: transparent;
	border-left-color: rgba(255, 90, 31, 0.28);
	border-radius: 50% 50% 0 0;
	transform: rotate(-4deg);
}

.robot-envelope::before {
	content: "R 1850";
	position: absolute;
	top: 14%;
	right: -2.35rem;
	padding-left: 0.4rem;
	border-left: 1px solid rgba(255, 90, 31, 0.5);
	color: #737a84;
	font-family: var(--font-mono);
	font-size: 0.46rem;
	letter-spacing: 0.08em;
}

.industrial-robot {
	position: absolute;
	bottom: 14%;
	left: 2.2%;
	z-index: 3;
	width: 27rem;
	height: 17rem;
	transform-origin: left bottom;
}

.robot-cable {
	position: absolute;
	inset: 0;
	z-index: 6;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}

.robot-cable path {
	fill: none;
	stroke: #59616b;
	stroke-width: 6;
	stroke-dasharray: 1 5;
	stroke-linecap: round;
	filter: drop-shadow(0 2px 0 #101319);
	vector-effect: non-scaling-stroke;
}

.robot-base {
	position: absolute;
	bottom: 0;
	left: 2.1rem;
	z-index: 4;
	width: 6.1rem;
	height: 1.45rem;
	border: 0.12rem solid #747c86;
	background: linear-gradient(180deg, #333a44 0 24%, #222831 25% 100%);
	box-shadow: inset 0 0 0 0.18rem rgba(255, 255, 255, 0.025), 0 0.35rem 0.7rem rgba(0, 0, 0, 0.25);
	clip-path: polygon(9% 0, 91% 0, 100% 100%, 0 100%);
}

.robot-base__plate {
	position: absolute;
	bottom: -0.1rem;
	left: 10%;
	width: 80%;
	height: 0.3rem;
	border-top: 1px solid rgba(255, 255, 255, 0.24);
	border-bottom: 1px solid #0e1115;
}

.robot-waist {
	position: absolute;
	bottom: 1.15rem;
	left: 2.95rem;
	z-index: 2;
	width: 4.4rem;
	height: 4.1rem;
	border: 0.12rem solid #7a828c;
	background:
		linear-gradient(90deg, transparent 67%, rgba(255, 90, 31, 0.8) 68% 74%, transparent 75%),
		linear-gradient(135deg, #343b45, #20262e 72%);
	box-shadow: inset 0.45rem 0 0 rgba(255, 255, 255, 0.025);
	clip-path: polygon(15% 100%, 5% 38%, 22% 7%, 78% 0, 96% 31%, 88% 100%);
}

.robot-arm {
	position: absolute;
	z-index: 2;
	height: 2.75rem;
	border: 0.13rem solid #7a828c;
	background: linear-gradient(180deg, #343b45, #20262e 68%, #191e25);
	box-shadow: inset 0 0.22rem 0 rgba(255, 255, 255, 0.035), 0 0.35rem 0.8rem rgba(0, 0, 0, 0.2);
	transform-origin: left center;
}

.robot-arm--upper {
	bottom: 4.3rem;
	left: 5.25rem;
	width: 9.15rem;
	transform: rotate(-62deg);
	clip-path: polygon(0 20%, 17% 0, 100% 24%, 100% 76%, 17% 100%, 0 80%);
}

.robot-arm--forearm {
	bottom: 12.12rem;
	left: 9.75rem;
	width: 10.2rem;
	height: 2.35rem;
	transform: rotate(24deg);
	clip-path: polygon(0 8%, 79% 20%, 100% 36%, 100% 76%, 79% 92%, 0 100%);
}

.robot-arm__panel {
	position: absolute;
	top: 27%;
	left: 31%;
	width: 34%;
	height: 46%;
	border: 1px solid rgba(255, 125, 78, 0.72);
	background: rgba(255, 90, 31, 0.12);
}

.robot-arm__panel::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0.28rem;
	left: 0.28rem;
	height: 1px;
	background: rgba(255, 255, 255, 0.16);
}

.robot-joint {
	position: absolute;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	border: 0.22rem solid #4a525d;
	border-radius: 50%;
	background:
		radial-gradient(circle, #15191f 0 18%, var(--orange) 19% 38%, #20262e 39% 63%, #79818b 64% 68%, #242a32 69%);
	box-shadow: 0 0.25rem 0.7rem rgba(0, 0, 0, 0.36), inset 0 0 0 0.14rem #161b21;
}

.robot-joint::after {
	content: "";
	position: absolute;
	inset: 0.42rem;
	border: 1px dashed rgba(255, 255, 255, 0.18);
	border-radius: 50%;
}

.robot-joint--shoulder {
	bottom: 3.35rem;
	left: 4.05rem;
}

.robot-joint--elbow {
	bottom: 11.5rem;
	left: 8.45rem;
}

.axis-label {
	position: relative;
	z-index: 2;
	color: #ffad8e;
	font-family: var(--font-mono);
	font-size: 0.43rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
}

.axis-label--a1 {
	position: absolute;
	top: 0.42rem;
	left: 0.48rem;
}

.robot-roll {
	position: absolute;
	bottom: 8.2rem;
	left: 17.5rem;
	z-index: 4;
	display: grid;
	place-items: center;
	width: 4.45rem;
	height: 1.75rem;
	border: 0.12rem solid #7c848e;
	border-radius: 45% 28% 28% 45%;
	background:
		linear-gradient(90deg, #242a32 0 18%, var(--orange) 19% 26%, #303741 27% 70%, #1a1f26 71%);
	box-shadow: inset 0 0.2rem 0 rgba(255, 255, 255, 0.05);
	transform: rotate(24deg);
}

.robot-joint--wrist {
	bottom: 6.75rem;
	left: 20.65rem;
	width: 2.75rem;
	height: 2.75rem;
	border-width: 0.17rem;
}

.robot-joint--wrist::after {
	inset: 0.32rem;
}

.robot-flange {
	position: absolute;
	bottom: 6.55rem;
	left: 22.65rem;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 2.65rem;
	height: 1.45rem;
	border: 0.12rem solid #7c848e;
	background: repeating-linear-gradient(90deg, #282f38 0 0.28rem, #171c22 0.28rem 0.42rem);
	transform: rotate(24deg);
}

.robot-tool {
	position: absolute;
	bottom: 5.8rem;
	left: 24.2rem;
	z-index: 6;
	width: 3.25rem;
	height: 0.86rem;
	border: 0.11rem solid #858d97;
	border-radius: 0.42rem 0.14rem 0.14rem 0.42rem;
	background: linear-gradient(180deg, #353c46, #171c22);
	box-shadow: inset 0 0.16rem 0 rgba(255, 255, 255, 0.06);
	transform: rotate(26deg);
	transform-origin: left center;
}

.robot-tool__neck {
	position: absolute;
	top: 0.17rem;
	right: -1.22rem;
	width: 1.45rem;
	height: 0.34rem;
	border-top: 0.12rem solid #a6adb5;
	border-right: 0.12rem solid #a6adb5;
	transform: skewX(-24deg);
}

.robot-tool__nozzle {
	position: absolute;
	top: 0.34rem;
	right: -1.62rem;
	width: 0.78rem;
	height: 0.3rem;
	background: linear-gradient(90deg, #858d97, #d1d5da);
	clip-path: polygon(0 10%, 100% 38%, 100% 62%, 0 90%);
}

.workpiece {
	position: absolute;
	bottom: 0;
	left: 18.35rem;
	z-index: 2;
	width: 11rem;
	height: 3.8rem;
	border: 0.12rem solid #5c646e;
	background:
		linear-gradient(90deg, transparent 49%, rgba(255, 90, 31, 0.32) 50%, transparent 51%),
		repeating-linear-gradient(135deg, #242a32 0, #242a32 0.5rem, #20252c 0.5rem, #20252c 1rem);
	box-shadow: inset 0 0.35rem 0 rgba(255, 255, 255, 0.025), 0 0.6rem 1rem rgba(0, 0, 0, 0.22);
	clip-path: polygon(0 25%, 25% 25%, 30% 0, 77% 0, 82% 25%, 100% 25%, 100% 100%, 0 100%);
}

.workpiece::before,
.workpiece::after {
	content: "";
	position: absolute;
	bottom: 0.55rem;
	width: 0.42rem;
	height: 0.42rem;
	border: 1px solid #69727c;
	border-radius: 50%;
	background: #12161b;
}

.workpiece::before { left: 1rem; }
.workpiece::after { right: 1rem; }

.fixture-clamp {
	position: absolute;
	top: -0.72rem;
	z-index: 2;
	width: 0.72rem;
	height: 1.4rem;
	border: 0.1rem solid #737b85;
	background: #20262d;
}

.fixture-clamp::after {
	content: "";
	position: absolute;
	top: -0.14rem;
	left: -0.38rem;
	width: 0.85rem;
	height: 0.28rem;
	background: var(--orange);
}

.fixture-clamp--left { left: 2.1rem; }
.fixture-clamp--right { right: 2.25rem; }

.weld-point {
	position: absolute;
	bottom: 4.3rem;
	left: 27rem;
	z-index: 8;
	width: 0.36rem;
	height: 0.36rem;
	border-radius: 50%;
	background: #fff4df;
	box-shadow: 0 0 0.5rem 0.18rem var(--orange), 0 0 1.45rem 0.35rem rgba(255, 90, 31, 0.45);
	animation: weld-pulse 2.4s steps(2, end) infinite;
}

.weld-point span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.35rem;
	height: 1px;
	background: linear-gradient(90deg, #ffd7a6, transparent);
	transform-origin: left center;
}

.weld-point span:nth-child(1) { transform: rotate(-58deg); }
.weld-point span:nth-child(2) { width: 0.95rem; transform: rotate(-18deg); }
.weld-point span:nth-child(3) { width: 1.1rem; transform: rotate(42deg); }

@keyframes weld-pulse {
	0%, 38%, 46%, 100% { opacity: 0.32; }
	40%, 44% { opacity: 1; }
}

.scan-line {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 68%;
	width: 1px;
	background: var(--orange);
	box-shadow: 0 0 1.3rem 0.25rem rgba(255, 90, 31, 0.45);
	animation: scan 5.5s ease-in-out infinite alternate;
}

@keyframes scan {
	from { transform: translateX(-8rem); opacity: 0.3; }
	to { transform: translateX(5rem); opacity: 0.9; }
}

.machine-readout {
	border-top: 1px solid var(--line);
	border-bottom: 0;
	gap: 0.5rem;
}

.machine-readout span {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	color: #bfc3c9;
}

.machine-readout small {
	color: #676e77;
	font-size: 0.5rem;
}

.hero-meta {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid var(--line);
}

.hero-meta span {
	position: relative;
	padding: 1.35rem 1rem 1.4rem 1.65rem;
	border-right: 1px solid var(--line);
	color: #8e949d;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	font-weight: 650;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.hero-meta span::before {
	content: "";
	position: absolute;
	left: 0.25rem;
	top: 50%;
	width: 0.36rem;
	height: 0.36rem;
	border: 1px solid var(--orange);
	transform: translateY(-50%) rotate(45deg);
}

/* Experience proof */
.proof {
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	background: #0d1014;
}

.proof-grid {
	display: grid;
	grid-template-columns: 0.65fr 1.5fr 0.35fr;
	align-items: center;
	gap: clamp(2rem, 5vw, 5rem);
}

.proof-number {
	color: transparent;
	font-size: clamp(8rem, 17vw, 15rem);
	font-weight: 900;
	letter-spacing: -0.11em;
	line-height: 0.75;
	-webkit-text-stroke: 2px var(--orange);
	text-shadow: 0 0 4rem rgba(255, 90, 31, 0.12);
}

.proof-copy h2 {
	margin-bottom: 1.6rem;
	font-size: clamp(2rem, 4vw, 3.75rem);
}

.proof-copy > p:last-child {
	max-width: 45rem;
	color: var(--muted);
}

.proof-label {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-left: 1.2rem;
	border-left: 1px solid var(--orange);
	font-family: var(--font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.proof-label span {
	color: var(--muted);
}

.proof-label strong {
	color: var(--orange);
}

/* Services */
.services .section-heading > p {
	color: var(--muted-dark);
}

.service-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--line-dark);
	border-left: 1px solid var(--line-dark);
}

.service-card {
	position: relative;
	min-height: 32rem;
	padding: clamp(1.75rem, 4vw, 3.5rem);
	border-right: 1px solid var(--line-dark);
	border-bottom: 1px solid var(--line-dark);
	background: rgba(255, 255, 255, 0.32);
	transition: background 220ms ease, transform 220ms ease;
}

.service-card:hover {
	z-index: 2;
	background: var(--paper-white);
	box-shadow: 0 1.5rem 4rem rgba(10, 12, 15, 0.08);
	transform: translateY(-0.25rem);
}

.service-card--accent::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 2.2rem;
	height: 2.2rem;
	background: linear-gradient(135deg, transparent 50%, var(--orange) 50%);
}

.service-card__top {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 3.4rem;
}

.service-index {
	color: var(--orange-deep);
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 700;
}

.service-line {
	height: 1px;
	flex: 1;
	background: var(--line-dark);
}

.service-icon {
	position: relative;
	width: 4.25rem;
	height: 4.25rem;
	margin-bottom: 2.3rem;
	border: 1px solid rgba(10, 12, 15, 0.65);
}

.service-icon::before,
.service-icon::after,
.service-icon span,
.service-icon span::before,
.service-icon span::after {
	content: "";
	position: absolute;
}

.service-icon--cell::before {
	left: 0.8rem;
	bottom: 0.7rem;
	width: 1.3rem;
	height: 0.7rem;
	border: 0.13rem solid var(--ink);
}

.service-icon--cell::after {
	left: 1.35rem;
	top: 0.75rem;
	width: 0.13rem;
	height: 2.05rem;
	background: var(--orange);
	transform: rotate(34deg);
	transform-origin: bottom;
}

.service-icon--cell span {
	right: 0.82rem;
	top: 1.2rem;
	width: 1.3rem;
	height: 0.13rem;
	background: var(--ink);
	transform: rotate(25deg);
}

.service-icon--line::before {
	left: 0.65rem;
	right: 0.65rem;
	bottom: 0.9rem;
	height: 0.17rem;
	background: var(--ink);
}

.service-icon--line::after {
	left: 0.9rem;
	top: 0.8rem;
	width: 0.75rem;
	height: 2.1rem;
	border: 0.13rem solid var(--ink);
}

.service-icon--line span {
	right: 0.85rem;
	top: 1.15rem;
	width: 1.2rem;
	height: 1.2rem;
	border: 0.13rem solid var(--orange);
}

.service-icon--logic::before {
	left: 0.7rem;
	top: 1rem;
	width: 1rem;
	height: 1rem;
	border: 0.13rem solid var(--ink);
	box-shadow: 1.7rem 0 0 -0.13rem var(--paper), 1.7rem 0 0 0 var(--ink);
}

.service-icon--logic::after {
	left: 1.6rem;
	top: 1.45rem;
	width: 1.7rem;
	height: 0.13rem;
	background: var(--orange);
}

.service-icon--logic span {
	left: 1.9rem;
	top: 2.8rem;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: var(--orange);
}

.service-icon--upgrade::before {
	inset: 0.7rem;
	border: 0.13rem solid var(--ink);
	border-top-color: transparent;
	border-radius: 50%;
}

.service-icon--upgrade::after {
	right: 0.53rem;
	top: 0.38rem;
	width: 0;
	height: 0;
	border-left: 0.4rem solid transparent;
	border-right: 0.4rem solid transparent;
	border-bottom: 0.75rem solid var(--orange);
	transform: rotate(38deg);
}

.service-icon--upgrade span {
	left: 50%;
	top: 50%;
	width: 1.4rem;
	height: 0.13rem;
	background: var(--orange);
	transform: translate(-50%, -50%) rotate(-38deg);
}

.service-card h3 {
	max-width: 21ch;
	margin-bottom: 1.25rem;
	font-size: clamp(1.5rem, 2.5vw, 2.2rem);
	font-weight: 740;
	letter-spacing: -0.035em;
}

.service-card > p {
	max-width: 40rem;
	margin-bottom: 1.8rem;
	color: var(--muted-dark);
}

.service-card ul {
	display: grid;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.service-card li {
	position: relative;
	padding-left: 1.15rem;
	font-size: 0.88rem;
	font-weight: 620;
}

.service-card li::before {
	content: "+";
	position: absolute;
	left: 0;
	color: var(--orange-deep);
	font-family: var(--font-mono);
}

/* Photography */
.work-photos {
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	background: #090c10;
}

.photo-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.55fr);
	align-items: end;
	gap: clamp(2rem, 7vw, 7rem);
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.photo-heading h2 {
	max-width: 16ch;
	margin: 0;
	font-size: clamp(2.4rem, 5vw, 5.25rem);
}

.photo-heading > p {
	max-width: 31rem;
	margin: 0 0 0.5rem;
	color: var(--muted);
}

.photo-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(20rem, 0.85fr);
	gap: 1px;
	border: 1px solid var(--line);
	background: var(--line);
}

.photo-panel {
	position: relative;
	min-height: clamp(27rem, 39vw, 38rem);
	margin: 0;
	overflow: hidden;
	background: #14181e;
}

.photo-panel img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.78) contrast(1.08) brightness(0.78);
	transition: filter 500ms ease, transform 700ms ease;
}

.photo-panel--wide img {
	object-position: 55% center;
}

.photo-panel--detail img {
	object-position: 48% center;
}

.photo-panel::before {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, transparent 42%, rgba(5, 7, 10, 0.82) 100%),
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: auto, 3.5rem 3.5rem, 3.5rem 3.5rem;
	mix-blend-mode: normal;
}

.photo-panel::after {
	content: "";
	position: absolute;
	z-index: 2;
	top: 1.15rem;
	right: 1.15rem;
	width: 2.2rem;
	height: 2.2rem;
	border-top: 1px solid var(--orange);
	border-right: 1px solid var(--orange);
	pointer-events: none;
}

.photo-panel:hover img {
	filter: saturate(0.92) contrast(1.06) brightness(0.88);
	transform: scale(1.018);
}

.photo-panel figcaption {
	position: absolute;
	z-index: 3;
	right: clamp(1.4rem, 3vw, 2.75rem);
	bottom: clamp(1.4rem, 3vw, 2.75rem);
	left: clamp(1.4rem, 3vw, 2.75rem);
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
}

.photo-panel figcaption span {
	color: var(--orange-pale);
	font-family: var(--font-mono);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.photo-panel figcaption strong {
	max-width: 16rem;
	color: var(--white);
	font-size: clamp(1.1rem, 2vw, 1.55rem);
	line-height: 1.15;
	text-align: right;
}

@media (max-width: 50rem) {
	.photo-heading,
	.photo-grid {
		grid-template-columns: 1fr;
	}

	.photo-heading {
		gap: 1.5rem;
	}

	.photo-panel {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}
}

@media (max-width: 38rem) {
	.photo-panel {
		aspect-ratio: 4 / 3;
	}

	.photo-panel figcaption {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.6rem;
	}

	.photo-panel figcaption strong {
		text-align: left;
	}
}

/* Process */
.process-layout {
	display: grid;
	grid-template-columns: minmax(17rem, 0.75fr) minmax(0, 1.25fr);
	gap: clamp(3rem, 8vw, 9rem);
}

.process-intro {
	position: sticky;
	top: calc(var(--header-height) + 3rem);
	align-self: start;
}

.process-intro h2 {
	margin-bottom: 1.6rem;
	font-size: clamp(2.4rem, 4.6vw, 4.2rem);
}

.process-intro > p:last-child {
	color: var(--muted);
}

.process-list {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--line);
	list-style: none;
}

.process-list li {
	display: grid;
	grid-template-columns: 4rem 1fr;
	gap: 1.5rem;
	padding: 2.2rem 0;
	border-bottom: 1px solid var(--line);
}

.process-number {
	color: var(--orange);
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 700;
}

.process-list h3 {
	margin-bottom: 0.6rem;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	font-weight: 700;
}

.process-list p {
	max-width: 38rem;
	margin: 0;
	color: var(--muted);
}

/* Trust / experience */
.experience {
	isolation: isolate;
	overflow: hidden;
	border-top: 1px solid var(--line);
}

.experience-grid {
	mask-image: linear-gradient(to left, #000 0%, transparent 65%);
	transform: rotate(-5deg) scale(1.1);
}

.experience-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(19rem, 0.9fr);
	align-items: start;
	gap: clamp(4rem, 10vw, 10rem);
}

.experience-copy h2 {
	max-width: 16ch;
	margin-bottom: 1.7rem;
}

.experience-copy > p:last-child {
	max-width: 43rem;
	color: var(--muted);
}

.experience-points {
	border-top: 1px solid var(--line);
}

.experience-point {
	display: grid;
	grid-template-columns: 2.4rem 1fr;
	gap: 1rem;
	padding: 1.8rem 0;
	border-bottom: 1px solid var(--line);
}

.experience-point span {
	color: var(--orange);
	font-family: var(--font-mono);
	font-size: 0.65rem;
}

.experience-point p {
	margin: 0;
	color: #d2d4d8;
	font-weight: 560;
}

/* Contact */
.contact {
	isolation: isolate;
	overflow: hidden;
}

.contact-grid {
	z-index: -1;
	background-image:
		linear-gradient(rgba(10, 12, 15, 0.12) 1px, transparent 1px),
		linear-gradient(90deg, rgba(10, 12, 15, 0.12) 1px, transparent 1px);
	background-size: 4.5rem 4.5rem;
	mask-image: linear-gradient(to left, #000, transparent 70%);
}

.contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
	align-items: end;
	gap: clamp(3rem, 9vw, 9rem);
}

.contact-copy h2 {
	max-width: 14ch;
	margin-bottom: 1.5rem;
	font-size: clamp(2.7rem, 6vw, 5.5rem);
}

.contact-copy > p:last-child {
	max-width: 42rem;
	color: rgba(10, 12, 15, 0.75);
}

.contact-actions {
	border-top: 1px solid rgba(10, 12, 15, 0.35);
}

.contact-link {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.25rem 1rem;
	padding: 1.35rem 0;
	border-bottom: 1px solid rgba(10, 12, 15, 0.35);
	color: var(--ink);
	text-decoration: none;
}

.contact-link__label {
	grid-column: 1 / -1;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.contact-link strong {
	overflow-wrap: anywhere;
	font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.contact-link > span:last-child {
	font-size: 1.4rem;
	transition: transform 180ms ease;
}

.contact-link:hover > span:last-child {
	transform: translate(0.2rem, -0.2rem);
}

.contact-location {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 1.25rem 0 0;
	font-size: 0.82rem;
	font-weight: 650;
}

.contact-location span {
	font-size: 0.5rem;
}

/* Footer */
.site-footer {
	padding: 4.5rem 0 1.75rem;
	border-top: 1px solid var(--line);
	background: #080a0d;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 0.7fr 0.8fr;
	gap: clamp(2.5rem, 8vw, 8rem);
	padding-bottom: 4rem;
}

.site-brand--footer {
	margin-bottom: 1.3rem;
}

.footer-brand p {
	max-width: 28rem;
	margin: 0;
	color: #858b94;
	font-size: 0.88rem;
}

.footer-title {
	margin-bottom: 1.2rem;
	color: #777e87;
	font-family: var(--font-mono);
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.footer-menu,
.footer-contact {
	display: grid;
	gap: 0.7rem;
}

.footer-menu a,
.footer-contact a {
	color: #c7cbd0;
	font-size: 0.84rem;
	text-decoration: none;
}

.footer-menu a:hover,
.footer-contact a:hover {
	color: var(--orange);
}

.footer-contact li {
	color: #c7cbd0;
	font-size: 0.84rem;
	overflow-wrap: anywhere;
}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 1.75rem;
	border-top: 1px solid var(--line);
	color: #717781;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.footer-bottom p {
	margin: 0;
}

.footer-bottom a {
	color: #aeb3ba;
	text-decoration: none;
}

.footer-bottom a:hover {
	color: var(--orange);
}

/* Standard WordPress content */
.content-shell {
	min-height: 65vh;
	padding-block: clamp(4.5rem, 9vw, 8rem);
	background: var(--paper);
	color: var(--ink);
}

.content-wrap {
	width: min(calc(100% - 2.5rem), 52rem);
	margin-inline: auto;
}

.page-header,
.entry-header {
	margin-bottom: 2.5rem;
	padding-bottom: 1.75rem;
	border-bottom: 1px solid var(--line-dark);
}

.page-title,
.entry-title {
	margin-bottom: 0.8rem;
	font-size: clamp(2.5rem, 6vw, 5rem);
	font-weight: 760;
	letter-spacing: -0.05em;
}

.entry-title a {
	text-decoration: none;
}

.entry-title a:hover {
	color: var(--orange-deep);
}

.entry-meta {
	color: var(--muted-dark);
	font-family: var(--font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.entry-content > * + * {
	margin-top: 1.4rem;
}

.entry-content h2,
.entry-content h3 {
	margin-top: 2.5rem;
	margin-bottom: 0.8rem;
}

.entry-content h2 {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.entry-content h3 {
	font-size: clamp(1.35rem, 2.3vw, 1.85rem);
}

.entry-content a {
	color: var(--orange-deep);
}

.entry-content blockquote {
	margin-inline: 0;
	padding: 1.5rem 1.75rem;
	border-left: 0.25rem solid var(--orange);
	background: rgba(10, 12, 15, 0.04);
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
}

.entry-content th,
.entry-content td {
	padding: 0.75rem;
	border: 1px solid var(--line-dark);
	text-align: left;
}

.entry-content pre {
	overflow-x: auto;
	padding: 1rem;
	background: var(--ink);
	color: var(--paper);
}

.post-list article + article {
	margin-top: 4rem;
}

.pagination,
.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 3rem;
}

.page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 2.7rem;
	height: 2.7rem;
	border: 1px solid var(--line-dark);
	text-decoration: none;
}

.page-numbers.current,
.page-numbers:hover {
	border-color: var(--orange);
	background: var(--orange);
}

.error-page {
	text-align: center;
}

.error-code {
	margin-bottom: 1rem;
	color: transparent;
	font-size: clamp(7rem, 25vw, 16rem);
	font-weight: 900;
	letter-spacing: -0.1em;
	line-height: 0.8;
	-webkit-text-stroke: 2px var(--orange);
}

.error-page .button {
	margin-top: 1rem;
	background: var(--orange);
	color: var(--ink);
}

.alignwide {
	width: min(72rem, calc(100vw - 2.5rem));
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.alignfull {
	width: 100vw;
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

/* Responsive */
@media (max-width: 64rem) {
	.hero-layout {
		grid-template-columns: 1.1fr 0.9fr;
		gap: 2rem;
	}

	.hero-visual {
		min-height: 25rem;
	}

	.machine-stage {
		height: 18rem;
	}

	.industrial-robot {
		transform: scale(0.9);
	}

	.proof-grid {
		grid-template-columns: 0.55fr 1.45fr;
	}

	.proof-label {
		display: none;
	}

	.service-card {
		min-height: 30rem;
	}

	.footer-grid {
		grid-template-columns: 1.3fr 0.7fr 0.7fr;
		gap: 3rem;
	}
}

@media (max-width: 50rem) {
	:root {
		--header-height: 4.6rem;
	}

	.admin-bar .site-header {
		top: 46px;
	}

	.nav-toggle {
		display: block;
	}

	.site-header .official-logo,
	.site-header .custom-logo {
		max-height: 3.55rem;
	}

	.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(2) {
		transform: translateY(0.42rem) rotate(45deg);
	}

	.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(3) {
		opacity: 0;
	}

	.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(4) {
		transform: translateY(-0.42rem) rotate(-45deg);
	}

	.primary-navigation {
		position: fixed;
		inset: var(--header-height) 0 auto;
		display: none;
		align-items: stretch;
		max-height: calc(100svh - var(--header-height));
		padding: 1.5rem 1.25rem 2rem;
		overflow-y: auto;
		border-top: 1px solid var(--line);
		border-bottom: 1px solid var(--line);
		background: rgba(10, 12, 15, 0.985);
	}

	.primary-navigation.is-open {
		display: block;
	}

	.primary-navigation .menu {
		display: grid;
		gap: 0;
		margin-bottom: 1.25rem;
	}

	.primary-navigation .menu a {
		padding: 1rem 0;
		border-bottom: 1px solid var(--line);
		font-size: 1rem;
	}

	.primary-navigation .menu a::after {
		display: none;
	}

	.language-switcher {
		justify-content: center;
		margin: 0 0 1rem;
		padding: 0;
		border-left: 0;
	}

	.language-switcher a {
		min-width: 2.55rem;
		height: 2.35rem;
		font-size: 0.76rem;
	}

	.header-cta {
		justify-content: center;
		width: 100%;
	}

	.hero {
		min-height: auto;
	}

	.hero-layout {
		grid-template-columns: 1fr;
		min-height: auto;
		padding-top: 5rem;
	}

	.hero h1 {
		max-width: 12ch;
	}

	.hero-visual {
		min-height: 27rem;
	}

	.machine-frame {
		width: min(95%, 34rem);
	}

	.industrial-robot {
		transform: scale(1);
	}

	.hero-meta {
		grid-template-columns: repeat(2, 1fr);
	}

	.hero-meta span:nth-child(-n+2) {
		border-bottom: 1px solid var(--line);
	}

	.proof-grid,
	.section-heading,
	.process-layout,
	.experience-layout,
	.contact-layout {
		grid-template-columns: 1fr;
	}

	.proof-grid {
		gap: 2.25rem;
	}

	.proof-number {
		font-size: 10rem;
	}

	.section-heading {
		gap: 1.5rem;
	}

	.section-heading > p {
		max-width: 40rem;
	}

	.process-intro {
		position: static;
	}

	.contact-layout {
		align-items: start;
	}

	.footer-grid {
		grid-template-columns: 1.2fr 0.8fr;
	}

	.footer-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 38rem) {
	.container,
	.container-wide,
	.content-wrap {
		width: min(calc(100% - 1.5rem), var(--content));
	}

	.brand-descriptor {
		display: none;
	}

	.hero-layout {
		padding-top: 4rem;
	}

	.hero h1 {
		font-size: clamp(2.8rem, 15vw, 4.5rem);
	}

	.hero-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.button {
		width: 100%;
	}

	.hero-visual {
		min-height: 22rem;
	}

	.machine-stage {
		height: 15rem;
	}

	.industrial-robot {
		left: 1.5%;
		transform: scale(0.9);
	}

	.robot-envelope::before {
		display: none;
	}

	.machine-readout span:last-child {
		display: none;
	}

	.hero-meta {
		grid-template-columns: 1fr;
	}

	.hero-meta span {
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}

	.proof-number {
		font-size: 8rem;
	}

	.service-grid {
		grid-template-columns: 1fr;
	}

	.service-card {
		min-height: 0;
		padding: 1.75rem;
	}

	.process-list li {
		grid-template-columns: 2.5rem 1fr;
		gap: 0.7rem;
	}

	.footer-grid {
		grid-template-columns: 1fr;
	}

	.footer-brand {
		grid-column: auto;
	}

	.footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 28rem) {
	.industrial-robot {
		transform: scale(0.72);
	}

	.robot-envelope {
		top: 12%;
		left: 8%;
		width: 78%;
		height: 70%;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

@media print {
	.site-header,
	.site-footer,
	.hero-visual,
	.hero-grid,
	.hero-glow,
	.experience-grid,
	.contact-grid,
	.hero-actions {
		display: none !important;
	}

	body,
	.section-dark,
	.section-mid,
	.section-light,
	.section-orange,
	.hero {
		background: #fff !important;
		color: #000 !important;
	}

	section {
		padding-block: 2rem !important;
		break-inside: avoid;
	}
}
