@font-face{font-family:"Syne";src:url("../fonts/syne-variable.ttf") format("truetype");font-weight:400 800;font-style:normal;font-display:swap}:root{--color-primary:#df1e30;--color-primary-hover:#b81627;--color-primary-on-dark:#ff4d5c;--color-white:#ffffff;--color-black:#000000;--color-white-08:rgb(255 255 255 / .08);--color-white-16:rgb(255 255 255 / .16);--color-white-72:rgb(255 255 255 / .72);--color-black-08:rgb(0 0 0 / .08);--color-black-16:rgb(0 0 0 / .16);--color-black-68:rgb(0 0 0 / .68);--color-primary-08:rgb(223 30 48 / .08);--color-primary-16:rgb(223 30 48 / .16);--font-sans:"Syne","Noto Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,"SFMono-Regular","SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--fs-display:clamp(1.375rem,5.6vw,9rem);--fs-h1:clamp(2rem,1rem + 3.6vw,5.25rem);--fs-h2:clamp(1.6rem,1rem + 2.2vw,3.5rem);--fs-h3:clamp(1.25rem,.9rem + 1.3vw,2.25rem);--fs-h4:clamp(1.125rem,.95rem + .6vw,1.5rem);--fs-lead:clamp(1rem,.9rem + .45vw,1.375rem);--fs-body:clamp(.9375rem,.9rem + .15vw,1.0625rem);--fs-small:clamp(.8125rem,.8rem + .1vw,.9375rem);--fs-caption:clamp(.75rem,.73rem + .05vw,.8125rem);--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--lh-display:.88;--lh-heading:.95;--lh-snug:1.2;--lh-body:1.6;--ls-display:-0.045em;--ls-heading:-0.035em;--ls-tight:-0.02em;--ls-caps:.14em;--measure:65ch;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2rem;--space-xl:3rem;--space-2xl:5rem;--space-3xl:8rem;--space-section:clamp(4.5rem,3rem + 6vw,9.5rem);--container:112.5rem;--margin:clamp(1.25rem,.5rem + 3vw,4rem);--gutter:clamp(1rem,.6rem + 1.6vw,2.5rem);--grid-cols:4;--header-h:5.5rem;--radius-pill:999px;--radius-card:clamp(1rem,1.5vw,1.75rem);--border:1px;--z-base:1;--z-header:100;--z-menu:90;--z-cursor:200;--z-preloader:300;--z-skip:400;--dur-fast:.3s;--dur-base:.6s;--dur-slow:1s;--ease-out:cubic-bezier(.215,.61,.355,1);--ease-expo:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.455,.03,.515,.955);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}@media (min-width: 48em){:root{--grid-cols:8;--header-h:6.5rem}}@media (min-width: 64em){:root{--grid-cols:12}}html{background:#000;color:#fff;color-scheme:dark}body{background:transparent}*,*::before,*::after{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--space-s));color-scheme:dark}@media (prefers-reduced-motion: no-preference){html:not(.lenis){scroll-behavior:smooth}}body{margin:0;min-height:100svh;font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-body);background:transparent;color:var(--color-white);overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote,address{margin:0}h1,h2,h3,h4{font-weight:var(--fw-extrabold);text-wrap:balance}p{text-wrap:pretty}address{font-style:normal}ul[class],ol[class]{list-style:none;padding:0}img,svg,video,canvas{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.2em;transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0;border-radius:0}::selection{background:var(--color-primary);color:var(--color-white)}html{scrollbar-color:var(--color-primary) var(--color-black);scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-black)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:999px;border:2px solid var(--color-black)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-on-dark)}@media (forced-colors: active){html{scrollbar-color:auto}}[hidden]{display:none!important}body::after{content:"";position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media (forced-colors: active), print {
  body::after { display: none; }
}
.theme-dark {
  --bg: var(--color-black);
  --fg: var(--color-white);
  --fg-muted: var(--color-white-72);
  --line: var(--color-white-16);
  --tint: var(--color-white-08);
  --accent: var(--color-primary-on-dark);
  --focus: var(--color-primary-on-dark);
  background-color: var(--bg);
  color: var(--fg);
}
.theme-light {
  --bg: var(--color-white);
  --fg: var(--color-black);
  --fg-muted: var(--color-black-68);
  --line: var(--color-black-16);
  --tint: var(--color-black-08);
  --accent: var(--color-primary-hover);
  --focus: var(--color-primary-hover);
  background-color: var(--bg);
  color: var(--fg);
}
.theme-red {
  --bg: var(--color-primary);
  --fg: var(--color-white);
  --fg-muted: var(--color-white);
  --line: rgb(255 255 255 / 0.4);
  --tint: rgb(0 0 0 / 0.12);
  --accent: var(--color-black);
  --focus: var(--color-white);
  background-color: var(--bg);
  color: var(--fg);
}
:focus-visible {
  outline: 3px solid var(--focus, var(--color-primary-on-dark));
  outline-offset: 3px;
}
:focus:not(:focus-visible) { outline: none; }
[tabindex="-1"]:focus { outline: none; }
html.lenis,
html.lenis body { height: auto; }
:lang(el) { --ls-display: -0.035em; --ls-heading: -0.025em; }
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (forced-colors: active) {
  :focus-visible { outline-color: Highlight; }
  .btn,
  .slider__btn { border: 1px solid CanvasText; }
  .rec-dot { forced-color-adjust: none; background: Mark; }
  .cursor { display: none !important; }
}

/* ==== layout ========================================================== */
.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: max(var(--margin), var(--safe-left)) max(var(--margin), var(--safe-right));
}
.section { padding-block: var(--space-section); }
.section-head {
  display: grid;
  gap: var(--space-m);
  margin-bottom: clamp(var(--space-xl), 6vw, var(--space-3xl));
}
.section-head__title {
  font-size: var(--fs-h2);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
  max-width: 16ch;
}
.section-head__lead {
  max-width: var(--measure);
  color: var(--fg-muted);
  font-size: var(--fs-lead);
  line-height: 1.45;
}
@media (min-width: 64em) {
  .section-head--split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: end;
  }
  .section-head--split .eyebrow { grid-column: 1 / -1; }
}
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: var(--z-header);
  height: var(--header-h);
  background-color: transparent;
  transition:
  transform var(--dur-base) var(--ease-expo),
  background-color var(--dur-fast) var(--ease-out);
}
.site-header.is-menu-open { background-color: var(--color-black); }
.site-header { transition: height var(--dur-base) var(--ease-expo), background-color var(--dur-fast) var(--ease-out); }
.site-header__inner {
  transition:
  height var(--dur-base) var(--ease-expo),
  width var(--dur-base) var(--ease-expo),
  max-width var(--dur-base) var(--ease-expo),
  margin var(--dur-base) var(--ease-expo),
  padding var(--dur-base) var(--ease-expo),
  background-color var(--dur-base) var(--ease-out);
  width: calc(100% - 2 * var(--margin));
  max-width: calc(var(--container) - 2 * var(--margin));
  height: 4.25rem;
  margin-top: 1rem;
  padding-inline: 1.5rem 0.5rem;
  border: 1px solid var(--color-white-16);
  border-radius: var(--radius-pill);
  background: rgb(10 10 10 / 0.45);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  backdrop-filter: blur(18px) saturate(160%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.08), 0 0.75rem 2rem rgb(0 0 0 / 0.3);
}
@supports not (backdrop-filter: blur(1px)) {
  .site-header__inner { background: rgb(10 10 10 / 0.94); }
}
.site-nav__list {
  border-color: transparent; background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
}
.site-header.is-scrolled { height: 4.5rem; }
.site-header.is-scrolled .site-header__inner {
  width: calc(100% - 2 * var(--margin));
  max-width: min(calc(var(--container) - 2 * var(--margin)), 72rem);
  height: 3.25rem;
  margin-top: 0.625rem;
  padding-inline: 1rem 0.25rem;
  background: rgb(10 10 10 / 0.6);
}
.site-header.is-scrolled .site-nav__list { padding: 0; }
.site-header.is-scrolled .site-nav__link { min-height: 2.5rem; padding-inline: 0.875rem; }
.site-header.is-scrolled .logo { font-size: 0.9375rem; }
.site-header.is-scrolled .site-header__actions { gap: var(--space-2xs); }
.site-header.is-menu-open .site-header__inner { background: transparent; border-color: transparent; box-shadow: none; }
.logo { transition: font-size var(--dur-base) var(--ease-expo); }
@media (forced-colors: active) {
  .site-header__inner { border-color: CanvasText; background: Canvas; }
}
.site-header.is-hidden { transform: translateY(-100%); }
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
}
.site-header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-m);
}
.site-nav { display: none; }
@media (min-width: 80em) {
  .site-nav { display: block; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
  .site-header__inner { position: relative; }
  .site-header__menu-link,
  .menu-toggle { display: none !important; }
}
.site-footer {
  padding-top: var(--space-section);
  padding-bottom: calc(var(--space-l) + var(--safe-bottom));
  overflow: clip;
}

/* ==== components ====================================================== */
.skip-link {
  position: fixed;
  top: var(--space-s);
  left: var(--space-s);
  z-index: var(--z-skip);
  padding: var(--space-xs) var(--space-m);
  background: var(--color-white);
  color: var(--color-black);
  font-weight: var(--fw-bold);
  text-decoration: none;
  transform: translateY(-200%);
}
.skip-link:focus-visible { transform: none; outline-color: var(--color-primary); }
.rec-dot {
  display: inline-block;
  flex: none;
  width: 0.6em;
  height: 0.6em;
  border-radius: 50%;
  background: var(--color-primary);
}
@media (prefers-reduced-motion: no-preference) {
  .rec-dot { animation: rec-pulse 1.6s var(--ease-in-out) infinite; }
}
@keyframes rec-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(0.75); }
}
.eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2xs) var(--space-s);
  font-size: var(--fs-caption);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
  line-height: 1.4;
}
.btn {
  --btn-bg: var(--color-primary);
  --btn-fg: var(--color-white);
  --btn-border: var(--color-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  min-height: 3.25rem;
  padding: var(--space-xs) var(--space-l);
  border: 2px solid var(--btn-border);
  border-radius: var(--radius-pill);
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-size: var(--fs-small);
  font-weight: var(--fw-bold);
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition:
  background-color var(--dur-fast) var(--ease-out),
  color var(--dur-fast) var(--ease-out),
  border-color var(--dur-fast) var(--ease-out);
}
.btn:hover { --btn-bg: var(--color-primary-hover); --btn-border: var(--color-primary-hover); color: var(--btn-fg); }
.btn:active { --btn-bg: #9e1220; --btn-border: #9e1220; }
.btn--ghost { --btn-bg: transparent; --btn-fg: var(--color-white); --btn-border: rgb(255 255 255 / 0.4); }
.btn--ghost:hover { --btn-bg: var(--color-white); --btn-fg: var(--color-black); --btn-border: var(--color-white); }
.btn--ghost:active { --btn-bg: rgb(255 255 255 / 0.85); --btn-border: rgb(255 255 255 / 0.85); }
.btn--large { min-height: 4rem; padding-inline: var(--space-xl); font-size: var(--fs-body); }
.btn__icon { transition: transform var(--dur-fast) var(--ease-out); }
.btn:hover .btn__icon { transform: translateX(0.25em); }
.btn[disabled] { opacity: 0.6; cursor: progress; }
.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  min-height: 2.75rem;
  font-weight: var(--fw-bold);
  text-decoration: underline;
  text-decoration-color: var(--line);
}
.link-arrow:hover { text-decoration-color: currentColor; }
.link-arrow::after { content: "→"; transition: transform var(--dur-fast) var(--ease-out); }
.link-arrow:hover::after { transform: translateX(0.25em); }
.logo {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  min-height: 2.75rem;
  font-size: clamp(1rem, 0.95rem + 0.3vw, 1.25rem);
  font-weight: var(--fw-extrabold);
  letter-spacing: -0.01em;
  text-decoration: none;
  white-space: nowrap;
}
.logo:hover { color: var(--fg); }
.logo__text { display: inline-flex; white-space: pre; }
.logo__the {
  display: inline-block;
  max-width: 4em;
  overflow: hidden;
  opacity: 1;
  transition:
  max-width var(--dur-base) var(--ease-expo),
  opacity var(--dur-fast) var(--ease-out);
}
.site-header.is-scrolled .logo__the { max-width: 0; opacity: 0; }
.site-nav__list {
  display: flex;
  align-items: center;
  gap: var(--space-3xs);
}
.site-nav__link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding-inline: 1.125rem;
  border-radius: var(--radius-pill);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.01em;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.site-nav__link { color: var(--color-white-72); }
.site-nav__link:hover { color: var(--accent); }
.site-nav__link.is-active { color: var(--color-white); }
.site-nav__link.is-active::before {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  margin-right: 0.4rem;
  border-radius: 50%;
  background: var(--color-primary);
}
@media (forced-colors: active) {
  .site-nav__link.is-active { text-decoration: underline; }
}
.site-header__menu-link,
.menu-toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-height: 2.75rem;
  padding-inline: var(--space-2xs);
  font-size: var(--fs-small);
  font-weight: var(--fw-bold);
  text-decoration: none;
}
.menu-toggle__icon {
  position: relative;
  width: 1.75rem;
  height: 0.75rem;
}
.menu-toggle__icon::before,
.menu-toggle__icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: currentColor;
  transition: transform var(--dur-base) var(--ease-expo);
}
.menu-toggle__icon::before { top: 0; }
.menu-toggle__icon::after { bottom: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::before { transform: translateY(0.3125rem) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::after { transform: translateY(-0.3125rem) rotate(-45deg); }
.menu-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-menu);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-xl);
  padding-top: calc(var(--header-h) + var(--space-l));
  padding-bottom: calc(var(--space-l) + var(--safe-bottom));
  overflow-y: auto;
  overscroll-behavior: contain;
}
.menu-overlay__list { display: grid; gap: var(--space-3xs); counter-reset: menu; }
.menu-overlay__item { overflow: clip; }
.menu-overlay__link {
  display: flex;
  align-items: baseline;
  gap: var(--space-s);
  min-height: 2.75rem;
  font-size: clamp(1.875rem, 0.9rem + 5vw, 4rem);
  font-weight: var(--fw-extrabold);
  line-height: 1.05;
  letter-spacing: var(--ls-heading);
  text-decoration: none;
}
.menu-overlay__link.is-active { color: var(--accent); }
.menu-overlay__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-m);
  font-size: var(--fs-small);
}
html.is-menu-open { overflow: clip; }
.preloader { display: none; }
.is-loading .preloader {
  position: fixed;
  inset: 0;
  z-index: var(--z-preloader);
  display: grid;
  place-content: center;
  justify-items: center;
  gap: var(--space-m);
  background: var(--color-black);
  color: var(--color-white);
}
.is-loading .preloader { overflow: hidden; gap: clamp(1.25rem, 3svh, 2rem); clip-path: inset(0 0 0 0); }
.preloader__glow {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 70vmax;
  aspect-ratio: 1;
  translate: -50% -50%;
  border-radius: 42% 58% 63% 37% / 45% 38% 62% 55%;
  background: radial-gradient(circle at 45% 45%, rgb(223 30 48 / 0.55), rgb(120 10 24 / 0.25) 40%, transparent 68%);
  filter: blur(40px);
  scale: 0.4;
  opacity: 0;
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  .preloader__glow { animation: liquid-morph 6s var(--ease-in-out) infinite alternate; }
}
.preloader__brand {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.22em;
  margin: 0;
  font-size: clamp(2.25rem, 1rem + 5vw, 6rem);
  font-weight: var(--fw-extrabold);
  line-height: 1;
  letter-spacing: -0.045em;
  text-transform: uppercase;
}
.preloader__dot {
  width: 0.32em; height: 0.32em; margin-right: 0.12em; border-radius: 50%; background: var(--color-primary); box-shadow: 0 0 1.5rem rgb(223 30 48 / 0.8);
}
.preloader__mask { display: inline-block; overflow: clip; padding-bottom: 0.06em; margin-bottom: -0.06em; }
.preloader__word { display: inline-block; }
.preloader__tag {
  position: relative; margin: 0; font-size: var(--fs-caption); letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent, #ff4d5c);
}
.is-intro .hero__title,
.is-intro .hero__intro,
.is-intro .hero__eyebrow { visibility: hidden; }
.cursor {
  position: fixed;
  inset: 0;
  z-index: var(--z-cursor);
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--dur-fast) var(--ease-out);
}
.cursor.is-visible { opacity: 1; }
.cursor.is-hidden { opacity: 0; }
.cursor__dot,
.cursor__ring { position: absolute; top: 0; left: 0; }
.cursor__dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--color-primary);
}
.cursor__ring { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; }
.cursor__circle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2.5rem;
  height: 2.5rem;
  translate: -50% -50%;
  border: 1.5px solid var(--color-primary);
  border-radius: 50%;
  transition:
  width var(--dur-base) var(--ease-expo),
  height var(--dur-base) var(--ease-expo),
  transform var(--dur-base) var(--ease-expo),
  background-color var(--dur-fast) var(--ease-out),
  border-radius var(--dur-fast) var(--ease-out);
}
.cursor__label {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  white-space: nowrap;
  padding-left: 0.12em; /* balance trailing letter-spacing so text sits optically centred */
  line-height: 1;
  text-align: center;
  font-size: 0.6875rem;
  font-weight: var(--fw-extrabold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-white);
  opacity: 0;
  transition: opacity var(--dur-fast) var(--ease-out);
}
.cursor.is-link .cursor__circle { transform: scale(1.6); background-color: var(--color-primary-16); }
.cursor.is-text .cursor__circle { transform: scale(0.35, 0.9); border-radius: 2px; }
.cursor.is-media .cursor__circle { width: 6rem; height: 6rem; border-radius: 50%; background-color: var(--color-primary); }
.cursor.is-media .cursor__label { opacity: 1; }
.cursor.is-media .cursor__dot { opacity: 0; }
.cursor.is-pressed .cursor__circle { transform: scale(0.8); }
.cursor.is-media.is-pressed .cursor__circle { transform: scale(0.9); }
html.has-cursor,
html.has-cursor a,
html.has-cursor button { cursor: none; }
html.has-cursor :is(input, textarea, select, label, [contenteditable]) { cursor: auto; }
html.has-cursor :is(input[type="text"], input[type="email"], input[type="tel"], textarea) { cursor: text; }
.field { display: grid; gap: var(--space-2xs); }
.panel {
  padding: clamp(var(--space-m), 3vw, var(--space-2xl));
  border: 1px solid var(--color-white-16);
  border-radius: var(--radius-card);
  background: #111111;
}
.liquid-bg {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  background: var(--color-black);
  pointer-events: none;
}
.liquid-bg::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 300%;
  background: linear-gradient(180deg, #000 0%, #000 30%, #1c0204 50%, #4a0610 72%, #8a0f1c 100%);
  transform: translateY(calc(var(--sp, 0) * -66.666%));
  will-change: transform;
}
.liquid-bg__canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 1.2s ease; }
.liquid-bg.is-gl .liquid-bg__canvas { opacity: 1; }
.liquid-bg.is-gl-done::before,
.liquid-bg.is-gl-done .liquid-bg__blob,
.liquid-bg.is-gl-done .liquid-bg__swirl { display: none; }
.liquid-bg.is-gl::after { background: radial-gradient(ellipse 130% 100% at 50% 50%, transparent 55%, rgb(0 0 0 / 0.55) 100%); }
.liquid-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 120% 90% at 50% 50%, transparent 35%, rgb(0 0 0 / 0.85) 100%);
}
.liquid-bg__blob {
  position: absolute;
  top: 0;
  left: 0;
  width: 70vmax;
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  will-change: transform;
}
.liquid-bg__blob::before {
  content: "";
  position: absolute;
  inset: 12%;
  border-radius: 42% 58% 63% 37% / 45% 38% 62% 55%;
  background: radial-gradient(circle at 40% 40%, rgb(223 30 48 / 0.75), rgb(160 16 32 / 0.45) 45%, rgb(90 8 18 / 0) 75%);
  filter: blur(48px);
  animation: liquid-morph 16s var(--ease-in-out) infinite alternate;
}
.liquid-bg__blob--b { width: 62vmax; }
.liquid-bg__blob--b::before {
  background: radial-gradient(circle at 60% 55%, rgb(120 10 24 / 0.85), rgb(60 4 10 / 0.4) 50%, transparent 75%); animation-duration: 21s; animation-delay: -7s;
}
.liquid-bg__blob--c { width: 40vmax; }
.liquid-bg__blob--c::before {
  background: radial-gradient(circle at 50% 50%, rgb(255 77 92 / 0.55), rgb(223 30 48 / 0.2) 50%, transparent 72%); animation-duration: 12s; animation-delay: -3s;
}
.liquid-bg__swirl {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 90vmax;
  height: 28vmax;
  margin: -14vmax 0 0 -45vmax;
  border-radius: 50%;
  background: linear-gradient(90deg, transparent, rgb(223 30 48 / 0.35) 30%, rgb(255 77 92 / 0.25) 55%, transparent);
  filter: blur(60px);
  mix-blend-mode: screen;
  animation: liquid-swirl 38s linear infinite;
}
.liquid-bg__swirl--b {
  width: 70vmax;
  height: 20vmax;
  margin: -10vmax 0 0 -35vmax;
  background: linear-gradient(90deg, transparent, rgb(0 0 0 / 0.9) 40%, rgb(0 0 0 / 0.9) 60%, transparent);
  mix-blend-mode: normal;
  animation-duration: 52s;
  animation-direction: reverse;
  opacity: 0.8;
}
@keyframes liquid-swirl {
  0% { transform: rotate(0deg) translateX(-8vw) scaleY(1); }
  25% { transform: rotate(90deg) translateX(6vw) scaleY(1.6); }
  50% { transform: rotate(180deg) translateX(10vw) scaleY(0.8); }
  75% { transform: rotate(270deg) translateX(-4vw) scaleY(1.4); }
  100% { transform: rotate(360deg) translateX(-8vw) scaleY(1); }
}
.liquid-bg__blob--a { transform: translate(75vw, 25vh) translate(-50%, -50%) scale(1.1); }
.liquid-bg__blob--b { transform: translate(15vw, 85vh) translate(-50%, -50%) scale(0.9); }
.liquid-bg__blob--c { transform: translate(50vw, 105vh) translate(-50%, -50%) scale(0.6); }
@keyframes liquid-morph {
  0% { transform: rotate(0deg) scale(1, 1); border-radius: 42% 58% 63% 37% / 45% 38% 62% 55%; }
  33% { transform: rotate(40deg) scale(1.15, 0.9); border-radius: 63% 37% 41% 59% / 58% 62% 38% 42%; }
  66% { transform: rotate(-25deg) scale(0.92, 1.12); border-radius: 35% 65% 55% 45% / 40% 55% 45% 60%; }
  100% { transform: rotate(15deg) scale(1.08, 0.96); border-radius: 55% 45% 38% 62% / 62% 44% 56% 38%; }
}
@media (forced-colors: active), print {
  .liquid-bg { display: none; }
}
main .theme-dark,
.site-footer.theme-dark { background-color: transparent; }
.btn--small { min-height: 2.75rem; padding: 0 1.25rem; font-size: var(--fs-small); }
.site-header.is-scrolled .btn--small { min-height: 2.5rem; padding-inline: 1.1rem; }
.site-header__cta { display: none; }
@media (min-width: 48em) {
  .site-header__cta { display: inline-flex; }
}
.lang-menu { position: relative; }
.lang-menu__list { display: flex; gap: var(--space-3xs); }
.lang-menu__link {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.5rem;
  padding-inline: 0.6rem;
  border-radius: 0.6rem;
  font-size: var(--fs-small);
  font-weight: var(--fw-semibold);
  text-decoration: none;
  white-space: nowrap;
}
.lang-menu__link:hover { background: var(--color-white-08); color: var(--color-white); }
.lang-menu__link[aria-current="true"] { color: var(--color-white); }
.lang-menu__link[aria-current="true"]::after {
  content: ""; width: 0.375rem; height: 0.375rem; margin-left: auto; border-radius: 50%; background: var(--color-primary);
}
.lang-menu__code { font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: 0.04em; min-width: 2ch; }
.lang-menu__toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.75rem;
  padding-inline: 0.5rem;
  border: 0;
  border-radius: var(--radius-pill);
  font-size: var(--fs-caption);
  font-weight: var(--fw-bold);
  letter-spacing: 0.04em;
  transition: border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}
