:root {
	--tutek-blue: #0021c5;
	--tutek-ink: #090909;
	--tutek-graphite: #202020;
	--tutek-paper: #f4f1e9;
	--tutek-white: #fff;
	--tutek-border: rgba(9, 9, 9, 0.22);
	--tutek-gutter: clamp(1rem, 3vw, 3rem);
	--tutek-hero-top: clamp(5rem, 8vw, 8rem);
	--tutek-section: clamp(4.5rem, 9vw, 9rem);
}

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

html {
	max-width: 100%;
	overflow-x: clip;
	scroll-behavior: smooth;
}

body {
	max-width: 100%;
	overflow-x: clip;
}

.wp-site-blocks,
.site-main {
	box-sizing: border-box;
	max-width: 100%;
	overflow-x: clip;
}

:where(img, video, iframe, svg) {
	max-width: 100%;
}

:where(img, video) {
	height: auto;
}

@supports not (overflow: clip) {
	html,
	body,
	.wp-site-blocks,
	.site-main {
		overflow-x: hidden;
	}
}

/* Keep short final words and long Polish phrases from creating awkward mobile lines.
 * `pretty` is supported by current Chromium/Safari; the overflow rule is a fallback. */
@supports (text-wrap: balance) {
	:where(.site-main, .site-footer) :where(h1, h2, h3) {
		text-wrap: balance;
	}
}

@supports (text-wrap: pretty) {
	:where(.site-main, .site-footer) :where(p, li, summary) {
		text-wrap: pretty;
	}
}

:where(.site-main, .site-footer) :where(p, h1, h2, h3, li, summary) {
	hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
}

.tutek-copy-email > span,
.tutek-production-form .tutek-copy-email > span {
	overflow-wrap: anywhere;
	word-break: break-word;
}

body.admin-bar .wp-site-blocks > header.wp-block-template-part {
	top: 32px;
}

::selection {
	background: var(--tutek-blue);
	color: var(--tutek-white);
}

:where(a, button, input, textarea, select):focus-visible {
	outline: 3px solid #ffdd00;
	outline-offset: 3px;
}

.site-main {
	margin-block-start: 0;
}

.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}

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

.site-header-shell {
	background: var(--tutek-paper);
	border-bottom: 1px solid var(--tutek-border);
	position: relative;
	z-index: 1;
}

.site-main > [id],
.section-heading[id],
.tutek-catalog[id],
.tutek-catalog__heading[id],
.tutek-production-form[id],
.site-footer__anchor[id],
.studio-page [id] {
	scroll-margin-top: 87px;
}

body.admin-bar .site-main > [id],
body.admin-bar .section-heading[id],
body.admin-bar .tutek-catalog[id],
body.admin-bar .tutek-catalog__heading[id],
body.admin-bar .tutek-production-form[id],
body.admin-bar .site-footer__anchor[id],
body.admin-bar .studio-page [id] {
	scroll-margin-top: 119px;
}

.site-header {
	box-sizing: border-box;
	min-height: 76px;
	padding: 0 var(--tutek-gutter);
}

.site-brand {
	min-width: 145px;
}

.site-brand__fallback {
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -0.04em;
	text-transform: uppercase;
}

