/* Relatech Blocks – shared block styles (loaded only where a Relatech block is used). */

/* ---------- Video hero ---------- */
.rt-vhero {
	position: relative; overflow: hidden; isolation: isolate;
	display: flex; align-items: center;
	background-color: #001a43; background-size: cover; background-position: center;
	color: #fff;
	padding-block: clamp(40px, 5vw, 72px);
}
.rt-vhero.alignfull { padding-inline: var(--wp--style--root--padding-left, 20px) var(--wp--style--root--padding-right, 20px); }
.rt-vhero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.rt-vhero__circles { position: absolute; right: -180px; top: -200px; width: min(620px, 70vw); opacity: .55; z-index: -1; pointer-events: none; }
.rt-vhero__inner { width: 100%; max-width: 920px; margin-inline: auto; }
.rt-vhero.is-content-center .rt-vhero__inner { text-align: center; }
.rt-vhero.is-content-center .rt-vhero__inner .wp-block-buttons { justify-content: center; }
.rt-vhero.is-content-left .rt-vhero__inner { max-width: var(--wp--style--global--wide-size, 1320px); }
.rt-vhero.is-content-left .rt-vhero__inner > * { max-width: 760px; }
.rt-vhero.rt-vhero :where(h1, h2, h3, p) { color: #fff; }
.rt-vhero h1 { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.2; letter-spacing: 1px; font-weight: 700; margin-block: 18px 16px; }
.rt-vhero .is-style-lead { max-width: 760px; margin-inline: auto; }
.rt-vhero.is-content-left .is-style-lead { margin-inline: 0; }
.rt-vhero .wp-block-image img { display: inline-block; }
.rt-vhero .wp-block-buttons { margin-top: 30px; gap: 12px; }
.rt-vhero .wp-block-button__link { background: linear-gradient(180deg, #f7901e 0%, #f79b1e 100%); color: #fff; border-radius: 3px; font-weight: 600; }
.rt-vhero .wp-block-button__link:hover { background: linear-gradient(180deg, #e8820f 0%, #f7901e 100%); color: #fff; }
@media (prefers-reduced-motion: reduce) { .rt-vhero__video { display: none; } }

/* ---------- Video button + dialog ---------- */
.rt-vbtn-wrap { display: inline-block; }
.rt-vbtn {
	display: inline-flex; align-items: center; gap: 9px; cursor: pointer;
	font: inherit; font-size: 15px; font-weight: 600; line-height: 1.3;
	padding: 14px 24px; border-radius: 3px; border: 1px solid transparent;
	transition: background .2s, transform .2s;
}
.rt-vbtn:hover { transform: translateY(-2px); }
.rt-vbtn__icon { width: 22px; height: 22px; flex: none; }
.rt-vbtn.is-ghost { background: rgba(0, 40, 110, .35); border-color: #9cc4ff; color: #fff; }
.rt-vbtn.is-ghost:hover { background: rgba(0, 40, 110, .6); }
.rt-vbtn.is-orange { background: linear-gradient(180deg, #f7901e 0%, #f79b1e 100%); color: #fff; }
.rt-vbtn.is-line { background: transparent; border-color: #005c9c; color: #005c9c; }
.rt-vbtn.is-line:hover { background: #005c9c; color: #fff; }
.rt-vbtn:focus-visible { outline: 3px solid #47c2ef; outline-offset: 2px; }
.rt-vdialog { width: min(1100px, 94vw, calc(86vh * 16 / 9)); max-width: none; padding: 0; border: 0; background: #000; overflow: visible; }
.rt-vdialog::backdrop { background: rgba(0, 10, 30, .82); }
.rt-vdialog video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; max-height: 86vh; object-fit: contain; background: #000; }
.rt-vdialog__close {
	position: absolute; top: -44px; right: 0; width: 40px; height: 40px; border: 0; cursor: pointer;
	background: transparent; color: #fff; font-size: 34px; line-height: 1;
}
@media (prefers-reduced-motion: reduce) { .rt-vbtn:hover { transform: none; } }

/* inside the editor: inner blocks above the poster */
.rt-vhero.is-editor .rt-vhero__inner { position: relative; }

/* compact on small screens: no forced height, less colour, more content */
@media (max-width: 781px) {
	.rt-vhero { min-height: 0 !important; padding-block: 36px 40px; }
	.rt-vhero .rt-hero-logo img { width: 200px; }
	.rt-vhero h1 { margin-block: 12px 10px; }
	.rt-vhero .wp-block-buttons { margin-top: 18px; }
}

/* ---------- Mosaic: one running Ignition loop behind a grid of tiles, white "breakers" between ---------- */
.rt-vhero.rt-mosaic { display: block; padding: 0 !important; min-height: 0 !important; background-color: #001a43; overflow: hidden; }
.rt-vhero.rt-mosaic .rt-vhero__inner { max-width: none; text-align: left; }
.rt-vhero.rt-mosaic .rt-vhero__inner > * { max-width: none; }
.rt-mosaic .wp-block-columns { margin: 0 !important; gap: 16px !important; }
.rt-mosaic .wp-block-columns + .wp-block-columns { margin-top: 16px !important; }
.rt-mosaic .wp-block-column.is-style-ia-tile {
	background: rgba(0, 12, 40, .22) !important; border: 0 !important; border-radius: 0 !important;
	box-shadow: 0 0 0 8px #fff !important; padding: 34px 32px !important;
	transition: background .25s;
}
.rt-mosaic .wp-block-column.is-style-ia-tile:hover { background: rgba(255, 255, 255, .1) !important; transform: none; }
.rt-mosaic .is-style-ia-tile :where(h3, p) { color: #fff !important; }
/* equal inner spacing top and bottom (Oli 29 Oct): no headline min-height, no trailing margins */
.rt-mosaic .wp-block-columns > .is-style-ia-tile h3 { min-height: 0 !important; display: block; margin-top: 0 !important; }
.rt-mosaic .is-style-ia-tile > :first-child { margin-top: 0 !important; }
.rt-mosaic .is-style-ia-tile > :last-child { margin-bottom: 0 !important; }
.rt-mosaic .is-style-ia-tile .rt-more a { color: #ffc98f; }
.rt-mosaic .is-style-ia-tile .rt-more a:hover { color: #fff; }
@media (max-width: 781px) {
	.rt-mosaic .wp-block-columns { gap: 16px !important; }
	.rt-mosaic .wp-block-column.is-style-ia-tile { padding: 24px !important; }
}

/* ---------- Split-Hero (home): CXS | Ignition, one film, swoosh in the middle ---------- */
.rt-split { position: relative; overflow: hidden; background: #231f20; min-height: min(720px, calc(100vh - 120px)); display: flex; align-items: center; }
.rt-split__film { position: absolute; inset: 0; }
.rt-split__v { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rt-split__v--cxs { clip-path: polygon(0 0, 54.81% 0.00%, 54.41% 8.33%, 53.99% 16.67%, 53.53% 25.00%, 53.04% 33.33%, 52.51% 41.67%, 51.95% 50.00%, 51.34% 58.33%, 50.68% 66.67%, 49.97% 75.00%, 49.20% 83.33%, 48.38% 91.67%, 47.50% 100.00%, 0 100%); filter: sepia(1) hue-rotate(-28deg) saturate(2.2) brightness(.72) contrast(1.1); }
.rt-split__swoosh { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none;  }
.rt-split__cols { position: relative; z-index: 3; width: 100%; display: grid; grid-template-columns: 1fr 1fr; padding-block: 72px; }
.rt-split__col { display: grid; grid-template-rows: auto 66px minmax(108px, auto) minmax(56px, auto) auto; align-content: center; padding: 0 clamp(24px, 5vw, 64px); opacity: 0; transform: translateY(14px); transition: opacity 1.2s ease, transform 1.2s ease; }
.rt-split__col--cxs { padding-right: calc(5vw + 32px); color: #e3ddd2; transition-delay: 0s; }
.rt-split__col--ign { padding-left: calc(7vw + 32px); color: #fff; transition-delay: .4s; }
.rt-split.is-in .rt-split__col { opacity: 1; transform: none; }
.rt-split__k { margin: 0 0 14px; font-size: 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.rt-split__col--cxs .rt-split__k { color: #ffcf00; }
.rt-split__slot img { height: 52px; width: auto; }
.rt-split .rt-split__h { margin: 0; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.15; font-weight: 700; color: #fff; }
.rt-split__p { margin: 0; font-size: 17px; line-height: 1.6; }
.rt-split__btn { padding-top: 22px; }
.rt-split__b { display: inline-block; font-weight: 700; font-size: 16px; padding: 15px 28px; text-decoration: none; transition: transform .2s; }
.rt-split__b:hover { transform: translateY(-2px); }
.rt-split__b--cxs { background: #ffcf00; color: #231f20 !important; }
.rt-split__b--ign { background: linear-gradient(180deg, #f7901e, #f79b1e); color: #fff !important; border-radius: 3px; }
@media (prefers-reduced-motion: reduce) { .rt-split__col { opacity: 1; transform: none; transition: none; } }
@media (max-width: 781px) {
	.rt-split { min-height: 0; }
	.rt-split__cols { grid-template-columns: 1fr; padding-block: 0; }
	.rt-split__col { padding: 48px 24px !important; grid-template-rows: auto; }
	.rt-split__slot:empty { display: none; }
	.rt-split__v--cxs { display: none; }
	.rt-split__col--cxs { background: linear-gradient(160deg, #5a3424 0%, #2a1812 70%, #1d120d 100%); }
	.rt-split__swoosh { display: none; }
	.rt-split__col--cxs { border-bottom: 6px solid #ffcf00; }
}

/* Intro C: data-flow particles + Relatech CXS logo sliding in from the top left */
.rt-split__flow { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.rt-split__swoosh { z-index: 2; }
.rt-split__cxslogo { height: 52px; width: auto; opacity: 0; transform: translate(-60px, -40px); transition: opacity 1.2s ease .2s, transform 1.4s cubic-bezier(.2, .8, .2, 1) .2s; }
.rt-split.is-in .rt-split__cxslogo { opacity: 1; transform: none; }
.rt-split__cxslogo { filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .55)) drop-shadow(0 0 14px rgba(0, 0, 0, .35)); } /* pop on the dark/brown film, the x must not sink */
@media (prefers-reduced-motion: reduce) { .rt-split__cxslogo { opacity: 1; transform: none; transition: none; } }
@media (max-width: 781px) { .rt-split__slot:empty { display: none; } .rt-split__flow { display: none; } }