.lang-menu__toggle:hover,
.lang-menu__toggle[aria-expanded="true"] { background: var(--color-white-08); }
.site-header.is-scrolled .lang-menu__toggle { min-height: 2.5rem; }
.lang-menu.is-enhanced .lang-menu__list {
  position: absolute;
  top: calc(100% + 0.625rem);
  right: 0;
  z-index: 5;
  display: grid;
  gap: 2px;
  min-width: 5.5rem;
  padding: 0.3rem;
  border: 1px solid var(--color-white-16);
  border-radius: 1rem;
  background: rgb(10 10 10 / 0.85);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  backdrop-filter: blur(18px) saturate(160%);
  box-shadow: 0 1rem 2.5rem rgb(0 0 0 / 0.5);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.4rem);
  transition: opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-expo), visibility 0s linear var(--dur-fast);
}
.lang-menu.is-open .lang-menu__list { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
@media (forced-colors: active) {
  .lang-menu.is-enhanced .lang-menu__list { border-color: CanvasText; background: Canvas; }
}
.flag {
  display: inline-block;
  flex: none;
  width: 1.1em;
  height: 1.1em;
  border-radius: 50%;
  background-position: center;
  box-shadow: 0 0 0 1px rgb(255 255 255 / 0.28);
  filter: grayscale(1) contrast(1.15);
  font-size: 0.8rem;
}
.flag--el {
  background:
  linear-gradient(#fff, #fff) 0 0.244em / 0.611em 0.122em no-repeat,
  linear-gradient(#fff, #fff) 0.244em 0 / 0.122em 0.611em no-repeat,
  linear-gradient(#0d5eaf, #0d5eaf) 0 0 / 0.611em 0.611em no-repeat,
  repeating-linear-gradient(to bottom, #0d5eaf 0 0.122em, #fff 0.122em 0.244em);
}
.flag--en {
  background:
  linear-gradient(#c8102e, #c8102e) center / 0.16em 100% no-repeat,
  linear-gradient(#c8102e, #c8102e) center / 100% 0.16em no-repeat,
  linear-gradient(#fff, #fff) center / 0.3em 100% no-repeat,
  linear-gradient(#fff, #fff) center / 100% 0.3em no-repeat,
  linear-gradient(to top right, transparent calc(50% - 0.04em), #c8102e calc(50% - 0.04em) calc(50% + 0.04em), transparent calc(50% + 0.04em)),
  linear-gradient(to bottom right, transparent calc(50% - 0.04em), #c8102e calc(50% - 0.04em) calc(50% + 0.04em), transparent calc(50% + 0.04em)),
  linear-gradient(to top right, transparent calc(50% - 0.11em), #fff calc(50% - 0.11em) calc(50% + 0.11em), transparent calc(50% + 0.11em)),
  linear-gradient(to bottom right, transparent calc(50% - 0.11em), #fff calc(50% - 0.11em) calc(50% + 0.11em), transparent calc(50% + 0.11em)),
  #012169;
}
@media (forced-colors: active) {
  .flag { forced-color-adjust: none; }
}
@media (prefers-reduced-motion: reduce) {
  .liquid-bg__blob::before,
  .liquid-bg__swirl { animation: none; }
}
@media (min-width: 80em) {
  .site-header__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .site-header__inner > .logo { justify-self: start; }
  .site-header__actions { justify-self: end; }
  .site-header .site-nav { position: static; left: auto; top: auto; transform: none; }
}
.site-nav__list,
.site-nav__item { position: static; }
.site-nav__item { display: flex; align-items: center; }
.mega-toggle {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 2.75rem;
  margin-left: -0.85rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-white-72);
  cursor: pointer;
}
.mega-toggle__chev {
  width: 0.4rem; height: 0.4rem; margin-top: -0.2rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform var(--dur-base) var(--ease-expo);
}
.site-nav__item.is-open .mega-toggle { color: var(--accent); }
.site-nav__item.is-open .mega-toggle__chev { transform: translateY(0.2rem) rotate(-135deg); }
.site-nav__item.is-open > .site-nav__link { color: var(--color-white); }
.mega { display: none; }
.site-nav__item.is-enhanced .mega {
  position: absolute;
  top: calc(100% + 0.6rem);
  left: 0;
  right: 0;
  z-index: 10;
  display: block;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.5rem);
  transition: opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-expo), visibility 0s linear var(--dur-fast);
}
.site-nav__item.is-enhanced .mega::before { content: ""; position: absolute; left: 0; right: 0; top: -0.7rem; height: 0.7rem; }
.site-nav__item.is-open .mega { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.mega__inner {
  display: grid;
  grid-template-columns: minmax(14rem, 0.8fr) minmax(0, 2fr);
  gap: clamp(1.5rem, 3vw, 3rem);
  padding: clamp(1.25rem, 2.5vw, 2.25rem);
  border: 1px solid var(--color-white-16);
  border-radius: 1.75rem;
  background: rgb(0 0 0 / 0.86);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  backdrop-filter: blur(24px) saturate(150%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.08), 0 2rem 4rem rgb(0 0 0 / 0.55);
}
.mega__intro {
  display: grid; align-content: start; justify-items: start; gap: var(--space-s); padding-right: clamp(1rem, 2vw, 2rem); border-right: 1px solid var(--color-white-08);
}
.mega__eyebrow {
  margin: 0; font-size: var(--fs-caption); font-weight: var(--fw-semibold); letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent);
}
.mega__title {
  margin: 0; font-size: clamp(1.5rem, 1rem + 1.2vw, 2.25rem); font-weight: var(--fw-extrabold); line-height: 1; letter-spacing: -0.03em;
}
.mega__lead {
  margin: 0 0 var(--space-2xs); max-width: 28ch; font-size: var(--fs-small); line-height: 1.45; color: var(--fg-muted);
}
.mega__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 1px; list-style: none; border-radius: 1.1rem; background: var(--color-white-08); overflow: hidden;
}
.mega__link {
  display: grid; gap: 0.35rem; height: 100%; padding: 1.1rem 1.25rem; background: rgb(0 0 0 / 0.92); text-decoration: none; transition: background-color var(--dur-fast) var(--ease-out);
}
.mega__link:hover,
.mega__link:focus-visible { background: rgb(223 30 48 / 0.14); }
.mega__name {
  font-size: var(--fs-small); font-weight: var(--fw-bold); color: var(--color-white); transition: color var(--dur-fast) var(--ease-out);
}
.mega__name::after { content: " →"; opacity: 0; transition: opacity var(--dur-fast) var(--ease-out); color: var(--accent); }
.mega__link:hover .mega__name::after { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .site-nav__item.is-enhanced .mega .mega__grid > li {
    opacity: 0; transform: translateY(0.6rem); transition: opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-expo);
  }
  .site-nav__item.is-open .mega .mega__grid > li { opacity: 1; transform: none; transition-delay: calc(var(--i) * 40ms + 60ms); }
}
@media (forced-colors: active) {
  .mega__inner { border-color: CanvasText; background: Canvas; }
}
.preloader__brand { font-size: min(clamp(2.25rem, 1rem + 5vw, 6rem), calc((100vw - 2 * var(--margin)) / 14)); }
.preloader__stage {
  position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: clamp(1.25rem, 3svh, 2rem); clip-path: inset(50% 0 50% 0);
}
.no-js .preloader__stage { clip-path: none; }
.preloader__line {
  position: absolute; left: 0; right: 0; top: 50%; height: 1px; margin-top: -0.5px; background: var(--color-primary); box-shadow: 0 0 12px rgb(223 30 48 / 0.9), 0 0 32px rgb(223 30 48 / 0.5); transform: scaleX(0); pointer-events: none;
}
.preloader__word {
  color: transparent;
  -webkit-text-stroke: 1px rgb(255 255 255 / 0.35);
  background: linear-gradient(90deg, #fff, #fff) 0 0 / 0% 100% no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
}
.no-js .preloader__word { color: #fff; -webkit-text-stroke: 0; }
.preloader__dot { box-shadow: 0 0 0 0 rgb(223 30 48 / 0.6), 0 0 24px rgb(223 30 48 / 0.8); }
@media (forced-colors: active) {
  .preloader__word { color: CanvasText; -webkit-text-stroke: 0; background: none; }
}
.site-nav__list { position: relative; }
.site-nav__link {
  position: relative; z-index: 1; font-size: clamp(0.95rem, 0.85rem + 0.25vw, 1.0625rem) !important; font-weight: var(--fw-semibold); letter-spacing: -0.01em; background: none !important;
}
.site-nav__link.is-active::before { display: none; }
.site-nav__roll { position: relative; display: inline-grid; overflow: hidden; line-height: 1.25; }
.site-nav__txt { grid-area: 1 / 1; transition: transform 0.55s var(--ease-expo); }
.site-nav__txt + .site-nav__txt { transform: translateY(105%); color: var(--color-white); }
.site-nav__link:hover .site-nav__txt,
.site-nav__link:focus-visible .site-nav__txt { transform: translateY(-105%); }
.site-nav__link:hover .site-nav__txt + .site-nav__txt,
.site-nav__link:focus-visible .site-nav__txt + .site-nav__txt { transform: translateY(0); }
.site-nav__link:hover { color: var(--color-white) !important; }
.site-nav__pill {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  border-radius: var(--radius-pill);
  background: rgb(255 255 255 / 0.08);
  border: 1px solid rgb(255 255 255 / 0.14);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.12), 0 0 18px rgb(223 30 48 / 0.18);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.5s var(--ease-expo), width 0.5s var(--ease-expo), height 0.5s var(--ease-expo), opacity 0.3s var(--ease-out);
}
.site-nav__pill::after {
  content: ""; position: absolute; left: 50%; bottom: -0.35rem; width: 0.3rem; height: 0.3rem; margin-left: -0.15rem; border-radius: 50%; background: var(--color-primary); box-shadow: 0 0 8px var(--color-primary);
}
.site-nav__link.is-active { color: var(--color-white); }
.site-header__inner {
  /* expanding (back at top): quick and snappy */
  transition: width 0.35s var(--ease-out), max-width 0.35s var(--ease-out), padding 0.35s var(--ease-out), border-color 0.25s var(--ease-out), box-shadow 0.25s var(--ease-out), background-color 0.25s var(--ease-out);
}
.site-header.is-scrolled .site-header__inner {
  /* compacting (scrolling away): keep the softer glide */
  transition: width 0.6s var(--ease-expo), max-width 0.6s var(--ease-expo), padding 0.6s var(--ease-expo), border-color 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out), background-color 0.4s var(--ease-out);
}
.site-header.is-scrolled .site-header__inner {
  border-color: rgb(255 255 255 / calc(0.12 + var(--hv, 0) * 0.1));
  box-shadow:
  inset 0 1px 0 rgb(255 255 255 / 0.1),
  0 0.75rem 2.5rem rgb(0 0 0 / 0.45),
  0 0 calc(var(--hv, 0) * 40px) rgb(223 30 48 / calc(var(--hv, 0) * 0.45));
  -webkit-backdrop-filter: blur(20px) saturate(170%);
  backdrop-filter: blur(20px) saturate(170%);
}
.site-header.is-scrolled .site-header__inner::after {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-primary), transparent);
  opacity: calc(0.35 + var(--hv, 0) * 0.65);
  transform: scaleX(calc(0.5 + var(--hv, 0) * 0.5));
  pointer-events: none;
}
.logo { transition: font-size var(--dur-base) var(--ease-expo), transform 0.5s var(--ease-expo); }
.logo:hover { transform: translateY(-1px); }
.logo:hover .rec-dot { box-shadow: 0 0 0 6px rgb(223 30 48 / 0.2), 0 0 14px var(--color-primary); }
@media (prefers-reduced-motion: reduce) {
  .site-nav__txt,
  .site-nav__pill { transition: none; }
  .site-nav__txt + .site-nav__txt { display: none; }
  .site-nav__link:hover .site-nav__txt { transform: none; }
}
.site-nav__item { position: relative !important; }
.site-nav__item.is-enhanced .mega {
  left: 50%; right: auto; width: max-content; min-width: 15rem; max-width: 22rem; transform: translate(-50%, -0.5rem);
}
.site-nav__item.is-open .mega { transform: translate(-50%, 0); }
.mega__inner { display: block; padding: 0.4rem; border-radius: 1.1rem; }
.mega__intro { display: none; }
.mega__grid {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.15rem; padding: 0; background: none; border-radius: 0; overflow: visible;
}
.mega__link {
  display: flex; align-items: center; gap: 0.75rem; min-height: 2.75rem; padding: 0.45rem 0.7rem; border-radius: 0.75rem; background: none; text-decoration: none; transition: background-color var(--dur-fast) var(--ease-out);
}
.mega__link:hover,
.mega__link:focus-visible { background: rgb(255 255 255 / 0.07); }
.mega__name { font-size: var(--fs-small); font-weight: var(--fw-semibold); white-space: nowrap; }
.mega__name::after { content: " →"; }
.site-nav__item.is-enhanced .mega { left: -0.5rem; transform: translateY(-0.5rem); min-width: 16rem; }
.site-nav__item.is-open .mega { transform: none; }
.mega__icon {
  flex: none; width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; color: var(--accent); transition: transform var(--dur-base) var(--ease-expo);
}
.mega__link:hover .mega__icon { transform: scale(1.15) rotate(-6deg); }
.mega__name { color: var(--color-white); }
.mega__name::after { opacity: 0; }
.mega__link:hover .mega__name::after { opacity: 1; }
.mega__grid > li { grid-column: auto !important; }
.site-nav__item.is-enhanced { padding-right: 0.35rem; }
.mega-toggle {
  position: relative; z-index: 1; margin-left: -0.7rem; color: var(--color-white-72); transition: color var(--dur-fast) var(--ease-out);
}
.site-nav__item:hover .mega-toggle,
.site-nav__item:focus-within .mega-toggle { color: var(--color-white); }
.site-nav__item:hover .mega-toggle__chev { transform: translateY(0.1rem) rotate(45deg); }
.site-nav__item.is-open .mega-toggle { color: var(--accent); }
.site-nav__item.is-open .mega-toggle__chev { transform: translateY(0.2rem) rotate(-135deg); }
.site-nav__item:hover > .site-nav__link { color: var(--color-white) !important; }
.site-nav__item:hover > .site-nav__link .site-nav__txt { transform: translateY(-105%); }
.site-nav__item:hover > .site-nav__link .site-nav__txt + .site-nav__txt { transform: translateY(0); }
.lang-menu__toggle {
  min-width: 2.75rem; min-height: 2.75rem; padding: 0 !important; justify-content: center; border: 0 !important; background: none !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
.lang-menu__toggle .flag { font-size: 1.15rem; transition: transform 0.4s var(--ease-expo), filter var(--dur-base) var(--ease-out); }
.lang-menu__toggle:hover .flag,
.lang-menu__toggle[aria-expanded="true"] .flag { transform: scale(1.15); filter: none; }
.lang-menu__toggle:hover,
.lang-menu__toggle[aria-expanded="true"] { color: inherit !important; }
.site-header__cta.btn--primary { gap: 0.6rem; padding-inline: 1.6rem 1.35rem !important; min-width: 9.5rem; justify-content: center; }
.site-header__cta-icon {
  width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.5s var(--ease-expo);
}
.site-header__cta:hover .site-header__cta-icon { transform: rotate(-10deg) scale(1.12); }

/* ==== sections ======================================================== */
.hero {
  position: relative;
  padding-top: calc(var(--header-h) + var(--space-xl));
}
.hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  gap: clamp(var(--space-l), 4vw, var(--space-2xl));
  min-height: calc(100svh - var(--header-h) - var(--space-xl));
  padding-bottom: clamp(var(--space-l), 4vw, var(--space-2xl));
  justify-items: center;
  text-align: center;
}
.hero__eyebrow { color: var(--fg); justify-content: center; flex-wrap: nowrap; }
.hero__title {
  font-size: clamp(1.375rem, 4.4vw, 7.5rem);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-display);
  text-transform: uppercase;
  max-width: 11ch;
  margin-inline: auto;
  text-wrap: balance;
}
.hero__title-accent { color: var(--color-primary); }
.hero__bottom {
  display: grid;
  justify-items: center;
  gap: var(--space-l);
  width: 100%;
  margin-top: calc(var(--space-s) - clamp(var(--space-l), 4vw, var(--space-2xl)));
}
.hero__intro { display: grid; justify-items: center; gap: var(--space-l); max-width: 40rem; }
.hero__lead { font-size: var(--fs-lead); line-height: 1.45; color: var(--fg-muted); }
.hero__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-s); width: 100%; }
.hero__title { max-width: none; text-align: center; }
.hero__line { display: block; overflow: clip; padding-bottom: 0.06em; margin-bottom: -0.06em; }
.hero__line-inner { display: block; }
.hero__word + .hero__word { display: none; }
.js .hero__rotator {
  display: inline-grid; justify-items: center; overflow: clip; white-space: nowrap; vertical-align: bottom; padding-bottom: 0.06em; margin-bottom: -0.06em;
}
.js .hero__word { grid-area: 1 / 1; display: block; white-space: nowrap; }
.js .hero__word + .hero__word { display: block; visibility: hidden; }
.bento { display: grid; gap: var(--gutter); grid-template-columns: minmax(0, 1fr); }
.bento__stats { display: grid; gap: var(--gutter); grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.bento__manifesto { display: grid; align-content: start; gap: var(--space-xl); padding-block: var(--space-l) var(--space-2xl); }
.about__manifesto {
  font-size: clamp(1.375rem, 0.8rem + 1.9vw, 3rem);
  font-weight: var(--fw-bold);
  line-height: 1.1;
  letter-spacing: var(--ls-tight);
  text-wrap: pretty;
}
.about__manifesto em { font-style: normal; color: var(--color-primary); }
.about__grid { display: grid; gap: clamp(1.75rem, 4vw, 4rem); grid-template-columns: minmax(0, 1fr); align-items: end; }
.about__grid .about__manifesto { margin: 0; max-width: 16ch; font-size: clamp(2rem, 1rem + 3.4vw, 4.75rem); line-height: 0.98; letter-spacing: -0.035em; }
.about__copy { display: grid; gap: 1.5rem; max-width: 44ch; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, 0.14); }
.about__body { margin: 0; font-size: clamp(1rem, 0.9rem + 0.35vw, 1.2rem); line-height: 1.6; color: rgba(255, 255, 255, 0.72); text-wrap: pretty; }
.about__tagline { margin: 0; display: flex; flex-wrap: wrap; column-gap: 0.4em; font-size: clamp(0.8rem, 0.75rem + 0.2vw, 0.95rem); font-weight: var(--fw-bold); letter-spacing: 0.08em; text-transform: uppercase; color: #fff; }
.about__tagline span:last-child { color: var(--color-primary); }
@media (min-width: 64em) {
  .about__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}
.bento__stats { gap: 0; }
.stat {
  --f: 1; position: relative; display: grid; gap: var(--space-s); align-content: start; margin: 0; padding: var(--space-l) var(--space-m) var(--space-m) 0;
}
.stat::before {
  content: ""; position: absolute; left: 0; right: var(--space-m); top: 0; height: 1px; background: var(--color-white-16);
}
.stat::after {
  content: ""; position: absolute; left: 0; right: var(--space-m); top: 0; height: 1px; background: var(--color-white); transform: scaleX(var(--f)); transform-origin: left;
}
.stat dd { margin: 0; }
.stat__label { order: 2; max-width: 14ch; font-size: var(--fs-small); color: var(--fg-muted); }
.stat__value { display: flex; align-items: flex-start; gap: 0.05em; line-height: 0.9; }
.stat__num {
  font-size: clamp(3rem, 1.5rem + 4.5vw, 7rem);
  font-weight: var(--fw-semibold);
  letter-spacing: -0.05em;
  font-variant-numeric: tabular-nums;
  color: transparent;
  -webkit-text-stroke: 1px rgb(255 255 255 / 0.55);
  background: linear-gradient(var(--color-white), var(--color-white)) 0 100% / 100% calc(var(--f) * 100%) no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
}
.stat__suffix { font-size: clamp(1.5rem, 1rem + 1.5vw, 3rem); font-weight: var(--fw-bold); color: var(--color-primary); }
@media (forced-colors: active) {
  .stat__num { color: CanvasText; -webkit-text-stroke: 0; background: none; }
}
@media (min-width: 48em) {
  .bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bento__manifesto { grid-column: 1 / -1; }
  .bento__stats { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 64em) {
  .bento { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .bento__manifesto { grid-column: 1 / -1; }
  .bento__stats { grid-column: 1 / -1; }
}
.services { position: relative; }
.services__stack { display: grid; gap: var(--space-l); counter-reset: svc; }
.service-card {
  position: sticky;
  top: calc(var(--header-h) + var(--space-m) + var(--i, 0) * 1.25rem);
  scroll-margin-top: calc(var(--header-h) + var(--space-m));
}
.service-card:nth-child(2) { --i: 1; }
.service-card:nth-child(3) { --i: 2; }
.service-card:nth-child(4) { --i: 3; }
.service-card:nth-child(5) { --i: 4; }
.service-card:nth-child(6) { --i: 5; }
.service-card__inner {
  display: grid;
  gap: var(--space-l);
  min-height: min(68svh, 44rem);
  padding: clamp(var(--space-m), 3vw, var(--space-2xl));
  border: 1px solid var(--color-white-16);
  border-radius: var(--radius-card);
  background: #111111;
  box-shadow: 0 -1.5rem 3rem rgb(0 0 0 / 0.6);
  transform-origin: 50% 0;
  overflow: hidden;
  position: relative;
  --shade: 0;
}
.service-card__inner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  background: #000000;
  opacity: var(--shade);
  pointer-events: none;
}
.service-card__content { display: grid; gap: var(--space-m); align-content: start; }
.service-card__title { font-size: var(--fs-h2); line-height: var(--lh-heading); letter-spacing: var(--ls-heading); max-width: 14ch; }
.service-card__desc { max-width: var(--measure); color: var(--fg-muted); font-size: var(--fs-lead); line-height: 1.5; }
.service-card__tags { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
.service-card__tags li {
  padding: var(--space-3xs) var(--space-s);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
}
.service-card__link { justify-self: start; margin-top: auto; }
.service-card__media { position: relative; min-height: 14rem; border-radius: clamp(0.5rem, 1vw, 1rem); overflow: hidden; }
@media (min-width: 64em) {
  .service-card__inner { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .service-card__content { grid-template-rows: auto auto auto auto 1fr; }
  .service-card__media { min-height: 0; }
}
@media (max-height: 34em) {
  .service-card { position: static; }
  .service-card__inner { min-height: 0; }
}
.service { border-top: 1px solid var(--line); }
.services__preview {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  width: clamp(14rem, 18vw, 26rem);
  aspect-ratio: 4 / 5;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
}
.works { position: relative; padding-block: var(--space-section); overflow: clip; }
.works__pin { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
.works__head {
  position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--space-m);
}
.works__head-main { display: grid; gap: var(--space-m); }
.works__counter { font-family: var(--font-mono); font-size: var(--fs-h4); font-variant-numeric: tabular-nums; }
.works__counter-total { color: var(--fg-muted); }
.works__backdrop {
  position: absolute; inset: 0; z-index: 0; display: flex; align-items: center; overflow: hidden; pointer-events: none;
}
.works__backdrop-text {
  padding-left: var(--margin);
  font-size: clamp(8rem, 4rem + 22vw, 36rem);
  font-weight: var(--fw-extrabold);
  line-height: 0.8;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  white-space: nowrap;
  color: transparent;
  -webkit-text-stroke: 1px var(--color-white-16);
}
@media (forced-colors: active) {
  .works__backdrop { display: none; }
}
.works__rail {
  position: relative;
  z-index: 1;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--margin);
  padding-inline: var(--margin);
  padding-bottom: var(--space-s);
  scrollbar-width: thin;
  scrollbar-color: var(--color-primary) transparent;
}
.works__rail:focus-visible { outline-offset: -3px; }
.works__track {
  display: flex; gap: clamp(var(--space-m), 3vw, var(--space-2xl)); width: max-content; align-items: flex-start;
}
.gallery-card { scroll-snap-align: start; }
.gallery-card__inner { position: relative; display: grid; gap: var(--space-s); width: max-content; transform-origin: 50% 50%; }
.gallery-card__media {
  position: relative;
  height: clamp(20rem, 52svh, 46rem);
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-card);
  overflow: hidden;
  background: #0d0d0d;
}
.gallery-card__img { position: absolute; inset: 0; transform: scale(1.18); transition: filter var(--dur-base) var(--ease-out); }
@media (max-width: 47.99em) {
  .works:not(.is-pinned) .gallery-card__media { height: auto; width: min(78vw, 24rem); }
}
.works.is-pinned .gallery-card__media {
  width: min(clamp(15rem, 30vw, 34rem), calc(max(12rem, 100svh - var(--header-h) - 14rem) * 0.8));
  height: auto;
  aspect-ratio: 4 / 5;
  max-height: none;
}
@media (max-width: 47.99em) {
  .works.is-pinned .gallery-card__media { width: min(72vw, 22rem, calc(max(12rem, 100svh - var(--header-h) - 14rem) * 0.8)); }
}
@media (max-height: 44em) {
  .works.is-pinned .works__pin { gap: var(--space-s); }
  .works.is-pinned .works__head .section-head__title { font-size: var(--fs-h3); }
  .works.is-pinned .works__head-main { gap: var(--space-2xs); }
  .works.is-pinned .gallery-card__title { font-size: var(--fs-h4); }
}
.works.is-pinned .works__pin { overflow: clip; }
.gallery-card__info {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: var(--space-s);
  width: 0;
  min-width: 100%;
}
.gallery-card__title { font-size: var(--fs-h3); line-height: 1.05; letter-spacing: var(--ls-tight); }
.gallery-card__link { text-decoration: none; }
.gallery-card__link::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: var(--radius-card); }
.gallery-card__link:focus-visible { outline: none; }
.gallery-card__inner:focus-within { outline: 3px solid var(--focus); outline-offset: 6px; border-radius: var(--radius-card); }
.gallery-card__inner:hover .gallery-card__title { color: var(--accent); }
@media (prefers-reduced-motion: no-preference) {
  .gallery-card__media::after {
    content: ""; position: absolute; inset: 0; background: var(--color-primary); mix-blend-mode: multiply; opacity: 0; transition: opacity var(--dur-base) var(--ease-out);
  }
  .gallery-card__inner:hover .gallery-card__media::after { opacity: 0.35; }
}
.gallery-card__media--cta {
  display: grid; place-items: center; padding: var(--space-m); background: var(--color-primary); container-type: inline-size;
}
.gallery-card__cta {
  font-size: clamp(1rem, 13cqi, 5rem); overflow-wrap: anywhere; font-weight: var(--fw-extrabold); line-height: var(--lh-heading); letter-spacing: var(--ls-heading); text-transform: uppercase; color: var(--color-white); text-align: center;
}
.works__playhead {
  position: relative; z-index: 1; display: flex; align-items: center; gap: var(--space-s); font-size: var(--fs-caption);
}
.container.works__playhead { max-width: none; width: 100%; padding-inline: var(--margin); }
.works__bar { position: relative; flex: 1; height: 1px; background: var(--color-white-16); }
.works__bar-fill { position: absolute; inset: 0; background: var(--color-white); transform: scaleX(0); transform-origin: left; }
.works.is-pinned { padding-block: 0; }
.works.is-pinned .works__pin {
  height: 100svh; align-content: center; padding-top: var(--header-h); gap: clamp(var(--space-m), 3svh, var(--space-xl));
}
.works.is-pinned .works__rail { overflow: clip; scroll-snap-type: none; padding-bottom: 0; }
.works:not(.is-pinned) .works__playhead { display: none; }
.logo-wall {
  --mx: 50%;
  --my: 50%;
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  border-radius: var(--radius-card);
  background: var(--color-white-16);
  overflow: hidden;
  isolation: isolate;
}
.logo-wall::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(22rem circle at var(--mx) var(--my), rgb(223 30 48 / 0.95), transparent 65%);
  opacity: 0;
  transition: opacity var(--dur-base) var(--ease-out);
}
.logo-wall::before { content: none !important; }
.logo-wall__cell { position: relative; z-index: 1; background: rgb(0 0 0 / 0.9); }
.logo-wall__cell:first-child { border-top-left-radius: calc(var(--radius-card) - 1px); }
@media (min-width: 48em) {
  .logo-wall { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.testimonials { position: relative; overflow: clip; isolation: isolate; }
@media (prefers-reduced-motion: reduce) {
  .slider.is-enhanced .slider__slide { transition: opacity var(--dur-fast) linear, visibility 0s; }
}
.glass-card {
  position: relative;
  padding: clamp(var(--space-l), 5vw, var(--space-3xl));
  border: 1px solid var(--color-white-16);
  border-radius: var(--radius-card);
  background: rgb(17 17 17 / 0.55);
  -webkit-backdrop-filter: blur(28px) saturate(140%);
  backdrop-filter: blur(28px) saturate(140%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.1), 0 2rem 4rem rgb(0 0 0 / 0.4);
}
@supports not (backdrop-filter: blur(1px)) {
  .glass-card { background: #141414; }
}
.slider__viewport { display: grid; gap: var(--space-2xl); touch-action: pan-y; }
.slider.is-enhanced { --card-w: min(60rem, 76vw); --card-gap: clamp(1rem, 3vw, 2.5rem); }
@media (max-width: 47.99em) {
  .slider.is-enhanced { --card-w: 86vw; --card-gap: 0.75rem; }
}
.testimonials .eyebrow { flex-wrap: nowrap; justify-content: center; }
.slider.is-enhanced .slider__viewport { gap: 0; cursor: grab; user-select: none; }
.slider.is-enhanced .slider__viewport:active { cursor: grabbing; }
.slider.is-enhanced .slider__slide {
  --off: 0;
  grid-area: 1 / 1;
  justify-self: center;
  width: var(--card-w);
  opacity: 0;
  visibility: hidden;
  transform: translateX(calc(var(--off) * (var(--card-w) + var(--card-gap)))) scale(0.86);
  transition:
  transform 0.9s var(--ease-expo),
  opacity var(--dur-base) var(--ease-out),
  visibility 0s linear var(--dur-base);
}
.slider.is-enhanced .slider__slide.is-peek { opacity: 0.35; visibility: visible; transition-delay: 0s; }
.slider.is-enhanced .slider__slide.is-active { opacity: 1; visibility: visible; transform: translateX(0) scale(1); transition-delay: 0s; z-index: 1; }
.testimonials .container { overflow: visible; }
.testimonials .glass-card { box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.1), 0 2rem 4rem rgb(0 0 0 / 0.45); }
.quote {
  display: grid; gap: var(--space-xl); margin: 0; align-content: space-between; justify-items: center; text-align: center;
}
.quote__text {
  margin: 0;
  font-size: clamp(1.125rem, 0.9rem + 0.9vw, 1.875rem);
  font-weight: var(--fw-semibold);
  line-height: 1.35;
  letter-spacing: var(--ls-tight);
  max-width: 30ch;
  margin-inline: auto;
  text-wrap: balance;
}
.quote__text p::before { content: "“"; color: var(--color-primary); }
.quote__text p::after { content: "”"; color: var(--color-primary); }
.quote__text:lang(el) p::before { content: "«"; }
.quote__text:lang(el) p::after { content: "»"; }
.quote__cite { display: flex; justify-content: center; text-align: center; }
.quote__who { display: grid; gap: var(--space-3xs); justify-items: center; font-size: var(--fs-small); }
.quote__name { font-weight: var(--fw-bold); font-size: var(--fs-body); }
.quote__role { color: var(--fg-muted); }
.slider__controls {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  width: min(100%, 44rem);
  margin: var(--space-2xl) auto 0;
}
.testimonials .section-head { justify-items: center; text-align: center; }
.testimonials .section-head__title { margin-inline: auto; }
.slider__line { position: relative; flex: 1; height: 1px; min-width: 0; background: var(--color-white-16); }
.slider__line-fill {
  position: absolute; inset: 0; background: var(--color-white); transform: scaleX(0.25); transform-origin: left; transition: transform 0.9s var(--ease-expo);
}
.slider__btn {
  display: grid;
  place-items: center;
  flex: none;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--color-white-16);
  border-radius: 50%;
  font-size: 1rem;
  font-weight: 300;
  transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}
.slider__btn:hover { border-color: var(--color-white); color: var(--color-white); }
.slider__count { flex: none; font-variant-numeric: tabular-nums; font-size: var(--fs-caption); letter-spacing: 0.06em; }
.slider__count-total { color: var(--fg-muted); }
.contact__cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-bottom: clamp(var(--space-xl), 5vw, var(--space-3xl));
  padding-block: clamp(4rem, 9vw, 8rem);
  border-block: 1px solid var(--color-white-08);
  background:
  radial-gradient(70% 120% at 100% 100%, #df1e30 0%, rgb(140 14 28 / 0.9) 22%, rgb(40 4 8 / 0.8) 48%, transparent 72%),
  radial-gradient(40% 60% at 85% 0%, rgb(223 30 48 / 0.25), transparent 70%),
  linear-gradient(180deg, #000 0%, #050101 100%);
}
.contact__cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: repeating-linear-gradient(90deg, rgb(255 255 255 / 0.06) 0 1px, transparent 1px 6rem);
  -webkit-mask: linear-gradient(90deg, transparent 10%, #000 70%);
  mask: linear-gradient(90deg, transparent 10%, #000 70%);
  pointer-events: none;
}
.contact__cta::after {
  content: "";
  position: absolute;
  right: -12vw;
  bottom: -30vw;
  z-index: -1;
  width: 60vw;
  aspect-ratio: 1;
  border: 1px solid rgb(255 255 255 / 0.14);
  border-radius: 50%;
  box-shadow: 0 0 0 5vw rgb(255 255 255 / 0.03), 0 0 0 10vw rgb(255 255 255 / 0.02);
  pointer-events: none;
}
.contact__title {
  margin-top: var(--space-m);
  font-size: var(--fs-h1);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-display);
  text-transform: uppercase;
  max-width: 10ch;
}
.contact__lead { margin-top: var(--space-l); max-width: 40rem; font-size: var(--fs-lead); line-height: 1.45; }
.site-footer { padding-top: 0; }
.site-footer__compact {
  margin-top: var(--space-l);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m) var(--space-xl);
  padding-block: var(--space-xl);
}
.site-footer__nav-list { display: flex; flex-wrap: wrap; gap: 0 var(--space-m); }
.site-footer__nav-link {
  display: inline-flex; align-items: center; min-height: 2.75rem; font-size: var(--fs-small); font-weight: var(--fw-semibold); text-decoration: none;
}
.site-footer__nav-link:hover { text-decoration: underline; }
.site-footer__bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  justify-items: center;
  gap: var(--space-s) var(--space-l);
  padding-top: var(--space-l);
  border-top: 1px solid var(--line);
  font-size: var(--fs-small);
}
.site-footer__legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 var(--space-m); }
.site-footer__copy { justify-self: start; }
.back-to-top { justify-self: end; }
@media (max-width: 47.99em) {
  .site-footer__bottom { grid-template-columns: 1fr; }
  .site-footer__copy,
  .back-to-top { justify-self: center; }
}
.site-footer__legal a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--fg-muted); }
.site-footer__legal a:hover { color: var(--fg); }
.site-footer__copy { color: var(--fg-muted); }
.back-to-top {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  min-height: 2.75rem;
  padding-inline: var(--space-m);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  font-weight: var(--fw-bold);
  text-decoration: none;
  white-space: nowrap;
}
.back-to-top:hover { border-color: var(--fg); color: var(--fg); }
.service-card__media--icon {
  display: grid;
  place-items: center;
  min-height: 16rem;
  overflow: hidden;
  background:
  radial-gradient(circle at 50% 55%, rgb(223 30 48 / 0.2), transparent 62%),
  #0a0a0a;
  border: 1px solid var(--color-white-08);
}
.svc-icon {
  --s: clamp(9rem, 6rem + 8vw, 15rem); --red: var(--color-primary); position: relative; width: var(--s); height: var(--s);
}
.svc-icon * { animation-play-state: running; }
.js .svc-icon:not(.is-playing) * { animation-play-state: paused; }
.svc-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.svc-l { fill: none; stroke: rgb(255 255 255 / 0.72); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.svc-l--faint { stroke: rgb(255 255 255 / 0.16); }
.svc-radar__sweep { transform-origin: 100px 100px; animation: svc-spin 4s linear infinite; }
.svc-radar__beam { stroke: var(--red); stroke-width: 2; vector-effect: non-scaling-stroke; }
.svc-radar__blip {
  fill: #fff; opacity: 0.15; transform-box: fill-box; transform-origin: center; animation: svc-blip 4s linear infinite; animation-delay: calc(var(--d) - 4s);
}
.svc-radar__target { fill: var(--red); }
.svc-radar__ping {
  fill: none; stroke: var(--red); stroke-width: 2; vector-effect: non-scaling-stroke; transform-box: fill-box; transform-origin: center; opacity: 0; animation: svc-ping 4s var(--ease-out) infinite; animation-delay: calc(var(--d) - 4s);
}
@keyframes svc-blip {
  0% { opacity: 1; transform: scale(1.7); } 35% { opacity: 0.35; transform: scale(1); } 100% { opacity: 0.15; transform: scale(1); }
}
@keyframes svc-ping { 0% { opacity: 1; transform: scale(1); } 45%, 100% { opacity: 0; transform: scale(4.5); } }
@keyframes svc-spin { to { transform: rotate(360deg); } }
.svc-brand__grid { stroke-dasharray: 600; stroke-dashoffset: 600; animation: svc-draw 7s var(--ease-in-out) infinite; }
@keyframes svc-draw { 0% { stroke-dashoffset: 600; } 40%, 75% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -600; } }
.svc-brand__mark {
  position: absolute; inset: 0; margin: auto; width: 48%; height: 48%; display: grid; place-items: center; background: var(--red); box-shadow: 0 0 3rem rgb(223 30 48 / 0.45); animation: svc-blob 7s var(--ease-in-out) infinite;
}
.svc-brand__letter {
  font-size: calc(var(--s) * 0.3); line-height: 1; color: #000; font-weight: 400; letter-spacing: -0.04em; animation: svc-weight 7s var(--ease-in-out) infinite;
}
@keyframes svc-blob {
  0%, 100% { border-radius: 50%; transform: rotate(0deg); }
  25% { border-radius: 12%; transform: rotate(0deg); }
  50% { border-radius: 50% 50% 50% 8%; transform: rotate(0deg) scale(1.05); }
  75% { border-radius: 38% 62% 55% 45% / 52% 40% 60% 48%; transform: rotate(0deg); }
}
@keyframes svc-weight { 0%, 100% { font-weight: 400; } 50% { font-weight: 800; } }
.svc-brand__orbit { position: absolute; inset: 6%; border-radius: 50%; animation: svc-spin 12s linear infinite; }
.svc-brand__orbit i { position: absolute; width: 11%; aspect-ratio: 1; border-radius: 50%; translate: -50% -50%; }
.svc-brand__orbit i:nth-child(1) { left: 50%; top: 0; background: #fff; }
.svc-brand__orbit i:nth-child(2) { left: 100%; top: 50%; background: var(--red); }
.svc-brand__orbit i:nth-child(3) { left: 50%; top: 100%; background: #6b6b6b; }
.svc-brand__orbit i:nth-child(4) { left: 0; top: 50%; border: 2px solid #fff; }
.svc-iso { position: absolute; inset: 0; transform-style: preserve-3d; transform: rotateX(58deg) rotateZ(-42deg); }
.svc-iso__layer {
  position: absolute; inset: 20%; display: grid; align-content: start; gap: 9%; padding: 10%; border-radius: 0.6rem; transform: translateZ(calc(var(--z) * var(--s) * 0.04)); animation: svc-stack 5s var(--ease-in-out) infinite;
}
@keyframes svc-stack {
  0%, 12%, 100% { transform: translateZ(calc(var(--z) * var(--s) * 0.04)); }
  42%, 78% { transform: translateZ(calc(var(--z) * var(--s) * 0.22)); }
}
.svc-iso__layer i { display: block; height: calc(var(--s) * 0.035); border-radius: 99px; }
.svc-iso__layer--code { background: #111; border: 1px solid var(--color-white-16); }
.svc-iso__layer--code i { background: rgb(255 255 255 / 0.3); }
.svc-iso__layer--code i:nth-child(2) { width: 70%; margin-left: 15%; }
.svc-iso__layer--code i:nth-child(3) { width: 55%; margin-left: 15%; }
.svc-iso__layer--code i:nth-child(4) { width: 40%; }
.svc-iso__layer--code b {
  position: absolute; right: 10%; bottom: 8%; font: 700 calc(var(--s) * 0.08) / 1 var(--font-mono); color: var(--red);
}
.svc-iso__layer--wire { border: 1.5px dashed rgb(255 255 255 / 0.55); grid-template-columns: 1fr 1fr; }
.svc-iso__layer--wire i { height: calc(var(--s) * 0.1); border-radius: 0.3rem; border: 1.5px dashed rgb(255 255 255 / 0.4); }
.svc-iso__layer--wire i:first-child { grid-column: 1 / -1; height: calc(var(--s) * 0.06); }
.svc-iso__layer--ui {
  background: rgb(28 28 28 / 0.92); border: 1.5px solid rgb(255 255 255 / 0.85); box-shadow: 0 0 2.5rem rgb(223 30 48 / 0.35);
}
.svc-iso__layer--ui i { background: #fff; }
.svc-iso__layer--ui i:nth-child(2) { width: 65%; background: rgb(255 255 255 / 0.4); }
.svc-iso__layer--ui b { width: 42%; height: calc(var(--s) * 0.08); border-radius: 99px; background: var(--red); }
.svc-phone {
  position: absolute; left: 22%; top: 3%; width: 50%; height: 94%; padding: 6%; border: 2px solid rgb(255 255 255 / 0.72); border-radius: calc(var(--s) * 0.09); overflow: hidden;
}
.svc-phone::before {
  content: ""; position: absolute; z-index: 1; left: 50%; top: 3%; width: 28%; height: 3.5%; translate: -50% 0; border-radius: 99px; background: #000; box-shadow: 0 0 0 1px var(--color-white-16);
}
.svc-phone__feed { display: grid; gap: calc(var(--s) * 0.04); animation: svc-feed 7s linear infinite; }
.svc-phone__feed i { display: grid; gap: calc(var(--s) * 0.025); height: calc(var(--s) * 0.3); }
.svc-phone__feed i::before { content: ""; border-radius: calc(var(--s) * 0.03); background: rgb(255 255 255 / 0.14); }
.svc-phone__feed i:nth-child(3n + 2)::before { background: rgb(223 30 48 / 0.7); }
.svc-phone__feed i::after {
  content: ""; width: 70%; height: calc(var(--s) * 0.025); border-radius: 99px; background: rgb(255 255 255 / 0.4);
}
.svc-phone__feed i { grid-template-rows: 1fr auto; }
@keyframes svc-feed { to { transform: translateY(calc(var(--s) * -1.02)); } }
.svc-heart {
  position: absolute; right: 8%; bottom: 10%; width: 15%; aspect-ratio: 1; background: var(--red); opacity: 0;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9.2C.9 8.4 3 4.5 6.6 4.5c2.1 0 3.6 1.2 5.4 3.2 1.8-2 3.3-3.2 5.4-3.2 3.6 0 5.7 3.9 4.2 7.3C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9.2C.9 8.4 3 4.5 6.6 4.5c2.1 0 3.6 1.2 5.4 3.2 1.8-2 3.3-3.2 5.4-3.2 3.6 0 5.7 3.9 4.2 7.3C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center / contain no-repeat;
  animation: svc-heart 2.8s var(--ease-out) infinite; animation-delay: var(--d);
}
.svc-heart:nth-of-type(2n) { background: #fff; width: 11%; }
@keyframes svc-heart {
  0% { opacity: 0; transform: translate(0, 0) scale(0.4); }
  15% { opacity: 1; transform: translate(calc(var(--sx) * 0.5), -40%) scale(1.1); }
  60% { opacity: 1; transform: translate(var(--sx), -260%) scale(1); }
  100% { opacity: 0; transform: translate(calc(var(--sx) * -0.4), -480%) scale(0.8); }
}
.svc-iris__dial { transform-origin: 100px 100px; animation: svc-spin 18s linear infinite; }
.svc-iris__rec {
  fill: var(--red); transform-origin: 100px 100px; animation: svc-rec 2s var(--ease-in-out) infinite; filter: drop-shadow(0 0 12px rgb(223 30 48 / 0.8));
}
.svc-iris__blade {
  fill: #161616; stroke: rgb(255 255 255 / 0.55); stroke-width: 1.2; vector-effect: non-scaling-stroke; stroke-linejoin: round; transform-origin: 100px 14px; animation: svc-iris 5s var(--ease-in-out) infinite;
}
@keyframes svc-iris { 0%, 14%, 100% { transform: rotate(0deg); } 40%, 78% { transform: rotate(24deg); } }
@keyframes svc-rec { 0%, 100% { transform: scale(1); } 50% { transform: scale(0.9); } }
.svc-icon__label {
  position: absolute; left: 50%; bottom: -8%; transform: translateX(-50%); font-family: var(--font-mono); font-size: var(--fs-caption); font-weight: 600; letter-spacing: 0.2em; color: var(--color-white); animation: svc-blink 2s steps(1) infinite;
}
@keyframes svc-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0.25; } }
@media (prefers-reduced-motion: reduce) {
  .svc-icon * { animation: none !important; }
  .svc-radar__sweep { transform: rotate(48deg); }
  .svc-radar__blip { opacity: 0.6; }
  .svc-brand__grid { stroke-dashoffset: 0; }
  .svc-brand__letter { font-weight: 800; }
  .svc-iso__layer { transform: translateZ(calc(var(--z) * var(--s) * 0.18)); }
  .svc-heart:first-of-type { opacity: 1; transform: translateY(-150%); }
  .svc-iris__blade { transform: rotate(24deg); }
}
@media (forced-colors: active) {
  .svc-icon * { forced-color-adjust: none; }
}
.site-header {
  transition: transform var(--dur-base) var(--ease-expo), height var(--dur-base) var(--ease-expo), background-color var(--dur-fast) var(--ease-out);
}
.is-works-pinned .site-header:not(:focus-within):not(.is-menu-open) { transform: translateY(-130%); }
.works.is-pinned .works__pin { padding-top: var(--space-l); padding-bottom: var(--space-l); }
.works.is-pinned .works__playhead { margin-top: var(--space-l); }
@media (min-width: 64em) {
  .works.is-pinned .works__pin {
    grid-template-columns: minmax(0, 1fr); align-content: center; gap: var(--space-l); padding-block: var(--space-xl);
  }
  .works.is-pinned .works__rail { padding-inline: var(--margin); }
  .works.is-pinned .works__playhead {
    width: auto; max-width: none; margin: clamp(var(--space-l), 5svh, var(--space-2xl)) var(--margin) 0; padding: 0;
  }
  .works.is-pinned .gallery-card__media { width: min(clamp(13rem, 21vw, 26rem), calc(max(12rem, 100svh - 22rem) * 0.8)); max-height: none; }
}
@media (prefers-reduced-motion: reduce) {
  .is-works-pinned .site-header { transform: none; }
}
.ticker {
  position: relative;
  z-index: 2;
  width: 110vw;
  margin: clamp(1rem, 3vw, 3rem) -5vw;
  padding-block: clamp(0.75rem, 1.4vw, 1.25rem);
  overflow: clip;
  background: var(--color-primary);
  color: #000;
  transform: rotate(-2deg);
}
.ticker__track { display: flex; width: max-content; will-change: transform; }
.ticker__list {
  display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 2.5rem); padding-right: clamp(1rem, 2.5vw, 2.5rem);
}
.ticker__item {
  font-size: clamp(1.5rem, 1rem + 2.6vw, 3.75rem); font-weight: var(--fw-extrabold); line-height: 1; letter-spacing: -0.03em; text-transform: uppercase; white-space: nowrap;
}
.ticker .rec-dot {
  width: clamp(0.6rem, 1vw, 1rem); height: clamp(0.6rem, 1vw, 1rem); background: #000; box-shadow: none; animation: none;
}
.hero__char { display: inline-block; will-change: transform; }
.gallery-card__media { transform-style: preserve-3d; }
.gallery-card__media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgb(255 255 255 / 0.18), transparent 55%);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dur-base) var(--ease-out);
}
.gallery-card__inner:hover .gallery-card__media::before { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .gallery-card__img { transition: filter var(--dur-base) var(--ease-out), scale 1.2s var(--ease-expo); }
  .gallery-card__inner:hover .gallery-card__img { scale: 1.08; filter: grayscale(1) contrast(1.15); }
  .gallery-card__inner:hover .gallery-card__media::after { opacity: 0.6; }
}
.page-curtain {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: grid;
  place-items: center;
  background: #000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s var(--ease-out), visibility 0s linear 0.35s;
}
html[data-theme="light"] .page-curtain { background: #f6f2ec; }
.is-leaving .page-curtain, .is-entering .page-curtain { opacity: 1; visibility: visible; transition: opacity 0.35s var(--ease-out); }
.is-entering .page-curtain { transition: none; }
.is-entered .page-curtain { opacity: 0; visibility: hidden; transition: opacity 0.5s var(--ease-out) 0.05s, visibility 0s linear 0.55s; }
.section-cta { display: flex; justify-content: flex-start; margin-top: clamp(var(--space-xl), 4vw, var(--space-2xl)); }
.testimonials .section-cta { justify-content: center; }
.works__head-side { display: flex; align-items: center; gap: var(--space-m); }
.accent-text { color: var(--color-primary); }
.eyebrow { color: var(--accent); }
.eyebrow::before {
  content: ""; width: 1.5rem; height: 1px; margin-right: 0.25rem; align-self: center; background: var(--color-primary);
}
.hero__eyebrow::before { display: none; }
.slider__line-fill,
.works__bar-fill,
.stat::after { background: var(--color-primary); }
.stat__label { color: var(--fg-muted); }
.link-arrow::after { color: var(--accent); }
.link-arrow:hover { color: var(--accent); }
.btn--ghost:hover { --btn-bg: var(--color-primary); --btn-fg: var(--color-white); --btn-border: var(--color-primary); }
.btn--ghost .btn__icon {
  color: var(--accent); transition: color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.btn--ghost:hover .btn__icon { color: var(--color-white); }
.slider__btn:hover { border-color: var(--color-primary); background: var(--color-primary); }
.service-card__tags li { transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.service-card:hover .service-card__tags li { border-color: rgb(223 30 48 / 0.6); }
.service-card:hover .service-card__title { color: var(--color-primary); }
.service-card__title { transition: color var(--dur-base) var(--ease-out); }
.site-footer__nav-link:hover,
.site-footer__legal a:hover { color: var(--accent); }
.back-to-top:hover { border-color: var(--color-primary); background: var(--color-primary); color: var(--color-white); }
.section-head { margin-bottom: clamp(var(--space-xl), 5vw, var(--space-3xl)); }
.services__stack { gap: clamp(var(--space-l), 4vw, var(--space-2xl)); }
.service-card__content { gap: var(--space-m); }
.quote { gap: var(--space-2xl); }
.ticker { margin-block: clamp(2rem, 6vw, 6rem); }
.endcap { position: relative; background: #000; }
.endcap__stage { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-height: 100svh; background: #000; overflow: clip; }
.endcap .contact__cta {
  display: grid; align-content: center; margin: 0; padding-block: calc(var(--header-h) + 1rem) clamp(1.5rem, 4svh, 3rem); border: 0; background: #000;
}
.endcap .contact__title { font-size: min(var(--fs-h1), 9svh); margin-top: var(--space-s); }
.endcap .contact__lead { margin-top: var(--space-s); }
.endcap .site-footer__compact { padding-block: clamp(var(--space-m), 4svh, var(--space-xl)); }
.endcap .site-footer__bottom { padding-top: var(--space-s); }
.endcap .contact__cta::before,
.endcap .contact__cta::after { display: none; }
.endcap .site-footer { position: relative; padding-top: 0; background: #000; border-top: 1px solid var(--color-white-16); }
.endcap .site-footer__compact { margin-top: 0; }
.js .endcap.is-pinned { height: 170svh; }
.js .endcap.is-pinned .endcap__stage { position: sticky; top: 0; height: 100svh; }
.contact__cta .container { display: grid; justify-items: center; text-align: center; }
.contact__cta .eyebrow { justify-content: center; }
.contact__cta .contact__title { max-width: 14ch; margin-inline: auto; text-wrap: balance; font-weight: 700; text-transform: none; }
.contact__cta .contact__lead { max-width: 38rem; margin-inline: auto; text-wrap: pretty; }
.service-card__inner,
.testimonials .glass-card {
  --mx: 50%;
  --my: 50%;
  isolation: isolate;
  border: 1px solid var(--color-white-16);
  background: rgb(0 0 0 / 0.86);
  -webkit-backdrop-filter: blur(24px) saturate(140%);
  backdrop-filter: blur(24px) saturate(140%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.08), 0 2rem 4rem rgb(0 0 0 / 0.5);
}
.service-card__inner::before,
.testimonials .glass-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: radial-gradient(26rem circle at var(--mx) var(--my), rgb(223 30 48 / 0.28), transparent 65%);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dur-base) var(--ease-out);
}
.service-card__inner.is-lit::before,
.testimonials .glass-card.is-lit::before { opacity: 1; }
.service-card__inner.is-lit,
.testimonials .glass-card.is-lit { border-color: rgb(223 30 48 / 0.45); }
.service-card__media--icon {
  background: radial-gradient(circle at 50% 55%, rgb(223 30 48 / 0.14), transparent 62%), rgb(255 255 255 / 0.02); border-color: var(--color-white-08);
}
@supports not (backdrop-filter: blur(1px)) {
  .service-card__inner,
  .testimonials .glass-card { background: #050505; }
}
.btn,
.slider__btn,
.back-to-top,
.lang-menu__toggle {
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.14), inset 0 -1px 0 rgb(0 0 0 / 0.3), 0 0.5rem 1.5rem rgb(0 0 0 / 0.25);
  transition: background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
}
.btn { border-width: 1px; }
.btn--primary { --btn-bg: rgb(223 30 48 / 0.22); --btn-fg: var(--color-white); --btn-border: rgb(255 77 92 / 0.55); }
.btn--primary:hover,
.btn--primary:focus-visible {
  --btn-bg: var(--color-primary); --btn-border: var(--color-primary); box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.25), 0 0.75rem 2rem rgb(223 30 48 / 0.45);
}
.btn--ghost { --btn-bg: rgb(255 255 255 / 0.06); --btn-fg: var(--color-white); --btn-border: rgb(255 255 255 / 0.22); }
.btn--ghost:hover,
.btn--ghost:focus-visible {
  --btn-bg: var(--color-primary); --btn-fg: var(--color-white); --btn-border: var(--color-primary); box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.25), 0 0.75rem 2rem rgb(223 30 48 / 0.4);
}
.slider__btn,
.back-to-top { background: rgb(255 255 255 / 0.06); border-color: rgb(255 255 255 / 0.22); }
.slider__btn:hover,
.back-to-top:hover {
  background: var(--color-primary); border-color: var(--color-primary); color: var(--color-white); box-shadow: 0 0.75rem 2rem rgb(223 30 48 / 0.4);
}
.lang-menu__toggle { background: rgb(255 255 255 / 0.06); border: 1px solid rgb(255 255 255 / 0.16); }
.lang-menu__toggle:hover,
.lang-menu__toggle[aria-expanded="true"] { background: var(--color-white); border-color: var(--color-white); color: var(--color-black); }
@supports not (backdrop-filter: blur(1px)) {
  .btn--primary { --btn-bg: #4a0a12; }
  .btn--ghost,
  .slider__btn,
  .back-to-top,
  .lang-menu__toggle { background: #151515; }
}
@media (forced-colors: active) {
  .btn,
  .slider__btn,
  .back-to-top { border: 1px solid ButtonText; }
}
.site-header__cta.btn--primary {
  --btn-bg: #ff1f35;
  --btn-fg: var(--color-white);
  --btn-border: #ff1f35;
  position: relative;
  isolation: isolate;
  box-shadow: 0 0.5rem 1.75rem rgb(255 31 53 / 0.55);
}
.site-header__cta.btn--primary::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  box-shadow: 0 0 0 0 rgb(255 31 53 / 0.55);
  pointer-events: none;
}
.site-header__cta.btn--primary:hover,
.site-header__cta.btn--primary:focus-visible {
  --btn-bg: #ff3a4e;
  --btn-border: #ff3a4e;
  box-shadow: 0 0.75rem 2.25rem rgb(255 31 53 / 0.7);
}
@media (prefers-reduced-motion: no-preference) {
  .site-header__cta.btn--primary::after { animation: cta-halo 2.4s var(--ease-out) infinite; }
  .site-header__cta.btn--primary:hover::after { animation-play-state: paused; }
}
@keyframes cta-halo {
  0% { box-shadow: 0 0 0 0 rgb(255 31 53 / 0.55); }
  70%, 100% { box-shadow: 0 0 0 12px rgb(255 31 53 / 0); }
}
.site-header {
  transition: transform 0.8s var(--ease-expo), opacity 0.5s var(--ease-out), filter 0.6s var(--ease-out), height var(--dur-base) var(--ease-expo), background-color var(--dur-fast) var(--ease-out);
}
.is-at-end .site-header:not(:focus-within):not(.is-menu-open) { transform: translateY(-120%) scale(0.96); opacity: 0; filter: blur(8px); pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  .is-at-end .site-header:not(:focus-within):not(.is-menu-open) { transform: none; filter: none; transition: opacity 0.2s linear; }
}
img.gallery-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.starter__q {
  margin: clamp(var(--space-l), 5svh, var(--space-xl)) 0 var(--space-s); font-size: var(--fs-caption); font-weight: var(--fw-semibold); letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent);
}
.starter {
  display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(0.75rem, 1.5vw, 1.25rem); margin: 0; padding: 0; list-style: none;
}
.starter__pill {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  min-height: clamp(4rem, 9svh, 6rem);
  padding-inline: clamp(1.75rem, 3vw, 3rem);
  border: 1px solid rgb(255 255 255 / 0.22);
  border-radius: var(--radius-pill);
  background: rgb(255 255 255 / 0.05);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.12);
  color: var(--color-white);
  font-size: clamp(1.5rem, 1rem + 1.8vw, 3rem);
  font-weight: var(--fw-extrabold);
  letter-spacing: -0.03em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
}
.starter__pill::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--color-primary);
  border-radius: inherit;
  transform: translateY(101%);
  transition: transform 0.6s var(--ease-expo);
}
.starter__arrow {
  display: inline-block; width: 0; opacity: 0; transform: translateX(-0.4em); transition: width 0.5s var(--ease-expo), opacity var(--dur-fast) var(--ease-out), transform 0.5s var(--ease-expo);
}
.starter__pill:hover,
.starter__pill:focus-visible { border-color: var(--color-primary); box-shadow: 0 1rem 2.5rem rgb(223 30 48 / 0.45); }
.starter__pill:hover::before,
.starter__pill:focus-visible::before { transform: none; }
.starter__pill:hover .starter__arrow,
.starter__pill:focus-visible .starter__arrow { width: 1em; opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .starter__pill::before,
  .starter__arrow { transition: none; }
}
.mega__grid > li:last-child:nth-child(3n + 2) { grid-column: span 2; }
.starter { flex-wrap: nowrap; gap: clamp(0.4rem, 1vw, 0.9rem); }
.starter__pill {
  min-height: clamp(2.75rem, 6svh, 3.75rem); padding-inline: clamp(1rem, 2vw, 1.75rem); font-size: clamp(0.85rem, 0.6rem + 0.8vw, 1.5rem); letter-spacing: -0.01em; white-space: nowrap;
}
@media (max-width: 29.99em) {
  .starter { flex-wrap: wrap; }
}
.site-footer__icons { display: flex; justify-self: end; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.social-icon {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgb(255 255 255 / 0.22);
  border-radius: 50%;
  background: rgb(255 255 255 / 0.05);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: var(--color-white);
  transition: background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-expo);
}
.social-icon:hover,
.social-icon:focus-visible { background: var(--color-primary); border-color: var(--color-primary); transform: translateY(-2px); }
@media (max-width: 47.99em) {
  .site-footer__icons { justify-self: center; }
}
.gallery-card__inner { gap: 0; }
.gallery-card__media { display: grid; align-items: end; }
.gallery-card__info {
  grid-area: 1 / 1;
  z-index: 3;
  display: grid;
  gap: 0.35rem;
  padding: clamp(3.5rem, 18%, 7rem) clamp(1rem, 6%, 1.75rem) clamp(1rem, 6%, 1.5rem);
  background: linear-gradient(to top, rgb(0 0 0 / 0.92) 0%, rgb(40 3 8 / 0.72) 19%, rgb(140 12 26 / 0.22) 35%, transparent 50%, transparent 100%) 0 100% / 100% 100% no-repeat,
  linear-gradient(to top, rgb(120 8 20 / 0.95) 0%, rgb(223 30 48 / 0.55) 40%, transparent 100%) 0 0 / 100% 0% no-repeat;
  transition: background-size 0.7s var(--ease-expo);
}
.gallery-card__inner:hover .gallery-card__info { background-size: 100% 100%, 100% 100%; background-position: 0 100%, 0 100%; }
.gallery-card__title {
  margin: 0; font-size: clamp(1.25rem, 0.9rem + 1.2vw, 2.25rem); font-weight: var(--fw-extrabold); line-height: 1; letter-spacing: -0.03em; color: var(--color-white); text-shadow: 0 0.1em 0.6em rgb(0 0 0 / 0.4);
}
.gallery-card__inner:hover .gallery-card__title { color: var(--color-white); }
.gallery-card__media { position: relative; }
.gallery-card__media--cta .gallery-card__info { background: none; }
.gallery-card__media--cta .gallery-card__cta { grid-area: 1 / 1; align-self: center; justify-self: center; }
.gallery-card__tags {
  position: relative; z-index: 3; display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.4rem 0 0; padding: 0; list-style: none;
}
.gallery-card__tag {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding-inline: 0.75rem;
  border: 1px solid rgb(255 255 255 / 0.3);
  border-radius: var(--radius-pill);
  background: rgb(0 0 0 / 0.35);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--color-white);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}