.site-navigation {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.site-header__actions {
	gap: 0.5rem;
}

.site-header .wp-block-button__link {
	padding: 0.8rem 1rem;
}

.language-switch .wp-block-button__link {
	background: transparent;
	border-color: var(--tutek-ink);
	color: var(--tutek-ink);
}

.hero {
	box-sizing: border-box;
	isolation: isolate;
	min-height: calc(100svh - 76px);
	overflow: hidden;
	padding: var(--tutek-hero-top) var(--tutek-gutter) clamp(5rem, 8vw, 8rem);
	position: relative;
}

@keyframes tutek-hero-image-reveal {
	from {
		clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	}

	to {
		clip-path: polygon(45% 0, 100% 0, 100% 100%, 0 100%);
	}
}

@media (min-width: 981px) and (prefers-reduced-motion: no-preference) {
	.hero .tutek-hero-reveal[data-tutek-hero-reveal] {
		animation: none;
		backface-visibility: hidden;
		clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
		contain: paint;
		transform: translateZ(0);
		will-change: clip-path;
	}

	.hero .tutek-hero-reveal[data-tutek-hero-reveal].is-ready {
		animation: tutek-hero-image-reveal 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
	}

	.hero .tutek-hero-reveal__image {
		backface-visibility: hidden;
		will-change: transform;
	}
}

.hero__content {
	margin-left: max(0px, calc((100vw - 1440px) / 2));
	position: relative;
	z-index: 2;
}

.eyebrow {
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.75rem;
	font-weight: 650;
	letter-spacing: 0.09em;
	line-height: 1.4;
	text-transform: uppercase;
}

.hero__title {
	margin-top: 0;
	max-width: 12ch;
	position: relative;
	z-index: 2;
}

@media (min-width: 981px) {
	.hero__title {
		max-width: none;
		white-space: nowrap;
	}
}

.hero__lead {
	max-width: 690px;
}

.hero__actions {
	margin-top: 2.25rem;
}

.hero__meta {
	border-top: 1px solid rgba(255, 255, 255, 0.5);
	box-sizing: border-box;
	gap: 0.75rem 2rem;
	margin-left: max(0px, calc((100vw - 1440px) / 2));
	margin-top: clamp(4rem, 8vw, 8rem);
	padding-top: 1rem;
	position: relative;
	z-index: 2;
}

.hero__meta p {
	margin: 0;
}

.hero__meta-address {
	text-align: right;
}

.hero .is-style-outline .wp-block-button__link,
.final-cta .is-style-outline .wp-block-button__link {
	border-color: currentColor;
	color: var(--tutek-white);
}

.hero__facts {
	border-top: 1px solid rgba(255, 255, 255, 0.5);
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.7rem;
	letter-spacing: 0.03em;
	margin-top: clamp(4rem, 8vw, 8rem);
	position: relative;
	z-index: 2;
}

.hero__facts p {
	border-right: 1px solid rgba(255, 255, 255, 0.5);
	box-sizing: border-box;
	margin: 0;
	padding: 1rem 1.5rem 1.3rem 0;
}

.hero__facts p:last-child {
	border-right: 0;
}

.hero__facts strong {
	font-family: var(--wp--preset--font-family--tutek-sans);
	font-size: 0.9rem;
}

.hero-shapes {
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.hero-shape {
	display: block;
	position: absolute;
	transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
	will-change: transform;
}

.hero-shape--disc {
	background: var(--tutek-white);
	border-radius: 50%;
	height: clamp(72px, 9vw, 150px);
	right: 8%;
	top: 19%;
	width: clamp(72px, 9vw, 150px);
}

.hero-shape--frame {
	border: 2px solid var(--tutek-white);
	bottom: 20%;
	height: clamp(110px, 16vw, 260px);
	right: 17%;
	transform: rotate(12deg);
	width: clamp(90px, 13vw, 210px);
}

.hero-shape--tile {
	background: var(--tutek-white);
	bottom: 11%;
	height: clamp(45px, 6vw, 96px);
	right: 4%;
	transform: rotate(-18deg);
	width: clamp(90px, 12vw, 200px);
}

.hero-equipment {
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.hero-equipment__item {
	display: block;
	position: absolute;
	transition: translate 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
	will-change: translate;
}

.hero-equipment__item svg {
	display: block;
	fill: none;
	height: 100%;
	stroke: var(--tutek-white);
	stroke-linecap: square;
	stroke-linejoin: miter;
	stroke-width: 2;
	vector-effect: non-scaling-stroke;
	width: 100%;
}

.hero-equipment__item--camera {
	height: clamp(85px, 9vw, 145px);
	right: 7%;
	top: 16%;
	width: clamp(115px, 13vw, 210px);
}

.hero-equipment__item--lens {
	height: clamp(75px, 8vw, 135px);
	right: 27%;
	top: 40%;
	width: clamp(75px, 8vw, 135px);
}

.hero-equipment__item--mic {
	height: clamp(100px, 12vw, 190px);
	right: 8%;
	top: 48%;
	transform: rotate(9deg);
	width: clamp(66px, 7vw, 110px);
}

.hero-equipment__item--tripod {
	bottom: 7%;
	height: clamp(145px, 19vw, 300px);
	right: 20%;
	width: clamp(110px, 13vw, 200px);
}

.hero-equipment__item--light {
	bottom: 8%;
	height: clamp(90px, 11vw, 175px);
	right: 2%;
	width: clamp(90px, 11vw, 175px);
}

.section {
	box-sizing: border-box;
	padding: var(--tutek-hero-top) var(--tutek-gutter) var(--tutek-section);
}

.section-heading {
	align-items: end;
	border-top: 1px solid var(--tutek-border);
	padding-top: 1.2rem;
}

.section-heading__copy {
	max-width: 420px;
}

.studio-grid {
	gap: 1px;
	margin-top: clamp(3rem, 6vw, 6rem);
}

.studio-card {
	background: var(--tutek-white);
	border: 1px solid var(--tutek-border);
	min-width: 0;
}

.studio-card__visual {
	aspect-ratio: 16 / 8;
	box-sizing: border-box;
	margin: 0;
	overflow: hidden;
	padding: 1rem;
	position: relative;
}

.studio-card__visual::before,
.studio-card__visual::after {
	content: "";
	position: absolute;
}

.studio-card--wide .studio-card__visual {
	background: #e7e7e7;
}

.studio-card--wide .studio-card__visual::before {
	background: var(--tutek-blue);
	bottom: 15%;
	height: 35%;
	left: 13%;
	width: 70%;
}

.studio-card--wide .studio-card__visual::after {
	border: 1px solid var(--tutek-ink);
	height: 60%;
	right: 8%;
	top: 12%;
	transform: skewY(-12deg);
	width: 33%;
}

.studio-card--close .studio-card__visual {
	background: #333;
}

.studio-card--close .studio-card__visual::before {
	border: 2px solid var(--tutek-white);
	border-radius: 50%;
	height: 45%;
	left: 14%;
	top: 23%;
	width: 25%;
}

.studio-card--close .studio-card__visual::after {
	background: var(--tutek-blue);
	height: 42%;
	right: 13%;
	top: 30%;
	transform: rotate(10deg);
	width: 38%;
}

.studio-card__index {
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.7rem;
	margin: 0;
	position: relative;
	z-index: 2;
}

.studio-card--close .studio-card__index {
	color: var(--tutek-white);
}

.studio-card__body {
	box-sizing: border-box;
	margin: 0;
	padding: clamp(1.5rem, 3vw, 3rem);
}

.studio-card__body h3 {
	font-size: clamp(2rem, 4vw, 4.2rem);
	margin-bottom: 1.5rem;
}

.parameter-list {
	border-top: 1px solid var(--tutek-border);
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.73rem;
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
	text-transform: uppercase;
}

.parameter-list li {
	border-bottom: 1px solid var(--tutek-border);
	padding: 0.7rem 0;
}

.price-placeholder {
	background: var(--tutek-paper);
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.7rem;
	margin-top: 1.5rem;
	padding: 0.8rem;
}

.text-link {
	font-size: 0.82rem;
	font-weight: 750;
	letter-spacing: 0.05em;
	margin-top: 2rem;
	text-transform: uppercase;
}

.process-section {
	background-image: linear-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.09) 1px, transparent 1px);
	background-size: 64px 64px;
}

.process-grid {
	gap: 0;
	margin: clamp(3rem, 7vw, 7rem) 0 3rem;
}

.process-card {
	border: 1px solid rgba(255, 255, 255, 0.35);
	box-sizing: border-box;
	min-height: 300px;
	padding: clamp(1.5rem, 3vw, 3rem);
}

.process-card + .process-card {
	border-left: 0;
}

.process-card__number {
	color: #6f83ed;
	font-family: var(--wp--preset--font-family--tutek-mono);
	margin-bottom: 6rem;
}

.application-grid {
	gap: 1px;
	margin-top: clamp(3rem, 6vw, 6rem);
}

.application-card {
	background: var(--tutek-white);
	border: 1px solid var(--tutek-border);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 440px;
	overflow: hidden;
	padding: clamp(1.25rem, 2.5vw, 2.25rem);
	position: relative;
}

.application-card::before,
.application-card::after {
	display: none;
}

.application-card > * {
	position: relative;
	z-index: 1;
}

.application-card h3 {
	font-size: clamp(1.8rem, 3vw, 3.2rem);
	margin-top: auto;
}

.application-card__index {
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.66rem;
	letter-spacing: 0.06em;
}

.application-card__image {
	aspect-ratio: 3 / 2;
	background: #e7e7e7;
	display: block;
	margin: 0.8rem 0 1.4rem;
	overflow: hidden;
	width: 100%;
}

.application-card__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transition: transform 500ms ease;
	width: 100%;
}

