/* ==========================================================================
   LYNKED — design system
   Built from the launch posters + business profile:
   ink / paper / scan-gray, Lynked red (calligraphy) + signal blue (profile),
   Montserrat (poster type), Alexandria (Arabic), JetBrains Mono (HUD details).
   Logical properties throughout → mirrors automatically for Arabic (RTL).
   ========================================================================== */

/* ---------- Fonts (self-hosted, OFL) ---------- */
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/montserrat-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/montserrat-latin-ext-wght-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Montserrat"; font-style: italic; font-weight: 100 900; font-display: swap; src: url("../fonts/montserrat-latin-wght-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F; }
@font-face { font-family: "Alexandria"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/alexandria-arabic-wght-normal.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 100 800; font-display: swap; src: url("../fonts/jetbrains-mono-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+2000-206F; }

@property --wipe { syntax: "<percentage>"; inherits: false; initial-value: 0%; }

/* ---------- Tokens ---------- */
:root {
	--ink: #0E0E0E;
	--ink-2: #1B1B1B;
	--charcoal: #323232;
	--paper: #EBEBE9;
	--paper-2: #F5F5F3;
	--white: #FFFFFF;
	--scan: #B9B9BA;
	--muted: #4F4F4F;
	--muted-light: rgba(235, 235, 233, 0.68);
	--line: rgba(14, 14, 14, 0.16);
	--line-strong: rgba(14, 14, 14, 0.32);
	--line-light: rgba(235, 235, 233, 0.16);
	--red: #C42A10;
	--red-deep: #A12210;
	--red-bright: #FF5A3C;
	--blue: #2D96FC;
	--blue-deep: #1F6FE0;
	--folder-back: #2FA0DE;
	--folder-top: #58C6F3;
	--folder-bottom: #3AB2E5;

	--font-sans: "Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--font-ar: "Alexandria", "Montserrat", Tahoma, "Segoe UI", sans-serif;
	--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--font: var(--font-sans);

	--fs-body: clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
	--container: 1680px;
	--narrow: 760px;
	--gutter: clamp(16px, 3.6vw, 56px);
	--sec: clamp(72px, 10vw, 168px);
	--header-h: 72px;
	--radius: 14px;
	--ease: cubic-bezier(0.2, 0.7, 0.1, 1);
	--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--hit: var(--red);
	color-scheme: light;
}

/* ---------- Reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 16px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font);
	font-size: var(--fs-body);
	font-weight: 450;
	line-height: 1.6;
	letter-spacing: -0.006em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
img, svg, video, canvas, picture { max-width: 100%; }
img, video { height: auto; }
svg { display: inline-block; }
a { color: inherit; text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
a:hover { color: var(--red); }
h1, h2, h3, h4, h5, h6 { margin: 0 0 0.5em; font-weight: 700; line-height: 1.05; letter-spacing: -0.04em; text-wrap: balance; }
p { margin: 0 0 1em; text-wrap: pretty; }
button, input, select, textarea { font: inherit; color: inherit; letter-spacing: inherit; }
button { cursor: pointer; }
::selection { background: var(--blue); color: var(--white); }
:focus-visible { outline: 2px solid var(--blue-deep); outline-offset: 3px; border-radius: 2px; }
.site-main { display: block; outline: none; }

/* Arabic: switch family, never letter-space (breaks letter joining). */
html[lang^="ar"] { --font: var(--font-ar); }
html[lang^="ar"] body, html[lang^="ar"] body * { letter-spacing: 0 !important; }
[lang="ar"] { font-family: var(--font-ar); letter-spacing: 0 !important; }
/* Arabic script needs taller lines: ascenders (ك ل ط) and descenders (ي ج ع) run deep. */
html[lang^="ar"] :is(h1, h2, h3, h4) { line-height: 1.28; }
html[lang^="ar"] :is(.cta-poster__title, .page-head__title, .service-hero__title, .case__title, .contact__title, .values__title, .exhibit__title, .section-head__title, .next-folder__title, .nf__title, .article__title, .about-hero__title, .service-index__title, .cta-line__title) { line-height: 1.22; }
html[lang^="ar"] .statement { line-height: 1.8; }
html[lang^="ar"] .cta-poster__title { margin-top: 0.3em; }
html[lang^="ar"] .kicker { text-underline-offset: 0.45em; }
html[lang^="ar"] .chain__name, html[lang^="ar"] .pills li { line-height: 1.25; }
html[lang^="ar"] .marquee__item { line-height: 1.4; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; inset-inline-start: 12px; top: -60px; z-index: 200; background: var(--ink); color: var(--paper); padding: 10px 16px; border-radius: 999px; text-decoration: none; font-weight: 600; transition: top 0.2s; }
.skip-link:focus { top: 12px; color: var(--paper); }

.wrap { width: min(100% - 2 * var(--gutter), var(--container)); margin-inline: auto; }
.wrap-narrow { width: min(100% - 2 * var(--gutter), var(--narrow)); margin-inline: auto; }

.icon { width: 1.15em; height: 1.15em; flex: none; vertical-align: -0.2em; }
.icon.is-flipped, [dir="rtl"] .icon--arrow:not(.is-flipped), [dir="rtl"] .icon--arrow-ne { transform: scaleX(-1); }
[dir="rtl"] .icon--arrow.is-flipped { transform: none; }

/* Film grain (Customize → Effects). */
.fx-grain::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 300;
	pointer-events: none;
	opacity: 0.07;
	mix-blend-mode: multiply;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1.4 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* Scan-line gray (business profile pages). */
.scan {
	background-color: var(--scan);
	background-image: repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.075) 0 1.5px, rgba(0, 0, 0, 0.045) 1.5px 3.5px);
}

/* ---------- Type primitives ---------- */
.kicker {
	display: inline-block;
	margin: 0;
	font-weight: 500;
	font-size: clamp(0.8rem, 0.75rem + 0.35vw, 1.1rem);
	text-transform: uppercase;
	letter-spacing: 0.2em;
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 0.5em;
}
.braces-label {
	margin: 0 0 0.9em;
	font-weight: 400;
	font-size: clamp(0.72rem, 0.68rem + 0.3vw, 0.95rem);
	text-transform: uppercase;
	letter-spacing: 0.22em;
}
.label-box {
	display: inline-block;
	margin: 0;
	padding: 0.1em 0.26em 0.06em;
	background: var(--blue);
	color: var(--white);
	font-weight: 800;
	font-size: clamp(2rem, 1.2rem + 4vw, 4.6rem);
	line-height: 1;
	letter-spacing: -0.05em;
	text-transform: uppercase;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.label-box em { font-style: italic; font-weight: 800; }
.statement {
	margin: 0;
	max-width: 48ch;
	font-weight: 800;
	font-size: clamp(1.1rem, 0.75rem + 1.65vw, 2.3rem);
	line-height: 1.34;
	letter-spacing: -0.035em;
	text-transform: uppercase;
	color: var(--ink-2);
}
.hl {
	padding: 0 0.16em;
	background-image: linear-gradient(var(--ink), var(--ink));
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 0% 100%;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	transition: background-size 1s var(--ease-out) 0.25s, color 0.35s ease 0.6s;
}
[dir="rtl"] .hl { background-position: 100% 0; }
.is-in .hl, .no-js .hl, .fx-still .hl { background-size: 100% 100%; color: var(--white); }

.braces { display: inline; }
.braces__t { margin-inline: 0.03em; }
.braces__l, .braces__r { display: inline-block; font-weight: 200; transform: scaleY(1.12); transition: transform 0.6s var(--ease-out), color 0.3s; }
.braces-link { color: inherit; text-decoration: none; }
.braces-link:hover { color: inherit; }
.braces-link:hover .braces__l, .btn:hover .braces__l { transform: translateX(-0.18em) scaleY(1.12); color: var(--red); }
.braces-link:hover .braces__r, .btn:hover .braces__r { transform: translateX(0.18em) scaleY(1.12); color: var(--red); }
[dir="rtl"] .braces-link:hover .braces__l { transform: translateX(0.18em) scaleY(1.12); }
[dir="rtl"] .braces-link:hover .braces__r { transform: translateX(-0.18em) scaleY(1.12); }

.page-marker {
	position: absolute;
	inset-inline-end: clamp(6px, 1.2vw, 20px);
	top: 50%;
	z-index: 2;
	writing-mode: vertical-rl;
	transform: translateY(-50%) rotate(180deg);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	opacity: 0.7;
	pointer-events: none;
}
.page-marker--light { color: var(--white); opacity: 0.9; }

/* ---------- Buttons & links ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
	padding: 0.85em 1.4em;
	border: 1.5px solid transparent;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.1;
	letter-spacing: -0.01em;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.3s, background-size 0.5s var(--ease-out), color 0.3s, border-color 0.3s, transform 0.3s var(--ease-out);
	/* Brand hover: Lynked red slides across the button. */
	background-image: linear-gradient(var(--sweep, var(--red)), var(--sweep, var(--red)));
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 0% 100%;
}
[dir="rtl"] .btn { background-position: right center; }
.btn:hover, .btn:focus-visible { background-size: 100% 100%; color: var(--white); border-color: var(--sweep, var(--red)); }
.btn:hover > *, .btn:focus-visible > * { color: inherit; }
@media (prefers-reduced-motion: reduce) { .btn { transition: none; } }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn--sm { padding: 0.62em 1.05em; font-size: 0.85rem; }
.btn--lg { padding: 1em 1.7em; font-size: clamp(1rem, 0.95rem + 0.25vw, 1.15rem); }
.btn--red { background: var(--red); color: var(--white); }
.btn--red { --sweep: var(--ink); }
.btn--ink { background: var(--ink); color: var(--paper); }

.btn--ghost { border-color: currentColor; color: inherit; background: transparent; }

.link-arrow { display: inline-flex; align-items: center; gap: 0.5em; font-weight: 600; text-decoration: none; }
.link-arrow .icon { transition: transform 0.4s var(--ease-out); }
.link-arrow:hover .icon { transform: translateX(4px); }
[dir="rtl"] .link-arrow:hover .icon { transform: translateX(-4px) scaleX(-1); }
.back-link { display: inline-flex; align-items: center; gap: 0.5em; font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; text-decoration: none; }

/* ---------- Announcement bar ---------- */
.announce { position: relative; z-index: 60; background: var(--ink); color: var(--paper); font-size: 0.74rem; }
.announce.is-hidden { display: none; }
.announce__text {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.35em 0.9em;
	min-height: 36px; margin: 0; padding: 6px 48px;
	font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; text-align: center; line-height: 1.3;
}
.announce__ar { font-family: var(--font-ar); font-weight: 500; text-transform: none; letter-spacing: 0; opacity: 0.75; font-size: 1.08em; }
.announce__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red-bright); animation: lynked-pulse 2.2s ease-out infinite; }
.announce__link { display: inline-flex; align-items: center; gap: 0.35em; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.announce__link:hover { color: var(--red-bright); }
.announce__close { position: absolute; inset-inline-end: 6px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; opacity: 0.7; }
.announce__close:hover { opacity: 1; background: rgba(255, 255, 255, 0.08); }
@keyframes lynked-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 90, 60, 0.6); } 70%, 100% { box-shadow: 0 0 0 9px rgba(255, 90, 60, 0); } }
@media (max-width: 600px) { .announce__ar { display: none; } }

/* ---------- Header ---------- */
.site-header {
	position: sticky; top: 0; z-index: 50;
	transition: transform 0.45s var(--ease-out), background-color 0.3s, box-shadow 0.3s;
}
.site-header__inner { display: flex; align-items: center; gap: clamp(12px, 2vw, 32px); min-height: var(--header-h); }
.brand { display: inline-flex; align-items: center; color: var(--ink); line-height: 0; transition: opacity 0.4s; }
.brand:hover { color: var(--ink); }
.brand__wm { height: 30px; width: auto; }
.brand__img { max-height: 40px; width: auto; }
.primary-nav { margin-inline-start: auto; }
.primary-nav__list, .primary-nav ul { display: flex; gap: clamp(14px, 2vw, 34px); margin: 0; padding: 0; list-style: none; }
.primary-nav a { position: relative; display: inline-block; padding: 6px 0; font-weight: 600; font-size: 0.93rem; text-decoration: none; letter-spacing: -0.01em; }
.primary-nav a::before, .primary-nav a::after { position: absolute; top: 5px; font-weight: 200; color: var(--red); opacity: 0; transition: opacity 0.25s, transform 0.4s var(--ease-out); }
.primary-nav a::before { content: "{"; inset-inline-start: -0.55em; transform: translateX(4px); }
.primary-nav a::after { content: "}"; inset-inline-end: -0.55em; transform: translateX(-4px); }
.primary-nav a:hover, .primary-nav .current-menu-item > a, .primary-nav .current_page_item > a, .primary-nav .current-menu-ancestor > a { color: var(--ink); }
.primary-nav a:hover::before, .primary-nav a:hover::after,
.primary-nav .current-menu-item > a::before, .primary-nav .current-menu-item > a::after,
.primary-nav .current_page_item > a::before, .primary-nav .current_page_item > a::after { opacity: 1; transform: none; }
.site-header__tools { display: flex; align-items: center; gap: 10px; margin-inline-start: clamp(8px, 1.4vw, 24px); }
.site-header.is-scrolled { background: rgba(235, 235, 233, 0.86); -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px); box-shadow: 0 1px 0 var(--line); }
.site-header.is-hidden { transform: translateY(-100%); }
.home .site-header:not(.is-past-hero) .brand { opacity: 0; pointer-events: none; }
.no-js .home .site-header .brand { opacity: 1; pointer-events: auto; }

