/* Youthfluence combined stylesheet — generated from tailwind.compiled.css + style.css + global-system.css (+ universe.css on home) + perf.css. Edit the source files, not this one. */
/*
 * Youthfluence — Compiled Tailwind CSS (Production)
 * Generated: 2026-07-07
 * Replaces: https://cdn.tailwindcss.com (runtime CDN)
 * Method: Class-scan of all PHP templates; only used utilities included.
 * Custom colours: neon-cyan #00F0FF | neon-magenta #FF0055 | neon-lime #E5FF00 | neon-blue #0066FF
 */

/* ── CSS Custom Properties (Tailwind extended colours) ── */
:root {
  --tw-neon-cyan: #00F0FF;
  --tw-neon-magenta: #FF0055;
  --tw-neon-lime: #E5FF00;
  --tw-neon-blue: #0066FF;
}

/* ============================================================
   TAILWIND PREFLIGHT (minimal reset, does not conflict with style.css)
   ============================================================ */
*, ::before, ::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: currentColor; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; tab-size: 4; font-family: 'Outfit', sans-serif; }
body { margin: 0; line-height: inherit; }
hr { height: 0; color: inherit; border-top-width: 1px; }
abbr[title] { text-decoration: underline dotted; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: bolder; }
code, kbd, samp, pre { font-family: monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
table { text-indent: 0; border-color: inherit; border-collapse: collapse; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; color: inherit; margin: 0; padding: 0; }
button, select { text-transform: none; }
button, [type='button'], [type='reset'], [type='submit'] { -webkit-appearance: button; background-color: transparent; background-image: none; }
:-moz-focusring { outline: auto; }
:-moz-ui-invalid { box-shadow: none; }
progress { vertical-align: baseline; }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
[type='search'] { -webkit-appearance: textfield; outline-offset: -2px; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
summary { display: list-item; }
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre { margin: 0; }
fieldset { margin: 0; padding: 0; }
legend { padding: 0; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { opacity: 1; color: rgba(107, 114, 128, 1); }
button, [role="button"] { cursor: pointer; }
:disabled { cursor: default; }
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
[hidden] { display: none; }

/* ============================================================
   LAYOUT
   ============================================================ */
.container { width: 100%; margin-right: auto; margin-left: auto; padding-right: 1.5rem; padding-left: 1.5rem; }
@media (min-width: 640px)  { .container { max-width: 640px; } }
@media (min-width: 768px)  { .container { max-width: 768px; } }
@media (min-width: 1024px) { .container { max-width: 1024px; } }
@media (min-width: 1280px) { .container { max-width: 1280px; } }
@media (min-width: 1536px) { .container { max-width: 1536px; } }

/* ── Display ── */
.block { display: block; }
.inline-block { display: inline-block; }
.inline-flex { display: inline-flex; }
.flex { display: flex; }
.grid { display: grid; }
.hidden { display: none; }

/* ── Flex ── */
.flex-1 { flex: 1 1 0%; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.shrink-0 { flex-shrink: 0; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.items-end { align-items: flex-end; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.justify-end { justify-content: flex-end; }

/* ── Grid ── */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 640px) {
  .sm\:col-span-2 { grid-column: span 2 / span 2; }
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md\:flex-row { flex-direction: row; }
  .md\:items-end { align-items: flex-end; }
}
@media (min-width: 1024px) {
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:flex-row { flex-direction: row; }
  .lg\:w-1\/3 { width: 33.333333%; }
  .lg\:w-2\/3 { width: 66.666667%; }
}
.col-span-1 { grid-column: span 1 / span 1; }

/* ── Position ── */
.static { position: static; }
.fixed { position: fixed; }
.absolute { position: absolute; }
.relative { position: relative; }
.sticky { position: sticky; }
.inset-0 { inset: 0; }
.top-0 { top: 0; }
.top-full { top: 100%; }
.bottom-10 { bottom: 2.5rem; }
.left-0 { left: 0; }
.left-1\/2 { left: 50%; }
.right-0 { right: 0; }
.-translate-y-full { --tw-translate-y: -100%; transform: translateY(var(--tw-translate-y)); }
.translate-y-0 { --tw-translate-y: 0px; transform: translateY(var(--tw-translate-y)); }
.-translate-x-1\/2 { --tw-translate-x: -50%; transform: translateX(var(--tw-translate-x)); }
.-translate-y-1\/2 { --tw-translate-y: -50%; transform: translateY(var(--tw-translate-y)); }
.translate-y-4 { --tw-translate-y: 1rem; transform: translateY(var(--tw-translate-y)); }
.z-0 { z-index: 0; }
.z-10 { z-index: 10; }
.z-20 { z-index: 20; }
.z-40 { z-index: 40; }
.z-50 { z-index: 50; }
.\[z-index\:1\] { z-index: 1; }

/* ── Sizing ── */
.w-full { width: 100%; }
.w-auto { width: auto; }
.w-px { width: 1px; }
.w-1\.5 { width: 0.375rem; }
.w-2 { width: 0.5rem; }
.w-3 { width: 0.75rem; }
.w-4 { width: 1rem; }
.w-5 { width: 1.25rem; }
.w-6 { width: 1.5rem; }
.w-8 { width: 2rem; }
.w-56 { width: 14rem; }
.w-64 { width: 16rem; }
.h-0\.5 { height: 0.125rem; }
.h-1\.5 { height: 0.375rem; }
.h-2 { height: 0.5rem; }
.h-3 { height: 0.75rem; }
.h-4 { height: 1rem; }
.h-5 { height: 1.25rem; }
.h-8 { height: 2rem; }
.h-10 { height: 2.5rem; }
.h-12 { height: 3rem; }
.h-48 { height: 12rem; }
.h-full { height: 100%; }
.h-px { height: 1px; }
.h-\[2px\] { height: 2px; }
.h-\[360px\] { height: 360px; }
.h-\[400px\] { height: 400px; }
.h-\[500px\] { height: 500px; }
.min-h-screen { min-height: 100vh; }
.min-h-\[40vh\] { min-height: 40vh; }
.max-w-sm { max-width: 24rem; }
.max-w-md { max-width: 28rem; }
.max-w-lg { max-width: 32rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-3xl { max-width: 48rem; }
.max-w-4xl { max-width: 56rem; }
.max-w-5xl { max-width: 64rem; }
.max-w-6xl { max-width: 72rem; }
.max-w-content { max-width: 800px; }
.mx-auto { margin-right: auto; margin-left: auto; }

/* ── Spacing – Margin ── */
.m-0 { margin: 0; }
.mt-1 { margin-top: 0.25rem; }
.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-auto { margin-top: auto; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-5 { margin-bottom: 1.25rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-14 { margin-bottom: 3.5rem; }
.mb-16 { margin-bottom: 4rem; }
.ml-auto { margin-left: auto; }
.mx-2 { margin-right: 0.5rem; margin-left: 0.5rem; }

/* ── Spacing – Padding ── */
.p-2 { padding: 0.5rem; }
.p-7 { padding: 1.75rem; }
.p-8 { padding: 2rem; }
.px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }
.px-10 { padding-left: 2.5rem; padding-right: 2.5rem; }
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.py-1\.5 { padding-top: 0.375rem; padding-bottom: 0.375rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-2\.5 { padding-top: 0.625rem; padding-bottom: 0.625rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.py-24 { padding-top: 6rem; padding-bottom: 6rem; }
.py-28 { padding-top: 7rem; padding-bottom: 7rem; }
.pt-4 { padding-top: 1rem; }
.pt-8 { padding-top: 2rem; }
.pt-20 { padding-top: 5rem; }
.pt-24 { padding-top: 6rem; }
.pt-32 { padding-top: 8rem; }
.pb-0 { padding-bottom: 0; }
.pb-4 { padding-bottom: 1rem; }
.pb-8 { padding-bottom: 2rem; }
.pb-10 { padding-bottom: 2.5rem; }
.pb-20 { padding-bottom: 5rem; }
.pl-5 { padding-left: 1.25rem; }

@media (min-width: 768px) {
  .md\:px-12 { padding-left: 3rem; padding-right: 3rem; }
  .md\:py-40 { padding-top: 10rem; padding-bottom: 10rem; }
  .md\:p-10 { padding: 2.5rem; }
  .md\:p-12 { padding: 3rem; }
}

/* ── Gap ── */
.gap-1 { gap: 0.25rem; }
.gap-1\.5 { gap: 0.375rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }
.gap-16 { gap: 4rem; }
@media (min-width: 768px) { .md\:gap-6 { gap: 1.5rem; } }

/* ── Space ── */
.space-x-2 > * + * { margin-left: 0.5rem; }
.space-y-3 > * + * { margin-top: 0.75rem; }
.space-y-5 > * + * { margin-top: 1.25rem; }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.text-5xl { font-size: 3rem; line-height: 1; }
.text-\[10px\] { font-size: 10px; }
.text-\[10px\] { font-size: 10px; }
.text-\[1\.125rem\] { font-size: 1.125rem; }

@media (min-width: 768px) {
  .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  .md\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
  .md\:text-5xl { font-size: 3rem; line-height: 1; }
  .md\:text-6xl { font-size: 3.75rem; line-height: 1; }
  .md\:text-7xl { font-size: 4.5rem; line-height: 1; }
  .md\:text-base { font-size: 1rem; line-height: 1.5rem; }
  .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
  .md\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
}
@media (min-width: 1024px) {
  .lg\:text-9xl { font-size: 8rem; line-height: 1; }
}

.font-light { font-weight: 300; }
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }
.font-black { font-weight: 900; }
.font-outfit { font-family: 'Outfit', sans-serif; }

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.uppercase { text-transform: uppercase; }
.line-clamp-2 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.line-clamp-3 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.line-through { text-decoration-line: line-through; }
.underline { text-decoration-line: underline; }
.decoration-white\/20 { text-decoration-color: rgba(255,255,255,0.2); }
.tracking-tight { letter-spacing: -0.025em; }
.tracking-tighter { letter-spacing: -0.05em; }
.tracking-wide { letter-spacing: 0.025em; }
.tracking-wider { letter-spacing: 0.05em; }
.tracking-widest { letter-spacing: 0.1em; }
.tracking-\[0\.15em\] { letter-spacing: 0.15em; }
.tracking-\[0\.2em\] { letter-spacing: 0.2em; }
.tracking-\[0\.25em\] { letter-spacing: 0.25em; }
.tracking-\[0\.3em\] { letter-spacing: 0.3em; }
.leading-none { line-height: 1; }
.leading-snug { line-height: 1.375; }
.leading-relaxed { line-height: 1.625; }
.leading-tight { line-height: 1.25; }
.leading-\[1\.1\] { line-height: 1.1; }
.whitespace-nowrap { white-space: nowrap; }
.word-break { word-break: break-all; }
.not-italic { font-style: normal; }
.italic { font-style: italic; }
.opacity-0 { opacity: 0; }
.opacity-30 { opacity: 0.3; }
.opacity-40 { opacity: 0.4; }
.opacity-50 { opacity: 0.5; }
.opacity-60 { opacity: 0.6; }
.opacity-65 { opacity: 0.65; }

/* ── Colours ── */
.text-white { color: #fff; }
.text-black { color: #000; }
.text-transparent { color: transparent; }
.text-white\/20 { color: rgba(255,255,255,0.2); }
.text-white\/30 { color: rgba(255,255,255,0.3); }
.text-white\/40 { color: rgba(255,255,255,0.4); }
.text-white\/50 { color: rgba(255,255,255,0.5); }
.text-white\/60 { color: rgba(255,255,255,0.6); }
.text-white\/70 { color: rgba(255,255,255,0.7); }
.text-white\/80 { color: rgba(255,255,255,0.8); }
.text-white\/90 { color: rgba(255,255,255,0.9); }
.text-neon-cyan { color: #00F0FF; }
.text-neon-magenta { color: #FF0055; }
.text-neon-lime { color: #E5FF00; }
.text-neon-blue { color: #0066FF; }
.text-neon-cyan\/80 { color: rgba(0,240,255,0.8); }
.text-neon-blue\/80 { color: rgba(0,102,255,0.8); }
.text-neon-lime\/80 { color: rgba(229,255,0,0.8); }
.text-neon-magenta\/80 { color: rgba(255,0,85,0.8); }

/* Gradient text */
.bg-clip-text { -webkit-background-clip: text; background-clip: text; }
.text-transparent { -webkit-text-fill-color: transparent; }
.bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); }
.bg-gradient-to-b { background-image: linear-gradient(to bottom, var(--tw-gradient-stops)); }
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); }
.from-neon-cyan { --tw-gradient-from: #00F0FF; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0,240,255,0)); }
.from-neon-magenta { --tw-gradient-from: #FF0055; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255,0,85,0)); }
.from-neon-lime { --tw-gradient-from: #E5FF00; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(229,255,0,0)); }
.from-neon-blue { --tw-gradient-from: #0066FF; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0,102,255,0)); }
.from-black\/30 { --tw-gradient-from: rgba(0,0,0,0.3); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0,0,0,0)); }
.from-neon-cyan\/5 { --tw-gradient-from: rgba(0,240,255,0.05); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0,240,255,0)); }
.from-neon-cyan\/10 { --tw-gradient-from: rgba(0,240,255,0.1); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0,240,255,0)); }
.from-neon-magenta\/5 { --tw-gradient-from: rgba(255,0,85,0.05); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255,0,85,0)); }
.from-neon-magenta\/10 { --tw-gradient-from: rgba(255,0,85,0.1); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255,0,85,0)); }
.from-neon-lime\/5 { --tw-gradient-from: rgba(229,255,0,0.05); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(229,255,0,0)); }
.from-neon-lime\/10 { --tw-gradient-from: rgba(229,255,0,0.1); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(229,255,0,0)); }
.from-neon-blue\/5 { --tw-gradient-from: rgba(0,102,255,0.05); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0,102,255,0)); }
.from-neon-blue\/10 { --tw-gradient-from: rgba(0,102,255,0.1); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0,102,255,0)); }
.from-white { --tw-gradient-from: #fff; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255,255,255,0)); }
.via-transparent { --tw-gradient-via: transparent; --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to, transparent); }
.via-neon-magenta { --tw-gradient-via: #FF0055; --tw-gradient-stops: var(--tw-gradient-from), #FF0055, var(--tw-gradient-to, rgba(255,0,85,0)); }
.to-black { --tw-gradient-to: #000; }
.to-transparent { --tw-gradient-to: transparent; }
.to-neon-lime { --tw-gradient-to: #E5FF00; }
.to-neon-blue { --tw-gradient-to: #0066FF; }

/* ── Backgrounds ── */
.bg-black { background-color: #000; }
.bg-white { background-color: #fff; }
.bg-zinc-900 { background-color: rgb(24 24 27); }
.bg-zinc-950 { background-color: rgb(9 9 11); }
.bg-neon-cyan { background-color: #00F0FF; }
.bg-neon-lime { background-color: #E5FF00; }
.bg-neon-magenta { background-color: #FF0055; }
.bg-neon-blue { background-color: #0066FF; }
.bg-neon-cyan\/5 { background-color: rgba(0,240,255,0.05); }
.bg-neon-magenta\/5 { background-color: rgba(255,0,85,0.05); }
.bg-white\/5 { background-color: rgba(255,255,255,0.05); }
.bg-white\/10 { background-color: rgba(255,255,255,0.1); }
.bg-white\/20 { background-color: rgba(255,255,255,0.2); }
.bg-white\/60 { background-color: rgba(255,255,255,0.6); }
.bg-white\/\[0\.02\] { background-color: rgba(255,255,255,0.02); }
.bg-white\/\[0\.03\] { background-color: rgba(255,255,255,0.03); }
.bg-white\/\[0\.04\] { background-color: rgba(255,255,255,0.04); }
.bg-black\/90 { background-color: rgba(0,0,0,0.9); }
.bg-black\/95 { background-color: rgba(0,0,0,0.95); }

/* Arbitrary background */
.bg-\[linear-gradient\(rgba\(255\2c255\2c255\2c0\.03\)_1px\2ctransparent_1px\)\2clinear-gradient\(90deg\2crgba\(255\2c255\2c255\2c0\.03\)_1px\2ctransparent_1px\)\] {
  background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
}
.bg-\[size\:4rem_4rem\] { background-size: 4rem 4rem; }

/* ── Borders ── */
.border { border-width: 1px; }
.border-b { border-bottom-width: 1px; }
.border-t { border-top-width: 1px; }
.border-l-2 { border-left-width: 2px; }
.border-y { border-top-width: 1px; border-bottom-width: 1px; }
.border-white\/5 { border-color: rgba(255,255,255,0.05); }
.border-white\/10 { border-color: rgba(255,255,255,0.1); }
.border-white\/20 { border-color: rgba(255,255,255,0.2); }
.border-white\/30 { border-color: rgba(255,255,255,0.3); }
.border-neon-cyan { border-color: #00F0FF; }
.border-neon-magenta { border-color: #FF0055; }
.border-neon-lime { border-color: #E5FF00; }
.border-neon-blue { border-color: #0066FF; }
.border-neon-cyan\/20 { border-color: rgba(0,240,255,0.2); }
.border-neon-cyan\/25 { border-color: rgba(0,240,255,0.25); }
.border-neon-cyan\/30 { border-color: rgba(0,240,255,0.3); }
.border-neon-cyan\/40 { border-color: rgba(0,240,255,0.4); }
.border-neon-magenta\/20 { border-color: rgba(255,0,85,0.2); }
.border-neon-magenta\/25 { border-color: rgba(255,0,85,0.25); }
.border-neon-magenta\/40 { border-color: rgba(255,0,85,0.4); }
.border-neon-lime\/20 { border-color: rgba(229,255,0,0.2); }
.border-neon-lime\/40 { border-color: rgba(229,255,0,0.4); }
.border-neon-blue\/20 { border-color: rgba(0,102,255,0.2); }
.border-neon-blue\/40 { border-color: rgba(0,102,255,0.4); }

/* ── Border Radius ── */
.rounded { border-radius: 0.25rem; }
.rounded-full { border-radius: 9999px; }
.rounded-xl { border-radius: 0.75rem; }
.rounded-2xl { border-radius: 1rem; }
.rounded-3xl { border-radius: 1.5rem; }
.rounded-lg { border-radius: 0.5rem; }

/* ── Shadows ── */
.shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25); }

/* ── Overflow ── */
.overflow-hidden { overflow: hidden; }
.overflow-x-hidden { overflow-x: hidden; }
.overflow-y-auto { overflow-y: auto; }

/* ── Pointer events ── */
.pointer-events-none { pointer-events: none; }
.cursor-none { cursor: none; }
.cursor-default { cursor: default; }
.cursor-pointer { cursor: pointer; }

/* ── Object fit ── */
.object-cover { object-fit: cover; }
.object-contain { object-fit: contain; }

/* ── Backdrop ── */
.backdrop-blur-sm { backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.backdrop-blur-md { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.backdrop-blur-xl { backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }

/* ── Blur ── */
.blur-\[100px\] { filter: blur(100px); }

/* ── Scale ── */
.scale-x-0 { --tw-scale-x: 0; transform: scaleX(0); }

/* ── Arbitrary mask ── */
.\[mask-image\:radial-gradient\(ellipse_60\%_60\%_at_50\%_0\%\2cblack\2ctransparent\)\] {
  mask-image: radial-gradient(ellipse 60% 60% at 50% 0%, black, transparent);
  -webkit-mask-image: radial-gradient(ellipse 60% 60% at 50% 0%, black, transparent);
}

/* ── Selection ── */
::selection { background-color: #E5FF00; color: #000; }

/* ============================================================
   TRANSITIONS & ANIMATIONS
   ============================================================ */
.transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms; }
.transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms; }
.transition-opacity { transition-property: opacity; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms; }
.transition-transform { transition-property: transform; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 150ms; }
.duration-300 { transition-duration: 300ms; }
.duration-400 { transition-duration: 400ms; }
.duration-500 { transition-duration: 500ms; }
.duration-700 { transition-duration: 700ms; }
.ease-in-out { transition-timing-function: cubic-bezier(0.4,0,0.2,1); }
.origin-left { transform-origin: left; }

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* ── Will-change ── */
.will-change-transform { will-change: transform; }

/* ============================================================
   HOVER STATES
   ============================================================ */
.hover\:text-neon-cyan:hover { color: #00F0FF; }
.hover\:text-neon-magenta:hover { color: #FF0055; }
.hover\:text-neon-lime:hover { color: #E5FF00; }
.hover\:text-neon-blue:hover { color: #0066FF; }
.hover\:text-white:hover { color: #fff; }
.hover\:text-black:hover { color: #000; }
.hover\:underline:hover { text-decoration-line: underline; }
.hover\:bg-white:hover { background-color: #fff; }
.hover\:bg-white\/5:hover { background-color: rgba(255,255,255,0.05); }
.hover\:bg-white\/10:hover { background-color: rgba(255,255,255,0.1); }
.hover\:bg-white\/80:hover { background-color: rgba(255,255,255,0.8); }
.hover\:bg-white\/\[0\.04\]:hover { background-color: rgba(255,255,255,0.04); }
.hover\:bg-white\/\[0\.05\]:hover { background-color: rgba(255,255,255,0.05); }
.hover\:bg-neon-lime:hover { background-color: #E5FF00; }
.hover\:opacity-90:hover { opacity: 0.9; }
.hover\:border-white\/10:hover { border-color: rgba(255,255,255,0.1); }
.hover\:border-white\/20:hover { border-color: rgba(255,255,255,0.2); }
.hover\:border-white\/40:hover { border-color: rgba(255,255,255,0.4); }
.hover\:border-neon-cyan\/40:hover { border-color: rgba(0,240,255,0.4); }
.hover\:border-neon-cyan\/50:hover { border-color: rgba(0,240,255,0.5); }
.hover\:border-neon-cyan\/30:hover { border-color: rgba(0,240,255,0.3); }
.hover\:border-neon-magenta\/40:hover { border-color: rgba(255,0,85,0.4); }
.hover\:border-neon-magenta\/50:hover { border-color: rgba(255,0,85,0.5); }
.hover\:border-neon-lime\/40:hover { border-color: rgba(229,255,0,0.4); }
.hover\:border-neon-lime\/50:hover { border-color: rgba(229,255,0,0.5); }
.hover\:border-neon-blue\/40:hover { border-color: rgba(0,102,255,0.4); }
.hover\:border-neon-blue\/50:hover { border-color: rgba(0,102,255,0.5); }
.hover\:-translate-y-1:hover { transform: translateY(-0.25rem); }

/* ── Group hover ── */
.group:hover .group-hover\:opacity-100 { opacity: 1; }
.group:hover .group-hover\:visible { visibility: visible; }
.group:hover .group-hover\:opacity-100 { opacity: 1; }
.group:hover .group-hover\:translate-y-0 { transform: translateY(0); }
.group:hover .group-hover\:translate-x-1 { transform: translateX(0.25rem); }
.group:hover .group-hover\:rotate-180 { transform: rotate(180deg); }
.group:hover .group-hover\:scale-x-100 { transform: scaleX(1); }
.group:hover .group-hover\:scale-105 { transform: scale(1.05); }
.group:hover .group-hover\:text-neon-cyan { color: #00F0FF; }
.group:hover .group-hover\:text-neon-magenta { color: #FF0055; }
.group:hover .group-hover\:text-neon-lime { color: #E5FF00; }
.group:hover .group-hover\:text-neon-blue { color: #0066FF; }
.group:hover .group-hover\:text-white { color: #fff; }
.invisible { visibility: hidden; }
.visible { visibility: visible; }

/* ── Focus ── */
.focus\:outline-none:focus { outline: none; }
.focus\:ring-2:focus { box-shadow: 0 0 0 2px rgba(0,240,255,0.4); }

/* ============================================================
   RESPONSIVE — md: lg:
   ============================================================ */
@media (min-width: 768px) {
  .md\:hidden { display: none; }
  .md\:flex { display: flex; }
  .md\:block { display: block; }
  .md\:inline-flex { display: inline-flex; }
  .md\:w-1\/2 { width: 50%; }
  .md\:w-1\/3 { width: 33.333333%; }
  .md\:w-2\/3 { width: 66.666667%; }
  .md\:px-12 { padding-left: 3rem; padding-right: 3rem; }
  .md\:items-end { align-items: flex-end; }
  .md\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
  .md\:text-5xl { font-size: 3rem; line-height: 1; }
  .md\:text-6xl { font-size: 3.75rem; line-height: 1; }
  .md\:text-7xl { font-size: 4.5rem; line-height: 1; }
  .md\:flex-row { flex-direction: row; }
  .md\:flex-col { flex-direction: column; }
  .md\:gap-6 { gap: 1.5rem; }
  .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  .md\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
  .md\:text-base { font-size: 1rem; line-height: 1.5rem; }
  .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md\:p-10 { padding: 2.5rem; }
  .md\:p-12 { padding: 3rem; }
  .md\:py-40 { padding-top: 10rem; padding-bottom: 10rem; }
  .md\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
}

@media (min-width: 1024px) {
  .lg\:text-9xl { font-size: 8rem; line-height: 1; }
  .lg\:flex-row { flex-direction: row; }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:w-1\/3 { width: 33.333333%; }
  .lg\:w-2\/3 { width: 66.666667%; }
  .lg\:block { display: block; }
}

/* ── Hidden / Show at breakpoints ── */
@media (min-width: 768px) { .hidden.md\:flex { display: flex; } .md\:flex { display: flex; } }
@media (max-width: 767px) { .md\:hidden { display: none; } }

/* ── Pointer media ── */
@media (pointer: coarse) {
  .cursor-dot, .cursor-outline { display: none !important; }
  body { cursor: auto; }
}

@font-face{font-family:Outfit;src:url('../fonts/outfit-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#101111;--paper:#f2f3ef;--white:#fff;--muted:#a6aaa7;--line:#343735;--blue:#3454ee;--blue-light:#a7b8ff;--gutter:clamp(22px,4.3vw,84px);--font:'Outfit',Arial,sans-serif;--ease:cubic-bezier(.2,.75,.2,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:var(--blue);color:#fff}a{color:inherit;text-decoration:none}button,input,summary{font:inherit}button,summary{cursor:pointer}img{max-width:100%;display:block;height:auto}figure,p,h1,h2,h3,h4,ul,ol{margin:0}button{color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue-light);outline-offset:6px}button:disabled{opacity:.6}.wrap{width:100%;max-width:1680px;margin-inline:auto;padding-inline:var(--gutter)}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.06em}h1,h2,h3{font-weight:500}h2{font-size:clamp(36px,5.5vw,84px);line-height:1.05;letter-spacing:-.055em}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:500;letter-spacing:.13em;line-height:1.5}.text-link{display:inline-block;font-size:15px;padding:12px 0;border-bottom:1px solid currentColor}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 25px;min-height:58px;background:var(--blue);color:white;font-weight:500;font-size:16px;transition:background .25s,transform .25s}.button:hover{background:#2443d0;transform:translateY(-2px)}.button span{font-size:24px;line-height:1}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:white}.skip-link{position:fixed;top:10px;left:20px;z-index:200;background:white;color:black;padding:12px 20px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);background:var(--ink);position:relative;z-index:30}.brand{display:block;width:180px;flex:none}.brand img{width:180px;height:44px;object-fit:contain}.header-note{font-size:12px;color:var(--muted);line-height:1.4;padding-left:28px;border-left:1px solid var(--line);margin-right:auto}.desktop-nav{display:flex;gap:24px;align-items:center}.desktop-nav a{font-size:14px;position:relative;padding:12px 0}.desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover::after{transform:scaleX(1)}.header-cta{margin-left:auto;font-size:14px;white-space:nowrap}.header-cta span{margin-left:20px}.mobile-navigation{display:none}.desktop-nav ul{display:flex;gap:24px;list-style:none;padding:0}.desktop-nav li{position:relative}.desktop-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:240px;background:var(--ink);padding:20px;border:1px solid var(--line)}.desktop-nav li:hover>.sub-menu,.desktop-nav li:focus-within>.sub-menu{display:block}.desktop-nav .sub-menu a{display:block}.admin-bar .site-header{top:0}
.hero{padding-top:34px;padding-bottom:46px}.hero-topline{display:flex;justify-content:space-between;align-items:center;color:var(--muted);gap:20px}.hero-topline>span{font-size:12px}.hero-stage{display:grid;grid-template-columns:1.03fr 1fr;position:relative;min-height:570px;padding-top:42px}.hero-type{position:relative;z-index:2}.hero h1{font-size:clamp(82px,10.2vw,160px);line-height:.9;letter-spacing:-.064em;font-weight:500;max-width:9em}.hero h1 em{color:var(--blue-light);letter-spacing:-.075em;line-height:.95}.hero-side-note{display:block;margin:32px 0 0 45%;font-size:13px;line-height:1.45;color:var(--muted)}.hero-images{position:relative;align-self:stretch;min-width:0;margin:12px 0 35px 0}.hero-main{position:absolute;inset:0 0 85px 4%;transform:rotate(3deg);background:#232825}.hero-main img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}.hero-main figcaption{position:absolute;bottom:0;left:0;right:0;padding:12px 18px;background:var(--ink);color:var(--paper);font-size:12px}.hero-secondary{position:absolute;left:-10%;bottom:0;width:63%;border:7px solid var(--ink);transform:rotate(-7deg);box-shadow:0 20px 45px #0005}.hero-secondary img{width:100%;aspect-ratio:1.9;object-fit:cover}.hero-secondary figcaption{background:var(--paper);color:var(--ink);padding:10px 12px;font-size:12px}.image-mark{position:absolute;right:2%;bottom:3%;font-size:13px;writing-mode:vertical-rl;letter-spacing:.15em;color:var(--muted)}.hero-bottom{display:grid;grid-template-columns:1.03fr 1fr;gap:36px;align-items:center;margin-top:26px;padding-top:30px;border-top:1px solid var(--line)}.hero-bottom>p{font-size:17px;line-height:1.6;max-width:540px;color:#c4c7c3}.hero-actions{display:flex;gap:30px;align-items:center;justify-content:flex-end}.hero-actions .text-link{white-space:nowrap}
.brand-band{border-block:1px solid var(--line);padding:25px 0 32px;overflow:hidden}.band-label{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.band-label p{font-size:13px;color:var(--muted);line-height:1.5}.motion-toggle{background:none;border:0;border-bottom:1px solid var(--line);font-size:12px;padding:8px;color:var(--muted)}.marquee{overflow:hidden}.marquee-track{display:flex;width:max-content;animation:marquee 45s linear infinite}.marquee-group{display:flex;align-items:center;gap:70px;padding-right:70px}.marquee img{width:140px;height:70px;object-fit:contain}.brand-band:hover .marquee-track,.brand-band:focus-within .marquee-track,.brand-band.is-paused .marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}
.manifesto{padding-top:130px;padding-bottom:130px}.manifesto>.eyebrow{color:var(--muted);margin-bottom:44px}.manifesto h2{font-size:clamp(40px,6.5vw,100px);max-width:1200px}.manifesto h2 em{color:var(--muted)}.manifesto-bottom{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:60px;align-items:end}.section-stamp{font-size:14px;line-height:1.5;padding-left:20px;border-left:2px solid var(--blue)}.manifesto-bottom>p{max-width:580px;color:var(--muted);font-size:20px;line-height:1.6}
.ecosystem{background:var(--paper);color:var(--ink);padding-block:110px}.ecosystem-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%}.ecosystem-intro{align-self:start;position:sticky;top:60px}.ecosystem-intro>.eyebrow{margin-bottom:35px}.ecosystem-intro h2{font-size:clamp(38px,5vw,76px)}.ecosystem-intro h2 em{color:var(--blue)}.ecosystem-intro>p:not(.eyebrow){max-width:340px;margin-top:28px;color:#5a615b}.ecosystem-intro .text-link{margin-top:30px}.pathway{position:relative}.pathway::before{content:'';position:absolute;left:22px;top:24px;bottom:55px;width:1px;background:#b5bcb4}.path-step{position:relative;display:grid;grid-template-columns:45px 1fr 20px;gap:26px;padding-bottom:65px}.path-step:last-child{padding-bottom:0}.step-node{width:45px;height:45px;display:grid;place-items:center;border:1px solid #9ca79e;border-radius:50%;background:var(--paper);font-size:12px;transition:background .3s,color .3s}.path-step:hover .step-node,.path-step.is-visible .step-node{background:var(--blue);border-color:var(--blue);color:white}.path-step .eyebrow{color:var(--blue);margin:8px 0 15px}.path-step h3{font-size:clamp(26px,2.4vw,36px);line-height:1.15;letter-spacing:-.035em;max-width:400px}.path-step p:last-child{color:#58615a;margin-top:18px;max-width:430px;font-size:17px}.path-step>span:last-child{padding-top:8px;font-size:22px}.path-step:hover h3{text-decoration:underline;text-underline-offset:5px}
.field-strip{display:grid;grid-template-columns:1.3fr .9fr 1fr;background:var(--blue);min-height:450px}.field-strip figure{position:relative;overflow:hidden}.field-strip img{width:100%;height:100%;object-fit:cover;max-height:550px}.field-strip figcaption{position:absolute;left:20px;bottom:18px;font-size:13px;color:white;background:var(--ink);padding:7px 12px}.field-statement{display:flex;flex-direction:column;justify-content:space-between;padding:38px}.field-statement>p:last-child{font-size:clamp(54px,6.5vw,96px);line-height:.95;letter-spacing:-.05em;color:white}.field-statement em{color:#c9d0ff}.field-statement .eyebrow{color:white}
.selected-work{padding-top:120px;padding-bottom:110px}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:65px}.section-head .eyebrow{margin-bottom:30px;color:var(--muted)}.section-head>p{font-size:17px;color:var(--muted);line-height:1.65;max-width:345px}.section-head em{color:var(--muted)}.work-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;row-gap:72px}.work-card:nth-child(even){margin-top:90px}.work-card{display:block;min-width:0}.work-art{position:relative;aspect-ratio:1.35;overflow:hidden;background:#222727;color:white;transition:transform .5s var(--ease)}.work-index{position:absolute;left:25px;top:23px;font-size:12px;letter-spacing:.06em;z-index:2}.work-logo{position:absolute;inset:22% 18%;height:50%;width:64%;object-fit:contain;transition:transform .65s var(--ease)}.work-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.work-art:has(.work-photo)::after{content:'';position:absolute;inset:0;background:linear-gradient(#0005,transparent 35%,#0005)}.work-card:hover .work-logo,.work-card:hover .work-photo{transform:scale(1.045)}.work-category{position:absolute;left:25px;bottom:25px;font-size:13px;z-index:2}.work-arrow{position:absolute;right:25px;bottom:22px;font-size:24px;z-index:2}.work-caption{display:flex;justify-content:space-between;gap:25px;padding-top:22px}.work-caption h3{font-size:22px;line-height:1.25;letter-spacing:-.035em}.work-caption p{font-size:14px;color:var(--muted);max-width:220px;line-height:1.5}.work-type{position:absolute;inset:20%;display:grid;place-items:center;font-size:42px;text-align:center}.yippee .work-art,.case-brand-panel.yippee{background:#253536}.peesafe .work-art,.case-brand-panel.peesafe{background:#24473c}.eatsure .work-art,.case-brand-panel.eatsure{background:#342841}.unacademy .work-art,.case-brand-panel.unacademy{background:#253d4a}.bsc .work-art,.case-brand-panel.bsc{background:#40352b}.hive .work-art,.case-brand-panel.hive{background:#363523}.selected-work>.text-link{margin-top:60px}.results{background:var(--blue);padding-block:100px;color:white}.results .eyebrow{margin-bottom:30px}.results h2 em{color:#cfd7ff}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:75px;border-top:1px solid #ffffff50;padding-top:35px;gap:40px}.results-grid strong{display:block;font-size:clamp(48px,6.5vw,100px);font-weight:500;line-height:1.1;letter-spacing:-.055em;white-space:nowrap}.results-grid strong span{font-size:.6em}.results-grid p{font-size:20px;margin:18px 0 7px}.results-grid a>span{font-size:14px;color:#d6ddff}.results-grid a:hover>span{text-decoration:underline}.results-note{font-size:12px;margin-top:45px;color:#d6ddff}
.capability-index{padding-block:120px}.capability-links{border-top:1px solid var(--line)}.capability-links a{display:grid;grid-template-columns:65px 1fr 30px;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:25px 12px;transition:padding .3s,background .3s}.capability-links a:hover{background:#1b1f1d;padding-left:25px}.capability-links h3{font-size:clamp(23px,3vw,44px);letter-spacing:-.035em;line-height:1.2}.capability-links span{color:var(--muted);font-size:13px}.capability-links span:last-child{font-size:24px}.additional-capabilities{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;margin-top:40px;font-size:14px;color:var(--muted)}.additional-capabilities>a{text-align:right;color:var(--paper)}.reach{display:grid;grid-template-columns:1.05fr 1fr;gap:10%;padding-block:40px 120px}.reach .eyebrow{color:var(--muted);margin-bottom:30px}.reach h2 em{color:var(--muted)}.reach>div>p:last-child{font-size:18px;color:var(--muted);line-height:1.7;margin-top:32px;max-width:430px}.city-list{align-self:center;display:flex;gap:0 28px;flex-wrap:wrap}.city-list a{font-size:25px;letter-spacing:-.03em;padding:10px 0;border-bottom:1px solid var(--line)}.city-list a:hover{color:var(--blue-light)}.city-list .all-cities{font-size:15px;width:100%;margin-top:20px}.home-insights{padding-block:90px 110px;border-top:1px solid var(--line)}.home-insights .section-head h2{font-size:clamp(36px,4vw,60px)}
.editorial-list{border-top:1px solid var(--line)}.editorial-list article{display:grid;grid-template-columns:55px 1fr 45px;gap:30px;padding:40px 0;border-bottom:1px solid var(--line)}.entry-number{font-size:13px;color:var(--muted);padding-top:6px}.editorial-list .eyebrow{color:var(--muted);margin-bottom:14px}.editorial-list h2{font-size:clamp(24px,3vw,42px);line-height:1.16;max-width:1050px;letter-spacing:-.04em}.editorial-list h2 a:hover{color:var(--blue-light)}.editorial-list article p:last-child{max-width:800px;color:var(--muted);font-size:16px;margin-top:15px}.entry-arrow{font-size:28px;align-self:center}.site-footer{background:#171a18;border-top:1px solid var(--line)}.contact-intro{padding-block:80px 70px}.contact-intro>.eyebrow{color:var(--muted);margin-bottom:35px}.contact-intro h2{font-size:clamp(52px,9vw,136px);line-height:.97}.contact-intro h2 em{color:var(--blue-light)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:45px}.contact-bottom p{color:var(--muted);font-size:18px}.contact-bottom .button{min-width:270px}.footer-grid{padding-block:55px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.4fr 1.2fr 1fr 1fr .8fr;gap:36px}.footer-wordmark{font-size:25px;letter-spacing:-.045em;font-weight:600}.footer-wordmark span{font-size:12px;vertical-align:top}.footer-grid>div>p{font-size:14px;color:var(--muted);margin:14px 0 28px}.footer-grid a:not(.footer-wordmark){display:block;font-size:13px;color:var(--muted);margin-top:12px}.footer-grid a:hover{color:white}.footer-grid h3{font-size:13px;color:var(--paper);margin-bottom:22px}.footer-grid .footer-all{color:var(--paper)!important;padding-top:12px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-block:23px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.footer-bottom nav{display:flex;gap:20px}.footer-grid ul,.footer-bottom ul{list-style:none;padding:0}
.inner-hero{padding-block:100px 75px}.inner-hero .eyebrow{color:var(--blue-light);margin-bottom:30px}.inner-hero h1,.case-hero h1{font-size:clamp(48px,7vw,108px);font-weight:500;line-height:1.02;letter-spacing:-.055em;max-width:1130px}.inner-intro{font-size:clamp(18px,1.7vw,24px);max-width:800px;color:var(--muted);line-height:1.65;margin-top:35px}.hub-section{padding-bottom:120px}.hub-index{border-top:1px solid var(--line)}.hub-row{display:grid;grid-template-columns:60px 1fr 40px;gap:25px;padding:38px 0;border-bottom:1px solid var(--line)}.hub-row h2{font-size:clamp(26px,3.4vw,48px);line-height:1.15}.hub-row p{color:var(--muted);max-width:720px;margin-top:15px;font-size:17px;line-height:1.6}.hub-row:hover h2{color:var(--blue-light)}.hub-locations .hub-index{display:grid;grid-template-columns:1fr 1fr;gap:0 55px}.hub-locations .hub-row{grid-template-columns:30px 1fr 24px;gap:16px}.hub-locations h2{font-size:29px}.hub-locations p{font-size:15px}.breadcrumbs{padding-top:30px;color:var(--muted)}.breadcrumbs nav{font-size:12px}.breadcrumbs+.inner-hero{padding-top:55px}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(45px,7vw,120px);padding-bottom:110px}.reading-aside{align-self:start;border-top:1px solid var(--line);padding-top:25px}.reading-aside .eyebrow{color:var(--muted)}.reading-aside h2{font-size:29px;line-height:1.2;margin-block:20px;letter-spacing:-.035em}.reading-aside p{color:var(--muted);font-size:16px;margin-bottom:22px}.reading-aside a:not(.button){display:block;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.reading-aside h3{font-size:14px;margin-top:45px}.reading-aside .button{margin-top:22px;width:100%;font-size:14px;gap:10px}.prose{font-size:18px;line-height:1.85;color:#c4c9c3;min-width:0}.prose h2{font-size:clamp(27px,3vw,42px);line-height:1.2;color:var(--paper);margin:50px 0 22px;letter-spacing:-.035em}.prose h3{font-size:25px;line-height:1.3;color:var(--paper);margin:38px 0 18px;letter-spacing:-.025em}.prose h4{font-size:20px;margin:30px 0 14px;color:var(--paper)}.prose p{margin:0 0 24px}.prose ul,.prose ol{padding-left:24px;margin-bottom:28px}.prose li{margin:10px 0}.prose a{color:var(--blue-light)!important;text-decoration:underline;text-underline-offset:3px}.prose strong{color:var(--paper)}.prose blockquote{border-left:2px solid var(--blue);padding:15px 25px;margin:35px 0;font-size:22px}.prose table{display:block;overflow:auto;max-width:100%;border-collapse:collapse}.prose td,.prose th{border:1px solid var(--line);padding:12px}.prose img{height:auto;margin:30px 0}.prose>div{border-radius:0!important;background:transparent!important}.prose>div:first-child{border:0!important;border-bottom:1px solid var(--line)!important;padding:0 0 25px!important;margin-bottom:45px}.prose>div:first-child h2{font-size:24px;margin-top:0!important}.prose .grid>div{border-radius:0;background:transparent;padding:20px 10px!important}.prose [class*='text-neon']{color:var(--blue-light)!important}.prose [class*='text-white/']{color:var(--muted)}.prose .text-xs{font-size:12px;line-height:1.6}.prose .text-3xl{font-size:30px}.prose>h2:first-child{margin-top:0}.case-hero{padding-block:55px 60px}.case-hero .eyebrow{color:var(--blue-light);margin-bottom:28px}.case-hero>p:last-child{font-size:22px;color:var(--muted);margin-top:24px}.case-brand-panel{min-height:320px;display:grid;place-items:center;margin-bottom:80px}.case-brand-panel img{width:320px;height:180px;object-fit:contain}.case-feature{margin-bottom:70px}.case-feature img{width:100%;max-height:680px;object-fit:cover}.more-work{padding-block:40px 100px}.more-work>.eyebrow{color:var(--muted);margin-bottom:24px}.more-work>h2{margin-bottom:40px}.archive-work{padding-bottom:100px}.archive-work .work-card:nth-child(even){margin-top:50px}.article-hero{max-width:1200px;padding-top:60px;padding-bottom:60px}.article-hero>.eyebrow{margin-top:55px;color:var(--muted);margin-bottom:25px}.article-hero h1{font-size:clamp(36px,5.5vw,76px);font-weight:500;line-height:1.1;letter-spacing:-.04em}.article-hero>p:last-child:not(.eyebrow){font-size:22px;line-height:1.6;color:var(--muted);margin-top:35px;max-width:850px}.article-body{max-width:860px;padding-inline:var(--gutter);margin-inline:auto;padding-bottom:60px}.article-next{border-top:1px solid var(--line);padding-block:65px 100px}.article-next h2{font-size:40px;margin-bottom:25px}.article-next>a{margin-right:35px}.journal-section{padding-bottom:100px}.pagination{display:flex;flex-wrap:wrap;gap:12px;padding-block:45px}.pagination a,.pagination span{padding:10px 16px;border:1px solid var(--line)}.pagination .current{background:var(--blue);color:#fff}.empty-state{padding-block:45px;color:var(--muted)}.empty-state a{color:var(--blue-light);text-decoration:underline}.error-links{display:flex;flex-wrap:wrap;gap:30px;align-items:center;padding-bottom:100px}
.project-cursor{position:fixed;left:0;top:0;display:none;pointer-events:none;background:var(--paper);color:var(--ink);padding:15px 21px;font-size:13px;z-index:60;opacity:0;transition:opacity .15s;white-space:nowrap}.project-cursor.active{opacity:1}@media(pointer:fine) and (prefers-reduced-motion:no-preference){.project-cursor{display:block}}
/* Progressive enhancement: content is visible before JS, with no timed loading screen. */
[data-reveal].is-visible{animation:arrive .65s var(--ease) both}@keyframes arrive{from{transform:translateY(18px)}to{transform:translateY(0)}}
@media(min-width:1800px){.site-header{padding-inline:max(var(--gutter),calc((100vw - 1512px)/2))}}
@media(max-width:1280px){.header-note{display:none}.desktop-nav{margin-left:auto}.site-header{gap:25px}.desktop-nav{gap:20px}.hero-stage{min-height:505px}.hero h1{font-size:10.7vw}.hero-actions{gap:22px}.hero-bottom>p{font-size:16px}.hero-actions .button{padding-inline:20px;gap:20px}.footer-grid{grid-template-columns:1.2fr 1.2fr 1fr 1fr}.footer-grid>nav:last-child{grid-column:2/-1;display:flex;gap:24px;align-items:baseline;flex-wrap:wrap}.footer-grid>nav:last-child h3{margin-bottom:0}.work-caption{display:block}.work-caption p{max-width:none;margin-top:7px}.hero-side-note{margin-top:35px}}
@media(max-width:1024px){.site-header{height:85px}.brand,.brand img{width:155px}.desktop-nav{gap:16px}.header-cta{display:none}.hero-stage{min-height:450px}.hero-images{margin-top:20px}.hero-main{bottom:65px}.hero-side-note{margin-left:35%;font-size:12px}.hero-bottom{grid-template-columns:1fr 1fr}.hero-actions{flex-direction:column;align-items:flex-start;gap:12px;padding-left:25px}.hero-actions .button{width:100%}.manifesto{padding-block:90px}.manifesto-bottom>p{font-size:18px}.ecosystem-grid{gap:6%}.ecosystem{padding-block:85px}.path-step{gap:18px}.field-strip{min-height:350px}.field-statement{padding:28px}.work-grid{gap:55px 28px}.work-card:nth-child(even){margin-top:65px}.reading-layout{grid-template-columns:minmax(0,1fr) 250px;gap:45px}.footer-grid{gap:30px}.results-grid{gap:25px}.additional-capabilities{grid-template-columns:1fr 2fr}.additional-capabilities>a{text-align:left;grid-column:2}}
@media(max-width:800px){.desktop-nav{display:none}.header-cta{display:block;margin-left:auto}.mobile-navigation{display:block;position:relative}.mobile-navigation summary{list-style:none;display:flex;gap:14px;align-items:center;min-height:44px;font-size:14px}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation i{width:23px;height:10px;border-block:1px solid}.mobile-navigation[open] i{height:1px;border-bottom:0;transform:rotate(-45deg)}.mobile-navigation nav{position:absolute;right:0;top:58px;width:min(380px,calc(100vw - 44px));background:var(--paper);color:var(--ink);padding:20px 25px;max-height:calc(100svh - 120px);overflow:auto;box-shadow:0 20px 60px #0005}.mobile-navigation nav>a,.mobile-navigation nav li>a{display:block;padding:12px 0;font-size:20px;border-bottom:1px solid #ccd1cb}.mobile-navigation ul{list-style:none;padding:0}.mobile-navigation .sub-menu{padding-left:20px}.mobile-navigation .sub-menu a{font-size:16px}.hero-stage{min-height:380px;padding-top:35px}.hero h1{font-size:11vw}.hero-images{margin-bottom:40px}.hero-secondary{width:74%;left:-8%}.hero-side-note{margin:25px 0 0 10%}.hero-main{inset:0 0 45px 0}.hero-main figcaption{padding:9px;font-size:10px}.hero-secondary figcaption{font-size:10px}.hero-topline>span{display:none}.hero-bottom{margin-top:0}.manifesto h2{font-size:6.6vw}.ecosystem-grid{grid-template-columns:1fr;gap:65px}.ecosystem-intro{position:static}.ecosystem-intro h2 br:nth-of-type(1){display:none}.ecosystem-intro>p:not(.eyebrow){max-width:500px}.pathway{max-width:600px}.field-strip{min-height:320px;grid-template-columns:1.2fr 1fr 1fr}.field-statement{padding:22px}.field-statement>p:last-child{font-size:7.4vw}.field-statement .eyebrow{font-size:10px}.field-strip figcaption{font-size:11px;left:10px;bottom:10px;padding:5px 8px}.section-head{gap:30px}.section-head>p{max-width:260px;font-size:16px}.results{padding-block:75px}.results-grid strong{font-size:7vw}.results-grid p{font-size:17px}.results-grid a>span{font-size:12px}.capability-index{padding-block:85px}.reach{gap:8%}.city-list a{font-size:21px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid>nav:last-child{grid-column:auto;display:block}.footer-grid>nav:last-child h3{margin-bottom:22px}.footer-bottom{flex-wrap:wrap}.hub-locations .hub-index{gap:0 30px}.hub-locations .hub-row{grid-template-columns:1fr 22px}.hub-locations .entry-number{display:none}.hub-locations h2{font-size:25px}.reading-layout{grid-template-columns:1fr}.reading-aside{max-width:600px;position:static}.reading-aside .button{width:auto}.inner-hero{padding-top:65px}.prose{font-size:17px}.prose .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-hero>p:last-child:not(.eyebrow){font-size:19px}.contact-bottom .button{min-width:220px}}
@media(max-width:560px){:root{--gutter:22px}.site-header{height:78px;gap:18px}.brand,.brand img{width:146px}.header-cta{display:none}.mobile-navigation{margin-left:auto}.hero{padding-top:24px;padding-bottom:32px}.hero-topline .eyebrow{font-size:10px;letter-spacing:.09em}.hero-stage{display:block;padding-top:29px;min-height:0}.hero h1{font-size:clamp(72px,19vw,106px);line-height:.9;letter-spacing:-.065em}.hero h1 br:last-of-type{display:none}.hero h1 em{display:inline-block;margin-left:16px}.hero-side-note{display:none}.hero-images{height:310px;margin:32px 9px 18px}.hero-main{inset:0 0 35px 12%;transform:rotate(3deg)}.hero-secondary{left:0;bottom:0;width:60%;border-width:5px}.hero-main figcaption,.hero-secondary figcaption{font-size:10px}.image-mark{font-size:10px;right:-3%;bottom:8%}.hero-bottom{display:block;margin-top:22px;padding-top:23px}.hero-bottom>p{font-size:16px;line-height:1.65}.hero-actions{padding:0;flex-direction:row;align-items:center;gap:20px;margin-top:25px;justify-content:space-between}.hero-actions .button{font-size:14px;width:auto;min-height:54px;padding:14px 18px;gap:18px}.hero-actions .text-link{font-size:13px}.brand-band{padding-block:20px 25px}.band-label{margin-bottom:15px}.band-label p,.motion-toggle{font-size:11px}.marquee-group{gap:35px;padding-right:35px}.marquee img{width:112px;height:65px}.manifesto{padding-block:75px}.manifesto>.eyebrow{margin-bottom:30px}.manifesto h2{font-size:clamp(33px,8.5vw,47px);line-height:1.13}.manifesto h2 em{letter-spacing:-.065em}.manifesto-bottom{display:flex;flex-direction:column-reverse;gap:30px;align-items:stretch;margin-top:30px}.manifesto-bottom>p{font-size:17px}.section-stamp{font-size:12px}.ecosystem{padding-block:65px}.ecosystem-grid{gap:45px}.ecosystem-intro>.eyebrow{font-size:10px;margin-bottom:25px}.ecosystem-intro h2{font-size:46px}.ecosystem-intro h2 br:nth-of-type(1){display:block}.ecosystem-intro>p:not(.eyebrow){font-size:16px}.path-step{grid-template-columns:35px 1fr 16px;gap:16px;padding-bottom:40px}.step-node{width:35px;height:35px;font-size:11px}.pathway::before{left:17px}.path-step .eyebrow{font-size:11px;margin-top:7px;margin-bottom:10px}.path-step h3{font-size:28px}.path-step p:last-child{font-size:16px;margin-top:13px}.path-step>span:last-child{font-size:18px}.field-strip{grid-template-columns:1.15fr 1fr;min-height:310px}.field-strip figure:last-child{display:none}.field-statement{padding:24px}.field-statement>p:last-child{font-size:56px}.selected-work{padding-block:70px}.section-head{display:block;margin-bottom:35px}.section-head .eyebrow{font-size:11px;margin-bottom:24px}.section-head h2{font-size:46px}.section-head>p{max-width:100%;margin-top:25px}.work-grid{display:block}.work-card,.work-card:nth-child(even),.archive-work .work-card:nth-child(even){margin:0 0 40px}.work-art{aspect-ratio:1.2}.work-index{left:20px;top:18px;font-size:11px}.work-category{left:20px;bottom:20px;font-size:12px}.work-caption{padding-top:17px}.work-caption h3{font-size:23px}.work-caption p{font-size:14px;margin-top:5px}.selected-work>.text-link{margin-top:0}.results{padding-block:65px}.results h2{font-size:43px}.results-grid{grid-template-columns:1fr;margin-top:35px;padding-top:0;gap:0}.results-grid a{position:relative;border-bottom:1px solid #ffffff50;padding:25px 0}.results-grid strong{font-size:68px}.results-grid p{font-size:18px;margin-top:10px}.results-grid a>span{font-size:13px}.results-note{margin-top:25px}.capability-index{padding-block:70px}.capability-links a{grid-template-columns:23px 1fr 20px;gap:12px;padding:23px 0}.capability-links h3{font-size:24px}.capability-links span{font-size:11px}.capability-links span:last-child{font-size:21px}.capability-links a:hover{padding-left:7px}.additional-capabilities{display:block;margin-top:30px}.additional-capabilities p:nth-child(2){margin-top:12px;font-size:15px;line-height:1.7}.additional-capabilities a{display:inline-block;margin-top:18px;color:var(--paper)}.reach{grid-template-columns:1fr;gap:30px;padding-block:0 70px}.reach h2{font-size:43px}.reach>div>p:last-child{font-size:17px;margin-top:25px}.city-list{gap:0 21px}.city-list a{font-size:22px}.home-insights{padding-block:65px}.home-insights .section-head .text-link{margin-top:20px}.editorial-list article{grid-template-columns:1fr 25px;gap:14px;padding:28px 0}.editorial-list .entry-number{display:none}.editorial-list h2{font-size:26px;line-height:1.18}.editorial-list article p:last-child{font-size:15px}.editorial-list .eyebrow{font-size:10px}.entry-arrow{font-size:25px}.contact-intro{padding-block:65px 45px}.contact-intro h2{font-size:clamp(50px,12.5vw,69px)}.contact-bottom{display:block;margin-top:30px}.contact-bottom p{font-size:16px}.contact-bottom .button{margin-top:28px;min-width:240px}.footer-grid{padding-block:35px;grid-template-columns:1fr 1fr;gap:35px 24px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid h3{margin-bottom:16px}.footer-grid a:not(.footer-wordmark){font-size:13px}.footer-grid>nav:last-child h3{margin-bottom:16px}.footer-bottom{display:block;font-size:11px}.footer-bottom>span{display:block;margin-bottom:12px}.footer-bottom nav{margin-top:15px}.inner-hero{padding-block:55px 45px}.inner-hero h1,.case-hero h1{font-size:46px;line-height:1.05;overflow-wrap:anywhere}.inner-hero .eyebrow{margin-bottom:25px}.inner-intro{font-size:17px;margin-top:25px}.hub-row{grid-template-columns:1fr 25px;gap:20px;padding-block:28px}.hub-row>.entry-number{display:none}.hub-row h2{font-size:28px}.hub-row p{font-size:16px}.hub-locations .hub-index{display:block}.hub-locations h2{font-size:28px}.hub-section{padding-bottom:65px}.breadcrumbs{padding-top:24px}.breadcrumbs+.inner-hero{padding-top:30px}.reading-layout{padding-bottom:65px;gap:40px}.prose{font-size:17px;line-height:1.8}.prose h2{font-size:30px;margin-top:40px}.prose h3{font-size:24px}.prose>div:first-child h2{font-size:24px;line-height:1.3}.prose .grid>div .text-3xl{font-size:26px}.prose .grid{gap:10px}.prose .text-xs{font-size:11px}.case-hero{padding-block:35px 40px}.case-hero>p:last-child{font-size:18px}.case-brand-panel{min-height:220px;margin-bottom:45px}.case-brand-panel img{width:220px;height:140px}.archive-work{padding-bottom:45px}.article-hero{padding-top:35px;padding-bottom:40px}.article-hero>.eyebrow{margin-top:35px;font-size:11px}.article-hero h1{font-size:38px}.article-hero>p:last-child:not(.eyebrow){font-size:18px;margin-top:25px}.article-next{padding-block:40px 65px}.article-next h2{font-size:32px}.article-next>a{display:table;margin-right:0;margin-top:10px}.journal-section{padding-bottom:60px}.more-work{padding-block:0 45px}.more-work>h2{font-size:36px}.error-links{padding-bottom:65px}.work-card{scroll-margin-top:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.project-cursor{display:none!important}.marquee-track{transform:none}.marquee{overflow:auto}.marquee-group[aria-hidden]{display:none}.motion-toggle{display:none}}
@media print{.site-header,.site-footer,.project-cursor,.brand-band,.reading-aside,.article-next{display:none}body{background:white;color:black}.prose,.prose h2,.prose h3,.prose h4,.prose strong{color:black}.reading-layout{display:block}.prose a{color:black!important}.wrap{padding:0}.inner-hero{padding-block:20px}}

/* Final art direction: tonal logo wall, campaign-led feature, native scroll choreography. */
.brand-band{background:var(--paper);color:var(--ink);border:0}.band-label p,.motion-toggle{color:#555f56}.motion-toggle{border-color:#bdc4bb}.marquee img{mix-blend-mode:multiply;filter:grayscale(1);opacity:.85}.marquee img:hover{filter:none;opacity:1}
.work-logo,.case-brand-panel img{filter:grayscale(1) invert(1);mix-blend-mode:screen}.work-logo{opacity:.85}.work-card:hover .work-logo{opacity:1}.work-art{border:1px solid #ffffff12}.work-caption h3{font-weight:500}
.featured-campaign{display:grid;grid-template-columns:1.3fr 1fr;min-height:410px;margin-bottom:80px;background:#e1e8dc;color:var(--ink);overflow:hidden}.featured-campaign figure{overflow:hidden;min-height:410px}.featured-campaign img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.featured-campaign:hover img{transform:scale(1.035)}.featured-copy{padding:45px;display:flex;flex-direction:column;align-items:start}.featured-copy .eyebrow{font-size:11px;color:#596553}.featured-copy h3{font-size:clamp(32px,3.6vw,53px);line-height:1.05;letter-spacing:-.045em;margin-top:35px}.featured-copy>p:not(.eyebrow){font-size:17px;color:#566050;margin-top:22px;max-width:310px}.featured-copy>.text-link{margin-top:auto;padding-top:30px}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .manifesto .reveal-line{animation:text-ink linear both;animation-timeline:view();animation-range:entry 15% cover 35%}
  .field-strip figure img{animation:field-depth linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  .pathway::before{background:linear-gradient(var(--blue),var(--blue)) no-repeat,#b5bcb4;background-size:100% 0%;animation:trace-path linear both;animation-timeline:view();animation-range:entry 20% cover 80%}
  .hero-images{animation:hero-leave linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
 }
}
@keyframes text-ink{from{color:#777e78}to{color:var(--paper)}}
@keyframes field-depth{from{transform:scale(1.08) translateY(-2%)}to{transform:scale(1.08) translateY(2%)}}
@keyframes trace-path{to{background-size:100% 100%}}
@keyframes hero-leave{to{transform:translateY(35px)}}
@media(max-width:800px){.featured-copy{padding:30px}.featured-campaign{grid-template-columns:1fr 1fr;min-height:360px}.featured-campaign figure{min-height:360px}.featured-copy h3{font-size:33px;margin-top:25px}}
@media(max-width:560px){.featured-campaign{display:block;margin-bottom:45px}.featured-campaign figure{min-height:0;height:240px}.featured-copy{padding:28px}.featured-copy h3{font-size:35px;margin-top:22px}.featured-copy>p:not(.eyebrow){font-size:16px}.featured-copy>.text-link{padding-top:22px}.hero-images{animation:none!important}.field-strip img{animation:none!important}}

.reveal-line{display:inline-block}
@media(max-width:560px){.hero-images{height:250px}.hero h1{font-size:clamp(66px,18vw,90px)}}

.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}
.hive .work-logo,.case-brand-panel.hive img{filter:grayscale(1) invert(1) brightness(3)}
.eatsure .work-art,.case-brand-panel.eatsure{background:#4938ba}.eatsure .work-logo,.case-brand-panel.eatsure img{filter:none;mix-blend-mode:normal;clip-path:inset(8% 0)}

.skip-link{opacity:0;pointer-events:none}.skip-link:focus{opacity:1;pointer-events:auto}

/* The campaign invitation ends with a person, not a form. */
.direct-contact{display:grid;grid-template-columns:1fr 1.35fr;gap:50px;margin-top:55px;padding-top:35px;border-top:1px solid #ffffff40}.contact-human .eyebrow{font-size:11px;margin-bottom:18px}.contact-human h3{font-size:36px;letter-spacing:-.035em}.contact-human>p:not(.eyebrow){font-size:17px}.contact-human>span{display:block;font-size:15px;margin-top:17px}.contact-routes>a{display:flex;align-items:center;gap:20px;font-size:clamp(22px,2.4vw,36px);padding:12px 0;letter-spacing:-.03em}.contact-routes>a>span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;min-width:45px}.contact-routes b{font-weight:400;margin-left:auto}.contact-routes .contact-whatsapp{font-size:17px;border-bottom:1px solid #ffffff60;margin-top:15px;letter-spacing:0}.contact-routes a:hover{color:#ccd6ff}@media(max-width:700px){.direct-contact{display:block;margin-top:35px;padding-top:28px}.contact-human h3{font-size:32px}.contact-routes{margin-top:24px}.contact-routes>a{font-size:clamp(19px,5vw,27px);gap:10px}.contact-routes>a>span{min-width:34px;font-size:9px}.contact-routes .contact-whatsapp{font-size:14px}}

/* Shared Youthfluence design tokens. */
:root{--ink:#070708;--surface:#101116;--paper:#F4F2ED;--white:#F4F2ED;--muted:#9B9CA3;--blue:#6674FF;--blue-light:#6674FF;--cyan:#00E7FF;--lime:#C9FF3B;--magenta:#FF3D9A;--line:#292a31}
body,.site-header,.site-footer,.mobile-navigation nav,.desktop-nav .sub-menu{background:var(--ink);color:var(--paper)}.site-header .header-note,.prose p,.inner-intro,.case-hero>p,.reading-aside p{color:var(--muted)}.button{background:var(--blue);color:var(--ink)}.button:hover{background:var(--paper);color:var(--ink)}.button.light{background:var(--blue);color:var(--ink)}.button.light:hover{background:var(--paper)}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--blue)}.text-link:hover,.desktop-nav a:hover,.city-list a:hover{color:var(--blue)}.prose a{color:var(--blue)!important}.prose .text-neon-cyan{color:var(--cyan)!important}.prose .text-neon-pink{color:var(--magenta)!important}.prose .text-neon-green{color:var(--lime)!important}
.work-art,.case-brand-panel,.reading-aside,.hub-row:hover{background:var(--surface)!important;color:var(--paper)}.work-logo,.case-brand-panel img,.marquee img,.hive .work-logo,.eatsure .work-logo,.case-brand-panel.hive img,.case-brand-panel.eatsure img,img[src*="/clients/"]{filter:none!important;opacity:1!important;mix-blend-mode:normal!important;clip-path:none!important}.work-logo,.case-brand-panel img{background:#fff;object-fit:contain;padding:15px}.case-brand-panel{border:1px solid var(--line)}.site-footer{border-top:1px solid var(--line)}.contact-intro{padding-block:70px;text-align:center}.contact-intro h2{font-size:clamp(58px,7.5vw,108px)}.contact-intro h2 em{color:var(--blue);font-family:var(--font);font-style:normal;font-weight:500}.contact-intro>.eyebrow{color:var(--muted)}.contact-bottom{display:block;margin:24px auto 0}.contact-bottom p{margin:auto;color:var(--muted);max-width:none}.contact-bottom>.button{display:none}.direct-contact{display:block;max-width:850px;margin:40px auto 0;padding:42px;background:var(--surface);border:1px solid var(--line);text-align:center}.contact-human h3{font-size:36px;letter-spacing:-.04em}.contact-human>p{color:var(--blue);font-size:16px!important;margin-top:6px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:30px}.contact-details>a{font-size:clamp(19px,2.1vw,28px);padding:18px 6px;border-bottom:1px solid var(--line)}.contact-details>p{grid-column:1/-1;font-size:17px;color:var(--muted);margin-top:10px}.contact-actions{display:flex;justify-content:center;gap:14px;margin-top:30px}.contact-actions .button{flex:1;justify-content:center;min-height:52px;font-size:15px}.contact-actions .button:not(:first-child){background:transparent;border:1px solid var(--blue);color:var(--paper)}.contact-actions .button:hover{background:var(--blue);color:var(--ink)}
@media(max-width:700px){.contact-intro{padding-block:40px}.contact-intro h2{font-size:53px}.direct-contact{padding:26px 18px;margin-top:28px}.contact-human h3{font-size:30px}.contact-details{display:block;margin-top:18px}.contact-details>a{display:block;font-size:23px;padding:12px 0}.contact-details>p{font-size:16px;margin-top:18px}.contact-actions{gap:8px;margin-top:24px}.contact-actions .button{font-size:12px;padding:12px 8px;min-height:46px}.contact-bottom p{font-size:15px}}

/* Speed + loading polish (Oct 2026). Loaded last so it can refine earlier rules. */
/* Never show the image's name while a photo is still loading. */
img{color:transparent}
/* A soft, on-brand box sits where each photo will appear, so fast scrolling shows a calm placeholder. */
.entry-photo,.ecosystem-frame figure,.mobile-chapter-image,.record-visual,.work-art,.case-feature{background-color:var(--surface,#101116)}
/* Photos that load later fade in gently instead of popping in. */
.yf-js img[loading="lazy"]{opacity:0;transition:opacity .45s ease}
.yf-js img[loading="lazy"].is-loaded{opacity:1}
@media (prefers-reduced-motion:reduce){.yf-js img[loading="lazy"]{transition:none}.yf-sticky-cta{transition:none!important}}
.entry-photo picture{display:block;width:100%;height:100%}
/* Plain one-line description under the homepage heading. */
.entry-title>p.hero-summary{margin:14px auto 0;max-width:34em;font-size:14px;line-height:1.55;color:var(--muted,#9B9CA3);white-space:normal}
@media (max-width:1100px) and (min-width:701px){.entry-title>p.hero-summary{font-size:13px;max-width:28em}}
@media (max-width:700px){.entry-title>p.hero-summary{font-size:12px;margin-top:12px;padding:0 4px;white-space:normal}}
/* Call + WhatsApp buttons: in the hero, beside the big numbers, and a slim bar on phones. */
.yf-cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.yf-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:13px 24px;font-size:15px;font-weight:500;line-height:1;white-space:nowrap;transition:background .2s,color .2s,transform .2s}
.yf-cta-btn span{font-size:19px;line-height:1}
.yf-cta-call{background:var(--paper,#F4F2ED);color:var(--ink,#070708)}
.yf-cta-call:hover{background:#fff;transform:translateY(-2px)}
.yf-cta-wa{background:#25D366;color:#06210f}
.yf-cta-wa:hover{background:#3be37a;transform:translateY(-2px)}
.yf-cta-hero{margin-top:22px}
.yf-cta-numbers{grid-column:1/-1;justify-content:flex-start;margin-top:6px}
.yf-sticky-cta{display:none}
@media (max-width:700px){
.yf-cta-hero{margin-top:18px}
.yf-cta-hero .yf-cta-btn{flex:1;min-height:48px;padding:12px 10px;font-size:14px}
.yf-cta-numbers{position:relative;margin:22px 6% 6px;justify-content:flex-start}
.yf-cta-numbers .yf-cta-btn{flex:1;min-height:48px;padding:12px 10px;font-size:14px}
.yf-sticky-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;gap:1px;background:var(--ink,#070708);border-top:1px solid var(--line,#343735);padding-bottom:env(safe-area-inset-bottom);transition:transform .3s ease}
/* The bar hides while the page's own Call/WhatsApp buttons are on screen, so they never show twice. */
.yf-sticky-cta.is-hidden{transform:translateY(110%)}
.yf-sticky-cta .yf-cta-btn{flex:1;min-height:52px;padding:10px;font-size:15px}
body.yf-site{padding-bottom:calc(53px + env(safe-area-inset-bottom))}
}
@media print{.yf-sticky-cta{display:none!important}}