.application-card:hover .application-card__image img {
	transform: scale(1.025);
}

.application-card__image--empty {
	background-image: linear-gradient(rgba(0, 33, 197, 0.14) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 33, 197, 0.14) 1px, transparent 1px);
	background-size: 24px 24px;
}

.application-card--film {
	background: var(--tutek-ink);
	color: var(--tutek-white);
}

.application-card--film .application-card__image--empty {
	background-color: #202020;
	background-image: linear-gradient(rgba(255, 255, 255, 0.11) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.11) 1px, transparent 1px);
}

.application-card--film a {
	color: inherit;
}

.application-card__cta {
	align-items: center;
	align-self: flex-start;
	background: var(--tutek-blue);
	color: var(--tutek-white) !important;
	display: inline-flex;
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.68rem;
	font-weight: 700;
	gap: 0.85rem;
	letter-spacing: 0.06em;
	margin-top: 1.25rem;
	padding: 0.85rem 1rem;
	text-decoration: none;
	text-transform: uppercase;
}

.application-card__cta span {
	font-size: 1rem;
	line-height: 1;
	transition: transform 160ms ease;
}

.application-card__cta:hover span,
.application-card__cta:focus-visible span {
	transform: translateX(0.25rem);
}

.application-card--film .application-card__cta {
	background: var(--tutek-white);
	color: var(--tutek-ink) !important;
}

.tutek-locale-en .application-card--photo h3 {
	font-size: clamp(1.7rem, 2.7vw, 3rem);
	letter-spacing: -0.055em;
	white-space: nowrap;
}

.application-card--live {
	background-image: linear-gradient(rgba(0, 33, 197, 0.16) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 33, 197, 0.16) 1px, transparent 1px);
	background-size: 24px 24px;
}

.application-card__icon {
	align-items: center;
	display: flex;
	height: 126px;
	justify-content: center;
	margin: 0.6rem 0 0;
}

.application-card__icon svg {
	fill: none;
	height: 100%;
	max-width: 170px;
	stroke: var(--tutek-ink);
	stroke-linecap: square;
	stroke-linejoin: miter;
	stroke-width: 2.4;
	width: 100%;
}

.application-card--film .application-card__icon svg {
	stroke: var(--tutek-white);
}

.application-card__icon--live {
	color: var(--tutek-blue);
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: clamp(2.2rem, 4vw, 4.5rem);
	font-weight: 800;
	letter-spacing: -0.08em;
}

.application-card__icon--live span {
	background: #e4261b;
	border-radius: 50%;
	display: inline-block;
	height: 0.42em;
	margin-right: 0.2em;
	width: 0.42em;
}

.scenery-heading {
	max-width: 920px;
}

.scene-switcher {
	margin-top: clamp(3rem, 6vw, 6rem);
}

.scene-switcher__controls {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.scene-switcher__controls button {
	appearance: none;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.65);
	color: var(--tutek-white);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.68rem;
	font-weight: 650;
	letter-spacing: 0.06em;
	padding: 1rem;
	text-transform: uppercase;
}

.scene-switcher__controls button + button {
	border-left: 0;
}

.scene-switcher__controls button[aria-pressed="true"] {
	background: var(--tutek-white);
	color: var(--tutek-blue);
}

.scene-switcher__canvas {
	background: #e7e7e7;
	border: 1px solid var(--tutek-white);
	box-sizing: border-box;
	height: clamp(330px, 48vw, 680px);
	overflow: hidden;
	position: relative;
}

.scene-switcher__canvas::before,
.scene-switcher__canvas::after {
	content: "";
	position: absolute;
}

.scene-switcher__canvas::before {
	background-image: linear-gradient(rgba(9, 9, 9, 0.15) 1px, transparent 1px), linear-gradient(90deg, rgba(9, 9, 9, 0.15) 1px, transparent 1px);
	background-size: 48px 48px;
	inset: 0;
}

.scene-switcher__canvas::after {
	background: var(--tutek-ink);
	bottom: 0;
	height: 1px;
	left: 0;
	transform: rotate(-13deg) scaleX(1.2);
	transform-origin: left;
	width: 100%;
}

.scene-object {
	display: block;
	position: absolute;
	transition: all 420ms cubic-bezier(0.2, 0.8, 0.2, 1);
	z-index: 1;
}

.scene-object--backdrop {
	background: var(--tutek-white);
	border: 1px solid var(--tutek-ink);
	height: 68%;
	left: 18%;
	top: 8%;
	width: 64%;
}

.scene-object--surface {
	background: var(--tutek-blue);
	bottom: 20%;
	height: 14%;
	left: 31%;
	transform: skewX(-16deg);
	width: 38%;
}

.scene-object--seat {
	background: var(--tutek-ink);
	bottom: 12%;
	height: 19%;
	width: 9%;
}

.scene-object--seat-a { left: 27%; }
.scene-object--seat-b { right: 27%; }

.scene-object--subject {
	background: var(--tutek-white);
	border: 2px solid var(--tutek-ink);
	border-radius: 50%;
	height: 12%;
	top: 35%;
	width: 7%;
}

.scene-object--subject-a { left: 31%; }
.scene-object--subject-b { right: 31%; }

.scene-switcher__canvas[data-scene="sofa"] .scene-object--surface {
	border-radius: 6px;
	height: 22%;
	left: 27%;
	transform: none;
	width: 46%;
}

.scene-switcher__canvas[data-scene="sofa"] .scene-object--seat {
	display: none;
}

.scene-switcher__canvas[data-scene="solo"] .scene-object--surface {
	height: 10%;
	left: 43%;
	width: 14%;
}

.scene-switcher__canvas[data-scene="solo"] .scene-object--seat-a {
	left: 45.5%;
}

.scene-switcher__canvas[data-scene="solo"] .scene-object--seat-b,
.scene-switcher__canvas[data-scene="solo"] .scene-object--subject-b {
	opacity: 0;
	transform: translateX(80px);
}