/* Language switch: a two-option pill with a sliding red thumb. */
.lang { display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 0; }
.lang__track { position: relative; display: inline-grid; grid-auto-flow: column; grid-auto-columns: 1fr; padding: 3px; border: 1.5px solid var(--ink); border-radius: 999px; isolation: isolate; }
.lang__thumb { position: absolute; z-index: -1; top: 3px; bottom: 3px; inset-inline-start: 3px; width: calc(50% - 3px); border-radius: 999px; background: var(--red); box-shadow: 0 6px 14px -6px rgba(196, 42, 16, 0.7); transition: transform 0.5s var(--ease-out); }
.lang[data-lang="ar"] .lang__thumb { transform: translateX(-100%); }
[dir="ltr"] .lang[data-lang="ar"] .lang__thumb { transform: translateX(100%); }
.lang__opt { display: grid; place-items: center; min-width: 42px; height: 30px; padding: 0 10px; border-radius: 999px; font: 700 0.72rem/1 var(--font-mono); letter-spacing: 0.08em; color: var(--ink); text-decoration: none; transition: color 0.3s, opacity 0.3s; }
.lang__opt[lang="ar"] { font: 700 0.86rem/1 var(--font-ar); letter-spacing: 0; }
.lang__opt[aria-current] { color: #fff; }
.lang__opt:not([aria-current]):hover { opacity: 0.6; }
.lang__opt:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.lang__globe { display: inline-grid; place-items: center; }
.lang__globe .icon { width: 20px; height: 20px; }

.menu-toggle { display: none; align-items: center; gap: 10px; height: 40px; padding: 0 14px 0 10px; border: 1.5px solid var(--ink); border-radius: 999px; background: transparent; font-weight: 600; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.08em; }
.menu-toggle__icon { display: flex; }
.menu-toggle__icon i { width: 12px; height: 12px; border: 1.5px solid currentColor; border-radius: 50%; transition: transform 0.4s var(--ease-out); }
.menu-toggle__icon i + i { margin-inline-start: -4px; }
.menu-toggle:hover .menu-toggle__icon i:nth-child(1) { transform: translateX(3px); }
.menu-toggle:hover .menu-toggle__icon i:nth-child(3) { transform: translateX(-3px); }
@media (max-width: 1099px) {
	.primary-nav { display: none; }
	.menu-toggle { display: inline-flex; }
	.site-header__tools { margin-inline-start: auto; }
}
@media (max-width: 560px) {
	.site-header__cta { display: none; }
	:root { --header-h: 62px; }
	.brand__wm { height: 26px; }
}

/* ---------- Menu overlay ---------- */
.site-menu { position: fixed; inset: 0; z-index: 120; overflow-y: auto; background: var(--ink); color: var(--paper); overscroll-behavior: contain; }
.site-menu[hidden] { display: none; }
.site-menu__bg { position: absolute; inset-inline: -6%; bottom: -4%; color: var(--red); opacity: 0.18; pointer-events: none; }
.site-menu__bg svg { width: 100%; height: auto; display: block; }
.site-menu__inner { position: relative; display: grid; grid-template-columns: 1.6fr 1fr; grid-template-rows: auto 1fr; gap: 24px 48px; min-height: 100%; padding-block: 18px 48px; }
.site-menu__top { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; min-height: 54px; }
.brand--light, .brand--light:hover { color: var(--paper); }
.menu-close { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border: 1.5px solid var(--paper); border-radius: 999px; background: transparent; color: var(--paper); font-weight: 600; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.08em; }
.menu-close:hover { background: var(--paper); color: var(--ink); }
.site-menu__nav { align-self: center; }
.site-menu__list { margin: 0; padding: 0; list-style: none; counter-reset: menu; }
.site-menu__list li { counter-increment: menu; }
.site-menu__list a { display: inline-flex; align-items: flex-start; gap: 0.4em; padding-block: 0.08em; color: var(--paper); text-decoration: none; font-weight: 700; font-size: clamp(2.6rem, 1.4rem + 6vw, 6.8rem); line-height: 1; letter-spacing: -0.055em; }
.site-menu__list a::before { content: counter(menu, decimal-leading-zero); margin-top: 0.55em; font: 500 0.8rem/1 var(--font-mono); letter-spacing: 0; opacity: 0.5; }
.site-menu__label { position: relative; }
.site-menu__label::before, .site-menu__label::after { position: absolute; top: 0; font-weight: 200; color: var(--red-bright); opacity: 0; transition: opacity 0.25s, transform 0.4s var(--ease-out); }
.site-menu__label::before { content: "{"; inset-inline-end: 100%; transform: translateX(0.3em); }
.site-menu__label::after { content: "}"; inset-inline-start: 100%; transform: translateX(-0.3em); }
.site-menu__list a:hover .site-menu__label::before, .site-menu__list a:hover .site-menu__label::after,
.site-menu__list .current-menu-item .site-menu__label::before, .site-menu__list .current-menu-item .site-menu__label::after { opacity: 1; transform: none; }
.site-menu__list a:hover { color: var(--paper); }
.site-menu.is-open .site-menu__list li { animation: lynked-menu-in 0.7s var(--ease-out) both; }
.site-menu.is-open .site-menu__list li:nth-child(2) { animation-delay: 0.05s; }
.site-menu.is-open .site-menu__list li:nth-child(3) { animation-delay: 0.1s; }
.site-menu.is-open .site-menu__list li:nth-child(4) { animation-delay: 0.15s; }
.site-menu.is-open .site-menu__list li:nth-child(5) { animation-delay: 0.2s; }
.site-menu.is-open .site-menu__list li:nth-child(6) { animation-delay: 0.25s; }
@keyframes lynked-menu-in { from { opacity: 0; transform: translateY(0.4em); } to { opacity: 1; transform: none; } }
.site-menu__aside { align-self: end; display: grid; gap: 22px; padding-bottom: 8px; }
.site-menu__aside .kicker { color: var(--paper); }
@media (max-width: 800px) { .site-menu__inner { grid-template-columns: 1fr; grid-template-rows: auto auto auto; } .site-menu__nav { align-self: start; padding-top: 4vh; } }
body.menu-open { overflow: hidden; }

.contact-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.contact-list li, .contact-list a { display: flex; align-items: flex-start; gap: 0.7em; text-decoration: none; }
.contact-list .icon { margin-top: 0.22em; opacity: 0.75; }
.contact-list--big { font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem); gap: 14px; }
.socials { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.socials a { display: grid; place-items: center; width: 42px; height: 42px; border: 1.5px solid currentColor; border-radius: 50%; color: inherit; text-decoration: none; transition: background-color 0.25s, color 0.25s, border-color 0.25s; }
.socials a:hover { background: var(--red); border-color: var(--red); color: var(--white); }
.socials .icon { width: 19px; height: 19px; }

/* ---------- Masthead (poster label rows) ---------- */
.masthead {
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; gap: 16px;
	padding-block: clamp(14px, 2vw, 30px);
	font-weight: 600; font-size: clamp(0.66rem, 0.45rem + 0.95vw, 1.45rem); line-height: 1.02;
	letter-spacing: -0.012em; text-transform: uppercase;
}
.masthead > span > span { display: block; }
.masthead__c { text-align: center; }
.masthead__r { text-align: end; }
.masthead__c .masthead__indent { padding-inline-start: 2.6em; }
[dir="rtl"] .masthead__c [dir="ltr"] { text-align: center; }
.masthead--hero .masthead__c { font-weight: 400; }
.masthead--page { font-size: clamp(0.66rem, 0.5rem + 0.6vw, 1rem); border-bottom: 1px solid var(--line-strong); }
.masthead--light { border-color: var(--line-light); }

/* ---------- Pills, circles, CTA line ---------- */
.pills { display: flex; margin: 0; padding: 0; list-style: none; }
.pills li {
	display: grid; place-items: center; align-content: center;
	min-width: 6.6em; min-height: 3.6em; padding: 0.55em 1.15em;
	border: 1.5px solid currentColor; border-radius: 50%;
	font-weight: 800; font-size: clamp(0.6rem, 0.45rem + 0.5vw, 0.92rem); line-height: 1.02;
	letter-spacing: -0.01em; text-transform: uppercase; text-align: center;
}
.pills li + li { margin-inline-start: -0.95em; }
.pills li > span { display: block; }
.pills--light { color: var(--paper); }

.circles { position: relative; display: grid; place-items: center; width: clamp(190px, 20vw, 330px); flex: none; }
.circles__svg { width: 100%; height: auto; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.2; }
.circles__svg circle { transition: transform 1.4s var(--ease-out); transform-box: fill-box; transform-origin: center; }
.js .circles:not(.is-in) .circles__svg circle:nth-child(1) { transform: translateX(-22%); }
.js .circles:not(.is-in) .circles__svg circle:nth-child(3) { transform: translateX(22%); }
.circles__text { position: absolute; font-weight: 400; font-size: clamp(0.58rem, 0.42rem + 0.42vw, 0.9rem); letter-spacing: 0.2em; text-transform: uppercase; white-space: nowrap; }

.cta-line { display: flex; flex-direction: column; align-items: flex-start; gap: 0.6em; }
.cta-line__title { margin: 0; font-weight: 600; font-size: clamp(1.7rem, 0.9rem + 3vw, 4.2rem); line-height: 1; letter-spacing: -0.06em; }

/* ---------- Detection box ("not horse") ---------- */
.detect { position: relative; }
.detect__box {
	position: absolute; z-index: 3;
	left: var(--x, 10%); top: var(--y, 10%); width: var(--w, 80%); height: var(--h, 80%);
	border: 1.5px solid var(--hit);
	pointer-events: none;
	opacity: 0; transform: scale(1.06);
	transition: opacity 0.35s ease, transform 0.6s var(--ease-out);
}
.detect__tag {
	position: absolute; top: -1.5px; inset-inline-end: -1.5px;
	padding: 0.32em 0.62em 0.38em;
	background: var(--hit); color: var(--white);
	font-style: italic; font-weight: 500; font-size: clamp(0.72rem, 0.6rem + 0.45vw, 1.05rem); line-height: 1; letter-spacing: -0.01em;
	white-space: nowrap;
}
.detect__c { position: absolute; width: 10px; height: 10px; border: 0 solid var(--hit); }
.detect__c--tl { top: -4px; left: -4px; border-top-width: 3px; border-left-width: 3px; }
.detect__c--tr { top: -4px; right: -4px; border-top-width: 3px; border-right-width: 3px; }
.detect__c--bl { bottom: -4px; left: -4px; border-bottom-width: 3px; border-left-width: 3px; }
.detect__c--br { bottom: -4px; right: -4px; border-bottom-width: 3px; border-right-width: 3px; }
.detect--blue { --hit: var(--blue); }
.detect--live.is-in .detect__box, .detect--static.is-in .detect__box,
.detect--hover:hover .detect__box, a:focus-visible .detect--hover .detect__box, .detect--hover:focus-within .detect__box,
.no-js .detect--live .detect__box { opacity: 1; transform: none; }
.detect__tag.is-swapping { animation: lynked-tag 0.5s var(--ease-out); }
@keyframes lynked-tag { 0% { clip-path: inset(0 0 0 100%); } 100% { clip-path: inset(0 0 0 0); } }
.detect--hover.is-touched .detect__box, .detect--hover:active .detect__box { opacity: 1; transform: none; }

/* ==========================================================================
   HOME
   ========================================================================== */

/* ---------- Page 1: hero (front) ---------- */
.hero { position: relative; }
.hero__top .masthead { padding-bottom: clamp(24px, 4vw, 64px); }
.hero__name { position: relative; }
.nameplate { container-type: inline-size; margin: 0; padding-bottom: 4.8%; color: var(--ink); line-height: 0; }
.nameplate__box { position: relative; display: block; aspect-ratio: 1206 / 345; }
.nameplate__wm, .nameplate__wm svg { display: block; width: 100%; height: auto; }
.nameplate__reg { position: absolute; left: 96.7%; top: -9%; font-weight: 600; font-size: 3.3cqi; line-height: 1; }
.nameplate__ar { position: absolute; left: -1.04%; top: -1.6%; width: 96.3%; color: var(--red); }
.nameplate__ar svg { display: block; width: 100%; height: auto; }
.nameplate--ar-gray .nameplate__ar { color: #9A9A9A; }
.nameplate--ar-white .nameplate__ar { color: #F2F2F2; }
.nameplate__tag { position: absolute; left: 20.9%; top: 85.4%; width: 73.9%; }
.nameplate__tag--digital { left: 21.9%; top: 88.6%; width: 72.9%; }
.nameplate__tag svg { display: block; width: 100%; height: auto; }

.js .nameplate__wm { animation: lynked-rise 1.15s var(--ease-out) 0.1s both; }
.js .nameplate__ar { animation: lynked-wipe 1.5s var(--ease) 0.9s both; }
.js .nameplate__tag, .js .nameplate__reg { animation: lynked-fade 0.9s ease 1.6s both; }
@keyframes lynked-rise { from { clip-path: inset(100% 0 0 0); transform: translateY(14%); } to { clip-path: inset(-20% 0 -20% 0); transform: none; } }
@keyframes lynked-wipe { from { --wipe: -12%; } to { --wipe: 112%; } }
@keyframes lynked-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.nameplate__ar {
	-webkit-mask-image: linear-gradient(to left, #000 var(--wipe), transparent calc(var(--wipe) + 12%));
	mask-image: linear-gradient(to left, #000 var(--wipe), transparent calc(var(--wipe) + 12%));
	--wipe: 112%;
}

.hero__sub { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px 32px; padding-block: clamp(12px, 2vw, 30px) clamp(26px, 3.4vw, 56px); }
.hero__left { display: grid; gap: 12px; justify-items: start; }
.hero__pills { color: var(--red); }
.hero__lede { max-width: 36ch; margin: 0; color: var(--red); font-weight: 800; font-size: clamp(0.6rem, 0.5rem + 0.32vw, 0.8rem); line-height: 1.18; letter-spacing: -0.01em; text-transform: uppercase; }
.hero__badge { justify-self: center; }
.cta-line--hero { justify-self: end; align-items: flex-end; text-align: end; }
.cta-line--hero .cta-line__title { font-size: clamp(1.5rem, 0.8rem + 2.4vw, 3.4rem); }

.hero__lead { position: relative; margin: 0; height: clamp(440px, 82svh, 940px); overflow: hidden; background: #4BA3C7; }
.hero__media { position: absolute; inset: 0; transform: scale(var(--lead-s, 1)); transform-origin: 50% 40%; }
.hero__media picture, .hero__img { display: block; width: 100%; height: 100%; }
.hero__img { object-fit: cover; object-position: 50% 42%; }
.hero__corners { position: absolute; inset-inline: var(--gutter); bottom: clamp(14px, 2.4vw, 32px); z-index: 2; display: flex; justify-content: space-between; gap: 16px; margin: 0; color: var(--white); font-weight: 500; font-size: clamp(0.6rem, 0.5rem + 0.35vw, 0.86rem); letter-spacing: -0.01em; text-transform: uppercase; text-shadow: 0 1px 14px rgba(0, 0, 0, 0.25); pointer-events: none; }
.hero__corners span:last-child { text-align: end; }
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.hero--front .hero__lead { animation: lynked-lead linear both; animation-timeline: view(); animation-range: entry 0% cover 45%; }
		@keyframes lynked-lead { from { clip-path: inset(0 var(--gutter) round 20px); } to { clip-path: inset(0 0 round 0); } }
	}
}

@media (max-width: 860px) {
	.hero__sub { grid-template-columns: 1fr; justify-items: center; text-align: center; }
	.hero__left { justify-items: center; }
	.hero__lede { margin-inline: auto; text-align: center; }
	.hero__badge { display: none; }
	.cta-line--hero { justify-self: center; align-items: center; text-align: center; }
	.hero__lead { height: auto; aspect-ratio: 4 / 5; max-height: 82svh; }
	.hero__img { object-position: var(--fx, 50%) 50%; }
	.hero__media { transform: none; }
	.hero__lead.has-mobile-image .detect__box { display: none; }
	.hero__corners { flex-direction: column; gap: 4px; }
	.hero__corners span:last-child { text-align: start; }
}

/* Hero — poster layout (white type over a full-bleed photo). */
.hero--poster { display: flex; flex-direction: column; min-height: calc(100svh - var(--header-h)); color: var(--white); isolation: isolate; overflow: hidden; }
.hero--poster .hero__lead { position: absolute; inset: 0; z-index: -1; height: auto; }
.hero--poster .hero__lead::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.06) 34%, rgba(0, 0, 0, 0.12) 62%, rgba(0, 0, 0, 0.55) 100%); }
.hero--poster .hero__corners, .hero--poster .detect__box { display: none; }
.hero--poster .nameplate { color: #F2F2F2; }
.hero--poster .hero__name { margin-top: auto; }
.hero--poster .hero__pills, .hero--poster .hero__lede { color: var(--white); }
.hero--poster .braces-link:hover { color: var(--white); }

/* ---------- Marquee ---------- */
.marquee { overflow: hidden; background: var(--red); color: var(--white); padding-block: clamp(10px, 1.4vw, 18px); direction: ltr; }
.marquee__track { display: flex; width: max-content; animation: lynked-marquee 42s linear infinite; }
.marquee:hover .marquee__track { animation-play-state: paused; }
.marquee__group { display: flex; align-items: center; gap: clamp(16px, 2vw, 30px); padding-inline-end: clamp(16px, 2vw, 30px); }
.marquee__item { font-weight: 800; font-size: clamp(1rem, 0.7rem + 1.3vw, 2rem); line-height: 1.1; letter-spacing: -0.035em; text-transform: uppercase; white-space: nowrap; }
.marquee__item[lang="ar"] { font-family: var(--font-ar); font-weight: 700; text-transform: none; }
.marquee__sep { width: clamp(30px, 3vw, 46px); height: auto; fill: none; stroke: currentColor; stroke-width: 1.6; flex: none; }
@keyframes lynked-marquee { to { transform: translateX(-25%); } }

/* ---------- Page 2: who are we + mirror ---------- */
.who { position: relative; padding-top: var(--sec); }
.who__inner { display: flex; flex-direction: column; align-items: center; gap: clamp(18px, 2.4vw, 34px); padding-bottom: clamp(28px, 4vw, 64px); text-align: center; }
.who__label + .statement { margin-bottom: clamp(26px, 4vw, 64px); }
.who__copy { position: absolute; inset-inline-start: clamp(6px, 1.2vw, 20px); top: clamp(80px, 12vw, 180px); writing-mode: vertical-rl; transform: rotate(180deg); font-weight: 500; font-size: 0.9rem; letter-spacing: 0.06em; opacity: 0.75; }
.mirror { position: relative; display: grid; }
.mirror__half { position: relative; margin: 0; overflow: hidden; }
.mirror__inner { position: relative; height: 100%; }
.mirror__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mirror__half--top .mirror__inner { transform: translateY(calc(var(--mp, 0) * 3%)) scale(1.06); }
.mirror__half--bottom .mirror__inner { transform: translateY(calc(var(--mp, 0) * -3%)) scale(1.06); }
.detect__box--bottom .detect__tag { top: auto; bottom: -1.5px; }
@media (max-width: 760px) {
	.mirror__half--top { aspect-ratio: 4 / 3; }
	.mirror__half--bottom { aspect-ratio: 4 / 3; }
}

/* ---------- Page 3: services as folders ---------- */
.services { position: relative; padding-block: clamp(48px, 7vw, 120px) var(--sec); }
.services__head { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-bottom: clamp(26px, 4vw, 56px); text-align: center; }
.services__intro { margin: 0; font-weight: 600; font-size: clamp(0.95rem, 0.85rem + 0.4vw, 1.2rem); }
.finder__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: clamp(30px, 5vw, 72px); padding-block: 10px; border-block: 1px solid var(--line-strong); font: 500 0.74rem/1.2 var(--font-mono); letter-spacing: 0.06em; text-transform: uppercase; }
.finder__hint { opacity: 0.7; }
.finder__views { display: flex; gap: 4px; }
.finder__view { display: grid; place-items: center; width: 34px; height: 30px; padding: 0; border: 1px solid transparent; border-radius: 7px; background: transparent; }
.finder__view[aria-pressed="true"] { background: rgba(14, 14, 14, 0.1); border-color: var(--line-strong); }
@media (max-width: 600px) { .finder__hint { display: none; } }

.folders { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(30px, 4.6vw, 72px) clamp(14px, 3vw, 48px); margin: 0; padding: 0; list-style: none; }
@media (min-width: 900px) {
	.finder:not([data-view="list"]) .folders__item:nth-child(4n+2),
	.finder:not([data-view="list"]) .folders__item:nth-child(4n+3) { transform: translateY(clamp(26px, 4vw, 64px)); }
}
@media (max-width: 899px) { .folders { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.folder { display: flex; flex-direction: column; align-items: center; gap: 14px; color: var(--ink); text-align: center; text-decoration: none; }
.folder:hover { color: var(--ink); }
.folder__icon { position: relative; display: block; width: clamp(104px, 9.5vw, 156px); aspect-ratio: 1.22; perspective: 520px; --fb: var(--folder-back); --ft: var(--folder-top); --fbm: var(--folder-bottom); }
.folder__icon--red { --fb: #9E200E; --ft: #E14A2E; --fbm: var(--red); }
.folder__icon--ink { --fb: #111; --ft: #3B3B3B; --fbm: #222; }
.folder__back { position: absolute; inset: 9% 0 0; border-radius: 4px 9px 9px 9px; background: var(--fb); }
.folder__back::before { content: ""; position: absolute; left: 0; top: -9.5%; width: 44%; height: 14%; border-radius: 5px 8px 0 0; background: inherit; clip-path: polygon(0 0, 82% 0, 100% 100%, 0 100%); }
[dir="rtl"] .folder__back::before { left: auto; right: 0; clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%); }
.folder__paper { position: absolute; inset: 3% 9% 15%; overflow: hidden; padding: 11% 9%; border-radius: 3px; background: var(--white); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.14); color: var(--ink); font-weight: 650; font-size: clamp(0.5rem, 0.36rem + 0.3vw, 0.7rem); line-height: 1.25; letter-spacing: -0.01em; text-align: start; transform: translateY(16%); transition: transform 0.55s var(--ease-out); }
.folder__paper span { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.folder__paper--2 { inset: 7% 5% 15% 13%; padding: 0; background: #F2F2EF; transform: translateY(20%) rotate(3deg); }
.folder__front { position: absolute; inset: 24% 0 0; border-radius: 5px 5px 9px 9px; background: linear-gradient(180deg, var(--ft), var(--fbm)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35); transform-origin: 50% 100%; transition: transform 0.55s var(--ease-out); }
.folder:hover .folder__front, .folder:focus-visible .folder__front, .folder.is-open .folder__front { transform: rotateX(-32deg); }
.folder:hover .folder__paper, .folder:focus-visible .folder__paper, .folder.is-open .folder__paper { transform: translateY(-30%); }
.folder:hover .folder__paper--2, .folder:focus-visible .folder__paper--2, .folder.is-open .folder__paper--2 { transform: translateY(-10%) rotate(5deg); }
.folder__label { font-weight: 600; font-size: clamp(0.76rem, 0.62rem + 0.5vw, 1.05rem); line-height: 1.15; letter-spacing: -0.01em; text-transform: uppercase; }
.folder__desc, .folder__open { display: none; }
.finder[data-view="list"] .folders { grid-template-columns: 1fr; gap: 0; }
.finder[data-view="list"] .folders__item { border-bottom: 1px solid var(--line-strong); }
.finder[data-view="list"] .folder { flex-direction: row; align-items: center; gap: clamp(14px, 2.4vw, 32px); padding-block: 14px; text-align: start; }
.finder[data-view="list"] .folder__icon { width: 56px; }
.finder[data-view="list"] .folder__paper { display: none; }
.finder[data-view="list"] .folder__label { flex: 0 0 clamp(150px, 22vw, 300px); }
.finder[data-view="list"] .folder__desc { display: block; flex: 1; font-size: 0.95rem; color: var(--muted); }
.finder[data-view="list"] .folder__open { display: inline-flex; align-items: center; gap: 0.4em; font-weight: 600; font-size: 0.85rem; }
.finder[data-view="list"] .folder:hover .folder__label { color: var(--red); }
@media (max-width: 700px) { .finder[data-view="list"] .folder__desc, .finder[data-view="list"] .folder__open { display: none; } }

/* ---------- Page 4: values chain ---------- */
.values { position: relative; padding-block: var(--sec); }
.values__head { margin-bottom: clamp(40px, 6vw, 90px); text-align: center; }
.values__title { margin: 0; font-size: clamp(2.3rem, 1rem + 5.6vw, 6.6rem); line-height: 0.94; letter-spacing: -0.06em; }
.chain { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.chain__item { display: flex; flex-direction: column; align-items: center; text-align: center; }
.chain__oval { position: relative; display: grid; place-items: center; width: 112%; aspect-ratio: 400 / 240; color: var(--red); }
.chain__oval svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2.6; }
.js .chain__oval ellipse { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.5s var(--ease-out) calc(var(--i) * 0.28s); }
.js .chain.is-in .chain__oval ellipse { stroke-dashoffset: 0; }
.chain__name { margin: 0; color: var(--red); font-weight: 800; font-size: clamp(1.05rem, 0.5rem + 2vw, 2.5rem); line-height: 0.98; letter-spacing: -0.045em; text-transform: uppercase; }
.chain__name span { display: block; }
.chain__text { max-width: 30ch; margin: clamp(16px, 2vw, 28px) 0 0; color: var(--muted); }
@media (max-width: 760px) {
	.chain { grid-template-columns: 1fr; gap: 6px; }
	.chain__item { flex-direction: row; align-items: center; gap: 16px; text-align: start; }
	.chain__oval { flex: none; width: 46%; max-width: 230px; }
	.chain__name { font-size: clamp(0.9rem, 0.6rem + 1.6vw, 1.2rem); }
	.chain__text { margin: 0; font-size: 0.95rem; }
	.chain__item:nth-child(even) { flex-direction: row-reverse; text-align: end; }
}

/* ---------- Page 5: exhibition ---------- */
.exhibit { position: relative; background: var(--ink); color: var(--paper); }
.exhibit__pin { padding-block: clamp(64px, 8vw, 130px) clamp(36px, 5vw, 70px); overflow: hidden; }
.exhibit__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); align-items: end; gap: 14px 40px; }
.exhibit__head .braces-label { grid-column: 1 / -1; margin: 0; }
.exhibit__title { margin: 0; font-size: clamp(2.4rem, 1rem + 5.8vw, 7rem); line-height: 0.92; letter-spacing: -0.06em; }
.exhibit__intro { margin: 0; color: var(--muted-light); max-width: 46ch; }
@media (max-width: 860px) { .exhibit__head { grid-template-columns: 1fr; } }
.exhibit__viewport { margin-top: clamp(30px, 4.4vw, 64px); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.exhibit__viewport::-webkit-scrollbar { display: none; }
.exhibit__track { display: flex; gap: clamp(16px, 2.6vw, 44px); width: max-content; margin: 0; padding: 0 var(--gutter); list-style: none; }
.print { flex: none; width: clamp(236px, 27vw, 430px); scroll-snap-align: center; }
.print__frame { position: relative; display: block; margin: 0; aspect-ratio: 1117 / 1500; overflow: hidden; background: var(--ink-2); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.9); }
.print__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--ease-out); }
.print:hover .print__img { transform: scale(1.035); }
.print__caption { display: flex; gap: 14px; margin-top: 16px; }
.print__no { padding-top: 0.25em; font: 500 0.78rem/1 var(--font-mono); opacity: 0.55; }
.print__title { margin: 0; font-size: clamp(1rem, 0.9rem + 0.45vw, 1.32rem); letter-spacing: -0.035em; }
.print__meta { margin: 6px 0 0; font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted-light); }
.print__frame--empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 24px; border: 1.5px dashed rgba(235, 235, 233, 0.45); background: transparent; box-shadow: none; color: var(--paper); text-align: center; text-decoration: none; transition: border-color 0.3s, background-color 0.3s; }
.print__frame--empty:hover { border-color: var(--red-bright); background: rgba(196, 42, 16, 0.08); color: var(--paper); }
.print__empty-tag { position: absolute; top: 18px; inset-inline-end: 18px; padding: 0.32em 0.62em 0.38em; background: var(--red); font-style: italic; font-weight: 500; font-size: 0.9rem; line-height: 1; }
.print__empty-title { font-weight: 700; font-size: clamp(1.8rem, 1.2rem + 2vw, 3.2rem); line-height: 0.95; letter-spacing: -0.055em; }
.print__empty-cta { font-weight: 600; font-size: clamp(1rem, 0.9rem + 0.6vw, 1.4rem); letter-spacing: -0.04em; }
.exhibit__foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: clamp(24px, 3vw, 40px); }
.exhibit__progress { position: relative; flex: 1; max-width: 420px; height: 2px; background: var(--line-light); }
.exhibit__progress i { position: absolute; inset: 0; background: var(--red-bright); transform-origin: left; transform: scaleX(var(--ep, 0)); }
[dir="rtl"] .exhibit__progress i { transform-origin: right; }
.exhibit__hint { display: inline-flex; align-items: center; gap: 0.5em; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.7; }
.exhibit__hint-touch { display: none; }
.exhibit:not(.is-pinned) .exhibit__hint-touch { display: inline; }
.exhibit:not(.is-pinned) .exhibit__hint-scroll { display: none; }
.exhibit.is-pinned { height: var(--exhibit-h, 300vh); }
.exhibit.is-pinned .exhibit__pin { position: sticky; top: 0; display: flex; flex-direction: column; justify-content: center; height: 100vh; height: 100svh; padding-block: calc(var(--header-h) + 8px) clamp(20px, 3vh, 40px); }
.exhibit.is-pinned .exhibit__viewport { overflow: visible; scroll-snap-type: none; margin-top: clamp(18px, 3.4vh, 40px); }
.exhibit.is-pinned .exhibit__track { transform: translate3d(var(--tx, 0px), 0, 0); will-change: transform; }
.exhibit.is-pinned .print { width: min(26vw, 40vh); }
.exhibit.is-pinned .exhibit__title { font-size: clamp(2.2rem, 0.6rem + 4.6vh, 5.2rem); }

