/* ==========================================================================
   Direction B — "Cinematic Launch" (V0.4 visual layer)
   Deep-void stage, accent LIGHT (not accent paint), smoked-glass materials, film grain,
   The First Signal WebGL hero, five service "worlds". Logo always on its paper plate,
   never recoloured. Contrast: body text ≥ 4.5:1 on the stage, accent text ≥ 7:1.
   ========================================================================== */
.fp-dir-cinematic { background: var(--fp-void); color: var(--fp-paper); }
.fp-dir-cinematic .fp-header { --fp-bg: var(--fp-void); --fp-fg: var(--fp-paper); --fp-fg-muted: #c9c9c4; --fp-fg-faint: #9a9aa0; --fp-rule: rgba(255,255,255,0.1); --fp-surface-2: #15161c; --fp-inverse-bg: var(--fp-paper); --fp-inverse-fg: var(--fp-ink); --fp-focus: 0 0 0 3px var(--fp-void), 0 0 0 5px var(--fp-accent-2); color: var(--fp-fg); background: color-mix(in srgb, var(--fp-void) 72%, transparent); -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%); border-bottom: 1px solid var(--fp-rule); }
.fp-dir-cinematic .fp-footer { --fp-bg: var(--fp-void); --fp-fg: var(--fp-paper); --fp-fg-muted: #c9c9c4; --fp-fg-faint: #9a9aa0; --fp-rule: rgba(255,255,255,0.1); }
.fp-dir-cinematic h1, .fp-dir-cinematic h2, .fp-dir-cinematic .fp-hero__title, .fp-dir-cinematic .fp-cta__title, .fp-dir-cinematic .fp-chapter__title { font-family: var(--fp-font-display); letter-spacing: var(--fp-tracking-display); }
.fp-dir-cinematic .fp-eyebrow { color: var(--fp-accent-2); }
.fp-dir-cinematic .fp-eyebrow::before { content: ""; display: inline-block; width: 0.5em; height: 0.5em; margin-inline-end: 0.6em; border-radius: 50%; background: var(--fp-gradient-accent); box-shadow: 0 0 12px var(--fp-glow); vertical-align: middle; }
.fp-dir-cinematic .fp-section__lead { color: #c9c9c4; }

/* Film grain + ambient light wash over the whole stage (one fixed layer, GPU-composited) */
.fp-dir-cinematic .fp-main { position: relative; }
.fp-dir-cinematic .fp-main::before { content: ""; position: fixed; inset: 0; z-index: 1; pointer-events: none; opacity: 0.055; mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* Glass material used by cards, chips and panels on the stage */
.fp-dir-cinematic .fp-glass, .fp-dir-cinematic .fp-facts li, .fp-dir-cinematic .fp-steps li, .fp-dir-cinematic .fp-service__offers li, .fp-dir-cinematic .fp-mega__item { background: var(--fp-glass); border: 1px solid var(--fp-glass-line); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }

/* ---------- Buttons: accent light ---------- */
.fp-dir-cinematic .fp-hero__actions .wp-block-button__link, .fp-dir-cinematic .fp-btn--primary, .fp-dir-cinematic .fp-cta .wp-block-button__link { background: var(--fp-gradient-accent); color: var(--fp-accent-ink); border-color: transparent; box-shadow: 0 10px 30px -10px var(--fp-glow), inset 0 1px 0 rgba(255,255,255,0.35); }
.fp-dir-cinematic .fp-hero__actions .wp-block-button__link:hover, .fp-dir-cinematic .fp-btn--primary:hover, .fp-dir-cinematic .fp-cta .wp-block-button__link:hover { background: var(--fp-gradient-accent); filter: brightness(1.08); box-shadow: 0 16px 40px -10px var(--fp-glow), inset 0 1px 0 rgba(255,255,255,0.45); }
.fp-dir-cinematic .fp-hero__actions .is-style-outline .wp-block-button__link, .fp-dir-cinematic .fp-btn--outline, .fp-dir-cinematic .fp-cta .is-style-outline .wp-block-button__link { background: var(--fp-glass); color: var(--fp-paper); border-color: var(--fp-glass-line); box-shadow: none; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.fp-dir-cinematic .fp-hero__actions .is-style-outline .wp-block-button__link:hover, .fp-dir-cinematic .fp-btn--outline:hover { background: rgba(255,255,255,0.1); color: var(--fp-paper); border-color: rgba(255,255,255,0.35); filter: none; }
.fp-dir-cinematic .fp-actions--light .fp-btn--primary { background: var(--fp-gradient-accent); color: var(--fp-accent-ink); }

/* ---------- Hero: The First Signal ---------- */
.fp-dir-cinematic .fp-main { margin-top: 0; }
/* The scene runs behind the glass header: pull the hero up by the header height. */
.fp-dir-cinematic .fp-hero { min-height: min(100svh, 68rem); overflow: clip; isolation: isolate; display: grid; align-items: center; margin-top: -4.6rem; padding-top: calc(4.6rem + var(--fp-space-5)); }
.fp-signal { margin: 0 !important; }
.fp-dir-cinematic .fp-hero__inner { position: relative; z-index: 2; }
.fp-dir-cinematic .fp-hero__title { font-weight: 700; font-size: var(--fp-text-4xl); max-width: 12ch; text-shadow: 0 2px 40px rgba(0,0,0,0.6); }
.fp-dir-cinematic .fp-hero__title em { font-style: normal; color: transparent; background: linear-gradient(100deg, var(--fp-accent-2) 0%, var(--fp-accent) 45%, var(--fp-cool) 100%); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; }
.fp-dir-cinematic .fp-hero__title em.is-sweep { animation: fp-ink-sweep 1600ms var(--fp-ease-out) both; }
@keyframes fp-ink-sweep { from { background-position: 100% 0; filter: brightness(0.6); } to { background-position: 0% 0; filter: brightness(1); } }
.fp-dir-cinematic .fp-hero__lead { color: #d4d4d0; max-width: 40ch; text-shadow: 0 1px 24px rgba(0,0,0,0.7); }
.fp-dir-cinematic .fp-hero__index { border-top-color: rgba(255,255,255,0.12); }
.fp-dir-cinematic .fp-hero__index a:hover { color: var(--fp-accent-2); }
.fp-signal { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; background: radial-gradient(60% 50% at 70% 45%, var(--fp-glow) 0%, transparent 70%), var(--fp-void); }
[dir="rtl"] .fp-signal { background-position: 30% 45%; }
.fp-signal__canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 900ms var(--fp-ease-out); }
.fp-signal.is-live .fp-signal__canvas { opacity: 1; }
.fp-signal__fallback { position: absolute; inset: 0; opacity: 1; transition: opacity 900ms var(--fp-ease-out); }
.fp-signal.is-live .fp-signal__fallback { opacity: 0; }
.fp-signal__fallback svg { width: 100%; height: 100%; }
.fp-signal__slabs rect { filter: drop-shadow(0 0 18px var(--fp-glow)); }
.fp-signal::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(6,7,11,0.15), transparent 30%, transparent 70%, var(--fp-void) 100%); pointer-events: none; }
@media (max-width: 63.99rem) {
	.fp-dir-cinematic .fp-hero { min-height: 100svh; }
	.fp-signal::after { background: linear-gradient(to bottom, rgba(6,7,11,0.35), rgba(6,7,11,0.55) 55%, var(--fp-void) 100%); }
	.fp-dir-cinematic .fp-geometry svg { opacity: 0.22; }
}
/* Legacy perspective planes (service-index variant="planes") — kept for the block, not used in the hero any more */
.fp-dir-cinematic .fp-hero__planes { position: absolute; inset: 0; z-index: 0; pointer-events: none; perspective: 90rem; }
.fp-dir-cinematic .fp-plane { position: absolute; display: inline-flex; align-items: center; gap: 0.6em; padding: 0.7rem 1rem; border-radius: var(--fp-radius-md); pointer-events: auto; background: var(--fp-glass); border: 1px solid var(--fp-glass-line); color: var(--fp-paper); text-decoration: none; font-size: var(--fp-text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; transform: translateY(var(--fp-scroll-y, 0px)) rotateY(var(--fp-ry)) rotateX(var(--fp-rx)) translateZ(calc(var(--fp-z) + var(--fp-hz, 0px))); }
@property --fp-hz { syntax: '<length>'; inherits: false; initial-value: 0px; }
@property --fp-scroll-y { syntax: '<length>'; inherits: false; initial-value: 0px; }
.fp-dir-cinematic .fp-plane--1 { inset-inline-end: 30%; top: 18%; --fp-ry: -22deg; --fp-rx: 6deg; --fp-z: 30px; }
.fp-dir-cinematic .fp-plane--2 { inset-inline-end: 10%; top: 30%; --fp-ry: -14deg; --fp-rx: 2deg; --fp-z: 110px; }
.fp-dir-cinematic .fp-plane--3 { inset-inline-end: 31%; top: 50%; --fp-ry: -18deg; --fp-rx: -6deg; --fp-z: 150px; }
.fp-dir-cinematic .fp-plane--4 { inset-inline-end: 14%; top: 62%; --fp-ry: -26deg; --fp-rx: 4deg; --fp-z: 60px; }
.fp-dir-cinematic .fp-plane--5 { inset-inline-end: 22%; top: 76%; --fp-ry: -12deg; --fp-rx: 3deg; --fp-z: 20px; }
@media (max-width: 63.99rem) { .fp-dir-cinematic .fp-hero__planes { display: none; } }
.fp-dir-cinematic .fp-geometry { color: var(--fp-paper); z-index: -1; }

/* ---------- Brand scene bars: lit ---------- */
/* Ascent scene: five lit glass pillars instead of flat paper bars */
.fp-dir-cinematic .fp-scene { background: radial-gradient(60% 50% at 50% 100%, color-mix(in srgb, var(--fp-accent) 22%, transparent) 0%, transparent 70%); }
.fp-dir-cinematic .fp-scene__bar { background: none; filter: drop-shadow(0 0 28px color-mix(in srgb, var(--fp-accent) 35%, transparent)); }
.fp-dir-cinematic .fp-scene__fill { background: linear-gradient(to top, color-mix(in srgb, var(--fp-accent) 85%, black) 0%, color-mix(in srgb, var(--fp-accent) 35%, transparent) 55%, rgba(255,255,255,0.06) 100%); border-inline: 1px solid rgba(255,255,255,0.14); }
.fp-dir-cinematic .fp-scene__cap { background: linear-gradient(135deg, var(--fp-accent-2), var(--fp-accent)); }
.fp-dir-cinematic .fp-scene__base { background: linear-gradient(90deg, transparent, var(--fp-accent-2), transparent); height: 1px; }
.fp-dir-cinematic .fp-scene__legend li::before { color: var(--fp-accent-2); }
.fp-dir-cinematic .fp-scene__legend li, .fp-dir-cinematic .fp-scene__legend a { color: #c9c9c4; }

/* ---------- Chapters: five service worlds ---------- */
.fp-services--chapters .fp-services__list { display: grid; }
.fp-services--chapters .fp-service { position: relative; border-top: 1px solid rgba(255,255,255,0.08); overflow: clip; --fp-world: var(--fp-accent); }
.fp-services--chapters .fp-service[data-fp-service="digital_marketing"] { --fp-world: var(--fp-accent); }
.fp-services--chapters .fp-service[data-fp-service="branding_design"] { --fp-world: var(--fp-accent-2); }
.fp-services--chapters .fp-service[data-fp-service="web_ecommerce"] { --fp-world: var(--fp-cool); }
.fp-services--chapters .fp-service[data-fp-service="paid_advertising"] { --fp-world: var(--fp-accent); }
.fp-services--chapters .fp-service[data-fp-service="promo_gifts"] { --fp-world: var(--fp-accent-2); }
.fp-services--chapters .fp-service::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0; transition: opacity 900ms var(--fp-ease-out);
	background: radial-gradient(42% 60% at var(--fp-px, 22%) var(--fp-py, 50%), color-mix(in srgb, var(--fp-world) 26%, transparent) 0%, transparent 70%); }
[dir="rtl"] .fp-services--chapters .fp-service::before { background: radial-gradient(42% 60% at var(--fp-px, 78%) var(--fp-py, 50%), color-mix(in srgb, var(--fp-world) 26%, transparent) 0%, transparent 70%); }
.fp-services--chapters .fp-service.is-in::before, .fp-services--chapters .fp-service:hover::before { opacity: 1; }
.fp-services--chapters .fp-service__inner { position: relative; z-index: 1; width: min(100% - 2 * var(--fp-gutter), var(--fp-wide)); margin-inline: auto; min-height: 70svh; display: grid; align-content: center; gap: var(--fp-space-3); padding-block: var(--fp-space-6); grid-template-columns: 1fr; }
.fp-services--chapters .fp-service__num { font-family: var(--fp-font-display); font-weight: 700; font-size: clamp(5rem, 18vw, 16rem); line-height: 0.85; letter-spacing: -0.04em; color: transparent; background: linear-gradient(180deg, color-mix(in srgb, var(--fp-world) 70%, white) 0%, color-mix(in srgb, var(--fp-world) 20%, transparent) 100%); -webkit-background-clip: text; background-clip: text; }
[dir="rtl"] .fp-services--chapters .fp-service__num { letter-spacing: 0; }
.fp-services--chapters .fp-service__art { width: clamp(5rem, 10vw, 9rem); color: var(--fp-world); filter: drop-shadow(0 0 22px color-mix(in srgb, var(--fp-world) 55%, transparent)); }
.fp-services--chapters .fp-service__body { display: grid; gap: var(--fp-space-2); max-width: 44rem; }
.fp-services--chapters .fp-service__title { font-family: var(--fp-font-display); font-size: var(--fp-text-2xl); font-weight: 700; letter-spacing: var(--fp-tracking-display); }
.fp-services--chapters .fp-service__tagline { font-size: var(--fp-text-lg); color: var(--fp-paper); }
.fp-services--chapters .fp-service__summary { color: #c9c9c4; }
.fp-services--chapters .fp-service__offers li { color: #e4e4e0; }
.fp-services--chapters .fp-service__cta { color: var(--fp-accent-2); }
.fp-services--chapters .fp-service__cta:hover { color: var(--fp-paper); }
@media (min-width: 64rem) {
	.fp-services--chapters .fp-service__inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); column-gap: var(--fp-space-6); align-items: center; }
	.fp-services--chapters .fp-service__num { grid-column: 1; grid-row: 1; }
	.fp-services--chapters .fp-service__art { grid-column: 1; grid-row: 2; }
	.fp-services--chapters .fp-service__body { grid-column: 2; grid-row: 1 / span 2; }
}

/* ---------- Mega menu on the stage ---------- */
.fp-dir-cinematic .fp-mega { background: color-mix(in srgb, var(--fp-void) 85%, transparent); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); box-shadow: 0 30px 60px rgba(0,0,0,0.5); }
.fp-dir-cinematic .fp-mega__item:hover { border-color: var(--fp-accent); box-shadow: 0 0 0 1px color-mix(in srgb, var(--fp-accent) 40%, transparent), 0 20px 40px -20px var(--fp-glow); }

/* ---------- Builder: smoked-glass panel ---------- */
.fp-dir-cinematic .fp-builder { --fp-bg: #0d0e14; --fp-fg: var(--fp-paper); --fp-fg-muted: #c9c9c4; --fp-fg-faint: #9a9aa0; --fp-rule: rgba(255,255,255,0.12); --fp-surface: rgba(255,255,255,0.04); --fp-surface-2: rgba(255,255,255,0.07); --fp-inverse-bg: var(--fp-paper); --fp-inverse-fg: var(--fp-ink); --fp-focus: 0 0 0 3px #0d0e14, 0 0 0 5px var(--fp-accent-2);
	background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)), #0d0e14; color: var(--fp-paper); border-color: var(--fp-glass-line); box-shadow: 0 40px 120px -40px rgba(0,0,0,0.8), inset 0 1px 0 rgba(255,255,255,0.08); }
.fp-dir-cinematic .fp-builder::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, color-mix(in srgb, var(--fp-accent) 55%, transparent), transparent 40%, transparent 60%, color-mix(in srgb, var(--fp-cool) 40%, transparent)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.fp-dir-cinematic .fp-builder { position: relative; }
.fp-dir-cinematic .fp-choice__box, .fp-dir-cinematic .fp-chip span, .fp-dir-cinematic .fp-textarea { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.14); }
.fp-dir-cinematic .fp-choice input:checked + .fp-choice__box, .fp-dir-cinematic .fp-chip input:checked + span { background: var(--fp-gradient-accent); color: var(--fp-accent-ink); border-color: transparent; box-shadow: 0 10px 30px -12px var(--fp-glow); }
.fp-dir-cinematic .fp-choice input:checked + .fp-choice__box .fp-choice__hint { color: var(--fp-accent-ink); opacity: 0.85; }
.fp-dir-cinematic .fp-progress span { background: rgba(255,255,255,0.12); }
.fp-dir-cinematic .fp-progress span::after { background: var(--fp-gradient-accent); }
.fp-dir-cinematic .fp-brief__card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.12); }
.fp-dir-cinematic .fp-brief__disclaimer { border-color: var(--fp-accent); background: rgba(255,255,255,0.05); }
.fp-dir-cinematic .fp-brief__list li::before { background: var(--fp-accent); }
.fp-dir-cinematic .fp-diagram .node rect { stroke: var(--fp-accent-2); }
.fp-dir-cinematic .fp-diagram .edge { stroke: color-mix(in srgb, var(--fp-accent) 60%, transparent); }