.scene-switcher__canvas[data-scene="solo"] .scene-object--subject-a {
	left: 46.5%;
}

.scene-switcher__canvas[data-scene="green"] .scene-object--backdrop {
	background: #1d7d45;
	left: 10%;
	width: 80%;
}

.scene-switcher__canvas[data-scene="green"] .scene-object--surface,
.scene-switcher__canvas[data-scene="green"] .scene-object--seat,
.scene-switcher__canvas[data-scene="green"] .scene-object--subject {
	opacity: 0;
	transform: translateY(80px);
}

.control-room-grid {
	gap: clamp(2rem, 6vw, 7rem);
}

.control-room-visual {
	background: var(--tutek-ink);
	box-sizing: border-box;
	min-height: 610px;
	overflow: hidden;
	padding: 0;
}

.control-room-visual__windows {
	display: grid;
	gap: clamp(1rem, 3vw, 3rem);
	grid-template-columns: 1.35fr 0.85fr;
	height: 100%;
}

.control-room-visual__windows span {
	align-items: end;
	background-image: linear-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.12) 1px, transparent 1px);
	background-size: 32px 32px;
	border: 8px solid #3a3a3a;
	box-sizing: border-box;
	color: var(--tutek-white);
	display: flex;
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.68rem;
	padding: 1rem;
	position: relative;
}

.control-room-visual__windows span::after {
	background: var(--tutek-blue);
	border-radius: 50%;
	content: "";
	height: 52px;
	position: absolute;
	right: 12%;
	top: 18%;
	width: 52px;
}

.control-room-copy {
	box-sizing: border-box;
	padding-block: 3rem;
}

.section-heading--light {
	border-color: rgba(255, 255, 255, 0.35);
}

.benefit-grid {
	border-left: 1px solid rgba(255, 255, 255, 0.25);
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	margin-top: clamp(3rem, 6vw, 6rem);
}

.benefit-item {
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
	border-right: 1px solid rgba(255, 255, 255, 0.25);
	box-sizing: border-box;
	margin: 0;
	min-height: 230px;
	padding: clamp(1.25rem, 2.5vw, 2.5rem);
}

.benefit-item h3 {
	font-size: 1.35rem;
	margin-top: 3rem;
}

.benefit-item__index {
	color: #6f83ed;
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.7rem;
}

.benefit-item p:last-child {
	font-size: 0.84rem;
}

.location-grid {
	gap: 0;
}

.location-copy {
	background: var(--tutek-white);
	border: 1px solid var(--tutek-border);
	box-sizing: border-box;
	padding: clamp(2rem, 5vw, 5rem);
}

.location-map {
	min-height: 600px;
}

.location-map__graphic {
	background-color: #dfdcd3;
	background-image: linear-gradient(rgba(9, 9, 9, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(9, 9, 9, 0.08) 1px, transparent 1px);
	background-size: 42px 42px;
	height: 100%;
	min-height: 600px;
	overflow: hidden;
	position: relative;
}

.location-map__road {
	background: var(--tutek-white);
	border-block: 1px solid var(--tutek-ink);
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.7rem;
	left: -10%;
	letter-spacing: 0.14em;
	padding: 1rem;
	position: absolute;
	top: 48%;
	transform: rotate(-24deg);
	width: 120%;
}

.location-map__pin {
	align-items: center;
	background: var(--tutek-blue);
	border-radius: 50%;
	color: var(--tutek-white);
	display: flex;
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.7rem;
	height: 130px;
	justify-content: center;
	left: 53%;
	position: absolute;
	text-align: center;
	top: 25%;
	width: 130px;
	z-index: 2;
}

.location-map__route {
	border: 3px dashed var(--tutek-blue);
	border-left: 0;
	border-top: 0;
	height: 42%;
	left: 20%;
	position: absolute;
	top: 15%;
	transform: rotate(8deg);
	width: 40%;
}

.faq-grid {
	max-width: 1100px;
}

.faq-grid > h2 {
	margin-bottom: clamp(3rem, 6vw, 6rem);
}

.faq-grid details {
	border-top: 1px solid var(--tutek-border);
	margin: 0;
	padding: 0;
}

.faq-grid details:last-of-type {
	border-bottom: 1px solid var(--tutek-border);
}

.faq-grid summary {
	cursor: pointer;
	font-size: clamp(1.05rem, 2vw, 1.4rem);
	font-weight: 700;
	list-style: none;
	padding: 1.5rem 3rem 1.5rem 0;
	position: relative;
}

.faq-grid summary::-webkit-details-marker {
	display: none;
}

.faq-grid summary::after {
	content: "+";
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 1.5rem;
	font-weight: 400;
	position: absolute;
	right: 0;
	top: 1.25rem;
}

.faq-grid details[open] summary::after {
	content: "−";
}

.faq-grid details > p {
	max-width: 760px;
	padding-bottom: 1.5rem;
}

.production-grid {
	gap: clamp(3rem, 8vw, 9rem);
}

.production-section {
	margin-block-start: 0;
	padding-block: clamp(4rem, 8vw, 8rem);
}

.production-section.is-layout-constrained > .tutek-production-form,
.production-section > .tutek-production-form {
	margin-inline: auto !important;
	max-width: 1440px !important;
	width: 100% !important;
}

.final-cta h2 {
	max-width: 13ch;
}

.site-footer {
	box-sizing: border-box;
	margin-block-start: 0;
	padding: clamp(4rem, 8vw, 8rem) var(--tutek-gutter) 2rem;
}

.site-footer a {
	color: inherit;
}

.tutek-contact-lines {
	display: grid;
	gap: 0.65rem;
}

.tutek-copy-email {
	align-items: center;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.tutek-copy-email > span {
	user-select: all;
}

.tutek-copy-email button {
	appearance: none;
	background: transparent;
	border: 1px solid currentColor;
	color: inherit;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding: 0.35rem 0.5rem;
	text-transform: uppercase;
}

.tutek-copy-email button:hover,
.tutek-copy-email button[data-copy-state="copied"] {
	background: var(--tutek-white);
	color: var(--tutek-ink);
}

.tutek-copy-email--light {
	color: var(--tutek-white);
}

.site-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	margin-top: 5rem;
	padding-top: 1.5rem;
}

@media (max-width: 980px) {
	body.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: 46px;
	}

	body.admin-bar .site-main > [id],
	body.admin-bar .section-heading[id],
	body.admin-bar .tutek-catalog[id],
	body.admin-bar .tutek-catalog__heading[id],
	body.admin-bar .tutek-production-form[id],
	body.admin-bar .site-footer__anchor[id],
	body.admin-bar .studio-page [id] {
		scroll-margin-top: 132px;
	}

	.site-navigation {
		order: initial;
	}

	.site-navigation .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--tutek-blue);
		color: var(--tutek-white);
		padding: 2rem;
	}

	.site-header .language-switch {
		display: none !important;
	}

	.booking-button .wp-block-button__link {
		white-space: nowrap;
	}

	.hero__title {
		max-width: 14ch;
	}

	.hero-shapes,
	.hero-equipment {
		opacity: 0.35;
	}

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

	.hero__facts p:nth-child(2) {
		border-right: 0;
	}

	.hero__facts p:nth-child(-n + 2) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	}

	.application-grid {
		flex-wrap: wrap !important;
	}

	.application-card {
		flex-basis: calc(50% - 1px) !important;
	}

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

}