/* ---------- Sections shared ---------- */
.section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 28px; margin-bottom: clamp(32px, 5vw, 72px); }
.section-head .braces-label { width: 100%; margin: 0; }
.section-head__title { margin: 0; font-size: clamp(2.2rem, 1rem + 4.6vw, 5.6rem); line-height: 0.95; letter-spacing: -0.06em; }

/* ---------- Work cards ---------- */
.home-work { padding-block: var(--sec) 0; }
.work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 64px) clamp(16px, 2.6vw, 40px); }
.work-grid--archive .work-card:nth-child(4n+2), .work-grid--archive .work-card:nth-child(4n+3) { }
@media (min-width: 900px) { .work-grid > .work-card:nth-child(even) { margin-top: clamp(40px, 8vw, 140px); } }
@media (max-width: 700px) { .work-grid { grid-template-columns: 1fr; } }
.work-card__link { display: block; color: inherit; text-decoration: none; }
.work-card__link:hover { color: inherit; }
.work-card__media { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--scan); }
.work-card__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--ease-out), filter 0.6s; }
.work-card__link:hover .work-card__img { transform: scale(1.03); }
.work-card__placeholder { display: grid; place-items: center; height: 100%; padding: 18%; color: rgba(14, 14, 14, 0.18); }
.work-card__body { padding-top: 16px; }
.work-card__title { margin: 0; font-size: clamp(1.3rem, 1rem + 1.2vw, 2.2rem); letter-spacing: -0.045em; }
.work-card__meta { margin: 6px 0 0; color: var(--muted); font-size: 0.85rem; letter-spacing: 0.04em; text-transform: uppercase; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.tags li, .tags a { display: inline-block; padding: 0.3em 0.8em; border: 1px solid var(--line-strong); border-radius: 999px; font-size: 0.75rem; font-weight: 600; text-decoration: none; text-transform: uppercase; letter-spacing: 0.04em; }

/* ---------- Page 6: process ---------- */
.process { position: relative; padding-block: var(--sec); }
.steps { --ring: clamp(66px, 6vw, 96px); position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin: 0; padding: 0; list-style: none; }
.steps::before { content: ""; position: absolute; top: calc(var(--ring) / 2); inset-inline: 0; height: 1.5px; background: var(--ink); transform-origin: left; transition: transform 1.8s var(--ease-out); }
[dir="rtl"] .steps::before { transform-origin: right; }
.js .steps:not(.is-in)::before { transform: scaleX(0); }
.step { position: relative; }
.step__ring { position: relative; display: grid; place-items: center; width: var(--ring); height: var(--ring); border: 1.5px solid var(--ink); border-radius: 50%; background: var(--paper); font: 500 0.95rem/1 var(--font-mono); transition: background-color 0.35s, color 0.35s, border-color 0.35s, transform 0.5s var(--ease-out); }
.step__ring::after { content: ""; position: absolute; inset: -1.5px; border: 1.5px solid var(--ink); border-radius: 50%; transform: translateX(28%); opacity: 0.35; }
.step:hover .step__ring { background: var(--red); border-color: var(--red); color: var(--white); }
.step__title { margin: 22px 0 8px; font-size: clamp(1.25rem, 1rem + 0.9vw, 1.8rem); letter-spacing: -0.04em; }
.step__text { max-width: 32ch; margin: 0; color: var(--muted); }
@media (max-width: 900px) {
	.steps { grid-template-columns: 1fr 1fr; row-gap: 40px; }
	.steps::before { display: none; }
}
@media (max-width: 560px) { .steps { grid-template-columns: 1fr; } }

/* ---------- Numbers ---------- */
.numbers { position: relative; padding-block: clamp(56px, 7vw, 116px); color: var(--ink); }
.numbers__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; margin: 0; padding: 0; list-style: none; }
.numbers__item { display: flex; flex-direction: column; gap: 12px; padding-inline-start: clamp(14px, 1.6vw, 24px); border-inline-start: 1.5px solid var(--ink); }
.numbers__value { font-weight: 700; font-size: clamp(3rem, 1.5rem + 6vw, 8.4rem); line-height: 0.86; letter-spacing: -0.065em; }
.numbers__item:first-child .numbers__value { color: var(--red); }
.numbers__label { max-width: 22ch; color: var(--ink-2); font-weight: 600; font-size: 0.8rem; letter-spacing: 0.05em; text-transform: uppercase; }
@media (max-width: 860px) { .numbers__list { grid-template-columns: 1fr 1fr; } }