/* ---------- How we work / facts ---------- */
.fp-dir-cinematic .fp-steps li { padding: var(--fp-space-3); border-radius: var(--fp-radius-md); border-top: 1px solid var(--fp-glass-line); position: relative; overflow: hidden; }
.fp-dir-cinematic .fp-steps li::after { content: ""; position: absolute; inset: 0 auto auto 0; width: 100%; height: 2px; background: var(--fp-gradient-accent); opacity: 0.8; }
.fp-dir-cinematic .fp-steps li::before { color: var(--fp-accent-2); }
.fp-dir-cinematic .fp-steps p { color: #c9c9c4; }
.fp-dir-cinematic .fp-facts li { border-radius: var(--fp-radius-md); }
.fp-dir-cinematic .fp-facts strong { color: var(--fp-paper); }
.fp-dir-cinematic .fp-facts span { color: #c9c9c4; }

/* ---------- Final CTA: light band ---------- */
.fp-dir-cinematic .fp-cta { --fp-bg: var(--fp-void); --fp-fg: var(--fp-paper); --fp-fg-muted: #d4d4d0; --fp-rule: var(--fp-glass-line); --fp-inverse-bg: var(--fp-paper); --fp-inverse-fg: var(--fp-ink); --fp-focus: 0 0 0 3px var(--fp-void), 0 0 0 5px var(--fp-accent-2);
	position: relative; overflow: clip; color: var(--fp-paper); border-radius: var(--fp-radius-lg) var(--fp-radius-lg) 0 0; border-top: 1px solid var(--fp-glass-line);
	background: radial-gradient(70% 90% at 20% 110%, color-mix(in srgb, var(--fp-accent) 45%, transparent) 0%, transparent 60%), radial-gradient(50% 70% at 90% -10%, color-mix(in srgb, var(--fp-cool) 35%, transparent) 0%, transparent 60%), #0a0b11; }
[dir="rtl"] .fp-dir-cinematic .fp-cta { background: radial-gradient(70% 90% at 80% 110%, color-mix(in srgb, var(--fp-accent) 45%, transparent) 0%, transparent 60%), radial-gradient(50% 70% at 10% -10%, color-mix(in srgb, var(--fp-cool) 35%, transparent) 0%, transparent 60%), #0a0b11; }
.fp-dir-cinematic .fp-cta__title { font-size: var(--fp-text-3xl); }
.fp-dir-cinematic .fp-cta .is-style-outline .wp-block-button__link { background: var(--fp-glass); color: var(--fp-paper); border-color: var(--fp-glass-line); }
.fp-dir-cinematic .fp-cta .fp-actions .fp-btn--outline { color: var(--fp-paper); border-color: rgba(255,255,255,0.3); }
.fp-dir-cinematic .fp-cta .fp-actions .fp-btn--outline:hover { background: rgba(255,255,255,0.1); border-color: var(--fp-paper); }
.fp-dir-cinematic .fp-cta .fp-actions__context { color: #d4d4d0; }

/* Scroll cue: opposite corner from the service index, lit */
.fp-dir-cinematic .fp-scroll-cue { inset-inline-start: auto; inset-inline-end: var(--fp-gutter); bottom: var(--fp-space-4); color: var(--fp-accent-2); z-index: 3; }
.fp-dir-cinematic .fp-scroll-cue__line { background: linear-gradient(to bottom, var(--fp-accent-2), transparent); }

/* Primary buttons: light sweep on hover (fine pointers), bounded magnetic travel from interactions.js */
.fp-dir-cinematic .fp-hero__actions .wp-block-button__link, .fp-dir-cinematic .fp-btn--primary, .fp-dir-cinematic .fp-cta .wp-block-button__link { position: relative; overflow: hidden; isolation: isolate; }
.fp-dir-cinematic .fp-hero__actions .wp-block-button__link::after, .fp-dir-cinematic .fp-btn--primary::after, .fp-dir-cinematic .fp-cta .wp-block-button__link::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,0.55) 50%, transparent 70%); transform: translateX(-120%); transition: transform 700ms var(--fp-ease-out); pointer-events: none; }
@media (hover: hover) { .fp-dir-cinematic .fp-hero__actions .wp-block-button__link:hover::after, .fp-dir-cinematic .fp-btn--primary:hover::after, .fp-dir-cinematic .fp-cta .wp-block-button__link:hover::after { transform: translateX(120%); } }
@media (prefers-reduced-motion: reduce) { .fp-dir-cinematic .fp-btn--primary::after, .fp-dir-cinematic .fp-hero__actions .wp-block-button__link::after { display: none; } }

/* Launch burst: a light wave from the clicked button, then the Builder comes into view */
.fp-launch { position: fixed; inset: 0; z-index: 200; pointer-events: none; opacity: 0; background: radial-gradient(circle at var(--fp-lx, 50%) var(--fp-ly, 50%), var(--fp-accent-2) 0%, color-mix(in srgb, var(--fp-accent) 60%, transparent) 18%, transparent 46%); }
html.is-launching .fp-launch { animation: fp-launch 900ms var(--fp-ease-out) both; }
@keyframes fp-launch { 0% { opacity: 0; transform: scale(0.2); } 25% { opacity: 0.95; } 100% { opacity: 0; transform: scale(2.6); } }

/* ---------- V0.5: editorial-luxury hero (serif display + device stage on the light field) ---------- */
.fp-dir-cinematic .fp-hero__inner { display: grid; gap: var(--fp-space-4); align-items: center; }
@media (min-width: 64rem) {
	.fp-dir-cinematic .fp-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); column-gap: var(--fp-space-6); }
	.fp-dir-cinematic .fp-hero__inner > * { grid-column: 1; }
	.fp-dir-cinematic .fp-hero__inner > .fp-stage3d { grid-column: 2; grid-row: 1 / span 5; align-self: center; }
	.fp-dir-cinematic .fp-hero__inner > .fp-hero__index { grid-column: 1 / -1; }
}
.fp-dir-cinematic .fp-hero__title { font-family: var(--fp-font-display); font-weight: 500; font-size: clamp(2.8rem, 1.2rem + 5.2vw, 6.4rem); line-height: 1.0; letter-spacing: -0.02em; max-width: 11ch; font-variation-settings: "opsz" 144; }
[dir="rtl"] .fp-dir-cinematic .fp-hero__title { font-weight: 700; letter-spacing: 0; line-height: 1.18; font-variation-settings: normal; }
.fp-dir-cinematic .fp-hero__title em { font-style: italic; font-weight: 400; color: transparent; background: linear-gradient(100deg, var(--fp-accent-2) 0%, var(--fp-accent) 60%, #fff3d6 100%); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; }
[dir="rtl"] .fp-dir-cinematic .fp-hero__title em { font-style: normal; font-weight: 700; }
.fp-dir-cinematic h2, .fp-dir-cinematic .fp-cta__title { font-weight: 500; letter-spacing: -0.015em; font-variation-settings: "opsz" 96; }
[dir="rtl"] .fp-dir-cinematic h2, [dir="rtl"] .fp-dir-cinematic .fp-cta__title { font-weight: 700; letter-spacing: 0; font-variation-settings: normal; }
.fp-dir-cinematic .fp-section__head h2 { font-size: var(--fp-text-3xl); max-width: 18ch; }
.fp-dir-cinematic .fp-eyebrow { font-family: var(--fp-font-grotesk); }
.fp-dir-cinematic .fp-ticker { margin-top: calc(-1 * var(--fp-space-2)); }
.fp-dir-cinematic .fp-signal { background: radial-gradient(55% 60% at 78% 30%, var(--fp-glow) 0%, transparent 70%), var(--fp-void); }
[dir="rtl"] .fp-dir-cinematic .fp-signal { background: radial-gradient(55% 60% at 22% 30%, var(--fp-glow) 0%, transparent 70%), var(--fp-void); }
.fp-dir-cinematic .fp-signal__fallback { opacity: 0; }
/* Chapter numbers in the services section head */
.fp-dir-cinematic .fp-section { padding-block: var(--fp-space-6); }
.fp-dir-cinematic .fp-section__head { max-width: 64rem !important; margin-inline: 0 !important; } /* WP constrained layout centres children with !important margins */
.fp-dir-cinematic .fp-services--worlds .fp-service__actions { gap: var(--fp-space-2); }