@media (max-width: 700px) {
	:root {
		--tutek-hero-top: 4rem;
	}

	.site-main > [id],
	.section-heading[id],
	.tutek-catalog[id],
	.tutek-catalog__heading[id],
	.tutek-production-form[id],
	.site-footer__anchor[id],
	.studio-page [id] {
		scroll-margin-top: 78px;
	}

	body.admin-bar .site-main > [id],
	body.admin-bar .section-heading[id],
	body.admin-bar .tutek-catalog[id],
	body.admin-bar .tutek-catalog__heading[id],
	body.admin-bar .tutek-production-form[id],
	body.admin-bar .site-footer__anchor[id],
	body.admin-bar .studio-page [id] {
		scroll-margin-top: 124px;
	}

	.site-header {
		min-height: 68px;
	}

	.site-brand {
		min-width: 0;
	}

	.site-brand__fallback {
		font-size: 0.85rem;
	}

	.booking-button .wp-block-button__link {
		font-size: 0.65rem;
		padding: 0.72rem 0.78rem;
	}

	.hero {
		min-height: calc(100svh - 68px);
		padding-top: var(--tutek-hero-top);
	}

	.hero .hero__title {
		font-size: clamp(1.85rem, 9.2vw, 3.1rem);
		letter-spacing: -0.055em;
		line-height: 0.94;
		max-width: 100%;
	}

	.hero__title br {
		display: block;
	}

	.hero__meta {
		align-items: flex-start;
		flex-direction: column;
		margin-top: 3.5rem;
	}

	.hero__meta-address {
		text-align: left;
	}

	.site-main :where(p, h1, h2, h3, li, summary) {
		hyphens: none;
		overflow-wrap: normal;
		word-break: normal;
	}

	.application-card__cta,
	.wp-block-button__link {
		max-width: 100%;
	}

	.hero-equipment {
		opacity: 0.22;
	}

	.hero-equipment__item--lens { right: 10%; top: 18%; }
	.hero-equipment__item--camera { right: -3%; top: 37%; }
	.hero-equipment__item--mic { bottom: 5%; right: 10%; top: auto; }
	.hero-equipment__item--tripod,
	.hero-equipment__item--light { display: none; }

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

	.hero__facts p,
	.hero__facts p:nth-child(2) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.5);
		border-right: 0;
	}

	.hero__facts p:last-child {
		border-bottom: 0;
	}

	.studio-grid {
		gap: 1.25rem;
	}

	.process-card + .process-card {
		border-left: 1px solid rgba(255, 255, 255, 0.35);
		border-top: 0;
	}

	.process-card__number {
		margin-bottom: 3rem;
	}

	.application-card {
		flex-basis: 100% !important;
		min-height: 390px;
	}

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

	.scene-switcher__controls button:nth-child(3) {
		border-left: 1px solid rgba(255, 255, 255, 0.65);
	}

	.scene-switcher__controls button:nth-child(n + 3) {
		border-top: 0;
	}

	.control-room-visual {
		min-height: 420px;
	}

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


	.location-map,
	.location-map__graphic {
		min-height: 440px;
	}
}

@media (max-width: 420px) {
	.site-header {
		gap: 0.45rem;
	}

	.site-header .wp-block-site-logo img {
		height: auto;
		max-width: min(108px, 30vw);
	}

	.site-header__actions {
		gap: 0.3rem;
	}

	.hero__actions {
		align-items: stretch;
		flex-direction: column;
		gap: 0.75rem;
	}

	.hero__actions .wp-block-button {
		width: 100%;
	}

	.hero__actions .wp-block-button__link {
		justify-content: center;
		width: 100%;
	}
}

@media (max-width: 380px) {
	.hero .hero__title {
		font-size: clamp(1.7rem, 8.5vw, 2.1rem);
	}
}

@media (max-width: 340px) {
	.production-section {
		padding-inline: 0;
	}
}

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

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

	.hero-shape,
	.hero-equipment__item {
		transform: none !important;
		translate: 0 0 !important;
	}

	.hero .tutek-hero-reveal[data-tutek-hero-reveal] {
		animation: none;
		clip-path: polygon(45% 0, 100% 0, 100% 100%, 0 100%);
		transform: none;
		will-change: auto;
	}
}

/* Studio overview and detail pages. */
.studio-page {
	background: var(--tutek-paper);
	display: flow-root;
	margin-block-start: 0;
}

/* WordPress may wrap shortcode whitespace in empty paragraphs. Do not let
 * those wrappers add the global block gap above or below studio pages. */
.wp-site-blocks > p:has(+ .studio-page),
.wp-site-blocks > .studio-page + p {
	display: none;
	margin: 0;
}

.studio-page > p {
	display: none;
	margin: 0;
}

.closeup-page p:empty,
.closeup-page > p {
	display: none;
	margin: 0;
}

.studio-page-shell {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: var(--tutek-gutter);
}

.studio-page-hero,
.studio-detail-hero {
	background-color: var(--tutek-blue);
	color: var(--tutek-white);
	min-height: 72svh;
	padding-block: var(--tutek-hero-top) clamp(4rem, 8vw, 8rem);
}

.studio-page-hero {
	background-image: linear-gradient(rgba(255, 255, 255, 0.11) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.11) 1px, transparent 1px);
	background-size: 64px 64px;
}

