/* Relatech theme – frame & style variations.
   Header/footer mirror the CXS design (Jason's plugin) so both areas feel like one site. */

:root {
	--rt-max: 1320px;
	--rt-gutter: clamp(20px, 5vw, 96px);
	--rt-header-h: 96px;
}
html { scroll-padding-top: calc(var(--rt-header-h) + 16px); }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }

/* ---------- Skip link ---------- */
.skip-link.screen-reader-text:focus { background: var(--wp--preset--color--yellow); color: var(--wp--preset--color--ink); }

/* ---------- Header ---------- */
.rt-header {
	position: sticky; top: 0; z-index: 30;
	background: rgba(251, 250, 247, .97);
	border-bottom: 1px solid #231f2014;
	-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.admin-bar .rt-header { top: 32px; }
.rt-header__inner {
	width: min(100% - var(--rt-gutter) * 2, var(--rt-max));
	margin-inline: auto;
	min-height: var(--rt-header-h);
	gap: 30px;
}
.rt-header .rt-logo { margin: 0; }
.rt-header .rt-logo img { width: 170px !important; height: auto; display: block; }
.rt-nav { font-size: 15px; font-weight: 600; gap: 32px; }
.rt-nav .wp-block-navigation-item__content { position: relative; padding: 15px 0; text-decoration: none; }
.rt-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; bottom: 7px; width: 0; height: 2px;
	background: var(--wp--preset--color--crimson); transition: width .2s;
}
.rt-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after,
.rt-nav .current-menu-item > .wp-block-navigation-item__content::after,
.rt-nav .current-menu-ancestor > .wp-block-navigation-item__content::after { width: 100%; }
.rt-nav .wp-block-navigation__submenu-container {
	background: #fff; border: 1px solid var(--wp--preset--color--line) !important;
	box-shadow: 0 18px 30px #0000001a; padding: 8px 0; min-width: 230px !important;
}
.rt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 9px 18px; font-weight: 500; }
.rt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--crimson); }
.rt-nav .rt-lang .wp-block-navigation-item__content { color: var(--wp--preset--color--muted); font-weight: 500; }
@media (max-width: 1100px) { .rt-nav { gap: 22px; } }
@media (max-width: 820px) {
	:root { --rt-header-h: 82px; }
	.rt-header .rt-logo img { width: 142px !important; }
}
@media (max-width: 782px) { .admin-bar .rt-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .rt-header { top: 0; } }
/* mobile overlay */
.rt-nav .wp-block-navigation__responsive-container-open { border: 1px solid var(--wp--preset--color--ink); padding: 8px 12px; }
.rt-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--paper) !important; color: var(--wp--preset--color--ink) !important; padding: 28px var(--rt-gutter); }
.rt-nav .is-menu-open .wp-block-navigation__container { gap: 6px !important; font-size: 18px; }
.rt-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 0 0 6px 14px !important; background: transparent; }