.gallery-card__tag:hover,
.gallery-card__tag:focus-visible { background: var(--color-primary); border-color: var(--color-primary); }
.gallery-card__info { grid-template-columns: minmax(0, 1fr); align-content: end; width: auto; min-width: 0; justify-self: stretch; }
.gallery-card__tags { min-width: 0; }
.gallery-card__tag { min-height: 1.7rem; padding-inline: 0.6rem; font-size: 0.75rem; }
.scroll-progress {
  position: fixed; inset: 0 0 auto; z-index: 150; height: 1px; background: var(--color-primary); box-shadow: 0 0 8px rgb(223 30 48 / 0.8); transform: scaleX(0); transform-origin: left; pointer-events: none;
}
.is-loading .scroll-progress { opacity: 0; }

.gallery-card--cta .gallery-card__link { font-size: 0; }
.gallery-card--cta .gallery-card__info { padding: 0; }
.gallery-card__img {
  filter: brightness(0.68) saturate(0.85) contrast(1.05) !important; transition: filter 0.8s var(--ease-out), scale 1.2s var(--ease-expo) !important;
}
.gallery-card__inner:hover .gallery-card__img { filter: brightness(0.85) saturate(1) contrast(1.05) !important; scale: 1.04 !important; }
.gallery-card__media::before,
.gallery-card__inner:hover .gallery-card__media::before { opacity: 0 !important; }
.gallery-card__media::after,
.gallery-card__inner:hover .gallery-card__media::after { opacity: 0 !important; }
.gallery-card__inner:hover .gallery-card__info { background-size: 100% 100%, 100% 0% !important; }
.gallery-card__media { transform: none !important; }
.eyebrow::before { display: none !important; }
.clients .section-head { justify-items: center; text-align: center; grid-template-columns: minmax(0, 1fr) !important; }
.clients .section-head > * { grid-column: 1 / -1 !important; margin-inline: auto; }
.clients .section-head .eyebrow { justify-content: center; }
.clients .section-head__title { max-width: 18ch; text-wrap: balance; }
.clients .section-cta { justify-content: center; }
@media (min-width: 64em) {
  .sreels > .container:first-child { position: relative; }
  .sreels .sreels__follow { position: absolute; top: 0; right: var(--margin); margin: 0; }
}
@media (min-width: 64em) {
  .site-footer__compact {
    display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; column-gap: var(--space-l);
  }
  .site-footer__compact > .logo { justify-self: start; }
  .site-footer__compact > .back-to-top { justify-self: end; }
}
.site-footer__nav-list { justify-content: center; }
@media (max-width: 63.99em) {
  .site-footer__compact { flex-direction: column; justify-content: center; text-align: center; }
}
.js .hero__rotator { display: inline-block !important; overflow: visible !important; width: auto !important; }
.hero__live { display: inline-block; white-space: nowrap; perspective: 600px; color: var(--accent); }
.hero__glyph { display: inline-block; transform-origin: 50% 50% -0.3em; will-change: transform, opacity, filter; }
.gallery-card__info { container-type: inline-size; box-sizing: border-box; }
.gallery-card__title {
  max-width: 100%; font-size: clamp(0.8rem, 7cqi, 1.6rem) !important; line-height: 1.02; letter-spacing: -0.02em; overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance;
}
.gallery-card__tags { gap: 0.3rem; }
.gallery-card__tag { min-height: 1.55rem; padding-inline: 0.55rem; font-size: clamp(0.62rem, 5cqi, 0.75rem); }
.gallery-card__cta {
  font-size: clamp(1rem, 12cqi, 2.25rem) !important; overflow-wrap: normal; word-break: keep-all; hyphens: none;
}
.gallery-card__media { background: linear-gradient(160deg, #1a0306, #000); }
@media (min-width: 48em) {
  .works.is-pinned .gallery-card__media {
    width: min(clamp(15rem, 25vw, 30rem), calc(max(14rem, 100svh - 15rem) * 0.8)) !important; max-height: none !important;
  }
}
@media (min-width: 64em) {
  .logo-wall { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
.logo-wall__cell { min-height: clamp(7rem, 12vw, 10rem); }
.logo-wall { gap: clamp(0.6rem, 1.2vw, 1rem) !important; border: 0 !important; background: none !important; }
.logo-wall__cell {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 0.1) !important;
  border-radius: 1.25rem;
  background: linear-gradient(160deg, rgb(255 255 255 / 0.07), rgb(255 255 255 / 0.015)) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.1), 0 1rem 2.5rem rgb(0 0 0 / 0.35);
  transition: border-color var(--dur-base) var(--ease-out), transform 0.6s var(--ease-expo), box-shadow var(--dur-base) var(--ease-out);
}
.logo-wall__cell::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(60% 80% at 50% 120%, rgb(223 30 48 / 0.35), transparent 70%);
  opacity: 0;
  transition: opacity var(--dur-base) var(--ease-out);
  pointer-events: none;
}
.logo-wall__cell:hover {
  border-color: rgb(255 255 255 / 0.22) !important; transform: translateY(-4px); box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.16), 0 1.5rem 3rem rgb(0 0 0 / 0.45);
}
.logo-wall__cell:hover::before { opacity: 1; }
@supports not (backdrop-filter: blur(1px)) {
  .logo-wall__cell { background: #111 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .logo-wall__cell:hover { transform: none; }
}
.site-footer__compact { grid-template-columns: auto minmax(0, 1fr) !important; }
.site-footer__compact .site-footer__nav { justify-self: center; }
@media (min-width: 64em) {
  .site-footer__compact { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important; }
  .site-footer__compact::after { content: ""; }
}
.site-footer > .container > .site-footer__icons {
  display: flex; justify-content: center; gap: 0.6rem; margin: var(--space-m) 0 0; padding: 0; list-style: none;
}
.site-footer__bottom { grid-template-columns: 1fr auto !important; }
.site-footer__copy { justify-self: start; }
.site-footer__legal { justify-self: end; }
@media (max-width: 47.99em) {
  .site-footer__bottom { grid-template-columns: 1fr !important; justify-items: center; }
  .site-footer__copy,
  .site-footer__legal { justify-self: center; }
}
.logo-wall > .logo-wall__cell {
  display: grid !important; place-items: center !important; aspect-ratio: 16 / 10; min-height: 0 !important; padding: 0 !important;
}
.clogo { position: relative; display: block; width: calc(70% * var(--k, 1)); height: calc(42% * var(--k, 1)); }
.clogo img {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; object-fit: contain; object-position: center; filter: none; transition: opacity var(--dur-base) var(--ease-out);
}
.clogo__mono { opacity: 0.75; }
.clogo__color { opacity: 0; }
.logo-wall__cell:hover .clogo__mono,
.logo-wall__cell:focus-within .clogo__mono { opacity: 0; }
.logo-wall__cell:hover .clogo__color,
.logo-wall__cell:focus-within .clogo__color { opacity: 1; }
@media (hover: none) {
  .clogo__mono { opacity: 0; }
  .clogo__color { opacity: 1; }
}
@media (max-width: 47.99em) {
  .logo-wall { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
.endcap .site-footer { padding-bottom: 0; }
.copy-bubble {
  position: fixed; left: 0; top: 0; z-index: 500; padding: 0.45rem 0.8rem; border-radius: var(--radius-pill); background: var(--color-primary); color: #fff; font-size: var(--fs-caption); font-weight: var(--fw-bold); pointer-events: none; opacity: 0; scale: 0.6; transition: opacity 0.25s var(--ease-out), scale 0.4s var(--ease-expo);
}
.copy-bubble.is-on { opacity: 1; scale: 1; }
.gallery-card__img { transform-origin: 50% 50%; will-change: transform; }
.endcap__stage { grid-template-columns: minmax(0, 1fr); }
.site-footer__bottom {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important; align-items: center;
}
.site-footer__copy { justify-self: start !important; }
.site-footer__legal { justify-self: center !important; justify-content: center; }
.site-footer__bottom .back-to-top { justify-self: end !important; }
@media (max-width: 47.99em) {
  .site-footer__bottom { grid-template-columns: minmax(0, 1fr) !important; justify-items: center; row-gap: var(--space-s); }
  .site-footer__copy,
  .site-footer__legal,
  .site-footer__bottom .back-to-top { justify-self: center !important; }
}
.starter { flex-wrap: wrap !important; justify-content: center; }
.starter__pill {
  font-size: clamp(0.8rem, 0.5rem + 0.6vw, 1.25rem) !important; padding-inline: clamp(0.9rem, 1.6vw, 1.5rem) !important;
}
.starter { gap: 0.5rem !important; }
.starter__pill {
  min-height: 2.75rem !important; padding-inline: 1rem !important; font-size: clamp(0.8rem, 0.7rem + 0.3vw, 1rem) !important;
}
.starter__arrow { font-size: 0.9em; }
.section-head { margin-bottom: clamp(var(--space-l), 3.5vw, var(--space-2xl)) !important; }
.bento__manifesto { padding-block: 0 var(--space-l) !important; }
.section-cta { margin-top: clamp(var(--space-l), 3vw, var(--space-xl)) !important; }
.ticker { margin-block: clamp(1.5rem, 4vw, 3.5rem) !important; }
.about + .services,
.services { padding-top: clamp(3.5rem, 2rem + 5vw, 7.5rem); }
.services__stack { gap: clamp(var(--space-m), 3vw, var(--space-xl)) !important; }
.works { padding-block: clamp(3.5rem, 2rem + 5vw, 7.5rem) !important; }
.site-footer__compact {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important; align-items: center; column-gap: var(--space-l); padding-block: var(--space-l) !important;
}
.site-footer__compact > .logo { justify-self: start; }
.site-footer__compact > .site-footer__nav { justify-self: center; grid-column: 2; }
.site-footer__compact::after { content: none !important; display: none !important; }
.site-footer .site-footer__compact { margin-block: 0 !important; padding-block: clamp(var(--space-m), 3vw, var(--space-l)) !important; }
.site-footer .site-footer__bottom { margin-top: 0 !important; }
.site-footer__compact > .site-footer__icons { justify-self: end; display: flex; gap: 0.6rem; margin: 0 !important; padding: 0; list-style: none; }
.site-footer__bottom { padding-block: var(--space-m) clamp(var(--space-m), 3vw, var(--space-l)) !important; }
.endcap .site-footer { padding-bottom: env(safe-area-inset-bottom); }
@media (max-width: 63.99em) {
  .site-footer__compact { grid-template-columns: minmax(0, 1fr) !important; justify-items: center; row-gap: var(--space-m); }
  .site-footer__compact > * { justify-self: center !important; }
}

/* ==== utilities ======================================================= */
.visually-hidden:not(:focus):not(:active) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.split-line { display: block; }

.service-card__tags li { white-space: nowrap; }

/* ==== social reels ============================================== */
.sreels__track {
  display: flex; gap: clamp(0.75rem, 1.6vw, 1.25rem); margin: var(--space-xl) 0 0; padding: 0.5rem var(--margin) 1rem;
  list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--margin); scrollbar-width: none;
}
.sreels__track::-webkit-scrollbar { display: none; }
.sreel:first-child { margin-inline-start: auto; }
.sreel:last-child { margin-inline-end: auto; }
.sreel { flex: 0 0 clamp(200px, 19vw, 280px); scroll-snap-align: start; }
.sreel:nth-child(even) { margin-top: 1.5rem; }
.sreels__track { padding-bottom: 2.5rem; }
.sreel__card {
  position: relative; display: block; aspect-ratio: 9 / 16; overflow: hidden; border-radius: 1.25rem; isolation: isolate;
  background: rgb(255 255 255 / 0.04); border: 1px solid rgb(255 255 255 / 0.1);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.08), 0 1.5rem 3rem rgb(0 0 0 / 0.5);
  color: #fff; text-decoration: none; transition: transform .5s var(--ease-out, cubic-bezier(.2,.8,.2,1)), border-color .3s;
}
.sreel__card::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgb(0 0 0 / 0.35) 0%, transparent 30%, transparent 50%, rgb(0 0 0 / 0.85) 100%);
}
.sreel__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) brightness(.7); transition: transform .8s var(--ease-out, cubic-bezier(.2,.8,.2,1)), filter .5s; }
.sreel__platform {
  position: absolute; top: 0.85rem; left: 0.85rem; z-index: 2; padding: 0.3rem 0.65rem; border-radius: 999px;
  font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  background: rgb(0 0 0 / 0.45); border: 1px solid rgb(255 255 255 / 0.14); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.sreel__play {
  position: absolute; top: 50%; left: 50%; z-index: 2; width: 3.5rem; height: 3.5rem; border-radius: 50%; translate: -50% -50%;
  background: rgb(255 255 255 / 0.12); border: 1px solid rgb(255 255 255 / 0.25); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  transition: background .3s, transform .4s, box-shadow .3s;
}
.sreel__play::before { content: ""; position: absolute; top: 50%; left: 54%; translate: -50% -50%; border-style: solid; border-width: 0.5rem 0 0.5rem 0.8rem; border-color: transparent transparent transparent #fff; }
.sreel__meta { position: absolute; inset: auto 1rem 1rem; z-index: 2; display: grid; gap: 0.2rem; }
.sreel__client { font-weight: 700; font-size: 1.05rem; line-height: 1.2; }
.sreel__tag { font-size: 0.78rem; color: rgb(255 255 255 / 0.7); }
.sreel__card:hover, .sreel__card:focus-visible { transform: translateY(-0.4rem); border-color: rgb(223 30 48 / 0.6); }
.sreel__card:hover .sreel__img, .sreel__card:focus-visible .sreel__img { transform: scale(1.06); filter: none; }
.sreel__card:hover .sreel__play, .sreel__card:focus-visible .sreel__play { background: var(--accent, #df1e30); border-color: transparent; transform: scale(1.1); box-shadow: 0 0 0 0.6rem rgb(223 30 48 / 0.25); }
.sreel__card.is-playing::after, .sreel__card.is-playing > :not(iframe) { display: none; }
.sreel__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 3; background: #000; }
@media (max-width: 1099px) { .sreel:nth-child(even) { margin-top: 0; } .sreels__track { padding-bottom: 1rem; } }

/* ==== client wall: holographic glass hover + centred last row ===== */
@property --lw-a { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes lw-spin { to { --lw-a: 360deg; } }
@keyframes lw-sheen { from { transform: translateX(-130%) skewX(-18deg); } to { transform: translateX(230%) skewX(-18deg); } }
.logo-wall__cell { perspective: 700px; }
/* iridescent ring that traces the tile edge */
.logo-wall__cell::before {
  inset: 0; padding: 1px; border-radius: inherit; z-index: 2;
  background: conic-gradient(from var(--lw-a), transparent 0 55%, rgb(255 255 255 / 0.9) 70%, #ffd6e0 76%, #b9e6ff 82%, transparent 92%) !important;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
.logo-wall__cell:hover::before { animation: lw-spin 2.4s linear infinite; }
/* light sweep */
.logo-wall__cell::after {
  content: ""; position: absolute; inset: -10% auto -10% 0; width: 45%; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgb(255 255 255 / 0.14), transparent);
  transform: translateX(-130%) skewX(-18deg);
}
.logo-wall__cell:hover::after { animation: lw-sheen 0.9s var(--ease-out, ease-out) both; }
.logo-wall__cell:hover {
  border-color: transparent !important; transform: translateY(-6px);
  background: radial-gradient(120% 90% at 50% 0%, rgb(255 255 255 / 0.12), rgb(255 255 255 / 0.02) 70%) !important;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.2), 0 1.8rem 3.5rem rgb(0 0 0 / 0.55);
}
/* logo: soft focus pull from mono to colour */
.clogo { transition: transform 0.7s var(--ease-expo, cubic-bezier(.16,1,.3,1)); }
.clogo img { transition: opacity 0.5s ease, filter 0.6s ease !important; }
.clogo__color { filter: blur(6px); }
.logo-wall__cell:hover .clogo { transform: scale(1.07) translateZ(20px); }
.logo-wall__cell:hover .clogo__color, .logo-wall__cell:focus-within .clogo__color { filter: blur(0) drop-shadow(0 0.4rem 1rem rgb(255 255 255 / 0.12)); }
.logo-wall__cell:hover .clogo__mono { filter: blur(4px); }
@media (hover: none) { .clogo__color { filter: none; } }
@media (prefers-reduced-motion: reduce) {
  .logo-wall__cell:hover::before, .logo-wall__cell:hover::after { animation: none; }
  .logo-wall__cell:hover .clogo { transform: none; }
}
/* centre the trailing tiles: 10-track grid, each tile spans 2 */
@media (min-width: 48em) {
  .logo-wall { grid-template-columns: repeat(10, minmax(0, 1fr)) !important; }
  .logo-wall > .logo-wall__cell { grid-column: span 2; }
  .logo-wall > .logo-wall__cell:nth-child(5n+1):nth-last-child(2) { grid-column: 4 / span 2; }
  .logo-wall > .logo-wall__cell:nth-child(5n+1):nth-last-child(1) { grid-column: 5 / span 2; }
  .logo-wall > .logo-wall__cell:nth-child(5n+1):nth-last-child(3) { grid-column: 3 / span 2; }
  .logo-wall > .logo-wall__cell:nth-child(5n+1):nth-last-child(4) { grid-column: 2 / span 2; }
}
@media (max-width: 47.99em) {
  .logo-wall { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .logo-wall > .logo-wall__cell { grid-column: span 2; }
  .logo-wall > .logo-wall__cell:nth-child(odd):last-child { grid-column: 2 / span 2; }
}

/* ==== end cap (CTA + footer): one shared black stage ============== */
@keyframes ec-drift {
  0%   { transform: translate3d(-6%, 4%, 0) rotate(0deg) scale(1); }
  50%  { transform: translate3d(5%, -3%, 0) rotate(12deg) scale(1.12); }
  100% { transform: translate3d(-6%, 4%, 0) rotate(0deg) scale(1); }
}
@keyframes ec-grid { to { background-position: 0 64px, 64px 0; } }
.endcap__stage { position: relative; isolation: isolate; background: #000 !important; --ex: 50%; --ey: 40%; }
.endcap .contact__cta, .endcap .site-footer { background: transparent !important; }
.endcap .site-footer { border-top-color: rgb(255 255 255 / 0.1); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); background: linear-gradient(rgb(0 0 0 / 0.25), rgb(0 0 0 / 0.6)) !important; }
/* slow smoky blobs + pointer glow */
.endcap__stage::before {
  content: ""; position: absolute; inset: -20%; z-index: -2; pointer-events: none;
  background:
    radial-gradient(28rem 28rem at var(--ex) var(--ey), rgb(255 255 255 / 0.06), transparent 70%),
    radial-gradient(40% 35% at 25% 30%, rgb(140 12 28 / 0.32), transparent 70%),
    radial-gradient(35% 40% at 78% 65%, rgb(90 8 20 / 0.35), transparent 70%),
    radial-gradient(50% 30% at 50% 110%, rgb(223 30 48 / 0.22), transparent 70%);
  filter: blur(30px);
  animation: ec-drift 26s ease-in-out infinite;
}
/* perspective grid floor + grain, fading into black at the top */
.endcap__stage::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    linear-gradient(rgb(255 255 255 / 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 0.05) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask: radial-gradient(90% 70% at 50% 100%, #000 10%, transparent 75%);
  mask: radial-gradient(90% 70% at 50% 100%, #000 10%, transparent 75%);
  transform: perspective(600px) rotateX(55deg) scale(2.2); transform-origin: 50% 100%;
  animation: ec-grid 6s linear infinite;
}
@media (prefers-reduced-motion: reduce) { .endcap__stage::before, .endcap__stage::after { animation: none; } }

/* ==== client wall: 3D tilt + glass glare (no red) ================= */
.logo-wall { perspective: 900px; }
.logo-wall > .logo-wall__cell {
  --rx: 0deg; --ry: 0deg; --gx: 50%; --gy: 0%;
  transform-style: preserve-3d;
  transform: rotateX(var(--rx)) rotateY(var(--ry));
  transition: transform 0.5s cubic-bezier(.16,1,.3,1), border-color .3s, box-shadow .4s, background .4s;
}
.logo-wall > .logo-wall__cell:hover {
  transform: rotateX(var(--rx)) rotateY(var(--ry)) translateZ(14px);
  transition: transform 0.12s linear, border-color .3s, box-shadow .4s, background .4s;
  background:
    radial-gradient(18rem circle at var(--gx) var(--gy), rgb(255 255 255 / 0.16), transparent 60%),
    linear-gradient(160deg, rgb(255 255 255 / 0.08), rgb(255 255 255 / 0.02)) !important;
}
.logo-wall__cell:hover .clogo { transform: translateZ(40px) scale(1.06); }
@media (prefers-reduced-motion: reduce) { .logo-wall > .logo-wall__cell, .logo-wall > .logo-wall__cell:hover { transform: none; } }

/* ==== footer: floating glass dock inside the end-cap stage ======== */
@keyframes ft-scan { from { background-position: -40% 0; } to { background-position: 140% 0; } }
.endcap .site-footer {
  position: relative; margin: 0 var(--margin) max(var(--margin), env(safe-area-inset-bottom)) !important; padding: 0 !important;
  border: 1px solid rgb(255 255 255 / 0.1) !important; border-radius: 1.5rem;
  background: linear-gradient(180deg, rgb(255 255 255 / 0.06), rgb(255 255 255 / 0.015)) !important;
  -webkit-backdrop-filter: blur(22px) saturate(140%); backdrop-filter: blur(22px) saturate(140%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.1), 0 2rem 4rem rgb(0 0 0 / 0.5);
  overflow: hidden;
}
/* red light scanning along the top edge */
.endcap .site-footer::before {
  content: ""; position: absolute; inset: 0 0 auto; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgb(223 30 48 / 0.95), rgb(255 255 255 / 0.9), rgb(223 30 48 / 0.95), transparent) no-repeat;
  background-size: 35% 100%; animation: ft-scan 5s cubic-bezier(.6,0,.4,1) infinite;
}
.endcap .site-footer > .container { max-width: none; padding-inline: clamp(1.25rem, 2.5vw, 2rem); }
.endcap .site-footer__compact { padding-block: clamp(1rem, 2.6svh, 1.6rem) !important; border-bottom: 1px solid rgb(255 255 255 / 0.08); }
.endcap .site-footer__nav-list { display: flex; gap: clamp(1rem, 2.4vw, 2.25rem); }
.endcap .site-footer__nav-link { position: relative; font-weight: 600; text-decoration: none; color: rgb(255 255 255 / 0.75); transition: color .3s; }
.endcap .site-footer__nav-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: -0.3rem; height: 1px; background: var(--accent, #df1e30); transform: scaleX(0); transform-origin: right; transition: transform .45s cubic-bezier(.16,1,.3,1); }
.endcap .site-footer__nav-link:hover { color: #fff; }
.endcap .site-footer__nav-link:hover::after { transform: scaleX(1); transform-origin: left; }
.endcap .social-icon { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 1px solid rgb(255 255 255 / 0.14); background: rgb(255 255 255 / 0.04); color: #fff; transition: background .3s, border-color .3s, transform .4s cubic-bezier(.16,1,.3,1); }
.endcap .social-icon:hover { background: var(--accent, #df1e30); border-color: transparent; transform: translateY(-3px) rotate(-6deg); }
.endcap .site-footer__bottom { padding-block: clamp(0.75rem, 1.8svh, 1.1rem) !important; font-size: var(--fs-caption); color: var(--fg-muted); }
.endcap .site-footer__bottom a { color: inherit; text-decoration: none; transition: color .3s; }
.endcap .site-footer__bottom a:hover { color: #fff; }
.endcap .back-to-top { justify-self: end; display: inline-flex; align-items: center; gap: 0.4rem; }
.endcap .back-to-top span { display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; border: 1px solid rgb(255 255 255 / 0.18); transition: transform .4s cubic-bezier(.16,1,.3,1), background .3s; }
.endcap .back-to-top:hover span { transform: translateY(-3px); background: var(--accent, #df1e30); border-color: transparent; }
@media (max-width: 63.99em) {
  .site-footer__compact > * { grid-column: auto !important; justify-self: center !important; }
  .endcap .site-footer__nav-list { flex-wrap: wrap; justify-content: center; }
  .endcap .back-to-top { justify-self: center; }
}
@media (prefers-reduced-motion: reduce) { .endcap .site-footer::before { animation: none; } }

/* end cap: centre the CTA exactly in the space above the footer dock */
.endcap .contact__cta { align-content: center !important; padding-block: clamp(2rem, 7svh, 5rem) !important; }
.endcap .contact { display: grid; min-height: 0; }
.endcap .contact__cta { height: 100%; }

/* ==== large screens: bigger type, layout keeps its max width ======= */
@media (min-width: 1920px) { html { font-size: 106.25%; } }  /* 17px */
@media (min-width: 2560px) { html { font-size: 112.5%; } }   /* 18px — QHD / 4K at 150% */
@media (min-width: 3200px) { html { font-size: 125%; } }     /* 20px — native 4K */

/* ==== services: lead line, drone + beauty icons ==================== */
.service-card__tags { margin-top: var(--space-s); }
.service-card__desc { margin-top: var(--space-m); }
.service-card__lead { display: block; margin-bottom: 0.5rem; color: #fff; font-weight: 600; font-size: 1.08em; }
.svc-drone__ring { transform-origin: 100px 100px; animation: svc-spin 30s linear infinite; }
.svc-drone__body { transform-origin: 100px 100px; animation: svc-hover 4s ease-in-out infinite; }
.svc-drone__prop path { stroke: #fff; stroke-width: 2.5; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.svc-drone__prop { animation: svc-spin 0.28s linear infinite; animation-delay: var(--d, 0s); }
.svc-drone__lens { fill: var(--red, #df1e30); animation: svc-rec 1.6s ease-in-out infinite; transform-origin: 100px 100px; }
@keyframes svc-hover { 0%,100% { transform: translateY(-3px) rotate(-2deg); } 50% { transform: translateY(4px) rotate(2deg); } }
.svc-beauty__shine { animation: svc-shine 3.6s cubic-bezier(.6,0,.4,1) infinite; }
@keyframes svc-shine { 0% { transform: skewX(-20deg) translateX(0); } 55%,100% { transform: skewX(-20deg) translateX(240px); } }
.svc-beauty__spark { fill: var(--red, #df1e30); transform-box: fill-box; transform-origin: center; animation: svc-twinkle 2.6s ease-in-out infinite; animation-delay: var(--d, 0s); }
.svc-beauty__spark:nth-of-type(2n) { fill: #fff; }
@keyframes svc-twinkle { 0%,100% { opacity: .2; transform: scale(.5) rotate(0deg); } 50% { opacity: 1; transform: scale(1.15) rotate(45deg); } }

/* ==== service icons: reactive on hover / press ===================== */
.svc-icon { transform-style: preserve-3d; --gx: 50%; --gy: 50%; }
.svc-icon::before {
  content: ""; position: absolute; inset: -18%; border-radius: 50%; pointer-events: none; z-index: -1;
  background: radial-gradient(closest-side at var(--gx) var(--gy), rgb(223 30 48 / 0.35), transparent 70%);
  opacity: 0; transform: scale(.8); transition: opacity .6s ease, transform .8s cubic-bezier(.16,1,.3,1);
}
.svc-icon.is-hot::before { opacity: 1; transform: scale(1); }
.svc-icon .svc-svg, .svc-icon > div, .svc-icon > span { transition: filter .5s ease; }
.svc-icon.is-hot .svc-svg { filter: drop-shadow(0 0 10px rgb(255 255 255 / 0.18)); }
.svc-icon.is-hot .svc-l { stroke: rgb(255 255 255 / 0.95); }
.svc-icon.is-hot .svc-l--faint { stroke: rgb(223 30 48 / 0.55); }
.svc-icon .svc-l { transition: stroke .4s ease; }
.svc-icon.is-hot .svc-icon__label { color: var(--red); letter-spacing: 0.35em; }
.svc-icon__label { transition: color .4s ease, letter-spacing .6s cubic-bezier(.16,1,.3,1); }
/* press: shockwave ring */
.svc-icon::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--red); opacity: 0; pointer-events: none;
}
.svc-icon.is-burst::after { animation: svc-burst .8s cubic-bezier(.16,1,.3,1); }
@keyframes svc-burst { 0% { opacity: .9; transform: scale(.6); } 100% { opacity: 0; transform: scale(1.5); } }
/* per-icon hover poses */
.svc-icon--web.is-hot .svc-iso__layer { transform: translateZ(calc(var(--z) * var(--s) * 0.2)); transition: transform .8s cubic-bezier(.16,1,.3,1); }
.svc-icon--drone.is-hot .svc-drone__body { animation-duration: 1.4s; }
.svc-icon--social.is-hot .svc-heart { animation-duration: 1.2s; }
@media (prefers-reduced-motion: reduce) { .svc-icon::before, .svc-icon::after { display: none; } }

/* ==== responsive hardening ========================================= */
html, body { overflow-x: clip; }
.ticker { overflow: clip; max-width: 100vw; }
img, video, svg { max-width: 100%; }
@media (max-width: 63.99em) {
  .gallery-card__tag { font-size: 0.72rem !important; padding: 0.4rem 0.7rem !important; min-height: 2rem; display: inline-flex; align-items: center; }
  .gallery-card__link { display: inline-block; padding-block: 0.4rem; }
  .sreel__platform { font-size: 0.75rem; }
  .section-head__title { text-wrap: balance; }
  .service-card__title { font-size: clamp(2rem, 1rem + 5vw, 3.5rem); max-width: none; }
  .contact__title { font-size: clamp(2.5rem, 1rem + 8vw, 5rem) !important; }
  .starter { flex-wrap: wrap; justify-content: center; }
}
@media (max-width: 47.99em) {
  .sreel { flex-basis: 70vw; }
  .starter__pill { font-size: 0.85rem; }
  .endcap .site-footer { margin-inline: 0.75rem !important; }
  .endcap .site-footer__nav-list { gap: 0.6rem 1.25rem; }
  .site-footer__bottom { grid-template-columns: minmax(0, 1fr) !important; justify-items: center; text-align: center; row-gap: 0.75rem; }
  .site-footer__bottom > * { justify-self: center !important; }
  .js .endcap.is-pinned { height: auto; }
  .js .endcap.is-pinned .endcap__stage { position: relative; height: auto; }
}
@media (min-width: 48em) and (max-width: 79.99em) {
  .logo-wall > .logo-wall__cell { aspect-ratio: 3 / 2; }
}

/* ==== mobile menu: lens reveal, numbered links, service chips ======= */
.menu-overlay {
  --r: 150%; --ox: 100%; --oy: 0%;
  clip-path: circle(var(--r) at var(--ox) var(--oy));
  background: #000; isolation: isolate; overflow-x: clip;
  justify-content: flex-start; gap: var(--space-l);
  padding-top: calc(var(--header-h) + 2.5rem);
}
.menu-overlay__fx {
  position: absolute; inset: -20%; z-index: -2; pointer-events: none;
  background:
    radial-gradient(40% 30% at 85% 10%, rgb(223 30 48 / 0.45), transparent 70%),
    radial-gradient(45% 35% at 10% 90%, rgb(120 10 24 / 0.5), transparent 70%);
  filter: blur(30px); animation: ec-drift 20s ease-in-out infinite;
}
.menu-overlay__mark {
  position: absolute; right: -0.08em; bottom: -0.12em; z-index: -1; pointer-events: none;
  font-size: clamp(5rem, 28vw, 14rem); font-weight: 800; line-height: .8; letter-spacing: -0.06em; white-space: nowrap;
  color: transparent; -webkit-text-stroke: 1px rgb(255 255 255 / 0.08); writing-mode: vertical-rl; transform: rotate(180deg);
}
.menu-overlay__nav { display: grid; gap: var(--space-l); }
.menu-overlay__list { gap: 0.15rem; }
.menu-overlay__item { overflow: clip; padding-block: 0.1em; }
.menu-overlay__link { position: relative; align-items: center; gap: 0.9rem; font-size: clamp(2.1rem, 1rem + 6vw, 4rem); transform-origin: 0 100%; transition: color .3s; }
.menu-overlay__text { position: relative; }
.menu-overlay__text::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0.05em; height: 2px; background: var(--accent, #df1e30); transform: scaleX(0); transform-origin: left; transition: transform .5s cubic-bezier(.16,1,.3,1); }
.menu-overlay__link:hover .menu-overlay__text::after, .menu-overlay__link:focus-visible .menu-overlay__text::after, .menu-overlay__link.is-active .menu-overlay__text::after { transform: scaleX(1); }
.menu-overlay__link.is-active { color: #fff; }
.menu-overlay__meta { margin-top: auto; align-items: center; padding-top: var(--space-m); border-top: 1px solid rgb(255 255 255 / 0.1); }
.menu-overlay__mail { font-weight: 600; text-decoration: none; color: #fff; }
.menu-overlay__social { display: flex; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.menu-overlay__social .social-icon { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; border: 1px solid rgb(255 255 255 / 0.14); color: #fff; }
@media (prefers-reduced-motion: reduce) { .menu-overlay { clip-path: none; } .menu-overlay__fx { animation: none; } }

/* ==== mobile polish (<= 767px) ===================================== */
.m-cta { display: none; }
@media (max-width: 47.99em) {
  /* Header: simple solid bar, no floating pill / shrink / blur-hide */
  .site-header,
  .site-header.is-scrolled { height: 4rem !important; transform: none !important; opacity: 1 !important; filter: none !important; background: rgb(0 0 0 / 0.72); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid rgb(255 255 255 / 0.06); }
  .site-header.is-hidden { transform: translateY(-100%) !important; }
  .site-header__inner,
  .site-header.is-scrolled .site-header__inner { width: 100% !important; max-width: none !important; height: 100%; padding-inline: var(--margin) !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  .site-header__inner,
  .site-header.is-scrolled .site-header__inner { margin: 0 !important; height: 100% !important; }
  .site-header.is-scrolled .site-header__inner::after { content: none !important; }
  .site-header .logo, .site-header.is-scrolled .logo { font-size: 1rem; }
  .site-header.is-scrolled .logo__the { max-width: none; opacity: 1; }
  .site-header__cta { display: none !important; }

  /* Sticky Talk to us */
  .m-cta {
    position: fixed; left: var(--margin); right: var(--margin); bottom: calc(0.75rem + env(safe-area-inset-bottom)); z-index: 60;
    display: flex; align-items: center; justify-content: center; gap: 0.6rem; min-height: 3.25rem; border-radius: 999px;
    background: #df1e30; color: #fff; font-weight: 700; font-size: 1rem; text-decoration: none;
    box-shadow: 0 0 0 1px rgb(255 255 255 / 0.14) inset, 0 0.75rem 2rem rgb(223 30 48 / 0.45), 0 0.5rem 1.5rem rgb(0 0 0 / 0.5);
    transform: translateY(160%); transition: transform 0.6s var(--ease-expo);
  }
  .m-cta svg { width: 1.1rem; height: 1.1rem; }
  .m-cta.is-visible { transform: none; }
  .m-cta:active { transform: scale(0.98); }
  .is-menu-open .m-cta { transform: translateY(160%); }
  .endcap .site-footer { padding-bottom: calc(5rem + env(safe-area-inset-bottom)); }

  /* Services: flat stacked cards, icon on top, compact */
  .service-card { position: static !important; top: auto; }
  .service-card__inner { min-height: 0 !important; padding: 1.5rem 1.25rem !important; gap: 1.25rem !important; grid-template-columns: minmax(0, 1fr) !important; }
  .service-card__media,
  .service-card__media--icon { order: -1; min-height: 0 !important; width: 4.5rem; height: 4.5rem; aspect-ratio: 1; border-radius: 1rem; }
  .service-card__media svg { width: 100%; height: 100%; }
  .service-card__title { font-size: clamp(1.6rem, 1rem + 4vw, 2.25rem) !important; }
  .service-card__desc { margin-top: 0.5rem; font-size: 1rem; }
  .service-card__tags { margin-top: 0.25rem; gap: 0.4rem; }
  .service-card__tags li { font-size: 0.75rem; padding: 0.3rem 0.65rem; white-space: normal; }
  .services__stack { gap: 1rem !important; }

  /* Clients: show 6 on mobile, 2 columns */
  .logo-wall { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .logo-wall > .logo-wall__cell { grid-column: auto !important; }
  .logo-wall > .logo-wall__cell:nth-child(n+7) { display: none !important; }

  /* General */
  .section-head { margin-bottom: var(--space-l); }
  .section-cta { margin-top: var(--space-l); }
}

/* ==== mobile: rail menu + service icon fix ========================== */
.menu-overlay__actions { display: none; }
@media (max-width: 63.99em) {
  .site-header .lang-menu { display: none !important; }
  .menu-overlay {
    inset: 0 0 0 auto !important; width: min(86vw, 24rem) !important; height: 100dvh;
    padding: calc(4rem + 1.5rem) 0 calc(1.25rem + env(safe-area-inset-bottom)) !important;
    display: flex; flex-direction: column; gap: 1.5rem; overflow-y: auto;
    background: rgb(8 8 9 / 0.86) !important; -webkit-backdrop-filter: blur(24px) saturate(1.3); backdrop-filter: blur(24px) saturate(1.3);
    border-left: 1px solid rgb(255 255 255 / 0.1); box-shadow: -2rem 0 4rem rgb(0 0 0 / 0.6);
  }
  .menu-overlay .container { padding-inline: 1.5rem !important; max-width: none; }
  .menu-overlay__mark { display: none; }
  .menu-overlay__fx { position: fixed; inset: 0 0 0 auto; width: min(86vw, 24rem); filter: blur(20px); }
  .menu-overlay__nav { gap: 1.25rem; }
  .menu-overlay__list { gap: 0; }
  .menu-overlay__item { padding: 0; border-bottom: 1px solid rgb(255 255 255 / 0.07); }
  .menu-overlay__link { font-size: 1.5rem !important; padding-block: 0.7rem; letter-spacing: -0.02em; }
  .menu-overlay__item:last-child { display: none; }
  .menu-overlay__actions { display: flex; align-items: center; gap: 0.75rem; margin-top: auto; }
  .menu-overlay__cta { flex: 1; justify-content: center; min-height: 3.25rem; background: #df1e30 !important; color: #fff !important; border-color: transparent !important; }
  .menu-overlay__lang {
    display: inline-flex; align-items: center; gap: 0.45rem; min-height: 3.25rem; padding-inline: 1rem; border-radius: 999px;
    border: 1px solid rgb(255 255 255 / 0.16); background: rgb(255 255 255 / 0.04); color: #fff; font-size: 0.8rem; font-weight: 700; text-decoration: none;
  }
  .menu-overlay__meta { margin-top: 0 !important; flex-wrap: nowrap; justify-content: space-between; gap: 0.75rem; }
  .menu-overlay__mail { font-size: 0.85rem; }
}
@media (max-width: 47.99em) {
  .service-card__media,
  .service-card__media--icon { width: 100% !important; height: auto !important; aspect-ratio: 16 / 10 !important; border-radius: 1rem; overflow: visible; }
  .service-card__media--icon { overflow: hidden; }
  .service-card__media .svc-icon { --s: min(11rem, 52vw); }
  .service-card__media svg { width: 100%; height: 100%; }
}

/* ==== touch devices: native feel ==================================== */
html { -webkit-tap-highlight-color: transparent; }
@media (hover: none) {
  /* no sticky hover states after a tap; give press feedback instead */
  .gallery-card__inner:hover, .service-card__inner:hover, .logo-wall__cell:hover, .glass-card:hover { transform: none; }
  .btn:active, .m-cta:active, .social-icon:active, .starter__pill:active { transform: scale(0.97); transition-duration: .12s; }
  .gallery-card__inner:active, .logo-wall__cell:active { transform: scale(0.985); transition: transform .15s; }
  [data-magnetic] { transform: none !important; }
}
@media (max-width: 47.99em) {
  /* keep text inside the screen */
  h1, h2, h3, .hero__title { overflow-wrap: anywhere; hyphens: auto; }
  /* comfortable tap targets */
  .site-footer__nav-link, .site-footer__legal a, .link-arrow { display: inline-flex; align-items: center; min-height: 44px; }
  .menu-toggle { min-width: 44px; min-height: 44px; }
}

/* ==== mobile v3: type scale, header logo, chips, menu, works swipe ==== */
@media (max-width: 47.99em) {
  :root {
    --fs-display: clamp(2.1rem, 9.5vw, 3rem);
    --fs-h1: clamp(1.75rem, 7.5vw, 2.4rem);
    --fs-h2: clamp(1.45rem, 6vw, 1.9rem);
    --fs-h3: clamp(1.15rem, 4.6vw, 1.4rem);
  }
  .site-header .logo, .site-header.is-scrolled .logo { font-size: 0.85rem !important; gap: 0.4rem; }
  .site-header .logo .rec-dot { width: 0.5rem; height: 0.5rem; }
  .service-card__title { font-size: var(--fs-h2) !important; }

  /* Service chips: one compact row, swipe if they overflow */
  .service-card__tags {
    flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    margin-inline: -1.25rem; padding-inline: 1.25rem; scroll-padding-inline: 1.25rem;
    mask-image: linear-gradient(90deg, transparent, #000 1.25rem, #000 calc(100% - 1.25rem), transparent);
  }
  .service-card__tags::-webkit-scrollbar { display: none; }
  .service-card__tags li { flex: none; white-space: nowrap !important; font-size: 0.72rem !important; padding: 0.3rem 0.7rem !important; }

  /* Case studies: native swipe row */
  .works__rail { overflow-x: auto !important; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-inline: var(--margin); scroll-padding-inline: var(--margin); }
  .works__rail::-webkit-scrollbar { display: none; }
  .works__track { gap: 0.875rem !important; }
  .works .gallery-card { flex: 0 0 82vw !important; width: 82vw !important; scroll-snap-align: start; }
  .works__playhead { display: none !important; }
}

/* Mobile/tablet menu: clean right-side rail */
@media (max-width: 63.99em) {
  .menu-overlay { clip-path: none !important; }
  .menu-overlay:not([hidden]) { display: flex !important; }
  .menu-overlay__fx { display: none !important; }
  .menu-overlay { gap: 1.25rem !important; padding-top: calc(4rem + 1rem) !important; }
  .menu-overlay__nav { gap: 1.5rem !important; }
  .menu-overlay__link { font-size: 1.35rem !important; font-weight: 700; gap: 0.75rem !important; padding-block: 0.85rem !important; justify-content: flex-start; }
  .menu-overlay__link::after { content: "→"; margin-left: auto; font-size: 0.9rem; opacity: 0.35; transition: transform .3s, opacity .3s; }
  .menu-overlay__link:active::after, .menu-overlay__link.is-active::after { opacity: 1; color: #df1e30; transform: translateX(3px); }
  .menu-overlay__text::after { display: none; }
  .menu-overlay__meta { border-top: 1px solid rgb(255 255 255 / 0.08); padding-top: 1rem !important; }
}

@media (max-width: 63.99em) {
  .menu-scrim { display: block; position: fixed; inset: 0; z-index: 54; border: 0; padding: 0; background: rgb(0 0 0 / 0.55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; pointer-events: none; transition: opacity .4s ease; cursor: pointer; }
  html.is-menu-open .menu-scrim { opacity: 1; pointer-events: auto; }
  .menu-overlay { z-index: 55; }
}
.menu-scrim { display: none; }
@media (max-width: 63.99em) and (max-height: 640px) {
  .menu-overlay { gap: 0.75rem !important; padding-top: calc(4rem + 0.25rem) !important; }
  .menu-overlay__nav { gap: 0.9rem !important; }
  .menu-overlay__link { padding-block: 0.5rem !important; font-size: 1.15rem !important; }
  .menu-overlay__actions .menu-overlay__cta, .menu-overlay__lang { min-height: 2.75rem; }
}

/* Mobile/tablet menu: full-screen solid black */
@media (max-width: 63.99em) {
  .menu-overlay {
    inset: 0 !important; width: 100% !important; max-width: none !important; height: 100dvh !important;
    background: #000 !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    border-left: 0 !important; box-shadow: none !important;
  }
  .menu-overlay .container { padding-inline: var(--margin) !important; }
  .menu-scrim { display: none !important; }
}

/* ==== mobile menu v4: full-screen black + Services sub-rail ======== */
@media (max-width: 63.99em) {
  .menu-overlay {
    inset: 0 !important; width: 100% !important; height: 100dvh;
    background: #000 !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    border-left: 0 !important; box-shadow: none !important;
  }
  .menu-scrim { display: none !important; }
  .menu-overlay__toggle { width: 100%; background: none; border: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; }
  .menu-overlay__toggle::after { content: none !important; }
  .menu-overlay__plus { position: relative; margin-left: auto; width: 0.85rem; height: 0.85rem; flex: none; }
  .menu-overlay__plus::before, .menu-overlay__plus::after { content: ""; position: absolute; inset: 50% 0 auto; height: 1.5px; background: currentColor; transition: transform .4s cubic-bezier(.22,1,.36,1); }
  .menu-overlay__plus::after { transform: rotate(90deg); }
  .menu-overlay__toggle[aria-expanded="true"] { color: #df1e30; }
  .menu-overlay__toggle[aria-expanded="true"] .menu-overlay__plus::after { transform: rotate(0deg); }
  .menu-sub { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s cubic-bezier(.22,1,.36,1); }
  .menu-sub.is-open { grid-template-rows: 1fr; }
  .menu-sub__rail {
    min-height: 0; overflow: hidden; margin: 0 0 0 0.45rem; padding: 0 0 0 1.1rem; list-style: none;
    border-left: 1px solid rgb(255 255 255 / 0.14); display: grid; gap: 0;
  }
  .menu-sub.is-open .menu-sub__rail { padding-block: 0.25rem 0.9rem; }
  .menu-sub__link {
    position: relative; display: flex; align-items: center; min-height: 44px; font-size: 1rem; font-weight: 600; color: rgb(255 255 255 / 0.72); text-decoration: none;
    opacity: 0; transform: translateX(-0.5rem); transition: opacity .35s, transform .45s cubic-bezier(.22,1,.36,1), color .2s;
  }
  .menu-sub__link::before { content: ""; position: absolute; left: -1.1rem; top: 50%; width: 0.55rem; height: 1px; background: rgb(255 255 255 / 0.25); transition: background .2s, width .3s; }
  .menu-sub__link:active, .menu-sub__link:hover { color: #fff; }
  .menu-sub__link:active::before, .menu-sub__link:hover::before { background: #df1e30; width: 0.8rem; }
  .menu-sub.is-open .menu-sub__link { opacity: 1; transform: none; }
  .menu-sub.is-open li:nth-child(2) .menu-sub__link { transition-delay: .03s; }
  .menu-sub.is-open li:nth-child(3) .menu-sub__link { transition-delay: .06s; }
  .menu-sub.is-open li:nth-child(4) .menu-sub__link { transition-delay: .09s; }
  .menu-sub.is-open li:nth-child(5) .menu-sub__link { transition-delay: .12s; }
  .menu-sub.is-open li:nth-child(6) .menu-sub__link { transition-delay: .15s; }
  .menu-sub.is-open li:nth-child(7) .menu-sub__link { transition-delay: .18s; }
  .menu-sub.is-open li:nth-child(8) .menu-sub__link { transition-delay: .21s; }
}
@media (min-width: 64em) { .menu-sub { display: none; } }

@media (max-width: 63.99em) {
  html.is-menu-open .site-header { z-index: 70 !important; background: #000 !important; border-bottom-color: transparent !important; transform: none !important; }
  html.is-menu-open .site-header__inner { position: relative; z-index: calc(var(--z-menu) + 1) !important; background: transparent !important; box-shadow: none !important; border-color: transparent !important; }
  .menu-overlay { padding-top: calc(4.5rem + 1.25rem) !important; }
  html.is-menu-open .m-cta { transform: translateY(160%) !important; }
}

/* ==== mobile menu v5: morphing toggle + drill-down Services panel === */
@media (max-width: 63.99em) {
  /* Toggle: two bars → X in place (same button, header stays put) */
  .menu-toggle__icon { width: 1.6rem; height: 0.7rem; }
  .menu-toggle__icon::before, .menu-toggle__icon::after { height: 1.5px; border-radius: 2px; transform-origin: center;
    transition: top .3s cubic-bezier(.22,1,.36,1) .3s, bottom .3s cubic-bezier(.22,1,.36,1) .3s, transform .3s cubic-bezier(.22,1,.36,1), width .3s, background .3s; }
  .menu-toggle__icon::after { width: 65%; left: auto; right: 0; }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon::before,
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon::after {
    transition: top .3s cubic-bezier(.22,1,.36,1), bottom .3s cubic-bezier(.22,1,.36,1), transform .35s cubic-bezier(.34,1.56,.64,1) .3s, width .3s, background .3s; }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon::before { top: calc(50% - 0.75px); transform: rotate(45deg) !important; background: #df1e30; }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon::after { bottom: calc(50% - 0.75px); width: 100%; transform: rotate(-45deg) !important; background: #df1e30; }
  html.is-menu-open .site-header { height: 4rem !important; }
  html.is-menu-open .site-header .menu-toggle { position: relative; z-index: 2; }

  /* Services: inner panel slides in over the list */
  .menu-overlay { overflow-x: hidden; }
  .menu-overlay__nav { transition: transform .5s cubic-bezier(.22,1,.36,1), opacity .35s; }
  .menu-overlay.is-sub-open .menu-overlay__nav > .menu-overlay__list > li:not(.menu-overlay__item--sub),
  .menu-overlay.is-sub-open .menu-overlay__toggle { opacity: 0; transform: translateX(-2.5rem); pointer-events: none; transition: transform .5s cubic-bezier(.22,1,.36,1), opacity .3s; }
  .menu-overlay__item, .menu-overlay__toggle { transition: transform .5s cubic-bezier(.22,1,.36,1), opacity .35s; }
  .menu-overlay__item--sub { border-bottom: 1px solid rgb(255 255 255 / 0.07); }
  .menu-overlay.is-sub-open .menu-overlay__item--sub { border-color: transparent; }
  .menu-overlay__plus { width: auto !important; height: auto !important; font-size: 0.9rem; opacity: .5; }
  .menu-overlay__plus::before, .menu-overlay__plus::after { content: none !important; }
  .menu-overlay__toggle[aria-expanded="true"] { color: inherit; }

  .menu-sub {
    position: absolute; inset: 0; z-index: 3; display: flex !important; flex-direction: column; gap: 0.25rem;
    padding: calc(4.5rem + 1.25rem) 1.5rem calc(1.5rem + env(safe-area-inset-bottom));
    background: #000; transform: translateX(100%); visibility: hidden; overflow-y: auto;
    transition: transform .55s cubic-bezier(.22,1,.36,1), visibility 0s linear .55s;
    grid-template-rows: none !important;
  }
  .menu-sub.is-open { transform: none; visibility: visible; transition: transform .55s cubic-bezier(.22,1,.36,1); }
  .menu-sub__back {
    align-self: flex-start; display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; padding: 0 1rem 0 0.75rem; margin-bottom: 0.75rem;
    border: 1px solid rgb(255 255 255 / 0.14); border-radius: 999px; background: rgb(255 255 255 / 0.04); color: #fff; font: inherit; font-size: 0.85rem; font-weight: 600; cursor: pointer;
  }
  .menu-sub__title { margin: 0 0 0.5rem; font-size: 0.7rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #df1e30; }
  .menu-sub__rail { margin: 0 !important; padding: 0 !important; border-left: 0 !important; overflow: visible !important; }
  .menu-sub.is-open .menu-sub__rail { padding: 0 !important; }
  .menu-sub__rail li { border-bottom: 1px solid rgb(255 255 255 / 0.07); }
  .menu-sub__link { min-height: 3.25rem !important; font-size: 1.2rem !important; font-weight: 700 !important; color: #fff !important; transform: translateX(1.5rem) !important; }
  .menu-sub__link::before { content: none !important; }
  .menu-sub__link::after { content: "→";margin-left:auto;font-size:.9rem;opacity:.35;transition:opacity .2s,transform .3s,color .2s}.menu-sub__link:active::after,.menu-sub__link:hover::after{opacity:1;color:#df1e30;transform:translateX(3px)}.menu-sub.is-open .menu-sub__link{transform:none!important}}@media (max-width: 47.99em){.hero{min-height:100svh;padding-top:0!important;padding-bottom:0!important}.hero__inner{min-height:100svh;display:flex!important;flex-direction:column;justify-content:center;gap:1.75rem;padding-top:4rem!important;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))!important}.hero__bottom,.hero__intro,.hero__ctas{width:100%!important;max-width:none!important}.hero__eyebrow{margin:0!important}.hero__title{font-size:min(2.75rem,calc((100vw - 2 * var(--margin)) / 10.8))!important;line-height:1!important;letter-spacing:-0.035em;margin:0!important;max-width:100%}.hero__title .hero__line{overflow:visible;padding-block:.04em}.hero__title .hero__line-inner{white-space:normal}.hero__rotator,.hero__live{max-width:100%}.hero__eyebrow{display:flex!important;flex-direction:column;align-items:center;gap:.35rem;text-align:center}.hero__eyebrow-sep{display:none}.hero__eyebrow-city{order:-1;text-decoration:none;color:#df1e30;letter-spacing:.2em}.hero__bottom{margin-top:.5rem!important;display:block!important}.hero__intro{display:block!important}.hero__lead{display:none!important}.hero__ctas{display:grid!important;grid-template-columns:minmax(0,1fr);gap:.6rem;width:100%}.hero__ctas .btn{width:100%;justify-content:center;min-height:3.25rem}.hero__ctas .btn .btn__label{flex:0 0 auto}.menu-overlay__link{font-weight:700!important}.menu-sub__link{font-weight:400!important;font-size:1.1rem!important;letter-spacing:-0.01em}.menu-sub__link:hover,.menu-sub__link:active{font-weight:500!important}.menu-sub__rail li:first-child .menu-sub__link{font-weight:600!important}}.services__dots{display:none}@media (max-width: 47.99em){.services__stack{display:flex!important;gap:.75rem!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-inline:calc(var(--margin) * -1);padding:.25rem var(--margin) .5rem!important;scroll-padding-inline:var(--margin)}.services__stack .service-card__media,.services__stack .service-card__media--icon{aspect-ratio:16 / 8!important}.services__stack::-webkit-scrollbar{display:none}.services__stack>.service-card{flex:0 0 84%;scroll-snap-align:start;display:flex}.services__stack .service-card__inner{flex:1;transform:none!important;height:100%}.service-card__tags{flex-wrap:wrap!important;overflow:visible!important;margin-inline:0!important;padding-inline:0!important;mask-image:none!important;-webkit-mask-image:none!important}.service-card__tags li{white-space:nowrap!important}.services__dots{display:flex;justify-content:center;gap:.4rem;margin-top:1rem}.services__dots span{width:.4rem;height:.4rem;border-radius:999px;background:rgb(255 255 255 / .25);transition:width .35s cubic-bezier(.22,1,.36,1),background .35s}.services__dots span.is-active{width:1.4rem;background:#df1e30}}@media (max-width: 47.99em){.services__stack .service-card__tags{display:none!important}}@media (max-width: 47.99em){.services__stack .service-card__tags{display:none!important}.services__stack .service-card__inner{padding:1.25rem!important;gap:.9rem!important}.services__stack .service-card__media,.services__stack .service-card__media--icon{aspect-ratio:auto!important;width:3.75rem!important;height:3.75rem!important;border-radius:.9rem}.services__stack .service-card__media .svc-icon{--s:3.75rem}.services__stack .service-card__title{font-size:1.35rem!important;max-width:none}.services__stack .service-card__desc{margin-top:.4rem;font-size:.92rem;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.services__stack .link-arrow,.services__stack .service-card__link{margin-top:.25rem}}.hero__rotator.is-tappable{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}.gallery-card__media{background:radial-gradient(120% 80% at 30% 20%,rgb(255 255 255 / .06),transparent 60%),linear-gradient(135deg,#141416,#0a0a0b)}.blur-up{opacity:0;filter:blur(14px);transition:opacity .7s ease,filter .9s cubic-bezier(.22,1,.36,1)}.blur-up.is-loaded{opacity:1;filter:none}.clogo--text{display:grid;place-items:center;container-type:inline-size}.clogo__word{display:grid;justify-items:center;gap:.15em;width:100%;max-width:100%;overflow-wrap:anywhere;text-align:center;font-weight:800;font-size:7.5cqi;line-height:1;letter-spacing:-0.02em;text-transform:uppercase;color:rgb(255 255 255 / .75);transition:color .5s ease,filter .6s ease}.clogo__word b{font-weight:800;font-size:1.9em;letter-spacing:-0.05em;transition:color .5s ease}.clogo__word span{font-family:var(--font-mono);font-weight:600;font-size:.62em;letter-spacing:.24em}.logo-wall__cell:hover .clogo__word,.logo-wall__cell:focus-within .clogo__word{color:#fff}.logo-wall__cell:hover .clogo__word b,.logo-wall__cell:focus-within .clogo__word b{color:var(--color-primary,#df1e30)}@media (hover: none){.clogo__word{color:#fff}.clogo__word b{color:var(--color-primary,#df1e30)}}@media (max-width: 47.99em){.logo-wall .clogo--text{height:auto}}.clogo img.blur-up{filter:none}.clogo img.blur-up.is-loaded{opacity:revert-layer}@media (prefers-reduced-motion: reduce){.blur-up{filter:none;transition:opacity .3s}}@media (max-width: 47.99em){.services__stack.is-peek>*,.works__rail.is-peek .works__track{animation:rowPeek 1.2s cubic-bezier(.45,0,.2,1) both}}@keyframes rowPeek{0%,100%{transform:translateX(0)}40%{transform:translateX(-3.25rem)}70%{transform:translateX(.4rem)}}@media (max-width: 47.99em){.section-head__lead,.contact__lead,.about__body>p:not(:first-of-type),.about p + p{display:none!important}.logo-wall{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.6rem!important;width:auto!important;animation:none!important}.logo-wall>.logo-wall__cell{display:flex!important;grid-column:auto!important;aspect-ratio:16 / 9;min-height:0!important;height:auto!important;padding:.9rem 1.1rem!important;align-items:center;justify-content:center}.logo-wall>.logo-wall__cell:nth-child(n+7){display:flex!important}.logo-wall .clogo{position:relative;width:78%;height:2.4rem}.logo-wall .clogo img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain;object-position:center}.contact__cta{min-height:0!important;text-align:center}.contact__cta .container{display:flex;flex-direction:column;align-items:center;gap:1rem}.contact .eyebrow{margin:0!important}.contact__title{font-size:clamp(2.4rem,13vw,3.4rem)!important;line-height:.95!important;margin:0!important}.starter__q{margin:.75rem 0 0!important;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:rgb(255 255 255 / .55)}.starter{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:0fr;align-items:stretch;gap:.5rem!important;width:100%;margin:0!important;padding:0;overflow:hidden;max-height:0;opacity:0;transition:max-height .5s cubic-bezier(.22,1,.36,1),opacity .35s,margin .4s}.contact.is-starter-open .starter{max-height:12rem;opacity:1;margin-top:.25rem!important}.starter__q{display:none!important}.starter>li{display:flex}.starter__pill{width:100%;height:100%;justify-content:center!important;min-height:3rem;padding:.6rem .75rem!important;font-size:.82rem!important;text-align:center;transform:none!important}.starter__label{white-space:normal!important;line-height:1.2}.starter__arrow{display:none!important}.site-footer__compact{display:flex!important;flex-direction:column;align-items:center;gap:1.1rem!important;padding:1.75rem 0 1.25rem!important;border-top:1px solid rgb(255 255 255 / .08)}.site-footer__compact>*{grid-column:auto!important;justify-self:auto!important}.site-footer__nav-list{display:flex!important;flex-wrap:wrap;justify-content:center;gap:.25rem 1.25rem!important}.site-footer__nav-link{min-height:40px;font-size:.95rem}.site-footer__icons{display:flex!important;gap:.6rem;justify-content:center}.site-footer__bottom{display:flex!important;flex-direction:column;align-items:center;gap:.5rem!important;text-align:center;padding-top:1rem!important;border-top:1px solid rgb(255 255 255 / .08)}.site-footer__bottom>*{margin:0!important}.site-footer__copy,.site-footer__legal,.site-footer__legal a{font-size:.78rem}}.starter__toggle{display:none}@media (max-width: 47.99em){.starter__toggle{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:3.25rem;margin-top:.75rem;border:0;border-radius:999px;background:#df1e30;color:#fff;font:inherit;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 .75rem 2rem rgb(223 30 48 / .4)}.starter__toggle-icon{display:inline-block;transition:transform .4s cubic-bezier(.22,1,.36,1)}.contact.is-starter-open .starter__toggle{background:rgb(255 255 255 / .06);box-shadow:inset 0 0 0 1px rgb(255 255 255 / .16)}.contact.is-starter-open .starter__toggle-icon{transform:rotate(45deg)}.endcap .contact__cta{padding-block:calc(4rem + .75rem) 1rem!important}.endcap .contact__title{font-size:clamp(2.2rem,11.5vw,3rem)!important}.endcap .site-footer{margin:0 .75rem max(.75rem,env(safe-area-inset-bottom))!important;border-radius:1.25rem}.endcap .site-footer>.container{padding-inline:1rem!important}.endcap .site-footer__compact{gap:.8rem!important;padding:1rem 0 .75rem!important}.endcap .site-footer__compact .logo{display:none}.endcap .site-footer__nav-list{gap:0 1rem!important}.endcap .site-footer__nav-link{min-height:36px;font-size:.88rem}.endcap .social-icon{width:2.3rem;height:2.3rem}.endcap .site-footer__bottom{padding-block:.6rem!important;gap:.3rem!important}html.is-at-end .site-header{transform:translateY(-110%)!important;transition:transform .45s cubic-bezier(.22,1,.36,1)}}@media (max-width: 47.99em){.sreel{flex:0 0 44vw!important}.sreel__card{aspect-ratio:3 / 4!important;height:auto!important;border-radius:1rem}.sreel__platform{top:.6rem;left:.6rem;padding:.2rem .5rem;font-size:.65rem}.sreel__play{width:2.6rem!important;height:2.6rem!important}.sreel__meta{inset:auto .75rem .75rem}.sreel__client{font-size:.92rem}.sreel__tag{font-size:.7rem}.sreel.is-playing,.sreel:has(.is-playing){flex-basis:72vw!important}.sreel__card.is-playing{aspect-ratio:9 / 16!important}}@media (max-width: 47.99em){:root{--space-section:clamp(3rem,2.25rem + 4vw,4rem)}.section-head{margin-bottom:1.5rem!important}.section-cta{margin-top:1.5rem!important}.reel-card{aspect-ratio:4 / 5!important}.reels .reel-card{flex-basis:58vw!important;width:58vw!important}.site-footer__compact{display:grid!important;grid-template-columns:minmax(0,1fr);justify-items:center;gap:1rem!important}.site-footer__bottom{position:relative;display:flex!important;flex-direction:column;align-items:center;gap:.35rem!important;padding:1rem 0!important}.back-to-top{position:absolute;right:0;top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:999px;border:1px solid rgb(255 255 255 / .18);background:rgb(255 255 255 / .05);font-size:0!important;color:#fff;text-decoration:none}.back-to-top span{font-size:1.1rem;line-height:1}.back-to-top:active{background:#df1e30;border-color:#df1e30}}@media (min-width: 48em){.site-footer__bottom{display:flex!important;justify-content:space-between;align-items:center;gap:var(--space-m)!important}.site-footer__copy{margin-right:auto}.site-footer__legal{justify-self:end!important;justify-content:flex-end!important;margin-left:auto}}@media (max-width: 47.99em){.services__stack .service-card__media,.services__stack .service-card__media--icon{order:-1;width:100%!important;height:8.5rem!important;aspect-ratio:auto!important;display:grid!important;place-items:center;overflow:visible!important;padding:0!important;border-radius:1rem;background:radial-gradient(60% 70% at 50% 50%,rgb(223 30 48 / .12),transparent 70%),rgb(255 255 255 / .025);border:1px solid rgb(255 255 255 / .06)}.services__stack .service-card__media .svc-icon{--s:6.5rem;width:var(--s)!important;height:var(--s)!important;margin:0!important;flex:none;transform:none}.services__stack .svc-icon .svc-svg{width:100%!important;height:100%!important}.services__stack .svc-icon__label{display:none}.services__stack .svc-icon::before{inset:-10%}}
:root{--ink:#140e0f;--paper:#f6f2ec}html[data-theme="light"]{color-scheme:light}html[data-theme="light"] :is(.preloader,.reel,.menu-overlay,.menu-scrim,.gallery-card,.sreel,.page-curtain,.m-cta,.btn--primary,.theme-red,.svc-brand__mark,.cursor,.skip-link,.site-header.is-menu-open){--color-white:#fff;--color-black:#000;--color-white-08:rgb(255 255 255 / .08);--color-white-16:rgb(255 255 255 / .16);--color-white-72:rgb(255 255 255 / .72);--color-black-08:rgb(0 0 0 / .08);--color-black-16:rgb(0 0 0 / .16);--color-black-68:rgb(0 0 0 / .68);--bg:#000;--fg:#fff;--fg-muted:rgb(255 255 255 / .72);--line:rgb(255 255 255 / .16);--tint:rgb(255 255 255 / .08);--accent:var(--color-primary-on-dark);--focus:var(--color-primary-on-dark)}html[data-theme="light"] :is(.preloader,.reel,.menu-overlay,.gallery-card,.sreel,.site-header.is-menu-open){color:#fff}html[data-theme="light"] body::after{opacity:.14;mix-blend-mode:multiply;filter:invert(1)}html[data-theme="light"] .liquid-bg__blob,html[data-theme="light"] .liquid-bg__swirl{opacity:.32}html[data-theme="light"] .liquid-bg__swirl--b{opacity:0}html[data-theme="light"] ::selection{background:var(--color-primary);color:#fff}html[data-theme="light"] .btn--primary{--btn-fg:#fff;color:#fff;background-color:var(--color-primary)!important;border-color:var(--color-primary)!important}html[data-theme="light"] .btn--primary:hover{background-color:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important}html[data-theme="light"] .svc-icon [fill="#fff"]{fill:var(--ink)}html[data-theme="light"] .svc-icon [stop-color="#fff"]{stop-color:var(--ink)}html.theme-anim,html.theme-anim *,html.theme-anim *::before,html.theme-anim *::after{transition:background-color .45s ease,color .45s ease,border-color .45s ease,fill .45s ease,stroke .45s ease,box-shadow .45s ease!important}@property --vt-r{syntax:"<length>";inherits:true;initial-value:0px}@keyframes vt-grow{from{--vt-r:0px}to{--vt-r:var(--vt-R,150vmax)}}@keyframes vt-drain{from{--vt-r:var(--vt-R,150vmax)}to{--vt-r:0px}}html.vt-in::view-transition-new(root),html.vt-out::view-transition-old(root){--vt-mask:radial-gradient(circle at var(--vt-x) var(--vt-y),#000 calc(var(--vt-r) * .94 - 9vmax),transparent calc(var(--vt-r) * .94)),radial-gradient(circle at calc(var(--vt-x) - 4vmax) calc(var(--vt-y) + 5vmax),#000 calc(var(--vt-r) * .86 - 11vmax),transparent calc(var(--vt-r) * .86)),radial-gradient(circle at calc(var(--vt-x) + 6vmax) calc(var(--vt-y) + 2vmax),#000 calc(var(--vt-r) * .8 - 8vmax),transparent calc(var(--vt-r) * .8)),radial-gradient(circle at calc(var(--vt-x) - 1vmax) calc(var(--vt-y) + 9vmax),#000 calc(var(--vt-r) * .72 - 7vmax),transparent calc(var(--vt-r) * .72))}html.vt-theme::view-transition-group(root){animation:none}html.vt-theme::view-transition-old(root),html.vt-theme::view-transition-new(root){animation:none;mix-blend-mode:normal}html.vt-in::view-transition-new(root){z-index:2;-webkit-mask-image:var(--vt-mask);mask-image:var(--vt-mask);animation:vt-grow 1.05s cubic-bezier(.65,0,.25,1) both}html.vt-out::view-transition-old(root){z-index:2;-webkit-mask-image:var(--vt-mask);mask-image:var(--vt-mask);animation:vt-drain .95s cubic-bezier(.6,0,.3,1) both}html.vt-out::view-transition-new(root){z-index:1}.vt-rim{position:fixed;inset:0;z-index:2147483000;pointer-events:none;view-transition-name:vt-rim;background:radial-gradient(circle at var(--vt-x) var(--vt-y),transparent calc(var(--vt-r) * .94 - 9vmax),rgb(223 30 48 / .42) calc(var(--vt-r) * .94 - 3vmax),rgb(255 120 130 / .18) calc(var(--vt-r) * .94),transparent calc(var(--vt-r) * .94 + 4vmax));filter:blur(18px)}html.vt-in .vt-rim{animation:vt-grow 1.05s cubic-bezier(.65,0,.25,1) both}html.vt-out .vt-rim{animation:vt-drain .95s cubic-bezier(.6,0,.3,1) both}html.vt-theme::view-transition-group(vt-rim){z-index:3;animation:none}html.vt-theme::view-transition-new(vt-rim),html.vt-theme::view-transition-old(vt-rim){animation:none}.theme-toggle{position:relative;display:inline-grid;place-items:center;flex:none;width:2.75rem;height:2.75rem;border-radius:50%;color:inherit;transition:background-color .3s ease,transform .5s var(--ease-expo)}.theme-toggle::before{content:"";position:absolute;inset:.2rem;border-radius:inherit;background:currentColor;opacity:0;transform:scale(.6);transition:opacity .3s ease,transform .5s var(--ease-expo)}.theme-toggle:hover::before{opacity:.08;transform:scale(1)}.theme-toggle:active{transform:scale(.9)}.theme-toggle:focus-visible{outline:2px solid var(--focus,var(--color-primary));outline-offset:2px}.theme-toggle__svg{position:relative;width:1.25rem;height:1.25rem;overflow:visible}.theme-toggle__core{transform-origin:12px 12px;transform:scale(1.18);transition:transform .7s var(--ease-expo)}.theme-toggle__cut{transition:transform .7s var(--ease-expo)}.theme-toggle__rays{transform-origin:12px 12px;transform:rotate(-90deg) scale(.4);opacity:0;transition:transform .7s var(--ease-expo),opacity .35s ease}.theme-toggle:hover .theme-toggle__core{transform:scale(1.18) rotate(-14deg)}.theme-toggle[aria-pressed="true"] .theme-toggle__core{transform:scale(.78)}.theme-toggle[aria-pressed="true"] .theme-toggle__cut{transform:translate(9px,-9px)}.theme-toggle[aria-pressed="true"] .theme-toggle__rays{transform:rotate(0) scale(1);opacity:1}.theme-toggle[aria-pressed="true"]:hover .theme-toggle__rays{transform:rotate(45deg) scale(1.05)}.menu-overlay__actions .theme-toggle{border:1px solid rgb(255 255 255 / .2);width:3rem;height:3rem}@media (max-width: 47.99em){.site-header__actions>.theme-toggle{display:none}}@media (prefers-reduced-motion: reduce){.theme-toggle *,.theme-toggle::before{transition:none!important}}html[data-theme="light"]{--color-white:var(--ink);--color-black:var(--paper);--color-white-08:rgb(20 14 15 / .08);--color-white-16:rgb(20 14 15 / .16);--color-white-72:rgb(20 14 15 / .72);--color-black-08:rgb(246 242 236 / .08);--color-black-16:rgb(246 242 236 / .16);--color-black-68:rgb(246 242 236 / .68)}html[data-theme="light"]{background:var(--paper);color:var(--ink)}html[data-theme="light"] body:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)){color:var(--ink)}html[data-theme="light"]{scrollbar-color:var(--color-primary) var(--paper)}html[data-theme="light"] :where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::-webkit-scrollbar-track,html[data-theme="light"]::-webkit-scrollbar-track{background:var(--paper)}html[data-theme="light"] :where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::-webkit-scrollbar-thumb,html[data-theme="light"]::-webkit-scrollbar-thumb{border:2px solid var(--paper)}html[data-theme="light"] :where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::-webkit-scrollbar-thumb:hover,html[data-theme="light"]::-webkit-scrollbar-thumb:hover{background:var(--color-primary-hover)}html[data-theme="light"] .theme-dark:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].theme-dark{--bg:var(--paper);--fg:var(--ink);--fg-muted:rgb(20 14 15 / .72);--line:rgb(20 14 15 / .16);--tint:rgb(20 14 15 / .08);--accent:var(--color-primary-hover);--focus:var(--color-primary-hover)}html[data-theme="light"] .theme-light:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].theme-light{--bg:var(--ink);--fg:var(--paper)}html[data-theme="light"] :focus-visible:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"]:focus-visible{outline:3px solid var(--focus,var(--color-primary-hover))}html[data-theme="light"] .site-header.is-menu-open:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-header.is-menu-open{background-color:var(--paper)}html[data-theme="light"] .site-header__inner:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-header__inner{border:1px solid rgb(20 14 15 / .16);background:rgb(240 236 230 / .45);box-shadow:inset 0 1px 0 rgb(255 255 255 / .08),0 .75rem 2rem rgb(60 20 24 / .096)}@supports not (backdrop-filter: blur(1px)){html[data-theme="light"] .site-header__inner:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-header__inner{background:rgb(240 236 230 / .94)}}html[data-theme="light"] .site-header.is-scrolled .site-header__inner:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-header.is-scrolled .site-header__inner{background:rgb(240 236 230 / .6)}html[data-theme="light"] .btn:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].btn{--btn-fg:var(--ink)}html[data-theme="light"] .btn--ghost:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].btn--ghost{--btn-fg:var(--ink);--btn-border:rgb(20 14 15 / .4)}html[data-theme="light"] .btn--ghost:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].btn--ghost:hover{--btn-bg:var(--ink);--btn-fg:var(--paper);--btn-border:var(--ink)}html[data-theme="light"] .btn--ghost:active:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].btn--ghost:active{--btn-bg:rgb(20 14 15 / .85);--btn-border:rgb(20 14 15 / .85)}html[data-theme="light"] .site-nav__link:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-nav__link{color:rgb(20 14 15 / .72)}html[data-theme="light"] .site-nav__link.is-active:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-nav__link.is-active{color:var(--ink)}html[data-theme="light"] .panel:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].panel{border:1px solid rgb(20 14 15 / .16);background:rgb(237 233 227)}html[data-theme="light"] .liquid-bg:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].liquid-bg{background:var(--paper)}html[data-theme="light"] .liquid-bg:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::before,html[data-theme="light"].liquid-bg::before{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 30%,#1c0204 50%,#4a0610 72%,#8a0f1c 100%)}html[data-theme="light"] .liquid-bg.is-gl:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::after,html[data-theme="light"].liquid-bg.is-gl::after{background:radial-gradient(ellipse 130% 100% at 50% 50%,transparent 55%,rgb(246 242 236 / .55) 100%)}html[data-theme="light"] .liquid-bg:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::after,html[data-theme="light"].liquid-bg::after{background:radial-gradient(ellipse 120% 90% at 50% 50%,transparent 35%,rgb(246 242 236 / .85) 100%)}html[data-theme="light"] .liquid-bg__swirl--b:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].liquid-bg__swirl--b{background:linear-gradient(90deg,transparent,rgb(246 242 236 / .9) 40%,rgb(246 242 236 / .9) 60%,transparent)}html[data-theme="light"] .lang-menu__link:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].lang-menu__link:hover{background:rgb(20 14 15 / .08);color:var(--ink)}html[data-theme="light"] .lang-menu__link[aria-current="true"]:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].lang-menu__link[aria-current="true"]{color:var(--ink)}html[data-theme="light"] .lang-menu__toggle:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].lang-menu__toggle:hover,html[data-theme="light"] .lang-menu__toggle[aria-expanded="true"]:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].lang-menu__toggle[aria-expanded="true"]{background:rgb(20 14 15 / .08)}html[data-theme="light"] .lang-menu.is-enhanced .lang-menu__list:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].lang-menu.is-enhanced .lang-menu__list{border:1px solid rgb(20 14 15 / .16);background:rgb(240 236 230 / .85);box-shadow:0 1rem 2.5rem rgb(60 20 24 / .16)}html[data-theme="light"] .mega-toggle:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].mega-toggle{color:rgb(20 14 15 / .72)}html[data-theme="light"] .site-nav__item.is-open>.site-nav__link:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-nav__item.is-open>.site-nav__link{color:var(--ink)}html[data-theme="light"] .mega__inner:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].mega__inner{border:1px solid rgb(20 14 15 / .16);background:rgb(246 242 236 / .86);box-shadow:inset 0 1px 0 rgb(255 255 255 / .08),0 2rem 4rem rgb(60 20 24 / .176)}html[data-theme="light"] .mega__intro:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].mega__intro{border-right:1px solid rgb(20 14 15 / .08)}html[data-theme="light"] .mega__grid:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].mega__grid{background:rgb(20 14 15 / .08)}html[data-theme="light"] .mega__link:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].mega__link{background:rgb(246 242 236 / .92)}html[data-theme="light"] .mega__name:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].mega__name{color:var(--ink)}html[data-theme="light"] .site-nav__txt + .site-nav__txt:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-nav__txt + .site-nav__txt{color:var(--ink)}html[data-theme="light"] .site-nav__link:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-nav__link:hover{color:var(--ink)!important}html[data-theme="light"] .site-nav__pill:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-nav__pill{background:rgb(20 14 15 / .08);border:1px solid rgb(20 14 15 / .14)}html[data-theme="light"] .site-nav__link.is-active:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-nav__link.is-active{color:var(--ink)}html[data-theme="light"] .site-header.is-scrolled .site-header__inner:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-header.is-scrolled .site-header__inner{box-shadow:inset 0 1px 0 rgb(255 255 255 / .1),0 .75rem 2.5rem rgb(60 20 24 / .144),0 0 calc(var(--hv,0) * 40px) rgb(223 30 48 / calc(var(--hv,0) * .45))}html[data-theme="light"] .mega__link:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].mega__link:hover,html[data-theme="light"] .mega__link:focus-visible:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].mega__link:focus-visible{background:rgb(20 14 15 / .07)}html[data-theme="light"] .mega__name:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].mega__name{color:var(--ink)}html[data-theme="light"] .mega-toggle:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].mega-toggle{color:rgb(20 14 15 / .72)}html[data-theme="light"] .site-nav__item:hover .mega-toggle:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-nav__item:hover .mega-toggle,html[data-theme="light"] .site-nav__item:focus-within .mega-toggle:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-nav__item:focus-within .mega-toggle{color:var(--ink)}html[data-theme="light"] .site-nav__item:hover>.site-nav__link:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-nav__item:hover>.site-nav__link{color:var(--ink)!important}html[data-theme="light"] .about__copy:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].about__copy{border-top:1px solid rgb(20 14 15 / .14)}html[data-theme="light"] .about__body:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].about__body{color:rgb(20 14 15 / .72)}html[data-theme="light"] .about__tagline:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].about__tagline{color:var(--ink)}html[data-theme="light"] .stat:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::before,html[data-theme="light"].stat::before{background:rgb(20 14 15 / .16)}html[data-theme="light"] .stat:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::after,html[data-theme="light"].stat::after{background:var(--ink)}html[data-theme="light"] .stat__num:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].stat__num{-webkit-text-stroke:1px rgb(20 14 15 / .55);background-image:linear-gradient(var(--ink),var(--ink)) 0 100% / 100% calc(var(--f) * 100%)}html[data-theme="light"] .service-card__inner:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].service-card__inner{border:1px solid rgb(20 14 15 / .16);background:rgb(237 233 227);box-shadow:0 -1.5rem 3rem rgb(60 20 24 / .192)}html[data-theme="light"] .service-card__inner:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::after,html[data-theme="light"].service-card__inner::after{background:var(--paper)}html[data-theme="light"] .works__backdrop-text:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].works__backdrop-text{-webkit-text-stroke:1px rgb(20 14 15 / .16)}html[data-theme="light"] .works__bar:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].works__bar{background:rgb(20 14 15 / .16)}html[data-theme="light"] .logo-wall:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].logo-wall{background:rgb(20 14 15 / .16)}html[data-theme="light"] .logo-wall__cell:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].logo-wall__cell{background:rgb(246 242 236 / .9)}html[data-theme="light"] .glass-card:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].glass-card{border:1px solid rgb(20 14 15 / .16);background:rgb(237 233 227 / .55);box-shadow:inset 0 1px 0 rgb(255 255 255 / .1),0 2rem 4rem rgb(60 20 24 / .128)}@supports not (backdrop-filter: blur(1px)){html[data-theme="light"] .glass-card:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].glass-card{background:rgb(235 231 225)}}html[data-theme="light"] .testimonials .glass-card:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].testimonials .glass-card{box-shadow:inset 0 1px 0 rgb(255 255 255 / .1),0 2rem 4rem rgb(60 20 24 / .144)}html[data-theme="light"] .slider__line:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].slider__line{background:rgb(20 14 15 / .16)}html[data-theme="light"] .slider__line-fill:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].slider__line-fill{background:var(--ink)}html[data-theme="light"] .slider__btn:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].slider__btn{border:1px solid rgb(20 14 15 / .16)}html[data-theme="light"] .slider__btn:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].slider__btn:hover{border-color:var(--ink);color:var(--ink)}html[data-theme="light"] .contact__cta:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].contact__cta{border-block:1px solid rgb(20 14 15 / .08);background:radial-gradient(70% 120% at 100% 100%,#df1e30 0%,rgb(140 14 28 / .9) 22%,rgb(40 4 8 / .8) 48%,transparent 72%),radial-gradient(40% 60% at 85% 0%,rgb(223 30 48 / .25),transparent 70%),linear-gradient(180deg,var(--paper) 0%,#050101 100%)}html[data-theme="light"] .contact__cta:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::before,html[data-theme="light"].contact__cta::before{background:repeating-linear-gradient(90deg,rgb(20 14 15 / .06) 0 1px,transparent 1px 6rem)}html[data-theme="light"] .contact__cta:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::after,html[data-theme="light"].contact__cta::after{border:1px solid rgb(20 14 15 / .14)}html[data-theme="light"] .service-card__media--icon:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].service-card__media--icon{background:radial-gradient(circle at 50% 55%,rgb(223 30 48 / .2),transparent 62%),rgb(240 236 230);border:1px solid rgb(20 14 15 / .08)}html[data-theme="light"] .svc-l:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-l{stroke:rgb(20 14 15 / .72)}html[data-theme="light"] .svc-l--faint:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-l--faint{stroke:rgb(20 14 15 / .16)}html[data-theme="light"] .svc-radar__blip:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-radar__blip{fill:var(--ink)}html[data-theme="light"] .svc-brand__orbit i:nth-child(1):where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-brand__orbit i:nth-child(1){background:var(--ink)}html[data-theme="light"] .svc-brand__orbit i:nth-child(4):where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-brand__orbit i:nth-child(4){border:2px solid var(--ink)}html[data-theme="light"] .svc-iso__layer--code:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-iso__layer--code{background:rgb(237 233 227);border:1px solid rgb(20 14 15 / .16)}html[data-theme="light"] .svc-iso__layer--code i:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-iso__layer--code i{background:rgb(20 14 15 / .3)}html[data-theme="light"] .svc-iso__layer--wire:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-iso__layer--wire{border:1.5px dashed rgb(20 14 15 / .55)}html[data-theme="light"] .svc-iso__layer--wire i:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-iso__layer--wire i{border:1.5px dashed rgb(20 14 15 / .4)}html[data-theme="light"] .svc-iso__layer--ui:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-iso__layer--ui{background:rgb(231 227 221 / .92);border:1.5px solid rgb(20 14 15 / .85)}html[data-theme="light"] .svc-iso__layer--ui i:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-iso__layer--ui i{background:var(--ink)}html[data-theme="light"] .svc-iso__layer--ui i:nth-child(2):where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-iso__layer--ui i:nth-child(2){background:rgb(20 14 15 / .4)}html[data-theme="light"] .svc-phone:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-phone{border:2px solid rgb(20 14 15 / .72)}html[data-theme="light"] .svc-phone:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::before,html[data-theme="light"].svc-phone::before{background:var(--paper)}html[data-theme="light"] .svc-phone__feed i:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::before,html[data-theme="light"].svc-phone__feed i::before{background:rgb(20 14 15 / .14)}html[data-theme="light"] .svc-phone__feed i:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::after,html[data-theme="light"].svc-phone__feed i::after{background:rgb(20 14 15 / .4)}html[data-theme="light"] .svc-heart:nth-of-type(2n):where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-heart:nth-of-type(2n){background:var(--ink)}html[data-theme="light"] .svc-iris__blade:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-iris__blade{fill:rgb(234 230 224);stroke:rgb(20 14 15 / .55)}html[data-theme="light"] .svc-icon__label:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-icon__label{color:var(--ink)}html[data-theme="light"] .ticker .rec-dot:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].ticker .rec-dot{background:var(--paper)}html[data-theme="light"] .btn--ghost:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].btn--ghost:hover{--btn-fg:var(--ink)}html[data-theme="light"] .btn--ghost:hover .btn__icon:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].btn--ghost:hover .btn__icon{color:var(--ink)}html[data-theme="light"] .endcap:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap{background:var(--paper)}html[data-theme="light"] .endcap__stage:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap__stage{background:var(--paper)}html[data-theme="light"] .endcap .contact__cta:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap .contact__cta{background:var(--paper)}html[data-theme="light"] .endcap .site-footer:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap .site-footer{background:var(--paper);border-top:1px solid rgb(20 14 15 / .16)}html[data-theme="light"] .service-card__inner:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].service-card__inner,html[data-theme="light"] .testimonials .glass-card:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].testimonials .glass-card{border:1px solid rgb(20 14 15 / .16);background:rgb(246 242 236 / .86);box-shadow:inset 0 1px 0 rgb(255 255 255 / .08),0 2rem 4rem rgb(60 20 24 / .16)}html[data-theme="light"] .service-card__media--icon:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].service-card__media--icon{background:radial-gradient(circle at 50% 55%,rgb(223 30 48 / .14),transparent 62%),rgb(20 14 15 / .02);border-color:rgb(20 14 15 / .08)}@supports not (backdrop-filter: blur(1px)){html[data-theme="light"] .service-card__inner:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].service-card__inner,html[data-theme="light"] .testimonials .glass-card:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].testimonials .glass-card{background:rgb(243 239 233)}}html[data-theme="light"] .btn:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].btn,html[data-theme="light"] .slider__btn:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].slider__btn,html[data-theme="light"] .back-to-top:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].back-to-top,html[data-theme="light"] .lang-menu__toggle:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].lang-menu__toggle{box-shadow:inset 0 1px 0 rgb(255 255 255 / .14),inset 0 -1px 0 rgb(60 20 24 / .096),0 .5rem 1.5rem rgb(60 20 24 / .08)}html[data-theme="light"] .btn--ghost:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].btn--ghost{--btn-bg:rgb(20 14 15 / .06);--btn-fg:var(--ink);--btn-border:rgb(20 14 15 / .22)}html[data-theme="light"] .btn--ghost:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].btn--ghost:hover,html[data-theme="light"] .btn--ghost:focus-visible:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].btn--ghost:focus-visible{--btn-fg:var(--ink)}html[data-theme="light"] .slider__btn:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].slider__btn,html[data-theme="light"] .back-to-top:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].back-to-top{background:rgb(20 14 15 / .06);border-color:rgb(20 14 15 / .22)}html[data-theme="light"] .lang-menu__toggle:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].lang-menu__toggle{background:rgb(20 14 15 / .06);border:1px solid rgb(20 14 15 / .16)}html[data-theme="light"] .lang-menu__toggle:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].lang-menu__toggle:hover,html[data-theme="light"] .lang-menu__toggle[aria-expanded="true"]:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].lang-menu__toggle[aria-expanded="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}@supports not (backdrop-filter: blur(1px)){html[data-theme="light"] .btn--ghost:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].btn--ghost,html[data-theme="light"] .slider__btn:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].slider__btn,html[data-theme="light"] .back-to-top:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].back-to-top,html[data-theme="light"] .lang-menu__toggle:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].lang-menu__toggle{background:rgb(234 230 224)}}html[data-theme="light"] .starter__pill:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].starter__pill{border:1px solid rgb(20 14 15 / .22);background:rgb(20 14 15 / .05);color:var(--ink)}html[data-theme="light"] .social-icon:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].social-icon{border:1px solid rgb(20 14 15 / .22);background:rgb(20 14 15 / .05);color:var(--ink)}html[data-theme="light"] .logo-wall__cell:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].logo-wall__cell{border:1px solid rgb(20 14 15 / .1)!important;background:linear-gradient(160deg,rgb(20 14 15 / .07),rgb(20 14 15 / .015))!important;box-shadow:inset 0 1px 0 rgb(255 255 255 / .1),0 1rem 2.5rem rgb(60 20 24 / .112)}html[data-theme="light"] .logo-wall__cell:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].logo-wall__cell:hover{border-color:rgb(20 14 15 / .22)!important;box-shadow:inset 0 1px 0 rgb(255 255 255 / .16),0 1.5rem 3rem rgb(60 20 24 / .144)}@supports not (backdrop-filter: blur(1px)){html[data-theme="light"] .logo-wall__cell:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].logo-wall__cell{background:rgb(237 233 227)!important}}html[data-theme="light"] .logo-wall__cell:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::before,html[data-theme="light"].logo-wall__cell::before{background:conic-gradient(from var(--lw-a),transparent 0 55%,rgb(20 14 15 / .9) 70%,#ffd6e0 76%,#b9e6ff 82%,transparent 92%)!important}html[data-theme="light"] .logo-wall__cell:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::after,html[data-theme="light"].logo-wall__cell::after{background:linear-gradient(90deg,transparent,rgb(20 14 15 / .14),transparent)}html[data-theme="light"] .logo-wall__cell:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].logo-wall__cell:hover{background:radial-gradient(120% 90% at 50% 0%,rgb(20 14 15 / .12),rgb(20 14 15 / .02) 70%)!important;box-shadow:inset 0 1px 0 rgb(255 255 255 / .2),0 1.8rem 3.5rem rgb(60 20 24 / .176)}html[data-theme="light"] .endcap__stage:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap__stage{background:var(--paper)!important}html[data-theme="light"] .endcap .site-footer:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap .site-footer{border-top-color:rgb(20 14 15 / .1);background:linear-gradient(rgb(246 242 236 / .25),rgb(246 242 236 / .6))!important}html[data-theme="light"] .endcap__stage:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::before,html[data-theme="light"].endcap__stage::before{background:radial-gradient(28rem 28rem at var(--ex) var(--ey),rgb(20 14 15 / .06),transparent 70%),radial-gradient(40% 35% at 25% 30%,rgb(140 12 28 / .32),transparent 70%),radial-gradient(35% 40% at 78% 65%,rgb(90 8 20 / .35),transparent 70%),radial-gradient(50% 30% at 50% 110%,rgb(223 30 48 / .22),transparent 70%)}html[data-theme="light"] .endcap__stage:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::after,html[data-theme="light"].endcap__stage::after{background-image:linear-gradient(rgb(20 14 15 / .05) 1px,transparent 1px),linear-gradient(90deg,rgb(20 14 15 / .05) 1px,transparent 1px)}html[data-theme="light"] .logo-wall>.logo-wall__cell:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].logo-wall>.logo-wall__cell:hover{background:radial-gradient(18rem circle at var(--gx) var(--gy),rgb(20 14 15 / .16),transparent 60%),linear-gradient(160deg,rgb(20 14 15 / .08),rgb(20 14 15 / .02))!important}html[data-theme="light"] .endcap .site-footer:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap .site-footer{border:1px solid rgb(20 14 15 / .1)!important;background:linear-gradient(180deg,rgb(20 14 15 / .06),rgb(20 14 15 / .015))!important;box-shadow:inset 0 1px 0 rgb(255 255 255 / .1),0 2rem 4rem rgb(60 20 24 / .16)}html[data-theme="light"] .endcap .site-footer:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *))::before,html[data-theme="light"].endcap .site-footer::before{background:linear-gradient(90deg,transparent,rgb(223 30 48 / .95),rgb(20 14 15 / .9),rgb(223 30 48 / .95),transparent) no-repeat}html[data-theme="light"] .endcap .site-footer__compact:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap .site-footer__compact{border-bottom:1px solid rgb(20 14 15 / .08)}html[data-theme="light"] .endcap .site-footer__nav-link:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap .site-footer__nav-link{color:rgb(20 14 15 / .75)}html[data-theme="light"] .endcap .site-footer__nav-link:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap .site-footer__nav-link:hover{color:var(--ink)}html[data-theme="light"] .endcap .social-icon:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap .social-icon{border:1px solid rgb(20 14 15 / .14);background:rgb(20 14 15 / .04);color:var(--ink)}html[data-theme="light"] .endcap .site-footer__bottom a:hover:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap .site-footer__bottom a:hover{color:var(--ink)}html[data-theme="light"] .endcap .back-to-top span:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].endcap .back-to-top span{border:1px solid rgb(20 14 15 / .18)}html[data-theme="light"] .service-card__lead:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].service-card__lead{color:var(--ink)}html[data-theme="light"] .svc-drone__prop path:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-drone__prop path{stroke:var(--ink)}html[data-theme="light"] .svc-beauty__spark:nth-of-type(2n):where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-beauty__spark:nth-of-type(2n){fill:var(--ink)}html[data-theme="light"] .svc-icon.is-hot .svc-l:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].svc-icon.is-hot .svc-l{stroke:rgb(20 14 15 / .95)}@media (max-width: 47.99em){html[data-theme="light"] .site-header:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-header,html[data-theme="light"] .site-header.is-scrolled:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-header.is-scrolled{background:rgb(246 242 236 / .72);border-bottom:1px solid rgb(20 14 15 / .06)}}@media (max-width: 63.99em){html[data-theme="light"].is-menu-open .site-header{background:var(--paper)!important}}@media (max-width: 47.99em){html[data-theme="light"] .services__dots span:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].services__dots span{background:rgb(20 14 15 / .25)}}html[data-theme="light"] .clogo__word:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].clogo__word{color:rgb(20 14 15 / .75)}html[data-theme="light"] .logo-wall__cell:hover .clogo__word:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].logo-wall__cell:hover .clogo__word,html[data-theme="light"] .logo-wall__cell:focus-within .clogo__word:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].logo-wall__cell:focus-within .clogo__word{color:var(--ink)}@media (hover: none){html[data-theme="light"] .clogo__word:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].clogo__word{color:var(--ink)}}@media (max-width: 47.99em){html[data-theme="light"] .starter__q:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].starter__q{color:rgb(20 14 15 / .55)}html[data-theme="light"] .site-footer__compact:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-footer__compact{border-top:1px solid rgb(20 14 15 / .08)}html[data-theme="light"] .site-footer__bottom:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].site-footer__bottom{border-top:1px solid rgb(20 14 15 / .08)}}@media (max-width: 47.99em){html[data-theme="light"] .contact.is-starter-open .starter__toggle:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].contact.is-starter-open .starter__toggle{background:rgb(20 14 15 / .06)}}@media (max-width: 47.99em){html[data-theme="light"] .back-to-top:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].back-to-top{border:1px solid rgb(20 14 15 / .18);background:rgb(20 14 15 / .05);color:var(--ink)}}@media (max-width: 47.99em){html[data-theme="light"] .services__stack .service-card__media:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].services__stack .service-card__media,html[data-theme="light"] .services__stack .service-card__media--icon:where(:not(:is(.menu-overlay,.preloader,.reel,.gallery-card,.sreel,.m-cta,.site-header.is-menu-open) *)),html[data-theme="light"].services__stack .service-card__media--icon{background:radial-gradient(60% 70% at 50% 50%,rgb(223 30 48 / .12),transparent 70%),rgb(20 14 15 / .025);border:1px solid rgb(20 14 15 / .06)}}html[data-theme="light"] .stat__num{-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-stroke-color:rgb(20 14 15 / .55)}html[data-theme="light"] .btn--primary{--btn-fg:#fff;color:#fff;background-color:var(--color-primary)!important;border-color:var(--color-primary)!important;box-shadow:0 .6rem 1.6rem rgb(223 30 48 / .28)}html[data-theme="light"] .btn--primary:hover{background-color:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important}html[data-theme="light"] .btn--ghost{--btn-bg:transparent;--btn-fg:var(--ink);--btn-border:rgb(20 14 15 / .28);box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}html[data-theme="light"] .btn--ghost .btn__icon{color:var(--color-primary)}html[data-theme="light"] .btn--ghost:hover,html[data-theme="light"] .btn--ghost:focus-visible{--btn-bg:var(--color-primary);--btn-fg:#fff;--btn-border:var(--color-primary);color:#fff}html[data-theme="light"] .btn--ghost:hover .btn__icon,html[data-theme="light"] .btn--ghost:focus-visible .btn__icon{color:#fff}html[data-theme="light"] .logo-wall>.logo-wall__cell{background:linear-gradient(160deg,rgb(255 255 255 / .75),rgb(255 255 255 / .4))!important;border:1px solid rgb(20 14 15 / .08)!important;box-shadow:inset 0 1px 0 #fff,0 .8rem 2rem rgb(60 20 24 / .08)}html[data-theme="light"] .logo-wall>.logo-wall__cell:hover,html[data-theme="light"] .logo-wall>.logo-wall__cell:focus-within{background:radial-gradient(18rem circle at var(--gx) var(--gy),rgb(255 255 255 / .12),transparent 60%),linear-gradient(160deg,#2a1f20,#120c0d)!important;border-color:transparent!important;box-shadow:0 1.5rem 3rem rgb(60 20 24 / .22)}html[data-theme="light"] .clogo__mono{filter:brightness(0);opacity:.78}html[data-theme="light"] .logo-wall__cell:hover .clogo__mono{filter:brightness(0) blur(4px);opacity:0}html[data-theme="light"] .logo-wall__cell:hover .clogo__color,html[data-theme="light"] .logo-wall__cell:focus-within .clogo__color{filter:none}html[data-theme="light"] .clogo__word{color:rgb(20 14 15 / .8)}html[data-theme="light"] .clogo__word b{color:var(--color-primary)}html[data-theme="light"] .logo-wall__cell:hover .clogo__word,html[data-theme="light"] .logo-wall__cell:focus-within .clogo__word{color:#fff}@media (hover: none){html[data-theme="light"] .logo-wall>.logo-wall__cell{background:linear-gradient(160deg,#2a1f20,#120c0d)!important;border-color:transparent!important}html[data-theme="light"] .clogo__word{color:#fff}}html[data-theme="light"] .endcap,html[data-theme="light"] .endcap__stage{background:var(--paper)!important}html[data-theme="light"] .endcap__stage::before{opacity:.55}html[data-theme="light"] .endcap .site-footer{background:linear-gradient(180deg,rgb(255 255 255 / .7),rgb(255 255 255 / .4))!important;border-color:rgb(20 14 15 / .08)!important;box-shadow:inset 0 1px 0 #fff,0 2rem 4rem rgb(60 20 24 / .12)}html[data-theme="light"] .endcap .site-footer__nav-link{color:rgb(20 14 15 / .72)}html[data-theme="light"] .endcap .site-footer__nav-link:hover,html[data-theme="light"] .endcap .site-footer__bottom a:hover{color:var(--color-primary-hover)}html[data-theme="light"] .endcap .social-icon{color:var(--ink);background:rgb(255 255 255 / .6);border-color:rgb(20 14 15 / .12)}html[data-theme="light"] .endcap .social-icon:hover,html[data-theme="light"] .endcap .back-to-top:hover span{color:#fff;background:var(--color-primary);border-color:transparent}html[data-theme="light"] .starter__pill{background:rgb(255 255 255 / .55);border-color:rgb(20 14 15 / .16);box-shadow:inset 0 1px 0 #fff,0 .5rem 1.5rem rgb(60 20 24 / .06);color:var(--ink)}html[data-theme="light"] .starter__pill:hover,html[data-theme="light"] .starter__pill:focus-visible{color:#fff;border-color:var(--color-primary);box-shadow:0 1rem 2.5rem rgb(223 30 48 / .3)}html[data-theme="light"] .contact.is-starter-open .starter__toggle{background:rgb(20 14 15 / .06);box-shadow:inset 0 0 0 1px rgb(20 14 15 / .16)}html[data-theme="light"] .flag{box-shadow:0 0 0 1px rgb(20 14 15 / .22)}html[data-theme="light"] :is(.menu-overlay,.site-header.is-menu-open) .flag{box-shadow:0 0 0 1px rgb(255 255 255 / .28)}
.ab main,.ab .site-footer{position:relative;z-index:1}.ab-hero{padding:calc(var(--header-h) + clamp(3rem,8vw,7rem)) 0 clamp(2rem,5vw,4rem);background:transparent}.ab-hero__title{max-width:18ch;margin:var(--space-s) 0 var(--space-m);font-size:clamp(2.25rem,1rem + 4.6vw,5.5rem);font-weight:800;line-height:.95;letter-spacing:-0.045em;text-transform:uppercase;text-wrap:balance}.ab-hero__lead{max-width:52ch;color:var(--fg-muted);font-size:var(--fs-lead);line-height:1.5;text-wrap:pretty}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter);margin:0;padding:0;list-style:none;counter-reset:step}.step{position:relative;display:grid;align-content:start;gap:var(--space-s);padding-top:var(--space-m);border-top:1px solid var(--line,rgb(255 255 255 / .16))}.step::before{content:"";position:absolute;left:0;top:-1px;width:2.5rem;height:2px;background:var(--color-primary);transition:width .6s var(--ease-expo,cubic-bezier(.16,1,.3,1))}.step:hover::before{width:100%}.step__n{font-size:var(--fs-caption);font-weight:700;letter-spacing:.14em;color:var(--color-primary-on-dark)}.step__t{margin:0;font-size:var(--fs-h3);font-weight:800;letter-spacing:-0.03em;line-height:1;text-transform:uppercase}.step__p{margin:0;color:var(--fg-muted);line-height:1.6;text-wrap:pretty}.values{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--line,rgb(255 255 255 / .16))}.value{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--space-s) var(--gutter);align-items:baseline;padding:clamp(1.5rem,3vw,2.5rem) 0;border-bottom:1px solid var(--line,rgb(255 255 255 / .16))}.value__t{margin:0;font-size:var(--fs-h2);font-weight:800;letter-spacing:-0.04em;line-height:1;text-wrap:balance;transition:color .3s,transform .6s var(--ease-expo,cubic-bezier(.16,1,.3,1))}.value:hover .value__t{color:var(--color-primary-on-dark);transform:translateX(.5rem)}.value__p{margin:0;max-width:46ch;color:var(--fg-muted);font-size:var(--fs-lead);line-height:1.5;text-wrap:pretty}.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter);margin:0;padding:0;list-style:none}.member{position:relative;display:grid;gap:.4rem;align-content:start;padding-top:var(--space-m);border-top:1px solid var(--line,rgb(255 255 255 / .16))}.member::before{content:"";position:absolute;left:0;top:-1px;width:2.5rem;height:2px;background:var(--color-primary);transition:width .6s var(--ease-expo,cubic-bezier(.16,1,.3,1))}.member:hover::before{width:100%}.member__n{margin-bottom:var(--space-xs);font-size:var(--fs-caption);font-weight:700;letter-spacing:.14em;color:var(--color-primary-on-dark)}.member__name{margin:0;font-size:var(--fs-h3);line-height:1.05;text-wrap:balance;font-weight:800;letter-spacing:-0.02em}.member__role{margin:0;color:var(--fg-muted);font-size:var(--fs-small)}html[data-theme="light"] .member{border-color:rgb(20 14 15 / .16)}html[data-theme="light"] .member__n{color:#b81627}.ab-cta .container{display:grid;justify-items:center;gap:var(--space-m);text-align:center}.ab-cta__title{max-width:16ch;margin:0 auto;font-size:clamp(2.25rem,1rem + 5vw,6rem);font-weight:800;line-height:.92;letter-spacing:-0.05em;text-transform:uppercase;text-wrap:balance}.ab-cta__lead{margin:0 auto;max-width:none;text-wrap:nowrap;color:var(--fg-muted);font-size:var(--fs-lead)}html[data-theme="light"] .step__n,html[data-theme="light"] .value:hover .value__t{color:#b81627}html[data-theme="light"] .step,html[data-theme="light"] .values,html[data-theme="light"] .value{border-color:rgb(20 14 15 / .16)}@media (max-width: 63.99em){.team{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-xl)}}@media (max-width: 47.99em){.steps{grid-template-columns:minmax(0,1fr)}.value{grid-template-columns:minmax(0,1fr)}.ab-cta .btn{width:100%;justify-content:center}.ab-cta__lead{text-wrap:balance}}.wk-grid{position:relative;padding-bottom:var(--space-section);background:transparent}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter);margin:0;padding:0;list-style:none}.work-grid .gallery-card{width:auto!important;flex:none!important;min-width:0}.work-grid .gallery-card__inner{width:100%;height:100%}.work-grid .gallery-card__media{width:100%!important;height:auto!important;aspect-ratio:4 / 3.6}.work-grid .gallery-card__img{width:100%;height:100%;object-fit:cover}.work-grid .gallery-card__cta{font-size:clamp(2rem,1rem + 3vw,3.75rem)}@media (max-width: 63.99em){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 47.99em){.work-grid{grid-template-columns:minmax(0,1fr)}.work-grid .gallery-card__media{aspect-ratio:4 / 3.4}}.cl-wall{position:relative;padding-bottom:var(--space-section);background:transparent}
.cp{--c-bg:#000;--c-fg:#fff;--c-mute:rgb(255 255 255 / .68);--c-line:rgb(255 255 255 / .16);--c-field:rgb(255 255 255 / .04);--c-field-hover:rgb(255 255 255 / .07);--c-err:#ff6b78;--c-ok:#5fd39a;color:var(--c-fg)}.cp__main,.cp__ft{position:relative;z-index:1}html[data-theme="light"] .cp{--c-bg:#f6f2ec;--c-fg:#140e0f;--c-mute:rgb(20 14 15 / .68);--c-line:rgb(20 14 15 / .16);--c-field:rgb(20 14 15 / .03);--c-field-hover:rgb(20 14 15 / .06);--c-err:#b81627;--c-ok:#137a4a}.cp a{color:inherit}.cp a:hover{color:var(--accent,#ff4d5c)}html[data-theme="light"] .cp a:hover{color:#b81627}.cp__main{max-width:var(--container);margin-inline:auto;padding:calc(var(--header-h) + clamp(2rem,5vw,4rem)) var(--margin) var(--space-section)}.cp__head{max-width:52rem;margin-bottom:clamp(2.5rem,6vw,5rem)}.cp__title{margin:var(--space-s) 0 var(--space-m);font-size:clamp(2rem,1rem + 3vw,3.75rem);font-weight:800;line-height:.92;letter-spacing:-0.045em;text-transform:uppercase}.cp__lead{max-width:44ch;color:var(--c-mute);font-size:var(--fs-lead);line-height:1.5;text-wrap:pretty}.cp__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);gap:clamp(2.5rem,6vw,7rem);align-items:start}.cf{display:grid;gap:clamp(2.5rem,4vw,3.5rem)}.cf__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.cf__set{display:grid;gap:var(--space-l);margin:0;padding:0;border:0;min-width:0}.cf__legend{display:flex;align-items:baseline;gap:.9rem;width:100%;padding:0 0 .9rem;margin-bottom:var(--space-l);border-bottom:1px solid var(--c-line);font-size:var(--fs-h4);font-weight:700;letter-spacing:-0.01em}.cf__legend span{font-size:var(--fs-caption);font-weight:600;letter-spacing:.14em;color:var(--color-primary-on-dark)}html[data-theme="light"] .cf__legend span{color:#b81627}.cf__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-l) var(--space-m)}.cf__row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.cf__half{max-width:calc(50% - var(--space-m) / 2)}.field{display:grid;gap:.5rem;margin:0;padding:0;border:0;min-width:0;align-content:start}.field>label,.field__label{font-size:var(--fs-small);font-weight:600;padding:0;margin:0}.field__hint{margin:-0.25rem 0 .25rem;color:var(--c-mute);font-size:var(--fs-caption)}.req{color:var(--color-primary-on-dark)}html[data-theme="light"] .req{color:#b81627}.opt{color:var(--c-mute);font-weight:400;font-size:var(--fs-caption)}.field input:not([type="checkbox"]):not([type="radio"]),.field textarea,.field select{width:100%;min-height:3.25rem;padding:.85rem 1rem;border:1px solid var(--c-line);border-radius:.875rem;background:var(--c-field);color:var(--c-fg);font:inherit;font-size:1rem;transition:border-color .2s,background-color .2s,box-shadow .2s}.field textarea{min-height:9rem;resize:vertical;line-height:1.5}.field select{appearance:none;padding-right:2.75rem;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 1.35rem) 55%,calc(100% - 1rem) 55%;background-size:.35rem .35rem;background-repeat:no-repeat}.field select option{color:#000}.field ::placeholder{color:var(--c-mute);opacity:.7}.field input:hover,.field textarea:hover,.field select:hover{background-color:var(--c-field-hover)}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(223 30 48 / .25)}.field.is-invalid input,.field.is-invalid textarea{border-color:var(--c-err)}.field__err{min-height:0;margin:0;color:var(--c-err);font-size:var(--fs-caption)}.field__err:empty{display:none}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{position:relative;display:inline-flex;flex:none;max-width:100%;cursor:pointer}.chip input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.chip span{position:relative;isolation:isolate;overflow:hidden;white-space:nowrap;display:inline-flex;align-items:center;gap:0;min-height:2.75rem;padding:0 1.1rem;border:1px solid var(--c-line);border-radius:999px;font-size:var(--fs-small);font-weight:600;transition:color .35s ease,border-color .35s ease,gap .4s cubic-bezier(.34,1.56,.64,1),transform .2s ease}.chip span::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--color-primary);transform:scale(.2);opacity:0;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s ease}.chip--sm span{min-height:2.5rem;padding:0 .95rem}.chip:hover span{border-color:var(--c-fg)}.chip:active span{transform:scale(.95)}.chip input:checked + span{border-color:var(--color-primary);color:#fff}.chip input:checked + span::after{transform:scale(1);opacity:1}.chip input[type="checkbox"] + span::before{content:"";width:0;height:.7rem;background:currentColor;flex:none;clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%);transform:scale(0) rotate(-25deg);transition:width .4s cubic-bezier(.34,1.56,.64,1),transform .45s cubic-bezier(.34,1.56,.64,1)}.chip input[type="checkbox"]:checked + span{gap:.45rem}.chip input[type="checkbox"]:checked + span::before{width:.7rem;transform:scale(1) rotate(0deg)}@media (prefers-reduced-motion: reduce){.chip span,.chip span::after,.chip span::before{transition:none!important}}.chip input:focus-visible + span{outline:2px solid var(--color-primary);outline-offset:2px}.field.is-invalid .chip span{border-color:var(--c-err)}.cf__foot{display:grid;gap:var(--space-m);justify-items:start;padding-top:var(--space-l);border-top:1px solid var(--c-line)}.check{display:flex;gap:.75rem;align-items:flex-start;max-width:60ch;color:var(--c-mute);font-size:var(--fs-small);line-height:1.5;font-weight:400!important;cursor:pointer}.check input{position:relative;flex:none;display:grid;place-items:center;width:1.375rem;height:1.375rem;margin:.05rem 0 0;appearance:none;-webkit-appearance:none;border:1.5px solid var(--c-line);border-radius:.4rem;background:var(--c-field);cursor:pointer;transition:background-color .35s var(--ease-out,ease),border-color .35s var(--ease-out,ease),box-shadow .35s var(--ease-out,ease),transform .2s ease}.check input::before{content:"";width:.75rem;height:.75rem;background:#fff;clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%);transform:scale(0) rotate(-20deg);transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.check input::after{content:"";position:absolute;inset:-1.5px;border-radius:inherit;border:2px solid var(--color-primary);opacity:0;transform:scale(1);pointer-events:none}.check:hover input{border-color:var(--c-fg)}.check input:active{transform:scale(.88)}.check input:checked{background:var(--color-primary);border-color:var(--color-primary)}.check input:checked::before{transform:scale(1) rotate(0deg)}.check input:checked::after{animation:check-pulse .6s ease-out}.check input:focus-visible{outline:none;box-shadow:0 0 0 3px rgb(223 30 48 / .3)}.field.is-invalid .check input{border-color:var(--c-err)}@keyframes check-pulse{from{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}@media (prefers-reduced-motion: reduce){.check input,.check input::before{transition:none}.check input:checked::after{animation:none}}.check a{text-decoration:underline;text-underline-offset:.2em}.cf__send{--btn-bg:var(--color-primary);--btn-fg:#fff;--btn-border:var(--color-primary)}.cf__send:hover{--btn-bg:var(--color-primary-hover);--btn-border:var(--color-primary-hover)}.cf__send[disabled]{opacity:.6;pointer-events:none}.cf__status{margin:0;font-size:var(--fs-small);font-weight:600}.cf__status:empty{display:none}.cf__status.is-ok{color:var(--c-ok)}.cf__status.is-err{color:var(--c-err)}.cf__status a{text-decoration:underline}.cf.is-sent .cf__set,.cf.is-sent .cf__foot>:not(.cf__status){display:none}.cf.is-sent .cf__foot{border-top:0;padding-top:0}.cf.is-sent .cf__status{font-size:var(--fs-h4);line-height:1.3;max-width:30ch}.cp__side{position:sticky;top:6rem;display:grid;gap:var(--space-xl)}.side__h{margin:0 0 var(--space-s);padding-bottom:.75rem;border-bottom:1px solid var(--c-line);font-size:var(--fs-caption);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-mute)}.side__dl{display:grid;gap:var(--space-s);margin:0}.side__dl dt{font-size:var(--fs-caption);color:var(--c-mute)}.side__dl dd{margin:.2rem 0 0;font-size:var(--fs-h4);font-weight:700;letter-spacing:-0.01em;overflow-wrap:anywhere}.side__dl a{text-decoration:none}.side__soc{display:grid;margin:0;padding:0;list-style:none}.side__soc a{display:flex;justify-content:space-between;align-items:center;min-height:2.75rem;border-bottom:1px solid var(--c-line);font-weight:600;text-decoration:none}.faq{border-bottom:1px solid var(--c-line)}.faq summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:3rem;padding:.5rem 0;font-weight:600;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";flex:none;font-size:1.25rem;font-weight:400;transition:transform .3s}.faq[open] summary::after{transform:rotate(45deg)}.faq p{margin:0;padding-bottom:1rem;color:var(--c-mute);font-size:var(--fs-small);line-height:1.6}.cp__ft{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding:var(--space-m) var(--margin) calc(var(--space-m) + env(safe-area-inset-bottom));border-top:1px solid var(--c-line);color:var(--c-mute);font-size:var(--fs-small)}.cp__ft p{margin:0}@media (max-width: 63.99em){.cp__grid{grid-template-columns:minmax(0,1fr)}.cp__side{position:static;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}}@media (max-width: 47.99em){.cf__row,.cf__row--3{grid-template-columns:minmax(0,1fr)}.cf__half{max-width:none}.cf__send{width:100%;justify-content:center}.cp__side{grid-template-columns:minmax(0,1fr)}}.faq__body{overflow:hidden}.faq__body>p{opacity:0;transform:translateY(-0.35rem);transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1)}.faq[open] .faq__body>p{opacity:1;transform:none}.faq.is-closing .faq__body>p{opacity:0;transform:translateY(-0.35rem)}.faq summary::after{transition:transform .45s cubic-bezier(.22,1,.36,1)}.faq.is-closing summary::after{transform:none}@media (prefers-reduced-motion: reduce){.faq__body>p,.faq summary::after{transition:none}}.field--float{position:relative}.field--float .float-label{position:absolute;left:1rem;top:1.625rem;z-index:1;max-width:calc(100% - 2rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;color:var(--c-mute);font-size:1rem;font-weight:500;line-height:1;transform:translateY(-50%);transform-origin:0 50%;transition:transform .35s cubic-bezier(.22,1,.36,1),color .25s ease,top .35s cubic-bezier(.22,1,.36,1)}.field--float input,.field--float textarea,.field--float select{padding-top:1.45rem!important;padding-bottom:.45rem!important;min-height:3.25rem}.field--float textarea{padding-top:1.75rem!important}.field--float input::placeholder,.field--float textarea::placeholder{opacity:0;transition:opacity .25s ease}.field--float:focus-within input::placeholder,.field--float:focus-within textarea::placeholder{opacity:.7;transition-delay:.1s}.field--float:focus-within .float-label,.field--float.is-filled .float-label,.field--float:has(input:not(:placeholder-shown)) .float-label,.field--float:has(textarea:not(:placeholder-shown)) .float-label,.field--float:has(:-webkit-autofill) .float-label{top:.95rem;transform:translateY(-50%) scale(.74);color:var(--c-fg);font-weight:600}.field--float:focus-within .float-label{color:var(--color-primary-on-dark)}html[data-theme="light"] .field--float:focus-within .float-label{color:#b81627}.field--float.is-invalid .float-label{color:var(--c-err)}.field--float .float-label .opt{font-size:.85em}@media (prefers-reduced-motion: reduce){.field--float .float-label{transition:none}}.field--float select:not(:focus){color:transparent}.field--float.is-filled select{color:var(--c-fg)}