.studio-detail-hero--wide {
	background-image: linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
	background-size: 64px 64px, 64px 64px;
}

.studio-detail-hero--close-up {
	background-color: var(--tutek-ink);
	background-image: linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
	background-size: 48px 48px, 48px 48px;
}

.studio-page-hero h1,
.studio-detail-hero h1 {
	font-size: clamp(3.5rem, 8vw, 8.5rem);
	margin: 1rem 0 2rem;
	max-width: 12ch;
}

.studio-page-lead {
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	max-width: 760px;
}

.studio-page-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	margin-top: 2.5rem;
}

.studio-page-button {
	background: var(--tutek-blue);
	box-sizing: border-box;
	color: var(--tutek-white) !important;
	display: inline-flex;
	font-size: .75rem;
	font-weight: 750;
	letter-spacing: .08em;
	padding: 1rem 1.4rem;
	text-decoration: none;
	text-transform: uppercase;
}

.studio-page-button--light {
	background: var(--tutek-white);
	color: var(--tutek-ink) !important;
}

.studio-page-link {
	color: inherit !important;
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.studio-page-section {
	padding-block: clamp(5rem, 10vw, 10rem);
}

.studio-page-section h2,
.studio-page-cta h2 {
	font-size: clamp(2.5rem, 5vw, 5.5rem);
	margin: 1rem 0 2rem;
	max-width: 14ch;
}

.studio-page-section--dark {
	background: var(--tutek-ink);
	color: var(--tutek-white);
}

.wide-scenes-disclaimer {
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: clamp(.66rem, .9vw, .78rem);
	letter-spacing: .02em;
	line-height: 1.5;
	margin: 1rem 0 0;
	max-width: 760px;
	opacity: .68;
}

.studio-page-section--blue,
.studio-page-cta {
	background: var(--tutek-blue);
	color: var(--tutek-white);
}

.closeup-page .studio-page-section--blue .studio-specs,
.closeup-page .studio-page-section--blue .studio-specs > div {
	border-color: rgba(255, 255, 255, 0.42);
}

.closeup-configurator-section .tutek-closeup-configurator__controls select:focus,
.closeup-configurator-section .tutek-closeup-configurator__controls select:focus-visible {
	box-shadow: none;
}


.studio-comparison-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 3rem;
}

.studio-comparison-card {
	background: var(--tutek-white);
	border: 1px solid var(--tutek-border);
}

.studio-comparison-visual {
	align-items: flex-end;
	background-image: linear-gradient(rgba(9,9,9,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(9,9,9,.12) 1px, transparent 1px);
	background-size: 40px 40px;
	display: flex;
	height: clamp(280px, 35vw, 500px);
	justify-content: flex-start;
	padding: 2rem;
}

.studio-comparison-card--wide .studio-comparison-visual {
	background-color: #eee;
}

.studio-comparison-card--close-up .studio-comparison-visual {
	background-color: var(--tutek-graphite);
	background-image: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px);
	color: var(--tutek-white);
}

.studio-comparison-visual span,
.studio-use-grid span,
.studio-feature-grid span {
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: .7rem;
	letter-spacing: .06em;
}

.studio-comparison-body {
	padding: clamp(1.5rem, 4vw, 3.5rem);
}

.studio-comparison-body h2 {
	font-size: clamp(2.3rem, 4vw, 4.5rem);
	margin-top: 0;
}

.studio-comparison-body h3 {
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: .72rem;
	letter-spacing: .06em;
	margin-top: 2.5rem;
	text-transform: uppercase;
}

.studio-specs {
	border-top: 1px solid var(--tutek-border);
	margin: 2rem 0;
}

.studio-specs > div {
	border-bottom: 1px solid var(--tutek-border);
	display: grid;
	gap: 1rem;
	grid-template-columns: 35% 1fr;
	padding: .8rem 0;
}