/* ---------- Footer ---------- */
.rt-footer { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.rt-footer__inner { width: min(100% - var(--rt-gutter) * 2, var(--rt-max)); margin-inline: auto; padding-block: 48px; gap: 32px; }
.rt-footer p { margin: 0; }
.rt-footer .rt-footer__brand { font-weight: 700; font-size: 18px; }
.rt-footer .rt-footer__claim { color: #c8c1c3; font-size: 15px; margin-top: 4px; }
.rt-footer .rt-footer__copy { color: #bcb5b8; font-size: 12px; margin-top: 10px; }
.rt-footer .wp-block-navigation { font-size: 14px; font-weight: 500; gap: 22px; }
.rt-footer .wp-block-navigation a { text-decoration: none; }
.rt-footer .wp-block-navigation a:hover { color: var(--wp--preset--color--yellow); }
@media (max-width: 820px) { .rt-footer__inner { flex-direction: column; align-items: flex-start !important; } }

/* ---------- Text styles ---------- */
.is-style-eyebrow, .is-style-ia-eyebrow {
	font-size: 16px !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; line-height: 1.45;
}
.is-style-eyebrow::before {
	content: ""; display: inline-block; width: 25px; height: 3px; margin-right: 13px; vertical-align: middle;
	background: var(--wp--preset--color--yellow);
}
.is-style-ia-eyebrow { color: #ffd2a1; letter-spacing: .14em; }
.is-style-lead { font-size: var(--wp--preset--font-size--lead) !important; font-weight: 300; line-height: 1.5; }
.wp-block-heading.is-style-ia-gradient {
	background: var(--wp--preset--gradient--ia-heading);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: transparent;
	padding-bottom: .06em;
}

/* ---------- Buttons ---------- */
.wp-block-button.is-style-ia-ghost .wp-block-button__link {
	background: rgba(0, 40, 110, .35) !important; border: 1px solid #9cc4ff; color: #fff !important;
}
.wp-block-button.is-style-ia-ghost .wp-block-button__link:hover { background: rgba(0, 40, 110, .6) !important; }
.wp-block-button.is-style-cxs-dark .wp-block-button__link { background: var(--wp--preset--color--ink) !important; color: var(--wp--preset--color--paper) !important; }
.wp-block-button.is-style-cxs-line .wp-block-button__link { background: transparent !important; border: 1px solid var(--wp--preset--color--ink); color: var(--wp--preset--color--ink) !important; }
.wp-block-button__link { transition: transform .2s, background .2s; }
.wp-block-button__link:hover { transform: translateY(-2px); }

/* ---------- Images, cards, lists ---------- */
/* all icons sit in the same 62×56 box: IA overview icons (124×108 @2x) and IA feature icons (SVG) */
.wp-block-image.is-style-ia-icon img { width: auto !important; height: 56px; max-width: 72px; object-fit: contain; }
.wp-block-image.is-style-ia-icon { margin-bottom: 0; }
/* feature columns: icon centred above centred text */
.rt-feature { text-align: center; }
.rt-feature .wp-block-image { display: flex; justify-content: center; margin-inline: auto; }
.rt-feature h3 { margin-top: 14px; margin-bottom: 6px; }
.rt-feature p { max-width: 34ch; margin-inline: auto; }
/* media column: image and video button centred */
.rt-media { text-align: center; }
.rt-media .wp-block-image { margin-inline: auto; }
.rt-media .wp-block-image img { margin-inline: auto; }
.rt-media .rt-vbtn-wrap { display: flex; justify-content: center; margin-top: 18px; }
.wp-block-group.is-style-card { background: #fff; border: 1px solid var(--wp--preset--color--line); padding: 28px; }
.wp-block-group.is-style-ia-card {
	background: var(--wp--preset--gradient--ia-dark); color: #fff; border-radius: 4px; padding: 28px;
}
.wp-block-group.is-style-ia-card :where(h2, h3, h4) { color: #fff; }
.wp-block-list.is-style-ia-checks { list-style: none; padding-left: 0; }
.wp-block-list.is-style-ia-checks li { position: relative; padding-left: 32px; margin-bottom: 14px; }
.wp-block-list.is-style-ia-checks li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 20px; height: 20px;
	background: var(--wp--preset--color--ia-orange);
	-webkit-mask: var(--rt-check) center/contain no-repeat; mask: var(--rt-check) center/contain no-repeat;
}
:root { --rt-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M7.6 14.6 3.3 10.3l1.4-1.4 2.9 2.9 7.7-7.7 1.4 1.4z'/%3E%3C/svg%3E"); }

/* ---------- Ignition area defaults ---------- */
.rt-ignition { background: #fff; color: var(--wp--preset--color--ia-text); }
:where(.rt-ignition) :where(h2) { letter-spacing: 0; }
:where(.rt-ignition) :where(h3, h4) { font-weight: 500; }
/* gradient headings read best on light sections; on dark ones they turn white */
.is-style-ia-dark .wp-block-heading.is-style-ia-gradient,
.is-style-ia-navy .wp-block-heading.is-style-ia-gradient { background: none; -webkit-text-fill-color: #fff; color: #fff; }

/* ---------- System pages (404, search, archive) ---------- */
.rt-system { padding-block: var(--wp--preset--spacing--70); }
.rt-system .rt-big { font-size: clamp(96px, 16vw, 220px); font-weight: 800; line-height: .9; letter-spacing: -.04em; color: var(--wp--preset--color--yellow); margin: 0; }

@media (prefers-reduced-motion: reduce) {
	.wp-block-button__link:hover { transform: none; }
}

/* ---------- Ignition page details ---------- */
.is-style-ia-kicker {
	font-size: 17px !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--wp--preset--color--ia-orange);
}
.wp-block-column.is-style-ia-tile {
	background: #fff; border: 1px solid #dde7f0; border-radius: 4px; padding: 26px 26px 20px;
	box-shadow: 0 6px 18px rgba(0, 40, 90, .06); transition: transform .2s, box-shadow .2s;
}
.wp-block-column.is-style-ia-tile:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(0, 40, 90, .12); }
.wp-block-column.is-style-ia-tile h3 { margin: 0 0 8px; font-size: 21px; }
.wp-block-column.is-style-ia-tile p { font-size: 15px; line-height: 1.6; margin: 0 0 10px; }
.rt-more a { font-size: 14px; font-weight: 600; text-decoration: none; color: var(--wp--preset--color--ia-blue); }
.rt-more a::after { content: " →"; }
.rt-hero-logo { margin-block: 18px 6px !important; }
.rt-hero-logo img { width: 300px; max-width: 70vw; }
.rt-bg-footer {
	background-image: url(../../../../plugins/relatech-blocks/assets/ia/footer-bg.jpg) !important;
	background-size: cover !important; background-position: center !important;
}
.rt-logos { gap: 28px !important; }
.rt-logos .wp-block-image { margin: 0; text-align: center; }
.rt-logos img { max-height: 54px; width: auto !important; opacity: .7; filter: grayscale(1); }
.rt-source { font-size: 12px !important; color: #8a96a3; margin-top: 18px; }
.is-style-ia-dark .wp-block-column.is-style-ia-tile { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .15); }
.is-style-ia-dark .is-style-ia-kicker { color: #ffb15e; }
.rt-vhero .rt-vbtn-wrap { margin-top: 14px; }
@media (max-width: 781px) {
	.wp-block-column.is-style-ia-tile { padding: 20px; }
	.rt-logos { flex-wrap: wrap !important; }
	.rt-logos > .wp-block-column { flex-basis: calc(50% - 14px) !important; }
}

/* ---------- Seamless stacking: header, sections, footer ---------- */
.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }

/* ---------- Equal rhythm in card rows (headline + text start on the same line) ---------- */
.wp-block-column.is-style-ia-tile { display: flex; flex-direction: column; }
.wp-block-column.is-style-ia-tile .rt-more { margin-top: auto; padding-top: 6px; }
@media (min-width: 782px) {
		.wp-block-columns > .is-style-ia-tile h3 { display: block; } /* row height set by rhythm.js */
	.wp-block-columns > .rt-feature h3 { justify-content: center; text-align: center; }
}
/* section heads: kicker, headline, lead closer together */
:where(.rt-ignition) .is-style-ia-kicker + .wp-block-heading { margin-top: 6px; }
:where(.rt-ignition) .wp-block-heading + .is-style-lead { margin-top: 10px; }

/* kicker inside a card stays small (one line), section kickers are the big ones */
.is-style-ia-tile .is-style-ia-kicker { font-size: 13px !important; letter-spacing: .12em; margin-bottom: 4px; }

/* ---------- Forms (Fluent Forms) in the Ignition area ---------- */
.rt-form-card { background: #fff; border: 1px solid #dde7f0; border-radius: 4px; padding: clamp(20px, 3vw, 32px); box-shadow: 0 10px 30px rgba(0, 40, 90, .08); }
.rt-form-card .ff-el-group { margin-bottom: 16px; }
.rt-form-card .ff-el-input--label label { font-weight: 600; font-size: 15px; color: var(--wp--preset--color--ia-slate); }
.rt-form-card .ff-el-form-control { border: 1px solid #c9d6e2; border-radius: 3px; padding: 11px 13px; font: inherit; font-size: 16px; color: var(--wp--preset--color--ia-text); background: #fff; }
.rt-form-card .ff-el-form-control:focus { border-color: var(--wp--preset--color--ia-blue); box-shadow: 0 0 0 3px rgba(71, 194, 239, .25); outline: none; }
.rt-form-card .ff-btn-submit { background: var(--wp--preset--gradient--ia-button) !important; border: 0 !important; color: #fff !important; font: 600 16px Montserrat, Arial, sans-serif; padding: 14px 30px; border-radius: 3px; }
.rt-form-card .ff-btn-submit:hover { background: linear-gradient(180deg, #e8820f 0%, #f7901e 100%) !important; }
.rt-form-card .rtb-form-note { font-size: 13px; color: #6a7c8a; margin: 0; }
.rt-form-card .ff-message-success { border: 0; background: #ebf6ff; color: var(--wp--preset--color--ia-slate); padding: 20px; border-radius: 4px; }

/* 8.3 inline loops (silent, like IA's whatsnew page) */
.wp-block-video.rt-loop{margin:0}
.wp-block-video.rt-loop video{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 18px 40px rgba(0,26,67,.18);background:transparent}
.is-style-ia-dark .wp-block-video.rt-loop video{box-shadow:0 18px 40px rgba(0,0,0,.35)}
/* New in 8.3 rows */
.rt-row83{margin-block:var(--wp--preset--spacing--60)!important}
.rt-row83 .rt-media img{border-radius:10px;box-shadow:0 18px 40px rgba(0,26,67,.14)}
.rt-row83 .is-style-ia-icon.rt-icon-sm img{height:40px}
.rt-row83 .rt-kicker-sm{margin-bottom:.25em}
@media (max-width:781px){.rt-row83{margin-block:var(--wp--preset--spacing--50)!important}}
/* Fluent Forms: selects same height as inputs */
.rt-form-card .ff-el-form-control{min-height:46px;box-sizing:border-box}
.rt-form-card select.ff-el-form-control{height:46px;padding-block:0}
/* IA alpha loops (webm with transparency): no frame, phone kept small */
.wp-block-video.rt-loop video[src$=".webm"]{box-shadow:none;border-radius:0}
.wp-block-video.rt-loop video[src*="offline-mode"]{max-width:300px;margin-inline:auto}
@media (max-width:781px){.rt-row83 > .rt-media{order:2}}
/* cut-out illustrations (transparent PNG) sit free on the section, no frame (Oli 29 Oct) */
.rt-row83 .rt-media img[src$=".png"]{box-shadow:none;border-radius:0}
/* visually hidden, readable for search engines and screen readers */
.screen-reader-text:not(:focus){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rt-sps-top .wp-block-image{margin:0}
.rt-sps-top .wp-block-image img{width:100%;height:auto;border-radius:4px}
/* ghost button on light IA sections: outline in IA blue instead of the dark-glass look */
:where(.is-style-ia-white, .is-style-ia-light) .wp-block-button.is-style-ia-ghost .wp-block-button__link{background:transparent!important;border:1px solid var(--wp--preset--color--ia-blue);color:var(--wp--preset--color--ia-blue)!important}
:where(.is-style-ia-white, .is-style-ia-light) .wp-block-button.is-style-ia-ghost .wp-block-button__link:hover{background:rgba(0,92,156,.08)!important}
/* large tiles (two side by side, e.g. partners example) */
.wp-block-column.is-style-ia-tile.rt-tile-lg{padding:clamp(24px,3vw,40px)!important}
.wp-block-column.is-style-ia-tile.rt-tile-lg .wp-block-buttons{margin-top:auto;padding-top:10px}
.wp-block-columns > .is-style-ia-tile.rt-tile-lg h2{min-height:0;margin-top:6px}
.wp-block-columns > .is-style-ia-tile.rt-tile-lg h2{font-size:clamp(26px,2.6vw,34px)}

/* ---------- Switch teaser: "CXS Paper" (variant A, Oli 29 Oct) – blocks that lead out of the Ignition area ---------- */
.rt-cxs-paper { background: var(--wp--preset--color--paper) !important; color: #4e4e4e; }
.rt-cxs-paper .is-style-ia-kicker { color: var(--wp--preset--color--ink) !important; }
.rt-cxs-paper > .is-style-ia-kicker::after { content: ""; display: block; width: 48px; height: 4px; background: var(--wp--preset--color--yellow); margin: 10px auto 0; }
.rt-cxs-paper .is-style-ia-gradient { background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--wp--preset--color--ink) !important; }
.rt-cxs-paper :where(h2, h3) { color: var(--wp--preset--color--ink); }
.rt-cxs-paper .wp-block-column.is-style-ia-tile { background: #fff !important; border: 1px solid var(--wp--preset--color--ink) !important; border-radius: 0 !important; box-shadow: none !important; }
.rt-cxs-paper .wp-block-column.is-style-ia-tile:hover { transform: none; box-shadow: 6px 6px 0 var(--wp--preset--color--yellow) !important; }
.rt-cxs-paper .is-style-ia-tile .is-style-ia-kicker { color: var(--wp--preset--color--crimson) !important; }
.rt-cxs-paper .rt-more a { color: var(--wp--preset--color--ink); border-bottom: 3px solid var(--wp--preset--color--yellow); padding-bottom: 2px; }
.rt-cxs-paper .rt-more a::after { content: ""; }
.rt-cxs-paper .rt-more { align-self: flex-start; }
.rt-cxs-paper .wp-block-button__link { background: var(--wp--preset--color--yellow) !important; color: var(--wp--preset--color--ink) !important; border-radius: 0; font-weight: 700; }
.rt-cxs-paper .wp-block-button__link:hover { background: var(--wp--preset--color--ink) !important; color: var(--wp--preset--color--yellow) !important; }
.rt-cxs-paper .is-style-ia-tile .wp-block-buttons { margin-top: auto; padding-top: 12px; }

/* ---------- Spacing round 3 (Oli 29 Oct) ---------- */
.rt-vhero__inner > :first-child { margin-top: 0 !important; }
.rt-vhero__inner > :last-child { margin-bottom: 0 !important; }
.rt-media .rt-vbtn-wrap { margin-bottom: var(--wp--preset--spacing--50); }
.rt-vhero.rt-mosaic { margin-block-start: 64px !important; }
@media (max-width: 781px) { .rt-vhero.rt-mosaic { margin-block-start: 36px !important; } }
/* LTS icons: IA glass icons on a navy disc – the frosted parts only read on a dark ground (a white disc swallowed them) */
.rt-lts .wp-block-image.is-style-ia-icon { width: 104px; height: 104px; margin: 0 auto 6px !important; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #1d4f8f, #001a43); box-shadow: 0 10px 24px rgba(0, 26, 67, .22); }
/* disc sits on the figure, not on the img: a rounded img clips its own content to a circle */
.rt-lts .wp-block-image.is-style-ia-icon img { width: 66px !important; height: 66px !important; max-width: none; object-fit: contain; padding: 0; border-radius: 0; background: none; box-shadow: none; }
/* SPS: more air above the buttons, bigger buttons */
.rt-sps-facts .wp-block-buttons { margin-top: 56px !important; gap: 16px; }
.rt-sps-facts .wp-block-button__link { font-size: 18px; padding: 18px 34px; }
/* SPS booth render: floats on the section, fades into the page */
.wp-block-image.rt-booth { margin: 58px auto 28px !important; max-width: 1040px; }
.wp-block-image.rt-booth img { width: 100%; height: auto; mix-blend-mode: multiply; }
.wp-block-video.rt-booth { margin: 58px auto 28px !important; max-width: 1040px; }
.wp-block-video.rt-booth video { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
/* booth loop floats gently (Oli 29 Oct) */
@keyframes rtFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.wp-block-video.rt-booth video { animation: rtFloat 7s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .wp-block-video.rt-booth video { animation: none; } }
.rt-form-card .ff-el-form-check-label { font-size: 14px; line-height: 1.5; color: #4e4e4e; display: flex; gap: 10px; align-items: flex-start; }
.rt-form-card .ff-el-form-check-input { margin-top: 4px; flex: none; }
/* 2027 teaser band on the SPS page + Catalyst wall crop */
.rt-2027-band h2 { color: #fff; margin: 4px 0 10px; font-size: clamp(26px, 2.6vw, 34px); }
.rt-2027-band .wp-block-buttons { justify-content: flex-end; }
@media (max-width: 781px) { .rt-2027-band .wp-block-buttons { justify-content: flex-start; } }
.wp-block-image.rt-booth-crop img { width: 100%; height: auto; mix-blend-mode: multiply; }
/* Ignition 2027 banner (IA graphic, cropped) */
.rt-2027-hero { background: #0d0618; }
.rt-2027-hero .wp-block-image { margin: 0 !important; }
.rt-2027-hero .rt-2027-banner img { display: block; width: 100%; height: clamp(240px, 44vw, 640px); object-fit: cover; object-position: center 45%; }
.wp-block-video.rt-loop-2027 video { border-radius: 8px; box-shadow: 0 18px 40px rgba(0, 0, 0, .25); }
.is-style-ia-dark .rt-more a, .is-style-ia-dark strong { color: #fff; }
.rt-2027-hero > .wp-block-image, .rt-2027-hero .rt-2027-banner { max-width: none !important; width: 100% !important; margin-inline: 0 !important; }
/* submenus: one line per entry */
.rt-nav .wp-block-navigation__submenu-container { min-width: 300px !important; }
.rt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: nowrap; }

/* ---------- Ignition 2027 page ---------- */
.rt-2027-hero, .rt-2027-stripe, .rt-2027-time { position: relative; overflow: hidden; background: #0d0618; color: #fff; }
.rt-bgv { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.rt-2027-hero { min-height: clamp(460px, 62vh, 720px); display: flex; align-items: flex-start; }
.rt-2027-hero .rt-bgv { object-position: center bottom; }
.rt-2027-hero__in { position: relative; z-index: 1; width: 100%; max-width: 920px; margin: 0 auto; padding: clamp(48px, 8vh, 96px) 24px 140px; text-align: center; }
.rt-2027-logo { width: min(360px, 70vw); height: auto; }
.rt-2027-hero__claim { margin: 18px 0 10px; font-size: clamp(34px, 4.6vw, 60px); font-weight: 700; line-height: 1.1; background: linear-gradient(90deg, #d7e021, #f7901e 35%, #b56aa0 65%, #2f6fd6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rt-2027-hero__lead { max-width: 720px; margin: 0 auto 26px; font-size: 18px; line-height: 1.6; color: #e7e2f2; }
.rt-2027-hero__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin: 0; }
.rt-btn { display: inline-block; padding: 14px 26px; font-weight: 700; font-size: 16px; text-decoration: none; border-radius: 3px; transition: transform .2s, background .2s; }
.rt-btn:hover { transform: translateY(-2px); }
.rt-btn--o { background: linear-gradient(180deg, #f7901e, #f79b1e); color: #fff !important; }
.rt-btn--g { border: 1px solid #9cc4ff; background: rgba(0, 40, 110, .35); color: #fff !important; }
.rt-jump { position: sticky; top: 0; z-index: 20; display: flex; justify-content: center; gap: 4px; flex-wrap: wrap; padding: 10px 16px; background: rgba(13, 6, 24, .94); backdrop-filter: blur(8px); }
.rt-jump a { color: #e7e2f2; text-decoration: none; font-weight: 600; font-size: 14px; padding: 7px 14px; border-radius: 20px; }
.rt-jump a:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.rt-ico-2027 img { width: 40px !important; height: 40px !important; }
.is-style-ia-dark .rt-ico-2027 img, .rt-2027-time img { filter: brightness(0) invert(1); }
.rt-feat-2027 h3 { font-size: 19px; margin: 10px 0 6px; }
.rt-feat-2027 p { font-size: 15px; line-height: 1.6; margin: 0; }
.rt-quote { display: flex; gap: 20px; align-items: center; max-width: 860px; margin: 32px auto 0; }
.rt-quote img { width: 72px; height: 72px; border-radius: 50%; flex: none; object-fit: cover; }
.rt-quote blockquote { margin: 0; }
.rt-quote p { margin: 0 0 8px; font-size: 19px; line-height: 1.55; font-style: italic; color: #231f20; }
.rt-quote figcaption { font-size: 14px; color: #445c6d; }
.rt-quote--light p, .rt-quote--light figcaption { color: #fff; }
/* tabs */
.rt-tabs__bar { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; margin: 6px 0 34px; }
.rt-tabs__btn { font: 700 15px Montserrat, Arial, sans-serif; padding: 11px 22px; border-radius: 30px; border: 1px solid #c9d6e2; background: #fff; color: #005c9c; cursor: pointer; }
.rt-tabs__btn[aria-selected="true"] { background: #005c9c; border-color: #005c9c; color: #fff; }
.rt-tabs.is-js .rt-tab__label { display: none; }
.rt-tabs:not(.is-js) .rt-tab__label { font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: #f7901e; }
.rt-tab > .wp-block-columns + .wp-block-columns { margin-top: 28px; }
/* timeline band */
.rt-2027-time__in { position: relative; z-index: 1; max-width: 1100px; margin: 0 auto; padding: clamp(56px, 8vw, 96px) 24px; text-align: center; }
.rt-2027-time__k { font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: 15px; margin: 0 0 8px; color: #fff; }
.rt-2027-time h2 { color: #fff; font-size: clamp(28px, 3.2vw, 42px); margin: 0 0 10px; }
.rt-2027-time__lead { margin: 0 0 40px; font-size: 18px; color: #f1ecff; }
.rt-tl { list-style: none; margin: 0 0 44px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; }
.rt-tl::before { content: ""; position: absolute; left: 12%; right: 12%; top: 9px; height: 2px; background: rgba(255, 255, 255, .55); }
.rt-tl li { position: relative; padding-top: 34px; }
.rt-tl li::before { content: ""; position: absolute; top: 0; left: 50%; width: 20px; height: 20px; margin-left: -10px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgba(255, 255, 255, .25); }
.rt-tl li:first-child::before { background: #ffcf00; }
.rt-tl span { display: block; font-size: 14px; font-weight: 600; opacity: .85; margin-bottom: 4px; }
.rt-tl strong { font-size: 18px; }
.rt-2027-time__two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; text-align: left; }
.rt-2027-time__two > div { background: rgba(13, 6, 24, .45); border: 1px solid rgba(255, 255, 255, .2); border-radius: 8px; padding: 22px; display: grid; grid-template-columns: 36px 1fr; column-gap: 14px; row-gap: 4px; }
.rt-2027-time__two img { grid-row: span 2; }
.rt-2027-time__two strong { font-size: 17px; }
.rt-2027-time__two span { font-size: 15px; opacity: .9; }
/* final CTA + sunrise stripe */
.rt-2027-cta { background-size: cover; background-position: center; color: #fff; }
.rt-2027-cta__in { max-width: 900px; margin: 0 auto; padding: clamp(56px, 8vw, 96px) 24px 48px; text-align: center; }
.rt-2027-cta h2 { color: #fff; font-size: clamp(28px, 3.2vw, 42px); margin: 0 0 12px; }
.rt-2027-cta p { font-size: 18px; line-height: 1.6; margin: 0 0 24px; color: #e7e2f2; }
.rt-2027-src { font-size: 12px !important; opacity: .7; margin-top: 30px !important; }
.rt-2027-src a { color: inherit; }
.rt-2027-stripe { height: clamp(90px, 12vw, 170px); }
.rt-2027-stripe .rt-bgv { object-position: center 92%; }
@media (max-width: 781px) {
	.rt-tl { grid-template-columns: 1fr 1fr; row-gap: 26px; }
	.rt-tl::before { display: none; }
	.rt-2027-time__two { grid-template-columns: 1fr; }
	.rt-quote { flex-direction: column; text-align: center; }
	.rt-jump { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; }
	.rt-jump a { white-space: nowrap; }
	.rt-2027-hero__in { padding-bottom: 110px; }
}
@media (min-width: 782px) { .rt-empty { visibility: hidden; } }
@media (max-width: 781px) { .rt-empty { display: none !important; } }
/* full-bleed custom bands (html blocks) */
.wp-block-post-content > :is(.rt-2027-hero, .rt-jump, .rt-2027-time, .rt-2027-cta, .rt-2027-stripe) { max-width: none !important; width: 100vw; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; margin-block: 0 !important; box-sizing: border-box; }
.wp-block-image.rt-cutout img { box-shadow: none !important; border-radius: 0 !important; background: none !important; }
/* 2027 CTA on the hero film – focus on the sunrise at the bottom */
.rt-2027-cta { position: relative; overflow: hidden; background: #0d0618; }
.rt-2027-cta .rt-bgv { object-position: center 100%; }
.rt-2027-cta::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,6,24,.55) 0%, rgba(13,6,24,.25) 60%, rgba(13,6,24,0) 100%); z-index: 0; pointer-events: none; }
.rt-2027-cta__in, .rt-sps-2027__in { position: relative; z-index: 1; }
.rt-2027-cta__in { padding-bottom: clamp(120px, 14vw, 220px); }
/* SPS: 2027 band */
.wp-block-post-content > .rt-sps-2027 { max-width: none !important; width: 100vw; margin-left: calc(50% - 50vw) !important; margin-block: 0 !important; }
.rt-sps-2027__in { max-width: 1140px; margin: 0 auto; padding: clamp(48px, 6vw, 80px) 24px clamp(110px, 12vw, 170px); display: grid; grid-template-columns: 1.7fr 1fr; gap: 32px; align-items: center; color: #fff; }
.rt-sps-2027__k { font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: 14px; margin: 0 0 6px; color: #ffcf00; }
.rt-sps-2027 h2 { color: #fff; margin: 0 0 10px; font-size: clamp(26px, 2.6vw, 36px); }
.rt-sps-2027 p { margin: 0; font-size: 17px; line-height: 1.6; color: #e7e2f2; }
.rt-sps-2027 .rt-2027-hero__btns { justify-content: flex-end; flex-direction: column; align-items: stretch; }
.rt-sps-2027 .rt-btn { text-align: center; }
@media (max-width: 781px) { .rt-sps-2027__in { grid-template-columns: 1fr; } }
/* jump bar pinned directly below the sticky header (option A) */
.rt-jump { top: var(--rt-hh, var(--rt-header-h)); z-index: 25; }
.admin-bar .rt-jump { top: calc(var(--rt-hh, var(--rt-header-h)) + 32px); }
.rt-jump a.is-current { background: #ffcf00; color: #231f20; }
html { scroll-padding-top: calc(var(--rt-hh, var(--rt-header-h)) + 70px); }

/* rotator: IA-style feature list with auto-playing visual */
.rt-rot { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(28px, 4vw, 56px); align-items: center; }
.rt-rot__list { display: flex; flex-direction: column; gap: 6px; }
.rt-rot__item { position: relative; text-align: left; background: none; border: 0; border-left: 3px solid #d9e3ec; padding: 12px 0 12px 20px; cursor: pointer; font: inherit; color: inherit; overflow: hidden; }
.rt-rot__item strong { display: block; font-size: 18px; font-weight: 700; color: #445c6d; transition: color .3s; }
.rt-rot__item span { display: block; max-height: 0; opacity: 0; overflow: hidden; font-size: 15px; line-height: 1.6; color: #4e4e4e; transition: max-height .5s ease, opacity .4s ease, margin .4s; }
.rt-rot__item.is-active strong { color: #231f20; }
.rt-rot__item.is-active span { max-height: 200px; opacity: 1; margin-top: 6px; }
.rt-rot__bar { position: absolute; left: -3px; top: 0; width: 3px; height: 0; background: var(--rt-acc, #f7901e); }
.rt-rot__item.is-active .rt-rot__bar { height: 100%; }
.rt-rot.is-playing .rt-rot__item.is-active .rt-rot__bar { height: 0; animation: rtRotBar var(--rt-dur, 6s) linear forwards; }
@keyframes rtRotBar { to { height: 100%; } }
.rt-rot__vis { position: relative; aspect-ratio: 1 / 1; border-radius: 10px; overflow: hidden; box-shadow: 0 22px 50px rgba(0, 26, 67, .18); }
.rt-rot__vis img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.03); transition: opacity .7s ease, transform 6s ease; }
.rt-rot__vis img.is-on { opacity: 1; transform: scale(1); }
.is-style-ia-dark .rt-rot__item { border-left-color: rgba(255, 255, 255, .2); }
.is-style-ia-dark .rt-rot__item strong { color: rgba(255, 255, 255, .7); }
.is-style-ia-dark .rt-rot__item.is-active strong { color: #fff; }
.is-style-ia-dark .rt-rot__item span { color: rgba(255, 255, 255, .85); }
@media (max-width: 781px) { .rt-rot { grid-template-columns: 1fr; } .rt-rot__vis { order: -1; } }
/* mobile: no backdrop-filter on the sticky header – it traps the fixed menu overlay inside the header */
@media (max-width: 781px) {
	.rt-header { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--wp--preset--color--paper); }
	.rt-header__inner { flex-wrap: nowrap; }
	.rt-header .rtb-lang { order: 2; margin-left: auto; margin-right: 10px; }
	.rt-nav { order: 3; }
	.rt-nav .wp-block-navigation__responsive-container.is-menu-open { z-index: 100000; }
	.rt-header:has(.is-menu-open) { z-index: 100000; } /* above the SPS bar while the menu is open */
}