/* ---------- Clients rail ---------- */
.clients { padding-block: var(--sec) calc(var(--sec) * 0.7); overflow: hidden; }
.logo-rail { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); direction: ltr; }
.logo-rail + .logo-rail { margin-top: 18px; }
.logo-rail__track { display: flex; align-items: center; gap: clamp(28px, 4vw, 64px); width: max-content; margin: 0; padding: 0; list-style: none; animation: lynked-rail 60s linear infinite; }
.logo-rail--reverse .logo-rail__track { animation-direction: reverse; }
.logo-rail:hover .logo-rail__track { animation-play-state: paused; }
.logo-rail__item img { display: block; width: auto; height: clamp(54px, 5.6vw, 88px); max-width: 230px; object-fit: contain; flex: none; filter: grayscale(1) contrast(1.1); mix-blend-mode: multiply; opacity: 0.75; transition: filter 0.4s, opacity 0.4s; }
.logo-rail__item img:hover { filter: none; opacity: 1; }
@keyframes lynked-rail { to { transform: translateX(-50%); } }

/* ---------- Journal cards ---------- */
.home-journal { padding-block: 0 var(--sec); }
.post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 44px) clamp(16px, 2.4vw, 32px); }
@media (max-width: 900px) { .post-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .post-grid { grid-template-columns: 1fr; } }
.post-card__link { display: block; color: inherit; text-decoration: none; }
.post-card__link:hover { color: inherit; }
.post-card__media { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--scan); }
.post-card__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--ease-out); }
.post-card__link:hover .post-card__img { transform: scale(1.04); }
.post-card__placeholder { display: grid; place-items: center; height: 100%; padding: 16%; color: var(--red); opacity: 0.85; }
.post-card__placeholder svg { width: 100%; height: auto; }
.post-card__body { padding-top: 16px; }
.post-card__cat { margin: 0 0 8px; font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; }
.post-card__title { margin: 0; font-size: clamp(1.2rem, 1rem + 0.7vw, 1.6rem); letter-spacing: -0.04em; transition: color 0.3s; }
.post-card__link:hover .post-card__title { color: var(--red); }
.post-meta { margin: 10px 0 0; color: var(--muted); font-size: 0.8rem; letter-spacing: 0.04em; text-transform: uppercase; }

/* ---------- Closing poster ---------- */
.cta-poster { position: relative; overflow: hidden; background: var(--ink); color: var(--paper); padding-block: clamp(36px, 5vw, 70px) clamp(64px, 9vw, 140px); isolation: isolate; }
.cta-poster__inner { position: relative; z-index: 1; }
.cta-poster .masthead { margin-bottom: clamp(40px, 7vw, 120px); }
.cta-poster .kicker { color: var(--paper); }
.cta-poster__title { margin: 0.18em 0 0; font-weight: 600; font-size: clamp(2.6rem, 0.6rem + 8.6vw, 11rem); line-height: 1; letter-spacing: -0.065em; }
.cta-poster__title .braces-link:hover { color: var(--paper); }
.cta-poster__row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px 40px; margin-top: clamp(36px, 6vw, 96px); }
.cta-poster__text { max-width: 44ch; margin: 0; color: var(--muted-light); }
.cta-poster__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cta-poster__ar { position: absolute; z-index: 0; inset-inline: 4% 4%; bottom: clamp(8px, 1.5vw, 24px); color: var(--red); opacity: 0.22; pointer-events: none; }
.cta-poster__ar svg { display: block; width: 100%; height: auto; }
@media (max-width: 980px) { .cta-poster__row { grid-template-columns: 1fr; justify-items: start; } }

/* ---------- Footer ---------- */
.site-footer { position: relative; overflow: hidden; background: var(--ink); color: var(--paper); border-top: 1px solid var(--line-light); }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { color: var(--red-bright); }
.site-footer__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; padding-block: clamp(44px, 6vw, 88px) clamp(28px, 3vw, 44px); border-bottom: 1px solid var(--line-light); }
.site-footer__logo { display: block; color: var(--paper); line-height: 0; }
.logo-primary { width: clamp(210px, 22vw, 330px); height: auto; }
.logo-primary .ar { fill: #8C8C8C; }
.site-footer__tagline { max-width: 30ch; margin: 0; color: var(--muted-light); font-size: clamp(1rem, 0.9rem + 0.4vw, 1.25rem); }
.site-footer__cols { display: grid; grid-template-columns: 1.1fr 0.8fr 1.3fr; gap: 36px; padding-block: clamp(36px, 4vw, 60px); }
.site-footer__h { margin: 0 0 16px; font: 500 0.72rem/1 var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted-light); }
.site-footer__col ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.site-footer__col .socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.site-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 26px; padding-block: 22px; border-top: 1px solid var(--line-light); color: var(--muted-light); font-size: 0.8rem; }
.site-footer__bottom p { margin: 0; }
.site-footer__legal { display: flex; gap: 18px; margin: 0; padding: 0; list-style: none; }
.go-up { position: fixed; z-index: 90; inset-inline-end: clamp(14px, 2.4vw, 32px); bottom: clamp(14px, 2.4vw, 32px); display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: 50%; background: rgba(235, 235, 233, 0.72); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 10px 30px rgba(14, 14, 14, 0.18); color: var(--ink); opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity 0.35s, transform 0.35s var(--ease-out), background-color 0.3s, color 0.3s; }
.go-up.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.go-up:hover, .go-up:focus-visible { background: var(--red); color: var(--white); }
.go-up .icon { position: relative; width: 20px; height: 20px; }
.go-up__ring { position: absolute; inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); transform: rotate(-90deg); fill: none; stroke: var(--red); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--gp, 0) * 100); }
.go-up:hover .go-up__ring { stroke: var(--white); }
@media print { .go-up { display: none; } }
.to-top { display: inline-flex; align-items: center; gap: 0.45em; margin-inline-start: auto; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; }
.site-footer__giant { margin: clamp(10px, 2vw, 30px) var(--gutter) -3.4%; color: #1A1A1A; line-height: 0; }
.site-footer__giant svg { display: block; width: 100%; height: auto; }
@media (max-width: 860px) { .site-footer__cols { grid-template-columns: 1fr 1fr; } .site-footer__col:last-child { grid-column: 1 / -1; } }
@media (max-width: 520px) { .site-footer__cols { grid-template-columns: 1fr; } }

/* ==========================================================================
   INNER PAGES
   ========================================================================== */
.page-head { position: relative; padding-bottom: clamp(40px, 6vw, 100px); }
.page-head__kicker { margin-top: clamp(28px, 4vw, 56px); }
.page-head__title { margin: clamp(24px, 4vw, 60px) 0 0; font-size: clamp(2.6rem, 0.8rem + 7.4vw, 9rem); line-height: 0.9; letter-spacing: -0.065em; }
.page-head__title--label .label-box { font-size: clamp(2.2rem, 0.9rem + 5.6vw, 6.6rem); }
.page-head__intro { max-width: 44ch; margin: clamp(18px, 2.4vw, 32px) 0 0; font-size: clamp(1.05rem, 0.95rem + 0.6vw, 1.5rem); line-height: 1.45; }
.page-head--scan { padding-bottom: clamp(20px, 3vw, 40px); }
.listing { padding-block: clamp(8px, 2vw, 24px) var(--sec); }

.filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: clamp(30px, 4vw, 56px); }
.chip-link { display: inline-flex; padding: 0.55em 1.1em; border: 1.5px solid var(--ink); border-radius: 999px; font-weight: 600; font-size: 0.85rem; text-decoration: none; transition: background-color 0.25s, color 0.25s; }
.chip-link:hover, .chip-link.is-active { background: var(--ink); color: var(--paper); }