.studio-specs dt {
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: .65rem;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.studio-specs dd {
	margin: 0;
}

.studio-specs--large dd {
	font-size: clamp(1.2rem, 2vw, 2rem);
	font-weight: 700;
}

.studio-page-list {
	list-style: none;
	margin: 1.5rem 0;
	padding: 0;
}

.studio-page-list li {
	border-bottom: 1px solid currentColor;
	padding: .75rem 0;
}

.studio-page-list li::before {
	content: "→ ";
	font-family: var(--wp--preset--font-family--tutek-mono);
}

.studio-card-footer {
	align-items: center;
	border-top: 1px solid var(--tutek-border);
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	justify-content: space-between;
	margin-top: 2rem;
	padding-top: 1.5rem;
}

.studio-card-footer .tutek-price {
	margin: 0;
}

.studio-card-footer a {
	font-size: .72rem;
	font-weight: 750;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.studio-feature-grid,
.studio-use-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 4rem;
}

.studio-feature-grid > div,
.studio-use-grid article {
	border: 1px solid rgba(255,255,255,.35);
	box-sizing: border-box;
	min-height: 190px;
	padding: 1.5rem;
}

.studio-feature-grid strong {
	display: block;
	font-size: 1.15rem;
	margin-top: 3rem;
}

.studio-use-grid {
	grid-template-columns: repeat(5, 1fr);
}

.studio-use-grid article h3 {
	font-size: clamp(1.2rem, 2vw, 2rem);
	margin-top: 5rem;
}

.studio-detail-grid {
	align-items: start;
	display: grid;
	gap: clamp(3rem, 8vw, 8rem);
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
}

.studio-breadcrumb {
	display: flex;
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: .68rem;
	gap: .75rem;
	letter-spacing: .05em;
	margin-bottom: 4rem;
	text-transform: uppercase;
}

.studio-breadcrumb a {
	color: inherit;
}

.studio-detail-hero .tutek-price {
	margin: 0;
}

.studio-gear-panel {
	background: var(--tutek-white);
	border: 1px solid var(--tutek-border);
	padding: clamp(2rem, 4vw, 4rem);
}

.studio-gear-panel h3 {
	font-size: clamp(2rem, 3vw, 3.5rem);
}

.studio-included-content {
	max-width: 960px;
}

.studio-faq {
	margin-top: 3rem;
	max-width: 960px;
}

.studio-faq details {
	border-top: 1px solid rgba(255,255,255,.35);
	padding: 1.2rem 0;
}

.studio-faq details:last-child {
	border-bottom: 1px solid rgba(255,255,255,.35);
}

.studio-faq summary {
	cursor: pointer;
	font-size: 1.1rem;
	font-weight: 700;
}

.studio-faq p {
	max-width: 720px;
}

/* Studio Close-Up detail page. */
.closeup-detail-hero,
.wide-detail-hero {
	min-height: auto;
	padding-bottom: clamp(5rem, 8vw, 7rem);
}

.closeup-hero-grid,
.wide-hero-grid {
	align-items: center;
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
}

.closeup-detail-hero h1,
.wide-detail-hero h1 {
	font-size: clamp(4rem, 7vw, 8rem);
	max-width: 8ch;
}

.closeup-detail-hero .tutek-price--compact {
	background: var(--tutek-blue);
	color: var(--tutek-white);
}

.wide-detail-hero .tutek-price--compact {
	color: var(--tutek-ink);
}

.closeup-page .studio-page-section {
	padding-block: clamp(4rem, 7vw, 7rem);
}

.closeup-hero-gallery,
.wide-hero-gallery {
	min-width: 0;
}

.wide-hero-gallery .tutek-studio-gallery--empty {
	background-color: rgba(9, 9, 9, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.5);
}

.closeup-format-grid,
.closeup-feature-grid,
.closeup-comfort-grid {
	display: grid;
	gap: 1px;
	margin-top: clamp(3rem, 6vw, 5rem);
}

.closeup-format-grid,
.closeup-feature-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.closeup-format-grid article,
.closeup-feature-grid article {
	border: 1px solid rgba(255, 255, 255, .4);
	box-sizing: border-box;
	min-width: 0;
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.closeup-format-grid article {
	min-height: 230px;
}

.closeup-format-grid span,
.closeup-feature-grid span {
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: .7rem;
	letter-spacing: .06em;
}

.closeup-format-grid h3 {
	font-size: clamp(1.4rem, 2.25vw, 2.6rem);
	margin: 5rem 0 0;
}

.closeup-feature-grid article {
	border-color: rgba(9, 9, 9, 0.55);
	min-height: 300px;
}

.closeup-feature-grid h3 {
	font-size: clamp(1.35rem, 2vw, 2.2rem);
	margin: 4rem 0 1rem;
}

.closeup-feature-grid p {
	line-height: 1.55;
}

.closeup-comfort-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.closeup-comfort-grid article {
	background: var(--tutek-ink);
	border: 1px solid rgba(255, 255, 255, 0.4);
	box-sizing: border-box;
	color: var(--tutek-white);
	min-height: 270px;
	padding: clamp(1.5rem, 3vw, 3rem);
}

.closeup-comfort-grid strong {
	display: block;
	font-size: clamp(1.35rem, 2vw, 2.2rem);
	line-height: 1.05;
	margin-bottom: 3rem;
	min-height: 2.1em;
}

.closeup-comfort-grid strong span {
	white-space: nowrap;
}

.studio-page-cta {
	padding-block: clamp(5rem, 10vw, 10rem);
}

.closeup-page .studio-page-cta,
.wide-page .studio-page-cta {
	background: var(--tutek-paper);
	color: var(--tutek-ink);
}

.closeup-page .studio-page-cta .studio-page-button--light,
.wide-page .studio-page-cta .studio-page-button--light {
	background: var(--tutek-blue);
	color: var(--tutek-white) !important;
}

.closeup-page .studio-page-cta .studio-page-button--light:hover,
.closeup-page .studio-page-cta .studio-page-button--light:focus-visible,
.wide-page .studio-page-cta .studio-page-button--light:hover,
.wide-page .studio-page-cta .studio-page-button--light:focus-visible {
	background: var(--tutek-ink);
}

.closeup-page .studio-page-cta .studio-page-link,
.wide-page .studio-page-cta .studio-page-link {
	color: var(--tutek-ink) !important;
}

.studio-page-cta p:not(.eyebrow) {
	font-size: 1.2rem;
	max-width: 720px;
}

/* Application overview and SEO landing pages. */
.application-page-hero h1,
.application-detail-hero h1 {
	max-width: 14ch;
}

.application-page-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.application-page-card {
	background: var(--tutek-white);
	border: 1px solid var(--tutek-border);
	display: flex;
	flex-direction: column;
	min-height: 480px;
	padding: clamp(1.5rem, 4vw, 3.5rem);
}

.application-page-card__icon .application-card__icon {
	height: 110px;
	justify-content: flex-start;
	margin: 0 0 3rem;
}

.application-page-card__icon .application-card__icon svg {
	max-width: 140px;
}

.application-page-card h2 {
	font-size: clamp(2.2rem, 4vw, 4.4rem);
	margin: auto 0 1.25rem;
	max-width: 11ch;
}

.application-page-card p {
	max-width: 620px;
}

.application-page-card .studio-page-button {
	align-self: flex-start;
	margin-top: 1rem;
}

.application-detail-hero {
	background-color: var(--tutek-blue);
	background-image: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px);
	background-size: 56px 56px;
}

.application-page--film .application-detail-hero {
	background-color: var(--tutek-ink);
	background-image: linear-gradient(120deg, transparent 58%, var(--tutek-blue) 58%);
}

.application-page--photo .application-detail-hero {
	background-image: linear-gradient(110deg, transparent 58%, rgba(255,255,255,.2) 58%), linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px);
	background-size: auto, 56px 56px, 56px 56px;
}

.application-page--live .application-detail-hero {
	background-color: var(--tutek-ink);
	background-image: radial-gradient(circle at 80% 42%, #e4261b 0 4rem, transparent 4.1rem), linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
	background-size: auto, 48px 48px, 48px 48px;
}

.application-format-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 4rem;
}

.application-format-grid article {
	border: 1px solid rgba(255,255,255,.4);
	box-sizing: border-box;
	min-height: 220px;
	padding: 1.5rem;
}

.application-format-grid span {
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: .7rem;
	letter-spacing: .06em;
}

.application-format-grid h3 {
	font-size: clamp(1.35rem, 2.2vw, 2.5rem);
	margin-top: 5rem;
}

.application-studio-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 3rem;
}

.application-studio-grid article {
	background: var(--tutek-white);
	border: 1px solid var(--tutek-border);
	padding: clamp(1.5rem, 4vw, 3.5rem);
}

.application-studio-grid h3 {
	font-size: clamp(2.2rem, 4vw, 4.2rem);
	margin: 4rem 0 1.5rem;
}

.application-studio-grid a {
	display: inline-block;
	font-family: var(--wp--preset--font-family--tutek-mono);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .06em;
	margin-top: 1.5rem;
	text-transform: uppercase;
}

.application-contact-panel {
	border: 1px solid rgba(255,255,255,.4);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	justify-content: center;
	min-width: 0;
	overflow: hidden;
	padding: clamp(1.5rem, 4vw, 3.5rem);
}

.application-contact-panel__details {
	display: grid;
	gap: 0.65rem;
	margin-block: 1rem 0.5rem;
}

.application-contact-panel__details > .tutek-copy-email {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.application-contact-panel__details .tutek-copy-email > span {
	font-size: clamp(1rem, 1.45vw, 1.3rem);
	font-weight: 700;
	line-height: 1.3;
	overflow-wrap: anywhere;
	user-select: all;
}

.application-contact-panel__details .tutek-copy-email button {
	flex: 0 0 auto;
}

.application-page--photo .application-format-card--04 h3,
.application-page--live .application-format-grid h3 {
	font-size: clamp(1.3rem, 1.85vw, 2.15rem);
}

.application-contact-panel .studio-page-button {
	align-self: stretch;
	justify-content: center;
	margin-top: 1.5rem;
	max-width: 100%;
	text-align: center;
	white-space: normal;
}

.application-faq-section {
	border-top: 1px solid rgba(255,255,255,.25);
}

.tutek-404 {
	background: var(--tutek-blue);
	color: var(--tutek-white);
	overflow: hidden;
}

.tutek-404__hero {
	background-image:
		linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
	background-size: 72px 72px;
	min-height: calc(100vh - 76px);
}

.tutek-404__shell {
	align-items: center;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
	min-height: calc(100vh - 76px);
	padding: clamp(4rem, 8vw, 8rem) var(--tutek-gutter);
	position: relative;
}

.tutek-404__content {
	position: relative;
	z-index: 2;
}

.tutek-404__content h1 {
	font-size: clamp(4rem, 8.5vw, 9rem);
	letter-spacing: -.07em;
	line-height: .9;
	margin: clamp(2rem, 5vw, 4.5rem) 0 2rem;
	max-width: 9ch;
}

.tutek-404__lead {
	font-size: clamp(1.1rem, 1.8vw, 1.55rem);
	line-height: 1.45;
	max-width: 34rem;
}

.tutek-404__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: clamp(2rem, 4vw, 3.5rem);
}

.tutek-404__actions .wp-block-button__link {
	align-items: center;
	display: inline-flex;
	height: auto;
	justify-content: center;
	line-height: 1.55;
}

.tutek-404 .is-style-outline .wp-block-button__link {
	background: transparent;
	border: 2px solid currentColor;
	border-color: currentColor;
	color: var(--tutek-white);
	padding: .667em 1.333em;
}

.tutek-404__number {
	color: transparent;
	font-size: clamp(10rem, 24vw, 27rem);
	font-weight: 700;
	justify-self: end;
	letter-spacing: -.1em;
	line-height: .75;
	opacity: .32;
	pointer-events: none;
	-webkit-text-stroke: 2px var(--tutek-white);
	white-space: nowrap;
}

@media (max-width: 980px) {
	.studio-feature-grid { grid-template-columns: repeat(2, 1fr); }
	.studio-use-grid { grid-template-columns: repeat(2, 1fr); }
	.studio-use-grid article:last-child { grid-column: span 2; }
	.application-format-grid { grid-template-columns: repeat(2, 1fr); }
	.closeup-hero-grid,
	.wide-hero-grid { grid-template-columns: 1fr; }
	.closeup-format-grid,
	.closeup-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.closeup-comfort-grid { grid-template-columns: 1fr; }
	.closeup-comfort-grid article { min-height: auto; }
	.tutek-404__shell {
		grid-template-columns: 1fr;
	}
	.tutek-404__number {
		bottom: 1rem;
		opacity: .18;
		position: absolute;
		right: var(--tutek-gutter);
	}
}

@media (max-width: 700px) {
	.studio-comparison-grid,
	.studio-detail-grid,
	.application-page-grid,
	.application-studio-grid { grid-template-columns: 1fr; }
	.studio-page-hero,
	.studio-detail-hero { min-height: auto; padding-top: var(--tutek-hero-top); }
	.studio-page-hero h1,
	.studio-detail-hero h1 { font-size: clamp(3.2rem, 15vw, 5.2rem); }
	.studio-feature-grid,
	.studio-use-grid { grid-template-columns: 1fr; }
	.studio-use-grid article:last-child { grid-column: auto; }
	.studio-feature-grid > div,
	.studio-use-grid article { min-height: 150px; }
	.studio-use-grid article h3 { margin-top: 3rem; }
	.studio-specs > div { grid-template-columns: 1fr; }
	.application-page-card { min-height: 400px; }
	.application-format-grid { grid-template-columns: 1fr; }
	.application-format-grid article { min-height: 170px; }
	.application-format-grid h3 { margin-top: 3rem; }
	.closeup-format-grid,
	.closeup-feature-grid { grid-template-columns: 1fr; }
	.closeup-format-grid article,
	.closeup-feature-grid article { min-height: 180px; }
	.closeup-format-grid h3,
	.closeup-feature-grid h3 { margin-top: 3rem; }
	.closeup-detail-hero { padding-bottom: 4rem; }
	.closeup-detail-hero h1 { font-size: clamp(4rem, 19vw, 6rem); }
	.tutek-404__hero,
	.tutek-404__shell {
		min-height: calc(100svh - 68px);
	}
	.tutek-404__hero {
		background-size: 48px 48px;
	}
	.tutek-404__shell {
		padding-block: 4rem 5rem;
	}
	.tutek-404__content h1 {
		font-size: clamp(3.8rem, 16vw, 5.6rem);
		max-width: 8ch;
	}
	.tutek-404__actions {
		align-items: stretch;
		flex-direction: column;
	}
	.tutek-404__actions .wp-block-button,
	.tutek-404__actions .wp-block-button__link {
		width: 100%;
	}
	.tutek-404__number {
		font-size: 44vw;
		right: -.04em;
	}
}