.pagination, .nav-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: clamp(40px, 5vw, 72px); }
.page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1.5px solid var(--line-strong); border-radius: 999px; font-weight: 600; text-decoration: none; }
.page-numbers.current { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.page-numbers:hover { border-color: var(--ink); color: var(--ink); }

/* Services archive index */
.services--page { padding-top: clamp(20px, 3vw, 40px); }
.service-index { padding-block: var(--sec); }
.service-index__list { margin: 0; padding: 0; list-style: none; border-top: 1.5px solid var(--ink); }
.service-index__item { padding-block: clamp(20px, 2.4vw, 34px); border-bottom: 1px solid var(--line-strong); }
.service-index__link { display: grid; grid-template-columns: 3.4em minmax(0, 1.1fr) minmax(0, 1.4fr) auto; align-items: baseline; gap: 12px 28px; color: inherit; text-decoration: none; }
.service-index__no { font: 500 0.9rem var(--font-mono); opacity: 0.6; }
.service-index__title { font-weight: 700; font-size: clamp(1.5rem, 1rem + 2vw, 3rem); line-height: 1; letter-spacing: -0.05em; transition: color 0.3s; }
.service-index__text { color: var(--muted); }
.service-index__go { width: 46px; height: 46px; display: grid; place-items: center; border: 1.5px solid var(--ink); border-radius: 50%; transition: background-color 0.3s, color 0.3s, transform 0.4s var(--ease-out); }
.service-index__link:hover .service-index__title { color: var(--red); }
.service-index__link:hover .service-index__go { background: var(--red); border-color: var(--red); color: var(--white); transform: rotate(45deg); }
.files { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.files li { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 12px; background: var(--paper-2); box-shadow: 0 1px 0 var(--line); font-weight: 600; font-size: 0.95rem; line-height: 1.25; }
.files .icon { width: 26px; height: 26px; padding: 4px; border-radius: 6px; background: var(--blue); color: var(--white); }
.files--compact { margin-top: 18px; margin-inline-start: calc(3.4em + 28px); grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 8px; }
.files--compact li { padding: 9px 12px; font-size: 0.82rem; background: transparent; box-shadow: inset 0 0 0 1px var(--line); }
.files--compact .icon { width: 20px; height: 20px; padding: 3px; }
@media (max-width: 760px) {
	.service-index__link { grid-template-columns: 2.4em minmax(0, 1fr) auto; }
	.service-index__text { grid-column: 2 / -1; }
	.files--compact { margin-inline-start: 0; }
}

/* Single service */
.service-hero { position: relative; padding-bottom: clamp(48px, 7vw, 120px); }
.service-hero__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); align-items: center; gap: 40px; padding-top: clamp(28px, 4vw, 60px); }
.service-hero__title { margin: 18px 0 0; font-size: clamp(2.6rem, 0.8rem + 6.6vw, 8.4rem); line-height: 0.9; letter-spacing: -0.065em; text-transform: uppercase; }
.service-hero__tagline { margin: 22px 0 0; font-weight: 600; font-size: clamp(1.15rem, 1rem + 1vw, 2rem); letter-spacing: -0.04em; }
.service-hero__folder { justify-self: center; }
.service-hero__folder .folder__icon { width: clamp(200px, 26vw, 400px); }
.service-hero__folder .folder__paper { font-size: clamp(0.8rem, 0.5rem + 0.8vw, 1.25rem); padding: 9% 9%; }
@media (max-width: 860px) { .service-hero__grid { grid-template-columns: 1fr; } .service-hero__folder { justify-self: start; } }
.service-files { padding-block: clamp(48px, 6vw, 96px) 0; }
.service-content { padding-block: clamp(40px, 6vw, 90px); }
.why { padding-block: 0 var(--sec); }
.svc-request + .why { padding-top: var(--sec); }

/* ---------- Service page (v1.1): what we do, fit, plans, request, FAQ ---------- */
.glass { border: 1px solid rgba(255, 255, 255, 0.85); background: rgba(255, 255, 255, 0.45); -webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%); box-shadow: 0 10px 30px rgba(14, 14, 14, 0.07); }
.glass--dark { border-color: rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.07); box-shadow: none; }
.btn--glass { border-color: rgba(255, 255, 255, 0.75); background: rgba(255, 255, 255, 0.38); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: var(--ink); }

.service-hero__intro { max-width: 62ch; margin: 22px 0 0; font-size: clamp(1rem, 0.95rem + 0.2vw, 1.1rem); line-height: 1.7; }
.service-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.svc-what { margin-top: clamp(56px, 7vw, 110px); padding-block: clamp(64px, 8vw, 130px); background: radial-gradient(50% 60% at 10% 20%, rgba(45, 150, 252, 0.14), transparent 60%), radial-gradient(45% 60% at 95% 80%, rgba(196, 42, 16, 0.12), transparent 60%); }
.svc-what__lead { max-width: 60ch; margin: 22px 0 clamp(28px, 4vw, 48px); font-size: clamp(1rem, 0.95rem + 0.3vw, 1.2rem); line-height: 1.7; }
.svc-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1000px) { .svc-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .svc-cards { grid-template-columns: 1fr; } }
.svc-card { padding: clamp(22px, 2.4vw, 30px); border-radius: 22px; transition: transform 0.45s var(--ease-out), box-shadow 0.45s; }
.svc-card:hover { transform: translateY(-6px); box-shadow: 0 22px 48px rgba(14, 14, 14, 0.14); }
.svc-card__top { display: flex; justify-content: space-between; align-items: baseline; margin: 0; font: 500 0.8rem var(--font-mono); }
.svc-card__no { color: var(--red); }
.svc-card__kicker { color: var(--muted); letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.7rem; }
.svc-card__title { margin: 14px 0 10px; font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.55rem); letter-spacing: -0.03em; }
.svc-card__text { margin: 0 0 16px; font-size: 0.95rem; line-height: 1.65; color: var(--ink-2); }
.svc-card__list { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--line); list-style: none; font-weight: 600; font-size: 0.88rem; }
.svc-card__list li { display: flex; gap: 10px; }
.svc-card__list li::before { content: "●"; color: var(--blue); font-size: 0.7em; line-height: 1.9; }
.svc-fit { padding-block: clamp(40px, 6vw, 90px) clamp(56px, 7vw, 110px); }
.svc-fit__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 88px); }
@media (max-width: 860px) { .svc-fit__grid { grid-template-columns: 1fr; } }
.svc-h2 { margin: 0 0 22px; font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); letter-spacing: -0.045em; }
.svc-who { margin: 0; padding: 0; border-top: 2px solid var(--ink); list-style: none; }
.svc-who li { display: flex; flex-direction: column; gap: 6px; padding: 18px 0; border-bottom: 1px solid var(--ink); }
.svc-who strong { font-size: 1.1rem; }
.svc-who span { color: var(--muted); line-height: 1.6; }
.svc-steps { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.svc-steps li { display: flex; gap: 18px; align-items: flex-start; padding: 18px 20px; border-radius: 18px; }
.svc-steps__no { display: grid; flex: none; place-items: center; width: 58px; height: 44px; border-radius: 50%; background: var(--red); color: var(--white); font: 500 0.85rem var(--font-mono); }
.svc-steps li:nth-child(even) .svc-steps__no { background: var(--ink); }
.svc-steps li > span:last-child { display: flex; flex-direction: column; gap: 4px; }
.svc-steps strong { font-size: 1.05rem; }
.svc-steps li > span:last-child > span { color: var(--muted); line-height: 1.55; }
.svc-plans { padding-block: clamp(64px, 8vw, 120px); }
.svc-plans__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: clamp(26px, 3vw, 40px); }
@media (max-width: 900px) { .svc-plans__grid { grid-template-columns: 1fr; } }
.svc-plan { display: flex; flex-direction: column; gap: 16px; padding: clamp(24px, 2.6vw, 34px); border-radius: 24px; }
.svc-plan--dark { background: rgba(14, 14, 14, 0.88); color: var(--paper); border-color: rgba(255, 255, 255, 0.2); }
.svc-plan__name { margin: 0; font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); letter-spacing: -0.04em; }
.svc-plan ul { margin: 0; padding-inline-start: 20px; line-height: 1.9; }
.svc-plan__cta { display: inline-flex; align-items: center; gap: 0.5em; margin-top: auto; color: inherit; font-weight: 800; text-decoration: none; }
.svc-plan__cta:hover { color: var(--red); }
.svc-request { position: relative; overflow: hidden; padding-block: clamp(72px, 9vw, 140px); background: var(--ink); color: var(--paper); isolation: isolate; }
.svc-request::before, .svc-request::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(10px); }
.svc-request::before { left: -10%; top: -30%; width: 60%; height: 120%; background: radial-gradient(closest-side, rgba(45, 150, 252, 0.28), transparent); }
.svc-request::after { right: -10%; bottom: -40%; width: 55%; height: 120%; background: radial-gradient(closest-side, rgba(196, 42, 16, 0.3), transparent); }
.svc-request .braces-label { color: var(--muted-light); }
.svc-request__lede { max-width: 60ch; margin: 0 0 clamp(28px, 4vw, 44px); color: var(--muted-light); font-size: clamp(1rem, 0.95rem + 0.25vw, 1.15rem); line-height: 1.6; }
.btn--wa { background-color: #25D366; color: var(--ink); --sweep: var(--white); }
.btn--wa:hover, .btn--wa:focus-visible { color: var(--ink); }
.svc-request__title { margin: 14px 0 18px; font-size: clamp(2.2rem, 1.2rem + 4vw, 5rem); line-height: 1; letter-spacing: -0.05em; }
.svc-request__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 24px clamp(24px, 4vw, 56px); align-items: start; }
@media (max-width: 960px) { .svc-request__grid { grid-template-columns: 1fr; } }
.svc-request__form { padding: clamp(22px, 3vw, 40px); border-radius: 26px; }
.svc-request .lform label { color: var(--paper); }
.svc-request .lform__note { color: var(--muted-light); }
.svc-request__side { display: flex; flex-direction: column; gap: 16px; }
.svc-wa { padding: 28px; border-radius: 26px; }
.svc-wa__title { margin: 0; font-weight: 800; font-size: 1.4rem; letter-spacing: -0.02em; }
.svc-wa__text { margin: 8px 0 18px; color: var(--muted-light); line-height: 1.6; font-size: 0.95rem; }
.svc-wa__bubble { margin: 0; padding: 14px 16px; border-radius: 16px 16px 4px 16px; background: #DCF8C6; color: var(--ink); font-size: 0.9rem; line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25); }
[dir="rtl"] .svc-wa__bubble { border-radius: 16px 16px 16px 4px; }
.svc-wa__btn { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; margin-top: 18px; padding: 14px; border-radius: 999px; background: #25D366; color: var(--ink); font-weight: 800; text-decoration: none; }
.svc-wa__btn:hover { background: #1EBE5A; color: var(--ink); }
.svc-contact { display: flex; flex-direction: column; gap: 6px; padding: 20px 24px; border-radius: 22px; line-height: 1.6; }
.svc-contact a { color: var(--paper); }
.svc-contact span { color: var(--muted-light); font-size: 0.92rem; }
.svc-faq { padding-block: 0 var(--sec); }
.faq { display: flex; flex-direction: column; gap: 10px; }
.faq__item { padding: 20px 24px; border-radius: 18px; }
.faq__item summary { cursor: pointer; font-weight: 800; font-size: clamp(1rem, 0.95rem + 0.25vw, 1.15rem); list-style-position: outside; }
.faq__item p { margin: 12px 0 0; line-height: 1.7; color: var(--ink-2); }
.svc-read { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding: 22px 26px; border-radius: 22px; color: var(--ink); text-decoration: none; transition: transform 0.4s var(--ease-out); }
.svc-faq .faq + .svc-read { margin-top: clamp(32px, 4vw, 56px); }
.svc-read:hover { transform: translateY(-4px); color: var(--ink); }
.svc-read > span:first-child { display: flex; flex-direction: column; gap: 4px; }
.svc-read__kicker { font: 500 0.72rem var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--red); }
.svc-read strong { font-size: clamp(1.05rem, 1rem + 0.3vw, 1.3rem); }
.svc-read__go { display: inline-flex; align-items: center; gap: 0.4em; font-weight: 800; }
.why__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: clamp(26px, 3vw, 44px) 0 0; padding: 0; list-style: none; }
.why__list li { padding-top: 18px; border-top: 1.5px solid var(--ink); }
.why__no { display: block; margin-bottom: 14px; font: 500 0.85rem var(--font-mono); color: var(--red); }
.why__list p { margin: 0; font-weight: 600; font-size: clamp(1.05rem, 0.95rem + 0.45vw, 1.35rem); line-height: 1.35; letter-spacing: -0.025em; }
@media (max-width: 860px) { .why__list { grid-template-columns: 1fr; } }
.next-folder { border-top: 1px solid var(--line-strong); }
.next-folder__link { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px 24px; padding-block: clamp(36px, 5vw, 80px); color: inherit; text-decoration: none; }
.next-folder__link .kicker { grid-column: 1 / -1; }
.next-folder__title { font-weight: 700; font-size: clamp(2rem, 1rem + 4.4vw, 5.8rem); line-height: 0.95; letter-spacing: -0.06em; transition: color 0.3s; }
.next-folder__link .icon { width: clamp(36px, 4vw, 64px); height: auto; transition: transform 0.5s var(--ease-out); }
.next-folder__link:hover .next-folder__title { color: var(--red); }
.next-folder__link:hover .icon { transform: translateX(8px); }

/* Case study */
.case__head { padding-bottom: clamp(36px, 5vw, 80px); }
.case__head .back-link { margin-top: clamp(26px, 3vw, 44px); }
.case__title { margin: 16px 0 0; font-size: clamp(2.6rem, 0.8rem + 6.4vw, 8rem); line-height: 0.9; letter-spacing: -0.065em; max-width: 14ch; }
.case__lede { max-width: 46ch; margin: 24px 0 0; font-size: clamp(1.05rem, 0.95rem + 0.6vw, 1.5rem); line-height: 1.45; }
.case__facts { display: flex; flex-wrap: wrap; gap: 18px clamp(24px, 4vw, 64px); margin: clamp(26px, 3vw, 44px) 0 0; padding-top: 18px; border-top: 1px solid var(--line-strong); }
.case__facts dt { margin-bottom: 4px; font: 500 0.7rem var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.case__facts dd { margin: 0; font-weight: 600; }
.case__cover { margin-block: 0; }
.case__cover img { display: block; width: 100%; max-height: 92vh; object-fit: cover; object-position: 50% 42%; }
.case__content { padding-block: clamp(40px, 6vw, 96px); }

/* Case study: campaigns (Ingaz Motors and future multi-campaign projects) */
.entry-content > :is(.case-stats, .campaign-head, .ig-feed, .results-table, .results-bars) { width: min(100% - 2 * var(--gutter), 1280px); }
.case-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: clamp(30px, 4vw, 56px) auto 0; padding: 0; list-style: none; border-top: 1.5px solid var(--ink); }
.case-stats li { display: grid; gap: 6px; padding: 18px clamp(12px, 2vw, 28px) 0 0; font-size: 1rem; }
.case-stats li + li { padding-inline-start: clamp(12px, 2vw, 28px); border-inline-start: 1px solid var(--line-strong); }
.case-stats strong { font-size: clamp(2.4rem, 1.2rem + 4vw, 5rem); font-weight: 800; line-height: 0.9; letter-spacing: -0.06em; }
.case-stats li:first-child strong { color: var(--red); }
.case-stats span { max-width: 22ch; font: 500 0.72rem/1.5 var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.entry-content > .campaign-head { margin-top: clamp(56px, 8vw, 120px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px clamp(24px, 4vw, 64px); align-items: end; padding-top: 18px; border-top: 1.5px solid var(--ink); }
.campaign-head__kicker { grid-column: 1 / -1; margin: 0; font: 500 0.72rem var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--red); }
.entry-content .campaign-head__title { margin: 0; font-size: clamp(2.2rem, 1rem + 4.4vw, 5.4rem); line-height: 0.92; letter-spacing: -0.065em; }
.entry-content .campaign-head__ar { margin: 0; font-family: var(--font-ar); font-size: clamp(1.25rem, 1rem + 1.2vw, 2.1rem); font-weight: 700; line-height: 1.35; letter-spacing: 0; text-align: right; }
.entry-content .campaign-head__text { grid-column: 1 / -1; max-width: 62ch; margin: 8px 0 0; color: var(--muted); }
.entry-content > .campaign-gallery { margin-top: clamp(22px, 3vw, 36px); }
.entry-content .campaign-gallery.wp-block-gallery { gap: clamp(10px, 1.4vw, 18px); }
.campaign-gallery .wp-block-image { overflow: hidden; border-radius: 10px; background: var(--ink); box-shadow: 0 1px 0 var(--line); transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out); }
.campaign-gallery .wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; transition: transform 0.8s var(--ease-out); }
.campaign-gallery .wp-block-image:hover { transform: translateY(-6px); box-shadow: 0 0 0 2px var(--red), 0 26px 50px -22px rgba(14, 14, 14, 0.6); }
.campaign-gallery .wp-block-image:hover img { transform: scale(1.04); }
.entry-content > .ig-feed { margin-top: clamp(64px, 9vw, 140px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(28px, 5vw, 80px); align-items: center; padding: clamp(28px, 5vw, 72px); border-radius: 28px; background: radial-gradient(120% 90% at 85% 20%, rgba(196, 42, 16, 0.42), transparent 60%), radial-gradient(80% 70% at 10% 100%, rgba(45, 150, 252, 0.28), transparent 60%), var(--ink); color: var(--paper); overflow: hidden; }
.ig-feed .campaign-head__text { color: var(--muted-light); }
.ig-feed .campaign-head__kicker { color: #FF8A73; }
.ig-feed__chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 26px; padding: 0; list-style: none; }
.entry-content .ig-feed__chips li { padding: 8px 14px; border: 1px solid var(--line-light); border-radius: 999px; background: rgba(255, 255, 255, 0.06); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); font-size: 0.85rem; line-height: 1.3; }
.ig-feed__chips b { color: var(--white); font-weight: 800; }
.entry-content .ig-feed a.btn { color: var(--paper); text-decoration: none; }
.entry-content .ig-feed a.btn:hover { color: var(--white); }
.ig-phone { position: relative; justify-self: center; width: min(100%, 330px); margin: 0 !important; padding: 30px 12px 14px; border-radius: 46px; background: linear-gradient(145deg, #2A2A2A, #0B0B0B); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.14), 0 40px 80px -30px rgba(0, 0, 0, 0.9), 0 0 120px -20px rgba(196, 42, 16, 0.55); transform: rotate(-4deg); transition: transform 0.8s var(--ease-out); }
.ig-feed:hover .ig-phone { transform: rotate(0deg) translateY(-6px); }
.ig-phone img { display: block; width: 100%; height: auto; border-radius: 10px 10px 34px 34px; }
.ig-phone__notch { position: absolute; top: 12px; left: 50%; z-index: 1; width: 64px; height: 8px; border-radius: 999px; background: #000; transform: translateX(-50%); }
@media (max-width: 760px) {
	.case-stats { grid-template-columns: 1fr; }
	.case-stats li + li { padding-inline-start: 0; border-inline-start: 0; border-top: 1px solid var(--line-strong); margin-top: 16px; }
	.entry-content > .campaign-head { grid-template-columns: 1fr; }
	.entry-content .campaign-head__ar { text-align: right; }
	.entry-content > .ig-feed { grid-template-columns: 1fr; border-radius: 22px; }
	.ig-phone { width: min(100%, 280px); transform: rotate(-2deg); }
}
.campaign-gallery--square .wp-block-image img { aspect-ratio: 1 / 1; }
.entry-content > .case-shot { margin-top: clamp(22px, 3vw, 40px); }
.case-shot img { display: block; width: 100%; height: auto; border-radius: 18px; box-shadow: 0 30px 60px -36px rgba(14, 14, 14, 0.5); }
.case-shot figcaption { margin-top: 12px; font: 500 0.72rem/1.5 var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.campaign-head:not(:has(.campaign-head__ar)) .campaign-head__title { grid-column: 1 / -1; max-width: 18ch; }
@media (prefers-reduced-motion: reduce) { .campaign-gallery .wp-block-image, .campaign-gallery .wp-block-image img, .ig-phone { transition: none; } }

.case__actions { margin: clamp(22px, 3vw, 36px) 0 0; }
.project-contact__form { max-width: 820px; padding: clamp(22px, 3vw, 40px); border-radius: 26px; }
.project-contact .lform__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.entry-content .wp-block-gallery.campaign-gallery--wide .wp-block-image img { aspect-ratio: auto !important; height: auto !important; object-fit: contain !important; flex: none !important; }
.entry-content .wp-block-gallery.campaign-gallery--wide .wp-block-image { align-self: flex-start; height: auto !important; }
.entry-content .wp-block-gallery.campaign-gallery--portrait .wp-block-image img { aspect-ratio: 3 / 4; }
.entry-content > .ig-feed + .ig-feed { margin-top: clamp(28px, 4vw, 48px); }
/* Case-study videos */
.entry-content > .case-videos { width: min(100% - 2 * var(--gutter), 1280px); margin-top: clamp(24px, 3vw, 40px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.case-video { margin: 0 !important; }
.case-video:first-child { grid-column: 1 / -1; }
.case-video__frame { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border-radius: 22px; background: var(--ink); box-shadow: 0 30px 70px -34px rgba(14, 14, 14, 0.65); }
.case-video__media { display: block; width: 100%; height: 100%; object-fit: cover; background: var(--ink); }
.case-video__frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, 0.45)); pointer-events: none; transition: opacity 0.4s; }
.case-video__play { position: absolute; left: 50%; top: 50%; z-index: 2; display: inline-flex; align-items: center; gap: 12px; padding: 12px 22px 12px 12px; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 999px; background: rgba(14, 14, 14, 0.45); color: var(--white); font: 600 0.95rem var(--font-sans); letter-spacing: -0.01em; cursor: pointer; transform: translate(-50%, -50%); backdrop-filter: blur(12px) saturate(140%); -webkit-backdrop-filter: blur(12px) saturate(140%); transition: transform 0.4s var(--ease-out), background 0.3s, opacity 0.3s; }
.case-video__play:hover, .case-video__play:focus-visible { background: var(--red); transform: translate(-50%, -50%) scale(1.05); }
.case-video__icon { position: relative; width: 46px; height: 46px; border-radius: 50%; background: var(--white); flex: none; }
.case-video__icon::before { content: ""; position: absolute; left: 18px; top: 14px; border-left: 15px solid var(--ink); border-top: 9px solid transparent; border-bottom: 9px solid transparent; }
.case-video__time { position: absolute; right: 16px; bottom: 14px; z-index: 2; padding: 4px 10px; border-radius: 999px; background: rgba(14, 14, 14, 0.6); color: var(--white); font: 500 0.75rem var(--font-mono); letter-spacing: 0.06em; }
.case-video.is-playing .case-video__play, .case-video.is-playing .case-video__time, .case-video.is-playing .case-video__frame::after { opacity: 0; pointer-events: none; }
.case-video figcaption { margin-top: 12px; color: var(--muted); font-size: 0.95rem; line-height: 1.5; }
.case-video figcaption strong { display: block; color: var(--ink); font-size: 1.05rem; letter-spacing: -0.02em; }
.entry-content > .case-videos--portrait { grid-template-columns: repeat(auto-fit, minmax(200px, 320px)); justify-content: center; }
.case-videos--portrait .case-video:first-child { grid-column: auto; }
.case-videos--portrait .case-video__frame { aspect-ratio: 9 / 16; }
.case-videos--portrait .case-video__label { display: none; }
.case-videos--portrait .case-video__play { padding: 10px; }
@media (max-width: 760px) {
	.entry-content > .case-videos { grid-template-columns: 1fr; }
	.entry-content > .case-videos--portrait { grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; gap: 12px; }
	.case-video__play { padding: 10px; }
	.case-video__label { display: none; }
	.case-video__frame { border-radius: 16px; }
}
@media (prefers-reduced-motion: reduce) { .case-video__play { transition: none; } }

.svc-work { padding-block: var(--sec); }
.work-grid--svc { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (min-width: 900px) { .work-grid--svc > .work-card:nth-child(even) { margin-top: clamp(24px, 4vw, 64px); } }
@media (max-width: 1100px) { .work-grid--svc { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Article */
.article__head { padding-bottom: clamp(30px, 4vw, 60px); }
.article__title { max-width: 18ch; margin: clamp(24px, 4vw, 56px) 0 0; font-size: clamp(2.2rem, 1rem + 4.6vw, 6rem); line-height: 0.95; letter-spacing: -0.06em; }
.article__cover { margin-block: 0 clamp(30px, 4vw, 60px); }
.article__cover img { display: block; width: 100%; }
.article__foot { padding-block: 20px clamp(40px, 6vw, 90px); }
.post-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.post-navigation a { display: grid; gap: 8px; padding: 18px; border: 1px solid var(--line-strong); border-radius: var(--radius); text-decoration: none; font-weight: 700; letter-spacing: -0.02em; }
.post-navigation .nav-next a { text-align: end; }

/* About */
.about-hero { position: relative; padding-bottom: clamp(48px, 7vw, 120px); }
.about-hero__kicker { margin-top: clamp(28px, 4vw, 60px); }
.rename { display: grid; gap: clamp(6px, 1vw, 14px); margin-top: clamp(30px, 4vw, 64px); }
.rename p { margin: 0; }
.rename__old { font-weight: 300; font-size: clamp(1.8rem, 0.8rem + 4.2vw, 5.4rem); line-height: 1; letter-spacing: -0.05em; text-transform: uppercase; }
.rename__strike { position: relative; display: inline-block; color: var(--muted); }
.rename__strike::after { content: ""; position: absolute; inset-inline: -0.06em; top: 52%; height: 0.09em; background: var(--red); transform-origin: left; transform: scaleX(var(--strike, 1)); transition: transform 1.2s var(--ease-out) 0.4s; }
[dir="rtl"] .rename__strike::after { transform-origin: right; }
.js .rename:not(.is-in) .rename__strike::after { --strike: 0; }
.rename__is { font-style: italic; font-weight: 800; font-size: clamp(1.2rem, 0.8rem + 1.8vw, 2.6rem); letter-spacing: -0.05em; }
.rename__new { width: min(100%, 980px); color: var(--ink); line-height: 0; }
.rename__new svg { width: 100%; height: auto; }
.rename__ar { font-family: var(--font-ar); font-size: clamp(1.1rem, 0.9rem + 1vw, 1.9rem); color: var(--red); }
.about-hero__title { margin: clamp(40px, 6vw, 100px) 0 0; font-size: clamp(2rem, 1rem + 3.8vw, 4.8rem); line-height: 0.98; letter-spacing: -0.055em; }
.about-hero__intro { max-width: 46ch; margin: 20px 0 0; font-size: clamp(1.05rem, 0.95rem + 0.6vw, 1.5rem); line-height: 1.45; }
.about-body { padding-block: var(--sec); }
.about-body .entry-content { text-align: center; }
.about-body .entry-content > * { margin-inline: auto; }

/* Contact */
.contact { position: relative; overflow: hidden; padding-bottom: var(--sec); }
.contact__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(36px, 6vw, 110px); padding-top: clamp(30px, 5vw, 80px); }
.contact__title { margin: 14px 0 0; font-size: clamp(2.8rem, 1rem + 6vw, 8rem); line-height: 0.9; letter-spacing: -0.065em; text-transform: uppercase; }
.contact__intro { max-width: 40ch; margin: 22px 0 28px; font-size: clamp(1.05rem, 0.95rem + 0.5vw, 1.35rem); line-height: 1.45; }
.contact__wa { margin-bottom: 30px; }
.contact__aside .socials { margin-top: 26px; }
.contact__form { padding: clamp(22px, 3.4vw, 48px); border-radius: calc(var(--radius) * 1.4); background: var(--paper-2); box-shadow: 0 30px 80px -50px rgba(0, 0, 0, 0.5), 0 0 0 1px var(--line); }
.contact__content { margin-top: var(--sec); }
.contact__ar { position: absolute; z-index: 0; inset-inline: -4% 10%; bottom: -3%; color: var(--red); opacity: 0.08; pointer-events: none; }
.contact__ar svg { display: block; width: 100%; height: auto; }
@media (max-width: 900px) { .contact__grid { grid-template-columns: 1fr; } }

/* 404 */
.nf { padding-bottom: var(--sec); }
.nf__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; gap: clamp(28px, 5vw, 80px); padding-top: clamp(30px, 5vw, 70px); }
.nf__media { margin: 0; overflow: hidden; border-radius: 4px; }
.nf__img { display: block; width: 100%; aspect-ratio: 1800 / 731; object-fit: cover; }
.nf__title { margin: 0; font-style: italic; font-weight: 600; font-size: clamp(3rem, 1rem + 8vw, 9rem); line-height: 0.9; letter-spacing: -0.06em; color: var(--red); }
.nf__lede { max-width: 36ch; margin: 22px 0; font-size: 1.15rem; }
.nf__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
@media (max-width: 860px) { .nf__grid { grid-template-columns: 1fr; } }

/* Search, empty */
.search-form { display: flex; max-width: 520px; border-bottom: 1.5px solid var(--ink); }
.search-form__input { flex: 1; min-width: 0; padding: 12px 0; border: 0; background: transparent; font-size: 1.1rem; outline: none; }
.search-form__btn { display: grid; place-items: center; width: 46px; border: 0; background: transparent; }
.search-again { margin-bottom: 40px; }
.results { margin: 0; padding: 0; list-style: none; border-top: 1.5px solid var(--ink); }
.result a { display: grid; gap: 6px; padding-block: 22px; border-bottom: 1px solid var(--line-strong); text-decoration: none; }
.result__type { font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); }
.result__title { font-weight: 700; font-size: clamp(1.3rem, 1rem + 1vw, 2rem); letter-spacing: -0.04em; }
.result__excerpt { color: var(--muted); }
.empty { display: grid; gap: 16px; justify-items: start; padding-block: 40px; }
.empty__tag { margin: 0; padding: 0.3em 0.6em; background: var(--red); color: var(--white); font-style: italic; font-weight: 500; }

/* ---------- Contact form ---------- */
.lform { display: grid; gap: 22px; }
.lform__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
@media (max-width: 600px) { .lform__grid { grid-template-columns: 1fr; } }
.lform__field { display: grid; gap: 6px; margin: 0; }
.lform label, .lform legend { font: 500 0.7rem/1.2 var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.lform .req { color: var(--red); }
.lform input[type="text"], .lform input[type="email"], .lform input[type="tel"], .lform select, .lform textarea {
	width: 100%; padding: 10px 0 12px; border: 0; border-bottom: 1.5px solid var(--line-strong); border-radius: 0; background: transparent;
	font-size: 1.05rem; font-weight: 500; transition: border-color 0.25s;
}
.lform textarea { resize: vertical; min-height: 130px; }
.lform select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 12px) 55%, calc(100% - 7px) 55%; background-size: 5px 5px; background-repeat: no-repeat; }
[dir="rtl"] .lform select { background-position: 12px 55%, 7px 55%; }
.lform input:focus, .lform select:focus, .lform textarea:focus { outline: none; border-bottom-color: var(--red); }
.lform .is-invalid { border-bottom-color: var(--red) !important; background: rgba(196, 42, 16, 0.05); }
.lform__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; }
.lform__chips legend { margin-bottom: 10px; }
.chip { position: relative; display: inline-flex; cursor: pointer; }
.chip input { position: absolute; opacity: 0; inset: 0; }
.lform .chip { font-family: var(--font); letter-spacing: -0.01em; text-transform: none; color: var(--ink); }
.chip span { display: inline-flex; align-items: center; padding: 0.5em 0.95em; border: 1.5px solid var(--line-strong); border-radius: 999px; font-weight: 600; font-size: 0.85rem; transition: background-color 0.2s, color 0.2s, border-color 0.2s; }
.chip:hover span { border-color: var(--ink); }
.chip input:checked + span { background: var(--blue); border-color: var(--blue); color: var(--white); }
.chip input:focus-visible + span { outline: 2px solid var(--blue-deep); outline-offset: 2px; }
.lform__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.lform__note { margin: 0; color: var(--muted); font-size: 0.85rem; }
.lform__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lform__status p { margin: 0; padding: 14px 16px; border-radius: 10px; font-weight: 600; }
.lform__status .is-ok { background: rgba(45, 150, 252, 0.14); }
.lform__status .is-error { background: rgba(196, 42, 16, 0.12); color: var(--red-deep); }
.lform.is-sending button[type="submit"] { opacity: 0.6; pointer-events: none; }
.svc-request .lform :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) { padding: 14px 16px; border: 1.5px solid rgba(235, 235, 233, 0.22); border-radius: 14px; background-color: rgba(255, 255, 255, 0.05); color: #EBEBE9; transition: border-color 0.25s, background-color 0.25s, box-shadow 0.25s; }
.svc-request .lform :is(input, textarea)::placeholder { color: rgba(235, 235, 233, 0.4); }
.svc-request .lform :is(input, select, textarea):hover { border-color: rgba(235, 235, 233, 0.4); }
.svc-request .lform :is(input, select, textarea):focus { border-color: var(--red); background-color: rgba(196, 42, 16, 0.08); box-shadow: 0 0 0 4px rgba(196, 42, 16, 0.22); }
.svc-request .lform select option { color: #0E0E0E; background: #EBEBE9; }
.svc-request .lform .is-invalid { border-color: var(--red) !important; background-color: rgba(196, 42, 16, 0.12); }
.svc-request .lform .chip { color: #EBEBE9; }
.svc-request .lform .chip span { border-color: rgba(235, 235, 233, 0.3); }
.svc-request .lform .chip:hover span { border-color: #EBEBE9; }
.svc-request .lform .chip input:checked + span { background: var(--red); border-color: var(--red); }
.svc-request .lform__note { color: rgba(235, 235, 233, 0.6); }
.svc-request .lform select { padding-inline-end: 34px; }
.svc-request .lform label { color: var(--paper); }
.entry-content .is-style-lynked-takeaway { padding: 18px 22px; border: 1px solid rgba(45, 150, 252, 0.35); border-radius: 18px; background: rgba(45, 150, 252, 0.12); }
.entry-content .is-style-lynked-cta { padding: 26px 28px; border-radius: 22px; background: var(--ink); color: var(--paper); font-weight: 600; }
.entry-content .is-style-lynked-cta a { color: #FF8A73; }
.entry-content .is-style-lynked-cta a:hover { color: var(--white); }
.form-plugin input, .form-plugin textarea, .form-plugin select { width: 100%; }

/* ==========================================================================
   BLOCK CONTENT (Gutenberg) + block styles
   ========================================================================== */
.entry-content { --content: var(--narrow); }
.entry-content > * { width: min(100% - 2 * var(--gutter), var(--content)); margin-inline: auto; }
.entry-content > .alignwide { width: min(100% - 2 * var(--gutter), 1280px); }
.entry-content > .alignfull { width: 100%; }
.entry-content > * + * { margin-top: 1.25em; }
.entry-content > :is(h2, h3, h4) { margin-top: 1.8em; }
.entry-content h2 { font-size: clamp(1.8rem, 1.2rem + 2vw, 3rem); }
.entry-content h3 { font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.9rem); }
.entry-content p, .entry-content li { font-size: clamp(1.02rem, 0.98rem + 0.2vw, 1.16rem); line-height: 1.7; }
.entry-content a { color: var(--red); text-decoration: underline; }
.entry-content a:hover { color: var(--ink); }
.entry-content blockquote { margin-inline: auto; padding-inline-start: 22px; border-inline-start: 3px solid var(--red); font-size: 1.3rem; font-weight: 600; letter-spacing: -0.02em; }
.entry-content figure { margin-block: 2em; }
.entry-content figcaption { margin-top: 10px; color: var(--muted); font-size: 0.85rem; }
.entry-content hr { border: 0; border-top: 1.5px solid var(--ink); }
.entry-content mark { background: var(--ink); color: var(--white); padding: 0 0.15em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.entry-content .wp-block-gallery { gap: 16px; }
.entry-content .wp-block-button__link { border-radius: 999px; padding: 0.85em 1.5em; font-weight: 600; background: var(--ink); color: var(--paper); text-decoration: none; }
.entry-content .wp-block-button__link:hover { background: var(--red); color: var(--white); }
.entry-content .wp-block-columns { gap: clamp(20px, 3vw, 48px); }
.entry-content--canvas > * { width: 100%; }
.entry-content--canvas > :not(.alignfull) { width: min(100% - 2 * var(--gutter), 1280px); }
.home-content { padding-block: var(--sec) 0; }

.is-style-lynked-label { display: table; padding: 0.1em 0.26em 0.06em; background: var(--blue); color: var(--white) !important; font-weight: 800; line-height: 1; letter-spacing: -0.05em; text-transform: uppercase; }
.has-text-align-center.is-style-lynked-label { margin-inline: auto; }
.entry-content > .is-style-lynked-label { width: fit-content; max-width: min(100% - 2 * var(--gutter), var(--content)); margin-inline: max(var(--gutter), (100% - var(--content)) / 2) auto; }
.entry-content > .is-style-lynked-label.has-text-align-center, .about-body .entry-content > .is-style-lynked-label { margin-inline: auto; }
[dir="rtl"] .entry-content > .is-style-lynked-label:not(.has-text-align-center) { margin-inline: max(var(--gutter), (100% - var(--content)) / 2) auto; }
.is-style-lynked-braces::before { content: "{"; font-weight: 200; }
.is-style-lynked-braces::after { content: "}"; font-weight: 200; }
.is-style-lynked-braces { font-weight: 600; letter-spacing: -0.06em; }
h2.is-style-lynked-braces { font-size: clamp(2.4rem, 1rem + 6vw, 7rem); line-height: 1; }
.is-style-lynked-poster { font-size: clamp(2.6rem, 1rem + 7vw, 8.4rem) !important; line-height: 0.9; letter-spacing: -0.065em; }
.is-style-lynked-statement { font-weight: 800; font-size: clamp(1.1rem, 0.75rem + 1.6vw, 2.2rem) !important; line-height: 1.34 !important; letter-spacing: -0.035em; text-transform: uppercase; }
.is-style-lynked-kicker { font-weight: 500; text-transform: uppercase; letter-spacing: 0.2em; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 0.5em; }
.is-style-lynked-lede { font-size: clamp(1.15rem, 1rem + 0.8vw, 1.7rem) !important; line-height: 1.45 !important; font-weight: 500; letter-spacing: -0.02em; }
.is-style-lynked-scan { background-color: var(--scan); background-image: repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.075) 0 1.5px, rgba(0, 0, 0, 0.045) 1.5px 3.5px); padding-block: clamp(48px, 7vw, 110px); }
.is-style-lynked-ink { background: var(--ink); color: var(--paper); padding-block: clamp(48px, 7vw, 110px); }
.is-style-lynked-ink a { color: var(--paper); }
.is-style-lynked-red { background: var(--red); color: var(--white); padding-block: clamp(48px, 7vw, 110px); }
.is-style-lynked-scan > *, .is-style-lynked-ink > *, .is-style-lynked-red > * { width: min(100% - 2 * var(--gutter), 1080px); margin-inline: auto; }
.wp-block-image.is-style-lynked-detect { position: relative; }
.wp-block-image.is-style-lynked-detect figcaption { position: absolute; top: 6%; inset-inline-end: 6%; margin: 0; padding: 0.32em 0.62em 0.38em; background: var(--red); color: var(--white); font-style: italic; font-weight: 500; opacity: 0; transition: opacity 0.3s; }
.wp-block-image.is-style-lynked-detect::after { content: ""; position: absolute; inset: 6%; border: 1.5px solid var(--red); opacity: 0; transform: scale(1.05); transition: opacity 0.3s, transform 0.5s var(--ease-out); pointer-events: none; }
.wp-block-image.is-style-lynked-detect:hover::after, .wp-block-image.is-style-lynked-detect:hover figcaption { opacity: 1; transform: none; }
.wp-block-image.is-style-lynked-print img { box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.7); }
ul.is-style-lynked-files { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 10px; padding: 0; list-style: none; }
ul.is-style-lynked-files li { padding: 12px 14px 12px 46px; border-radius: 12px; background: var(--paper-2) no-repeat 14px 50% / 22px url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect width='24' height='24' rx='5' fill='%232D96FC'/><path d='M8 5h6l3 3v11H8z M14 5v3h3' fill='none' stroke='white' stroke-width='1.4' stroke-linejoin='round'/></svg>"); font-weight: 600; }
[dir="rtl"] ul.is-style-lynked-files li { padding: 12px 46px 12px 14px; background-position: calc(100% - 14px) 50%; }
ul.is-style-lynked-pills { display: flex; flex-wrap: wrap; padding: 0; list-style: none; color: var(--red); }
ul.is-style-lynked-pills li { display: grid; place-items: center; min-width: 8em; min-height: 4.4em; padding: 0.6em 1.3em; border: 1.5px solid currentColor; border-radius: 50%; font-weight: 800; font-size: 0.9rem; line-height: 1.05; text-align: center; text-transform: uppercase; }
ul.is-style-lynked-pills li + li { margin-inline-start: -1em; }
.wp-block-button.is-style-lynked-red .wp-block-button__link { background: var(--red); color: var(--white); }
.wp-block-button.is-style-lynked-braces .wp-block-button__link { background: transparent; color: inherit; padding-inline: 0; font-size: clamp(1.4rem, 1rem + 2vw, 2.6rem); font-weight: 600; letter-spacing: -0.05em; }
.wp-block-button.is-style-lynked-braces .wp-block-button__link::before { content: "{"; font-weight: 200; }
.wp-block-button.is-style-lynked-braces .wp-block-button__link::after { content: "}"; font-weight: 200; }
.wp-block-quote.is-style-lynked-poster { border: 0; padding: 0; text-align: center; }
.wp-block-quote.is-style-lynked-poster p { font-size: clamp(1.8rem, 1rem + 3.4vw, 4.4rem); line-height: 1.02; letter-spacing: -0.055em; font-weight: 700; }

/* ---------- Comments ---------- */
.comments { padding-block: 20px var(--sec); }
.comment-list { padding: 0; list-style: none; }
.comment-body { padding-block: 18px; border-bottom: 1px solid var(--line); }
.comment-form input:not([type="submit"]):not([type="checkbox"]), .comment-form textarea { width: 100%; padding: 10px 12px; border: 1.5px solid var(--line-strong); border-radius: 10px; background: var(--paper-2); }

/* ---------- Reveal on scroll ---------- */
.js [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity 0.9s var(--ease-out), transform 0.9s var(--ease-out); transition-delay: var(--d, 0s); }
.js [data-reveal].is-in { opacity: 1; transform: none; }

/* ---------- Motion off: visitor preference or Customizer ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.001ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; transition-delay: 0s !important; }
	.js [data-reveal] { opacity: 1; transform: none; }
	.marquee__track, .logo-rail__track { animation: none; }
	.nameplate__ar { --wipe: 112%; }
}
.fx-still [data-reveal] { opacity: 1 !important; transform: none !important; }
.fx-still .marquee__track, .fx-still .logo-rail__track { animation: none; }
.fx-still .nameplate__wm, .fx-still .nameplate__ar, .fx-still .nameplate__tag, .fx-still .nameplate__reg { animation: none !important; }

/* ---------- Cross-document view transitions (progressive) ---------- */
@view-transition { navigation: auto; }

/* ---------- Print ---------- */
@media print {
	.announce, .site-header, .site-menu, .cta-poster, .site-footer__giant, .marquee, .fx-grain::after { display: none !important; }
	body { background: #fff; }
}


/* ==========================================================================
   Logo rail: equal visual size (set by main.js) + dark mode
   ========================================================================== */
.logo-rail__item { display: flex; align-items: center; justify-content: center; }
.logo-rail__item img.is-fit { max-width: none; height: auto; }

/* ==========================================================================
   DARK MODE (html[data-theme="dark"]) — toggled in the header, remembered
   ========================================================================== */
.theme-toggle { position: relative; display: inline-grid; place-items: center; width: 40px; height: 40px; flex: none; padding: 0; border: 1.5px solid var(--ink); border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; transition: background-color 0.3s, color 0.3s, border-color 0.3s, transform 0.5s var(--ease-out); }
.theme-toggle:hover, .theme-toggle:focus-visible { background: var(--red); border-color: var(--red); color: var(--white); transform: rotate(-20deg); }
.theme-toggle .icon { width: 18px; height: 18px; grid-area: 1 / 1; transition: opacity 0.3s, transform 0.5s var(--ease-out); }
.theme-toggle__sun { opacity: 0; transform: rotate(-90deg) scale(0.6); }
[data-theme="dark"] .theme-toggle__moon { opacity: 0; transform: rotate(90deg) scale(0.6); }
[data-theme="dark"] .theme-toggle__sun { opacity: 1; transform: none; }
html.is-theme-switching *, html.is-theme-switching *::before, html.is-theme-switching *::after { transition: background-color 0.45s, color 0.45s, border-color 0.45s, fill 0.45s !important; }

html[data-theme="dark"] {
	color-scheme: dark;
	--ink: #ECECE9;
	--ink-2: #D9D9D6;
	--charcoal: #C9C9C6;
	--paper: #111213;
	--paper-2: #18191B;
	--scan: #3A3B3E;
	--muted: #A4A4A1;
	--line: rgba(236, 236, 233, 0.14);
	--line-strong: rgba(236, 236, 233, 0.3);
	--red: #D8361B;
}
/* Sections that are dark by design keep their original colours. */
html[data-theme="dark"] :is(.announce, .site-menu, .exhibit, .cta-poster, .site-footer, .svc-request, .project-contact, .ig-feed, .is-style-lynked-ink, .is-style-lynked-cta, .case-video__frame, .skip-link) {
	--ink: #0E0E0E;
	--ink-2: #1B1B1B;
	--paper: #EBEBE9;
	--paper-2: #F5F5F3;
	--muted: #4F4F4F;
	--line: rgba(14, 14, 14, 0.16);
	--line-strong: rgba(14, 14, 14, 0.32);
}
html[data-theme="dark"] :is(.svc-request, .project-contact, .cta-poster, .site-footer, .exhibit) { background-color: #08090A; border-top: 1px solid rgba(236, 236, 233, 0.08); }
html[data-theme="dark"] .site-header.is-scrolled { background: rgba(17, 18, 19, 0.86); box-shadow: 0 1px 0 rgba(236, 236, 233, 0.1); }
html[data-theme="dark"] .glass, html[data-theme="dark"] .btn--glass { border-color: rgba(236, 236, 233, 0.12); background: rgba(255, 255, 255, 0.05); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35); }
html[data-theme="dark"] :is(.svc-request, .project-contact, .ig-feed) .glass { border-color: rgba(255, 255, 255, 0.12); background: rgba(255, 255, 255, 0.06); }
html[data-theme="dark"] .go-up { border-color: rgba(236, 236, 233, 0.16); background: rgba(30, 31, 33, 0.78); }
html[data-theme="dark"] .btn--wa { color: #0E0E0E; }
html[data-theme="dark"] .fx-grain::after { mix-blend-mode: screen; opacity: 0.05; }
html[data-theme="dark"] .logo-rail__item img { filter: grayscale(1) invert(1) contrast(1.05); mix-blend-mode: screen; opacity: 0.7; }
html[data-theme="dark"] .logo-rail__item img:hover { filter: grayscale(1) invert(1) contrast(1.1); opacity: 1; }
html[data-theme="dark"] .hl { background-image: linear-gradient(var(--blue), var(--blue)); }
html[data-theme="dark"] .entry-content mark { background: var(--blue); }
html[data-theme="dark"] .case-shot img, html[data-theme="dark"] .campaign-gallery .wp-block-image { box-shadow: 0 0 0 1px rgba(236, 236, 233, 0.08), 0 30px 60px -36px rgba(0, 0, 0, 0.8); }
html[data-theme="dark"] .folder__paper { color: #0E0E0E; }
html[data-theme="dark"] img.brand__img { filter: invert(1) hue-rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .theme-toggle, .theme-toggle .icon { transition: none; } }


/* ==========================================================================
   Glass dock: Work · Services · Contact (appears after the first screen)
   ========================================================================== */
.dock { position: fixed; z-index: 89; left: 50%; bottom: clamp(14px, 2.4vw, 32px); padding: 6px; border: 1px solid rgba(255, 255, 255, 0.7); border-radius: 999px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.28)); -webkit-backdrop-filter: blur(18px) saturate(170%); backdrop-filter: blur(18px) saturate(170%); box-shadow: 0 18px 50px -18px rgba(14, 14, 14, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.8); opacity: 0; pointer-events: none; transform: translate(-50%, 24px) scale(0.96); transition: opacity 0.45s var(--ease-out), transform 0.6s var(--ease-out); }
.dock.is-visible { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.dock.is-hidden { opacity: 0; pointer-events: none; transform: translate(-50%, 24px) scale(0.96); }
.dock__list { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.dock__link { position: relative; display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px 0 15px; border-radius: 999px; color: var(--ink); font-weight: 650; font-size: 0.88rem; letter-spacing: -0.01em; text-decoration: none; isolation: isolate; overflow: hidden; transition: color 0.3s; }
.dock__link::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform 0.45s var(--ease-out); }
[dir="rtl"] .dock__link::before { transform-origin: right; }
.dock__link:hover, .dock__link:focus-visible { color: var(--white); }
.dock__link:hover::before, .dock__link:focus-visible::before { transform: scaleX(1); }
.dock__link[aria-current="page"] { background: var(--ink); color: var(--paper); }
.dock__link .icon { width: 18px; height: 18px; flex: none; }
.dock__link--contact { background: rgba(196, 42, 16, 0.1); }
html[data-theme="dark"] .dock { border-color: rgba(236, 236, 233, 0.14); background: linear-gradient(135deg, rgba(40, 41, 44, 0.72), rgba(20, 21, 23, 0.5)); box-shadow: 0 18px 50px -18px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.08); }
@media (max-width: 700px) {
	.dock { left: 14px; right: 84px; bottom: 14px; transform: translateY(24px); }
	[dir="rtl"] .dock { left: 84px; right: 14px; }
	.dock.is-visible { transform: none; }
	.dock.is-hidden { transform: translateY(24px); }
	.dock__list { justify-content: space-between; }
	.dock__list li { flex: 1; }
	.dock__link { width: 100%; justify-content: center; height: 44px; padding: 0 8px; gap: 6px; font-size: 0.78rem; }
}
@media (prefers-reduced-motion: reduce) { .dock, .dock__link::before { transition: none; } }
@media print { .dock { display: none; } }

/* Arabic (RTL): keep phone numbers, emails and handles in their own left-to-right order. */
[dir="rtl"] a[href^="tel:"],
[dir="rtl"] a[href^="mailto:"],
[dir="rtl"] .ltr { direction: ltr; unicode-bidi: isolate; }

/* Case study: results table + bar chart (media buying) */
.entry-content > .results-table { margin: clamp(24px, 3vw, 40px) auto 0; overflow-x: auto; border-radius: 22px; background: var(--white, #fff); box-shadow: 0 30px 60px -40px rgba(14, 14, 14, 0.45), 0 0 0 1px var(--line); }
.results-table table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 0.98rem; }
.results-table :is(th, td) { padding: 16px clamp(14px, 2vw, 24px); text-align: start; border-bottom: 1px solid var(--line); vertical-align: top; }
.results-table thead th { font: 600 0.7rem/1.4 var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); background: transparent; }
.results-table tbody th { font-weight: 700; }
.results-table td:nth-child(n+3) { font-variant-numeric: tabular-nums; white-space: nowrap; }
.results-table td:last-child { font-weight: 800; color: var(--red); }
.results-table tfoot :is(th, td) { border-bottom: 0; background: var(--ink); color: var(--paper); font-weight: 800; }
.results-table tfoot td:last-child { color: var(--paper); }
.entry-content > .results-bars { margin: clamp(24px, 3vw, 40px) auto 0; padding: clamp(20px, 3vw, 36px); border-radius: 22px; background: var(--ink); color: var(--paper); }
.results-bars figcaption { margin-bottom: 20px; font: 600 0.72rem/1.5 var(--font-mono); letter-spacing: 0.1em; text-transform: uppercase; color: rgba(235, 235, 233, 0.65); }
.results-bars ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.results-bars li { display: grid; grid-template-columns: minmax(120px, 0.9fr) 2fr auto minmax(80px, auto); align-items: center; gap: 14px; font-size: 0.92rem; }
.results-bars__track { height: 12px; border-radius: 99px; background: rgba(235, 235, 233, 0.1); overflow: hidden; }
.results-bars__bar { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), var(--red)); }
[dir="rtl"] .results-bars__bar { background: linear-gradient(270deg, var(--blue), var(--red)); }
.results-bars__value { font-weight: 800; font-variant-numeric: tabular-nums; }
.results-bars__note { font: 500 0.72rem/1.3 var(--font-mono); color: rgba(235, 235, 233, 0.6); }
@media (max-width: 760px) {
	.results-bars li { grid-template-columns: 1fr auto; gap: 6px 12px; }
	.results-bars__track { grid-column: 1 / -1; grid-row: 2; }
	.results-bars__note { display: none; }
}
html[data-theme="dark"] .entry-content > .results-table { background: #1a1a1a; }
html[data-theme="dark"] .entry-content > .results-bars { background: #000; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08); }

/* Arabic (RTL): Arabic letters have tall ascenders and deep descenders, so the tight
   Latin poster leading makes lines collide. Open it up and drop negative tracking (it breaks letter joins). */
[dir="rtl"] :is(h1, h2, h3, h4, h5, h6, .values__title, .chain__name, .exhibit__title, .print__empty-title, .section-head__title, .cta-poster__title, .cta-line__title, .page-head__title, .service-index__title, .service-hero__title, .svc-request__title, .next-folder__title, .case__title, .campaign-head__title, .article__title, .about-hero__title, .contact__title, .nf__title, .is-style-lynked-poster, .is-style-lynked-label, .is-style-lynked-braces, .label-box, .folder__label, .masthead, .hero__lede) { line-height: 1.32; letter-spacing: 0; }
[dir="rtl"] .wp-block-quote.is-style-lynked-poster p, [dir="rtl"] .entry-content .campaign-head__title { line-height: 1.32; letter-spacing: 0; }
[dir="rtl"] :is(.site-menu__list a, .pills li, ul.is-style-lynked-pills li, .btn, .marquee__item) { line-height: 1.35; letter-spacing: 0; }

/* Phones: the header shows a single round button for the other language (same size as the theme switch). */
@media (max-width: 760px) {
	.site-header__tools .lang__track { padding: 0; border: 0; }
	.site-header__tools .lang__thumb, .site-header__tools .lang__opt[aria-current] { display: none; }
	.site-header__tools .lang__opt { width: 40px; min-width: 0; height: 40px; padding: 0; border: 1.5px solid var(--ink); background: transparent; }
	.site-header__tools .lang__opt:hover { opacity: 1; background: var(--ink); color: var(--paper); }
}
/* Menu overlay: full-size switch at the top, next to Close. */
.site-menu__tools { display: flex; align-items: center; gap: 10px; }
.lang--menu { color: var(--paper); }
.lang--menu .lang__track { border-color: rgba(235, 235, 233, 0.45); background: rgba(255, 255, 255, 0.06); }
.lang--menu .lang__opt { min-width: 84px; height: 34px; padding: 0 14px; color: var(--paper); font-size: 0.78rem; }
.lang--menu .lang__opt[lang="ar"] { font-size: 0.95rem; }
@media (max-width: 420px) {
	.lang--menu .lang__globe { display: none; }
	.lang--menu .lang__opt { min-width: 70px; padding: 0 10px; }
	.site-menu__tools .menu-close span { display: none; }
	.site-menu__tools .menu-close { width: 40px; padding: 0; justify-content: center; }
}
.site-footer .lang__track { border-color: rgba(235, 235, 233, 0.4); }
.site-footer .lang__opt { color: #EBEBE9; }
