/* ─────────────────────────────────────────────
   RESET & BASE
───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Lunox-inspired tokens */
  --bg:         #f9fafb;
  --bg-alt:     #f0f0f0;
  --bg-ocean:   #f0f0f0;
  --ink:        #000000;
  --ink-muted:  #595959;
  --ink-soft:   #b5b5b5;
  --ocean:      #4F8FC0;
  --ocean-deep: #1e1e1e;
  --sand:       #e2e2e2;
  --coral:      #26648E;
  --coral-soft: #FFE3B3;
  --accent-2:   #4F8FC0;
  --accent-3:   #53D2DC;
  --rule:       #dcddde;
  --rule-light: #e2e2e2;
  --rule-dark:  #1e1e1e;

  /* Type scale — clean responsive system applied site-wide */
  --fs-t1:    clamp(2.75rem, 5.5vw, 4rem);     /* hero / page-title */
  --fs-t2:    clamp(2.25rem, 4.4vw, 3.25rem);  /* section heads */
  --fs-t3:    clamp(1.75rem, 3vw,   2.4rem);   /* large display */
  --fs-t4:    clamp(1.5rem,  2.4vw, 2rem);     /* sub-section */
  --fs-t5:    clamp(1.25rem, 1.8vw, 1.5rem);   /* card head */
  --fs-t6:    clamp(1.05rem, 1.4vw, 1.2rem);   /* small head */
  --fs-body:  1.125rem;
  --fs-small: 1rem;
  --fs-tiny:  .85rem;
  /* Legacy aliases (kept so existing rules still resolve) */
  --fs-h1-large: var(--fs-t1);
  --fs-h1: var(--fs-t1);
  --fs-h2: var(--fs-t2);
  --fs-h3: var(--fs-t3);
  --fs-h4: var(--fs-t4);
  --fs-h5: var(--fs-t5);
  --fs-h6: var(--fs-t6);
  --fs-large: 1.125rem;
  --ls-large: -.05em;
  --ls-extra: -.04em;
  --lh-xs: 1.05;
  --lh-s:  1.15;
  --lh-m:  1.4;
  --lh-l:  1.6;

  /* Spacing scale */
  --pad-section:    70px;
  --pad-section-xl: 96px;
  --pad-banner:     120px;
  --pad-section-xxl: 138px;
  --pad-top:        140px;

  /* Fonts */
  --font-head:  'Domine', Georgia, serif;
  --font-body:  'Manrope', system-ui, sans-serif;
  --font-serif: 'Lora', Georgia, serif;
}

html {
  background: var(--bg);
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--ink);
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
ul, ol { list-style: none; }


/* ─────────────────────────────────────────────
   ACCESSIBILITY
───────────────────────────────────────────── */
*:focus { outline: none; }
*:focus-visible {
  outline: 2px solid var(--coral);
  outline-offset: 3px;
  border-radius: 4px;
}
a:focus-visible, button:focus-visible {
  outline-offset: 4px;
}

/* Touch-target hit area for small visual buttons */
.c-lx-show__dot,
.c-lx-wpr__pager-btn,
.c-lx-val-card__dot {
  position: relative;
}
.c-lx-show__dot::after,
.c-lx-wpr__pager-btn::after {
  content: '';
  position: absolute;
  inset: -16px;
  cursor: pointer;
}

/* Reduced-motion safety net */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}


/* ─────────────────────────────────────────────
   TYPOGRAPHY BASELINE — applied site-wide
───────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-head);
  color: var(--ink);
  letter-spacing: -.03em;
  line-height: var(--lh-s);
  margin: 0;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
h1 { font-size: var(--fs-t1); font-weight: 700; letter-spacing: -.045em; line-height: var(--lh-xs); }
h2 { font-size: var(--fs-t2); font-weight: 700; letter-spacing: -.04em;  line-height: var(--lh-xs); }
h3 { font-size: var(--fs-t3); font-weight: 600; letter-spacing: -.03em;  line-height: var(--lh-s); }
h4 { font-size: var(--fs-t4); font-weight: 600; letter-spacing: -.025em; line-height: var(--lh-s); }
h5 { font-size: var(--fs-t5); font-weight: 600; letter-spacing: -.02em;  line-height: var(--lh-s); }
h6 { font-size: var(--fs-t6); font-weight: 600; letter-spacing: -.015em; line-height: var(--lh-s); }
p  {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: 500;
  color: var(--ink);
  line-height: var(--lh-l);
  margin: 0;
  text-wrap: pretty;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
body { font-weight: 500; }

/* Bump common body-text components to the unified body size + medium weight */
.c-lx-hero2__lede,
.c-lx-hero2__subtext,
.c-lx-who-card__desc,
.c-lx-sol-card__desc,
.c-lx-show__sub,
.c-lx-show-card__desc,
.c-lx-blog__sub,
.c-lx-blog-card__desc,
.c-lx-team-card__role,
.c-lx-faq__answer,
.c-lx-prc__sub,
.c-lx-prc-step__desc,
.c-lx-svh__sub,
.c-lx-cnh__sub,
.c-lx-abh__sub,
.c-lx-wkh__sub,
.c-lx-svr__desc,
.c-lx-svr__list li,
.c-lx-st2-stat__lbl,
.c-lx-tsnap__body,
.c-lx-aus__body p,
.c-lx-val__sub,
.c-lx-val-card__desc,
.c-lx-wpr__sub,
.c-lx-wpr__step-desc,
.c-lx-wpr__card-desc,
.c-lx-cs-more-card__desc,
.c-lx-foot__tagline,
.c-page-hero__desc,
.c-case__voice-quote,
.c-case__stat-label,
.c-case__figure-caption,
.c-clients__name {
  font-size: var(--fs-body) !important;
  font-weight: 500 !important;
  line-height: var(--lh-l);
}
a  { color: inherit; text-decoration: none; }
small, .lx-small { font-size: var(--fs-small); }
.lx-tiny { font-size: var(--fs-tiny); }


/* ─────────────────────────────────────────────
   CHARACTER DRIFT ANIMATION
───────────────────────────────────────────── */
.drift { overflow: hidden; display: block; }
.drift-word { display: inline-block; overflow: hidden; }
.drift-char {
  display: inline-block;
  opacity: 0;
  transform: translateY(0.8em) translateZ(0);
  transition: opacity .9s linear, transform .9s cubic-bezier(.215,.61,.355,1);
}

.state-loaded .drift-char,
.drift-in .drift-char {
  opacity: 1;
  transform: translateY(0) translateZ(0);
}

.reveal-up {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .8s ease, transform .8s cubic-bezier(.215,.61,.355,1);
}
.reveal-up.visible { opacity: 1; transform: none; }

.reveal-fade {
  opacity: 0;
  transition: opacity .9s ease;
}
.reveal-fade.visible { opacity: 1; }

/* ─────────────────────────────────────────────
   LAYOUT HELPERS
───────────────────────────────────────────── */
.l-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
}
@media (max-width:600px) { .l-wrap { padding: 0 20px; } }

.l-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}
@media (max-width:760px) {
  .l-grid-2 { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────
   SCROLLBAR
───────────────────────────────────────────── */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: rgba(13,46,66,.2); border-radius: 4px; }

/* ─────────────────────────────────────────────
   HEADER / NAV
───────────────────────────────────────────── */
.c-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 800;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 40px;
  transition: background .3s ease, box-shadow .3s ease;
}
.c-header.scrolled {
  background: rgba(240,247,250,.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 1px 0 var(--rule);
}
@media(max-width:768px) {
  .c-header { padding: 20px 24px; }
}

.c-header__logo {
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: -.03em;
  color: var(--ink);
  text-decoration: none;
  transition: color .2s ease;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.c-header__nav {
  display: flex;
  align-items: center;
  gap: 32px;
}
.c-header__nav a {
  font-family: var(--font-head);
  font-size: .875rem;
  font-weight: 500;
  letter-spacing: .005em;
  color: var(--ink);
  text-decoration: none;
  transition: color .2s ease;
  position: relative;
}
.c-header__nav a::after {
  content: '';
  position: absolute;
  left: 0; bottom: -3px;
  width: 0; height: 1.5px;
  background: var(--ocean);
  transition: width .25s ease;
}
.c-header__nav a:hover { color: var(--ocean); }
.c-header__nav a:hover::after { width: 100%; }
.c-header__nav a.active { color: var(--ocean); }
.c-header__nav a.active::after { width: 100%; }
.c-header__nav .c-header__cta-link {
  color: var(--bg);
  background: var(--ink);
  padding: 7px 18px;
  border-radius: 3px;
  transition: background .2s ease;
}
.c-header__nav .c-header__cta-link::after { display: none; }
.c-header__nav .c-header__cta-link:hover { background: var(--ocean); color: var(--bg); }
.c-header__nav .c-header__cta-link.active { background: var(--ocean); color: var(--bg); }

.c-header__menu-btn {
  width: 36px; height: 36px;
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  background: none;
  border: none;
  padding: 4px;
}
.c-header__menu-btn span {
  display: block;
  height: 1.5px;
  background: var(--ink);
  transition: transform .4s cubic-bezier(.215,.61,.355,1), opacity .3s ease, width .3s ease;
  transform-origin: center;
}
.c-header__menu-btn span:first-child { width: 100%; }
.c-header__menu-btn span:last-child  { width: 60%; }

.state-menu-open .c-header__menu-btn span:first-child {
  transform: translateY(7.5px) rotate(45deg);
  width: 100%;
}
.state-menu-open .c-header__menu-btn span:last-child {
  transform: translateY(-7.5px) rotate(-45deg);
  width: 100%;
}

@media(max-width: 768px) {
  .c-header__nav { display: none; }
  .c-header__menu-btn { display: flex; }
}

/* ─────────────────────────────────────────────
   FULL-SCREEN MENU OVERLAY
───────────────────────────────────────────── */
.c-menu {
  position: fixed;
  inset: 0;
  z-index: 700;
  background: var(--ink);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 100px 40px 60px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .5s ease;
}
.state-menu-open .c-menu {
  opacity: 1;
  pointer-events: all;
}
@media(max-width:600px) { .c-menu { padding: 80px 20px 40px; } }

.c-menu__nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-menu__link {
  font-family: var(--font-head);
  font-size: clamp(2.8rem, 7vw, 6rem);
  font-weight: 700;
  letter-spacing: -.03em;
  color: rgba(255,255,255,.35);
  text-decoration: none;
  line-height: 1.05;
  display: block;
  opacity: 0;
  transform: translateY(30px);
  transition: color .25s ease, opacity .6s cubic-bezier(.215,.61,.355,1), transform .6s cubic-bezier(.215,.61,.355,1);
}
.c-menu__link:hover { color: #fff; }

.state-menu-open .c-menu__link { opacity: 1; transform: none; }
.state-menu-open .c-menu__link:nth-child(1) { transition-delay: .08s; }
.state-menu-open .c-menu__link:nth-child(2) { transition-delay: .14s; }
.state-menu-open .c-menu__link:nth-child(3) { transition-delay: .20s; }
.state-menu-open .c-menu__link:nth-child(4) { transition-delay: .26s; }
.state-menu-open .c-menu__link:nth-child(5) { transition-delay: .32s; }

.c-menu__footer {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.c-menu__footer p {
  font-size: .8rem;
  color: rgba(255,255,255,.75);
  font-family: var(--font-body);
}
.c-menu__footer a {
  font-size: .8rem;
  color: rgba(255,255,255,.8);
  text-decoration: none;
  font-family: var(--font-body);
  transition: color .2s;
}
.c-menu__footer a:hover { color: rgba(255,255,255,.9); }

.state-menu-open .c-header__logo { color: #fff; }
.state-menu-open .c-header__menu-btn span { background: #fff; }

/* ─────────────────────────────────────────────
   UTILITY
───────────────────────────────────────────── */
.accent-word {
  color: var(--ocean);
  font-weight: 600;
  font-style: normal;
}

/* ─────────────────────────────────────────────
   HERO
───────────────────────────────────────────── */
.c-hero {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 40px 80px;
  position: relative;
  background: var(--bg);
}
@media(max-width:600px) { .c-hero { padding: 0 20px 60px; min-height: 100dvh; } }

.c-hero__cover {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 35%;
  filter: saturate(.6) brightness(.82);
  z-index: 0;
}
.c-hero__cover-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    160deg,
    rgba(240,247,250,.80) 0%,
    rgba(240,247,250,.92) 100%
  );
  z-index: 1;
}

.c-hero__inner {
  max-width: 1320px;
  margin: 0 auto;
  width: 100%;
  position: relative;
  z-index: 2;
}

.c-hero__heading {
  font-family: var(--font-head);
  font-size: clamp(2.8rem, 8.5vw, 9rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: .95;
  color: var(--ink);
  margin-bottom: 48px;
  position: relative;
  padding-bottom: 40px;
}
.c-hero__heading::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 120px; height: 3px;
  background: var(--ocean);
}
@media(max-width:600px) {
  .c-hero__heading { margin-bottom: 32px; padding-bottom: 28px; }
}

.c-hero__sub {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: flex-end;
}
@media(max-width:700px) {
  .c-hero__sub { grid-template-columns: 1fr; gap: 24px; }
}

.c-hero__desc {
  font-family: var(--font-body);
  font-size: clamp(.95rem, 1.5vw, 1.2rem);
  font-weight: 500;
  color: var(--ink-muted);
  line-height: 1.7;
  max-width: 480px;
}

.c-hero__cta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}
@media(max-width:700px) {
  .c-hero__cta { align-items: flex-start; }
}

.c-hero__arrow-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1.5px solid var(--ink);
  padding-bottom: 4px;
  transition: color .2s ease, border-color .2s ease, gap .2s ease;
  letter-spacing: -.01em;
}
.c-hero__arrow-btn:hover { color: var(--ocean); border-color: var(--ocean); gap: 16px; }

.c-hero__down {
  position: absolute;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 2;
}
@media(max-width:600px) { .c-hero__down { display: none; } }

.c-hero__down-line {
  width: 1px;
  height: 60px;
  background: linear-gradient(to bottom, transparent, var(--ink-muted));
  animation: lineGrow 1s ease forwards .5s;
  transform-origin: top;
  transform: scaleY(0);
}
@keyframes lineGrow {
  to { transform: scaleY(1); }
}
.c-hero__down svg { animation: bounceDown 2s ease-in-out infinite; }
@keyframes bounceDown {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(6px); }
}

/* ─────────────────────────────────────────────
   PAGE HERO (non-home pages)
───────────────────────────────────────────── */
.c-page-hero {
  padding: 160px 40px 72px;
  background: var(--bg);
  border-bottom: 1px solid var(--rule);
}
@media(max-width:600px) { .c-page-hero { padding: 120px 20px 56px; } }

.c-page-hero__inner {
  max-width: 1320px;
  margin: 0 auto;
}

.c-page-hero__label {
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ocean);
  display: block;
  margin-bottom: 20px;
}

.c-page-hero__heading {
  font-family: var(--font-head);
  font-size: var(--fs-t1);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: var(--lh-xs);
  color: var(--ink);
  margin-bottom: 28px;
  position: relative;
  padding-bottom: 32px;
}
.c-page-hero__heading::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 48px; height: 2px;
  background: var(--ocean);
  opacity: .55;
}

.c-page-hero__desc {
  font-family: var(--font-body);
  font-size: var(--fs-large);
  font-weight: 400;
  color: var(--ink-muted);
  line-height: var(--lh-l);
  max-width: 580px;
}

/* ─────────────────────────────────────────────
   VISUAL SPLASH
───────────────────────────────────────────── */
.c-splash {
  position: relative;
  background: var(--bg);
  padding: 20px 40px 80px;
}
@media(max-width:600px) { .c-splash { padding: 20px 20px 60px; } }

.c-splash__inner {
  max-width: 1320px;
  margin: 0 auto;
  border-radius: 20px;
  overflow: hidden;
  background: var(--bg-ocean);
  aspect-ratio: 16/7;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.c-splash__photo {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 40%;
  filter: saturate(.75) brightness(.88);
}
.c-splash__inner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(79,143,192,.72) 0%, rgba(13,46,66,.75) 100%);
  z-index: 1;
}

.c-splash__text {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 40px;
}

.c-splash__label {
  font-family: var(--font-body);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(202,233,255,.85);
  display: block;
  margin-bottom: 16px;
}

.c-splash__quote {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.8vw, 2rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -.025em;
  line-height: 1.25;
  max-width: 700px;
  text-shadow: 0 2px 16px rgba(0,0,0,.45);
}

/* ─────────────────────────────────────────────
   CAPABILITIES
───────────────────────────────────────────── */
.c-capabilities {
  padding: 0;
}

.c-cap__item {
  border-top: 1px solid var(--rule);
  padding: 80px 40px;
}
.c-cap__item:last-child { border-bottom: 1px solid var(--rule); }
@media(max-width:600px) { .c-cap__item { padding: 60px 20px; } }

.c-cap__item .l-wrap { max-width: 1320px; }

.c-cap__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.c-cap__grid--reverse { direction: rtl; }
.c-cap__grid--reverse > * { direction: ltr; }
@media(max-width:760px) {
  .c-cap__grid { grid-template-columns: 1fr; gap: 40px; direction: ltr !important; }
}

.c-cap__num {
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-muted);
  display: block;
  margin-bottom: 20px;
}

.c-cap__title {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.05;
  color: var(--ink);
  margin-bottom: 20px;
}

.c-cap__desc {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--ink-muted);
  line-height: 1.7;
  max-width: 480px;
  margin-bottom: 24px;
}

.c-cap__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 480px;
}
.c-cap__list li {
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 500;
  color: var(--ink);
  line-height: 1.5;
  padding-left: 20px;
  position: relative;
}
.c-cap__list li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--ocean);
  font-size: .8rem;
}

.c-cap__media {
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
  background: var(--bg-alt);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 32px rgba(79,143,192,.09), 0 0 0 1px rgba(79,143,192,.11);
}

.c-cap__media-inner {
  position: absolute;
  inset: 0;
  transition: transform .5s cubic-bezier(.215,.61,.355,1);
}
.c-cap__item:hover .c-cap__media-inner { transform: scale(1.025); }

.cap-photo {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .6s cubic-bezier(.215,.61,.355,1);
}
.c-cap__item:hover .cap-photo { transform: scale(1.04); }

.cap-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(79,143,192,.12) 0%, rgba(240,247,250,.3) 100%);
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
}

/* ─────────────────────────────────────────────
   INDUSTRIES / SECTORS
───────────────────────────────────────────── */
.c-sectors {
  background: var(--bg-alt);
  padding: 80px 0;
  overflow: hidden;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.c-sectors__header {
  padding: 0 40px;
  max-width: 1320px;
  margin: 0 auto 48px;
}
@media(max-width:600px) { .c-sectors__header { padding: 0 20px; } }

.c-sectors__heading {
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 12px;
}

.c-sectors__sub {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 500;
  color: var(--ink-muted);
  max-width: 400px;
  line-height: 1.6;
}

.c-sectors__track-wrap { overflow: hidden; }
.c-sectors__track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: sectorScroll 36s linear infinite;
}
.c-sectors__track:hover { animation-play-state: paused; }
.c-sectors__set {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 12px;
  padding-right: 12px;
}

@keyframes sectorScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.c-sector-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 100px;
  padding: 10px 18px;
  font-family: var(--font-body);
  font-size: .875rem;
  font-weight: 400;
  color: var(--ink);
  white-space: nowrap;
  transition: border-color .2s ease, background .2s ease;
}
.c-sector-pill:hover { border-color: var(--ocean); background: var(--bg-ocean); }

.c-sector-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* ─────────────────────────────────────────────
   WORK / CASE STUDIES
───────────────────────────────────────────── */
.c-work {
  padding: 100px 40px;
}
@media(max-width:600px) { .c-work { padding: 80px 20px; } }

.c-work__inner { max-width: 1320px; margin: 0 auto; }

.c-work__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 56px;
  gap: 24px;
}
.c-work__heading {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--ink);
}
.c-work__all {
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1.5px solid var(--ink);
  padding-bottom: 2px;
  white-space: nowrap;
  transition: color .2s ease, border-color .2s ease;
}
.c-work__all:hover { color: var(--ocean); border-color: var(--ocean); }

.c-work__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media(max-width:700px) { .c-work__grid { grid-template-columns: 1fr; } }

/* Full work page grid */
.c-work__grid--full {
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  align-items: start;
}
.c-work__grid--full .c-thumb--wide {
  grid-column: span 2;
}
.c-work__grid--full .c-thumb--wide .c-thumb__img {
  aspect-ratio: 21/9;
}
@media(max-width:700px) {
  .c-work__grid--full { grid-template-columns: 1fr; }
  .c-work__grid--full .c-thumb--wide { grid-column: span 1; }
  .c-work__grid--full .c-thumb--wide .c-thumb__img { aspect-ratio: 16/9; }
}

/* Work category filter */
.c-work-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 40px;
}

.c-work-filter__btn {
  background: none;
  border: 1px solid var(--rule);
  border-radius: 100px;
  padding: 8px 20px;
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 500;
  color: var(--ink-muted);
  cursor: pointer;
  transition: border-color .2s, color .2s, background .2s;
}
.c-work-filter__btn:hover {
  border-color: var(--ink);
  color: var(--ink);
}
.c-work-filter__btn.active {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}

/* Filtering state */
.c-thumb[hidden] { display: none; }
.c-thumb.is-hidden { display: none; }

.c-work__empty {
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--ink-muted);
  padding: 60px 0;
  text-align: center;
}

/* Fade-in after filter */
.c-thumb.filter-reveal {
  animation: filterFadeIn .35s ease forwards;
}
@keyframes filterFadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

.c-thumb {
  display: block;
  text-decoration: none;
  color: inherit;
}
.c-thumb__img {
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16/10;
  background: var(--bg-alt);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  position: relative;
  transition: transform .4s cubic-bezier(.215,.61,.355,1);
}
.c-thumb:hover .c-thumb__img { transform: scale(.99); }

.thumb-photo {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .5s cubic-bezier(.215,.61,.355,1);
  filter: saturate(.88) brightness(.98);
}
.c-thumb:hover .thumb-photo { transform: scale(1.05); }

.thumb-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(13,46,66,.35) 100%);
  z-index: 1;
}

/* Multiple tags in a row */
.c-thumb__tags {
  position: absolute;
  top: 16px; left: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  z-index: 2;
}

.c-thumb__tag {
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(8px);
  border-radius: 100px;
  padding: 5px 12px;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink);
}
.c-thumb__tag.ocean { background: var(--ocean); color: #fff; }

/* Footer row below image */
.c-thumb__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-top: 14px;
}

.c-thumb__stat {
  font-family: var(--font-head);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--ocean);
  white-space: nowrap;
  flex-shrink: 0;
  opacity: 0;
  transform: translateX(6px);
  transition: opacity .25s ease, transform .25s ease;
}
.c-thumb:hover .c-thumb__stat { opacity: 1; transform: translateX(0); }

.c-thumb__title {
  font-size: clamp(1rem, 1.8vw, 1.3rem);
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 4px;
  transition: color .2s ease;
}
.c-thumb:hover .c-thumb__title { color: var(--ocean); }

.c-thumb__sub {
  font-family: var(--font-body);
  font-size: .875rem;
  font-weight: 300;
  color: var(--ink-muted);
}

/* ─────────────────────────────────────────────
   FAQ
───────────────────────────────────────────── */
.c-faq {
  background: var(--bg-alt);
  padding: 100px 40px;
}
@media(max-width:600px) { .c-faq { padding: 80px 20px; } }

.c-faq__inner { max-width: 1320px; margin: 0 auto; }

.c-faq__heading {
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 48px;
}

.c-faq__question {
  width: 100%;
  background: none;
  border: none;
  border-top: 1px solid var(--rule);
  padding: 24px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  text-align: left;
  transition: color .2s ease;
}
.c-faq__question:hover { color: var(--ocean); }

.c-faq__question-text {
  font-family: var(--font-head);
  font-size: clamp(1rem, 1.8vw, 1.3rem);
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--ink);
  transition: color .2s ease;
  line-height: 1.3;
}
.c-faq__question:hover .c-faq__question-text { color: var(--ocean); }

.c-faq__icon {
  width: 20px; height: 20px;
  flex-shrink: 0;
  position: relative;
  transition: transform .4s cubic-bezier(.215,.61,.355,1);
}
.c-faq__icon line { transition: transform .4s cubic-bezier(.215,.61,.355,1), opacity .3s ease; }
.c-faq__item.open .c-faq__icon { transform: rotate(45deg); }

.c-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .45s cubic-bezier(.215,.61,.355,1), padding .3s ease;
}
.c-faq__item.open .c-faq__answer { max-height: 400px; padding-bottom: 28px; }

.c-faq__answer p {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--ink-muted);
  line-height: 1.75;
  max-width: 680px;
}

.c-faq__item:last-child .c-faq__question { border-bottom: 1px solid var(--rule); }

/* ─────────────────────────────────────────────
   TESTIMONIALS
───────────────────────────────────────────── */
.c-testimonials {
  position: relative;
  min-height: 620px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
}

.c-testimonials__bg {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 55%;
  filter: saturate(.7) brightness(.55);
}

.c-testimonials__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(13,46,66,.1)  0%,
    rgba(13,46,66,.55) 40%,
    rgba(13,46,66,.88) 100%
  );
}

.c-testimonials__stage {
  position: relative;
  z-index: 2;
  padding: 80px 40px 64px;
  max-width: 1320px;
  margin: 0 auto;
  width: 100%;
}
@media(max-width:600px) { .c-testimonials__stage { padding: 60px 20px 48px; } }

.c-testimonials__glyph {
  font-family: var(--font-head);
  font-size: 10rem;
  line-height: .6;
  color: var(--ocean);
  opacity: .5;
  display: block;
  margin-bottom: 24px;
  user-select: none;
}

.c-testimonials__quote {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.8vw, 2rem);
  font-weight: 300;
  font-style: italic;
  letter-spacing: -.01em;
  line-height: 1.5;
  color: #fff;
  max-width: 900px;
  margin-bottom: 40px;
  transition: opacity .5s ease, transform .5s cubic-bezier(.215,.61,.355,1);
}
.c-testimonials__quote.fading {
  opacity: 0;
  transform: translateY(12px);
}

.c-testimonials__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  transition: opacity .5s ease;
}
.c-testimonials__meta.fading { opacity: 0; }

.c-testimonials__person {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.c-testimonials__name {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 700;
  color: var(--ocean);
  letter-spacing: -.01em;
}
.c-testimonials__role {
  font-family: var(--font-body);
  font-size: .78rem;
  font-weight: 400;
  color: rgba(255,255,255,.75);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.c-testimonials__nav {
  display: flex;
  align-items: center;
  gap: 20px;
}
.c-testimonials__counter {
  font-family: var(--font-body);
  font-size: .8rem;
  color: rgba(255,255,255,.75);
  letter-spacing: .08em;
  min-width: 44px;
}
.c-testimonials__btn {
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: border-color .2s ease, background .2s ease;
}
.c-testimonials__btn:hover {
  border-color: rgba(255,255,255,.85);
  background: rgba(255,255,255,.16);
}

.c-testimonials__progress {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: rgba(255,255,255,.1);
}
.c-testimonials__progress-bar {
  height: 100%;
  background: var(--ocean);
  transition: width .5s cubic-bezier(.215,.61,.355,1);
}

/* ─────────────────────────────────────────────
   PROCESS
───────────────────────────────────────────── */
.c-process {
  background: var(--ink);
  padding: 100px 40px;
  color: #fff;
}
@media(max-width:600px) { .c-process { padding: 80px 20px; } }

.c-process__inner { max-width: 1320px; margin: 0 auto; }

.c-process__heading {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: #fff;
  margin-bottom: 72px;
}

.c-process__items { display: flex; flex-direction: column; gap: 0; }

.c-process__item {
  border-top: 1px solid rgba(255,255,255,.12);
  padding: 40px 0;
  display: grid;
  grid-template-columns: 80px 1fr 1fr;
  gap: 48px;
  align-items: start;
}
.c-process__item:last-child { border-bottom: 1px solid rgba(255,255,255,.12); }
@media(max-width:760px) {
  .c-process__item { grid-template-columns: 1fr; gap: 12px; }
}

.c-process__num {
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.75);
  padding-top: 4px;
}

.c-process__title {
  font-family: var(--font-head);
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: -.02em;
  color: #fff;
}

.c-process__desc {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 500;
  color: rgba(255,255,255,.82);
  line-height: 1.7;
}

/* ─────────────────────────────────────────────
   CTA
───────────────────────────────────────────── */
.c-cta {
  border-top: 1px solid var(--rule);
  padding: 80px 40px;
  background: var(--bg);
}
@media(max-width:600px) { .c-cta { padding: 60px 20px; } }

.c-cta__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

.c-cta__text {
  font-size: clamp(2.2rem, 6vw, 5.5rem);
  font-weight: 700;
  font-style: italic;
  letter-spacing: -.01em;
  color: var(--ink);
  line-height: 1;
}

.c-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-head);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 2px solid var(--ink);
  padding-bottom: 4px;
  white-space: nowrap;
  transition: color .2s ease, border-color .2s ease, gap .2s ease;
  letter-spacing: -.01em;
}
.c-cta__btn:hover { color: var(--ocean); border-color: var(--ocean); gap: 18px; }

/* ─────────────────────────────────────────────
   CONTACT FORM
───────────────────────────────────────────── */
.c-contact {
  background: var(--bg-alt);
  padding: 100px 40px;
}
@media(max-width:600px) { .c-contact { padding: 80px 20px; } }

.c-contact__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
@media(max-width:760px) { .c-contact__inner { grid-template-columns: 1fr; gap: 48px; } }

.c-contact__heading {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--ink);
  margin-bottom: 20px;
}
.c-contact__sub {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--ink-muted);
  line-height: 1.7;
  max-width: 380px;
  margin-bottom: 40px;
}
.c-contact__detail {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.c-contact__detail a {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ocean);
  text-decoration: none;
  border-bottom: 1px solid rgba(79,143,192,.3);
  transition: border-color .2s ease;
}
.c-contact__detail a:hover { border-color: var(--ocean); }

.c-form { display: flex; flex-direction: column; gap: 20px; }

.c-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media(max-width:500px) { .c-form__row { grid-template-columns: 1fr; } }

.c-form__field { display: flex; flex-direction: column; gap: 6px; }

.c-form__label {
  font-family: var(--font-body);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.c-form input,
.c-form select,
.c-form textarea {
  font-family: var(--font-body);
  font-size: .95rem;
  font-weight: 300;
  color: var(--ink);
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 14px 16px;
  transition: border-color .25s ease, box-shadow .25s ease;
  outline: none;
  -webkit-appearance: none;
}
.c-form input::placeholder,
.c-form textarea::placeholder { color: var(--ink-muted); opacity: .5; }
.c-form input:focus,
.c-form select:focus,
.c-form textarea:focus {
  border-color: var(--ocean);
  box-shadow: 0 0 0 3px rgba(79,143,192,.1);
}
.c-form textarea { resize: none; min-height: 120px; }

.c-form__submit {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  background: none;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-bottom: 2px solid var(--ink);
  padding: 0 0 4px 0;
  align-self: flex-start;
  transition: color .2s ease, border-color .2s ease, gap .2s ease;
  letter-spacing: -.01em;
}
.c-form__submit:hover { color: var(--ocean); border-color: var(--ocean); gap: 18px; }

/* ─────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────── */
.c-footer {
  border-top: 1px solid var(--rule);
  padding: 32px 40px;
  background: var(--bg);
}
@media(max-width:600px) { .c-footer { padding: 28px 20px; } }

.c-footer__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.c-footer__logo {
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -.03em;
  color: var(--ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.c-footer__copy {
  font-family: var(--font-body);
  font-size: .8rem;
  color: var(--ink-muted);
}

.c-footer__up {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: .8rem;
  color: var(--ink-muted);
  text-decoration: none;
  transition: color .2s ease;
}
.c-footer__up:hover { color: var(--ink); }

/* ─────────────────────────────────────────────
   CASE STUDY PAGES
───────────────────────────────────────────── */
.c-case__meta {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 40px 0;
  margin: 48px 0 0;
}
@media(max-width:700px) { .c-case__meta { grid-template-columns: 1fr 1fr; row-gap: 28px; } }

.c-case__meta-label {
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 6px;
}

.c-case__meta-value {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--ink);
  line-height: 1.4;
}

.c-case__stats {
  background: var(--bg-alt);
  padding: 72px 40px;
  border-bottom: 1px solid var(--rule);
}
@media(max-width:600px) { .c-case__stats { padding: 56px 20px; } }

.c-case__stats-inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-left: 1px solid var(--rule);
}
@media(max-width:700px) { .c-case__stats-inner { grid-template-columns: 1fr; border-left: none; } }

.c-case__stats-inner > div {
  padding: 0 40px;
  border-right: 1px solid var(--rule);
}
@media(max-width:700px) {
  .c-case__stats-inner > div { padding: 28px 0; border-right: none; border-bottom: 1px solid var(--rule); }
  .c-case__stats-inner > div:last-child { border-bottom: none; }
}

.c-case__stat-num {
  font-family: var(--font-head);
  font-size: var(--fs-t2);
  font-weight: 700;
  letter-spacing: -.04em;
  color: var(--ink);
  display: block;
  line-height: 1;
}

.c-case__stat-label {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: 400;
  color: var(--ink-muted);
  margin-top: 10px;
  display: block;
  line-height: var(--lh-l);
  max-width: 220px;
}

.c-case__body {
  max-width: 720px;
  margin: 0 auto;
  padding: 72px 40px;
}
@media(max-width:600px) { .c-case__body { padding: 56px 20px; } }

.c-case__body > *:first-child { margin-top: 0; }

.c-case__body p {
  font-family: var(--font-body);
  font-size: var(--fs-large);
  font-weight: 400;
  color: var(--ink);
  line-height: 1.7;
  margin-bottom: 20px;
}

.c-case__body p:last-of-type { margin-bottom: 0; }

.c-case__body h3 {
  font-family: var(--font-head);
  font-size: var(--fs-t4);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: var(--lh-s);
  color: var(--ink);
  margin: 48px 0 14px;
}

.c-case__body h3:first-child { margin-top: 0; }

.c-case__next {
  border-top: 1px solid var(--rule);
  padding: 64px 40px;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  gap: 24px;
  transition: background .25s ease;
}
.c-case__next:hover { background: var(--bg-alt); }
@media(max-width:600px) { .c-case__next { padding: 48px 20px; } }

.c-case__next-label {
  font-family: var(--font-body);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-muted);
  display: block;
  margin-bottom: 8px;
}

.c-case__next-title {
  font-family: var(--font-head);
  font-size: clamp(1.3rem, 2.5vw, 2rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--ink);
  transition: color .2s ease;
}
.c-case__next:hover .c-case__next-title { color: var(--ocean); }

.c-case__next-arrow {
  font-family: var(--font-head);
  font-size: 2rem;
  color: var(--ink-muted);
  flex-shrink: 0;
  transition: transform .3s cubic-bezier(.215,.61,.355,1), color .2s ease;
}
.c-case__next:hover .c-case__next-arrow { transform: translateX(8px); color: var(--ocean); }

/* ─────────────────────────────────────────────
   CASE STUDY FIGURES & VISUALS
───────────────────────────────────────────── */
.c-case__figure {
  padding: 64px 40px 72px;
}
@media(max-width:600px) { .c-case__figure { padding: 48px 20px 56px; } }

.c-case__figure-inner {
  max-width: 1100px;
  margin: 0 auto;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  background: var(--bg-alt);
  border: 1px solid var(--rule);
}

.c-case__figure-img {
  width: 100%;
  display: block;
  aspect-ratio: 16/7;
  object-fit: cover;
  filter: saturate(.88) brightness(.94);
}

.c-case__figure-caption {
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 400;
  color: var(--ink-muted);
  letter-spacing: .01em;
  line-height: 1.6;
  padding: 16px 24px 20px;
  border-top: 1px solid var(--rule);
  margin: 0;
}

.c-case__figure-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: var(--rule);
}
@media(max-width:660px) { .c-case__figure-grid { grid-template-columns: 1fr; } }

.c-case__figure-grid .c-case__figure-img {
  border-radius: 0;
  aspect-ratio: 4/3;
  background: var(--bg-alt);
}

/* Pull-quote inside case body */
.c-case__pullquote {
  border-left: 2px solid var(--ocean);
  margin: 40px 0;
  padding: 2px 0 2px 24px;
}

.c-case__pullquote p {
  font-family: var(--font-serif) !important;
  font-size: var(--fs-t5) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  color: var(--ink) !important;
  line-height: 1.5 !important;
  font-style: italic;
  margin: 0 !important;
}

/* Process steps inside case study */
.c-case__process {
  background: var(--bg-alt);
  padding: 72px 40px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
@media(max-width:600px) { .c-case__process { padding: 56px 20px; } }

.c-case__process-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.c-case__process-label {
  font-family: var(--font-body);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ocean);
  display: block;
  margin-bottom: 40px;
}

.c-case__process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  border-radius: 16px;
  overflow: hidden;
}
@media(max-width:700px) { .c-case__process-steps { grid-template-columns: 1fr 1fr; } }
@media(max-width:400px) { .c-case__process-steps { grid-template-columns: 1fr; } }

.c-case__process-step {
  background: var(--bg-alt);
  padding: 32px 28px;
  transition: background .2s;
}
.c-case__process-step:hover { background: var(--bg); }

.c-case__process-step-num {
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--ocean);
  display: block;
  margin-bottom: 12px;
}

.c-case__process-step-title {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--ink);
  margin-bottom: 8px;
}

.c-case__process-step-desc {
  font-family: var(--font-body);
  font-size: .84rem;
  font-weight: 300;
  color: var(--ink-muted);
  line-height: 1.65;
}

/* ─────────────────────────────────────────────
   CASE STUDY — UNIQUE INSIGHT SECTIONS
   Each project gets a structurally different
   section that reflects its actual method.
───────────────────────────────────────────── */

/* Shared wrapper */
.c-case__insight-section {
  padding: 72px 40px;
  background: var(--bg);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
@media(max-width:600px) { .c-case__insight-section { padding: 56px 20px; } }

.c-case__insight-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.c-case__insight-eyebrow {
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ocean);
  display: block;
  margin-bottom: 36px;
}

/* ── User voices grid ── */
.c-case__voices-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--rule);
  border-radius: 12px;
  overflow: hidden;
}
@media(max-width:700px) { .c-case__voices-grid { grid-template-columns: 1fr; } }

.c-case__voice {
  background: var(--bg);
  padding: 36px 28px;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-right: 1px solid var(--rule);
  transition: background .2s;
}
.c-case__voice:last-child { border-right: none; }
@media(max-width:700px) {
  .c-case__voice { border-right: none; border-bottom: 1px solid var(--rule); }
  .c-case__voice:last-child { border-bottom: none; }
}
.c-case__voice:hover { background: var(--bg-alt); }

.c-case__voice-num {
  font-family: var(--font-head);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--ocean);
  margin-bottom: 16px;
}

.c-case__voice-quote {
  font-family: var(--font-serif);
  font-size: var(--fs-body);
  font-weight: 400;
  font-style: italic;
  color: var(--ink);
  line-height: var(--lh-l);
  margin: 0 0 24px;
  flex: 1;
}

.c-case__voice-theme {
  font-family: var(--font-body);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-muted);
  padding-top: 16px;
  border-top: 1px solid var(--rule);
  margin: 0;
}

/* ── Flowork: before/after comparison ── */
.c-case__compare-section {
  padding: 72px 40px;
  background: var(--ink);
  color: #fff;
}
@media(max-width:600px) { .c-case__compare-section { padding: 56px 20px; } }

.c-case__compare-eyebrow {
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.75);
  display: block;
  margin-bottom: 40px;
}

.c-case__compare-cols {
  display: grid;
  grid-template-columns: 1fr 60px 1fr;
  gap: 0;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}
@media(max-width:700px) {
  .c-case__compare-cols { grid-template-columns: 1fr; }
  .c-case__compare-divider { display: none; }
}

.c-case__compare-col {
  padding: 36px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
}

.c-case__compare-col--before { border-color: rgba(255,255,255,.08); }
.c-case__compare-col--after  { border-color: rgba(79,143,192,.4); background: rgba(79,143,192,.07); }

.c-case__compare-state {
  display: block;
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.c-case__compare-col--before .c-case__compare-state { color: rgba(255,255,255,.35); }
.c-case__compare-col--after  .c-case__compare-state { color: var(--ocean); }

.c-case__compare-col ul {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.c-case__compare-col li {
  font-family: var(--font-body);
  font-size: .92rem;
  font-weight: 300;
  line-height: 1.55;
  padding-left: 18px;
  position: relative;
}
.c-case__compare-col--before li { color: rgba(255,255,255,.78); }
.c-case__compare-col--before li::before { content: '×'; position: absolute; left: 0; color: rgba(255,255,255,.2); }
.c-case__compare-col--after  li { color: rgba(255,255,255,.85); }
.c-case__compare-col--after  li::before { content: '✓'; position: absolute; left: 0; color: var(--ocean); }

.c-case__compare-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-size: 1.5rem;
  color: rgba(255,255,255,.2);
  padding-top: 60px;
}

/* ── Vesper: competitive gap ── */
.c-case__gap-cols {
  display: grid;
  grid-template-columns: 1fr 48px 1fr;
  gap: 0;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}
@media(max-width:700px) {
  .c-case__gap-cols { grid-template-columns: 1fr; }
  .c-case__gap-divider { display: none; }
}

.c-case__gap-col {
  padding: 36px;
  border: 1px solid var(--rule);
  border-radius: 16px;
  background: var(--bg);
}

.c-case__gap-side {
  display: block;
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 24px;
}
.c-case__gap-col:last-child .c-case__gap-side { color: var(--ocean); }

.c-case__gap-col ul {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-case__gap-col li {
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 300;
  color: var(--ink-muted);
  padding: 12px 16px;
  background: var(--bg-alt);
  border-radius: 8px;
  border-left: 2px solid transparent;
  line-height: 1.45;
}
.c-case__gap-col:last-child li {
  color: var(--ink);
  border-left-color: var(--ocean);
  background: rgba(79,143,192,.05);
}

.c-case__gap-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-size: 1.5rem;
  color: var(--ink-muted);
  padding-top: 52px;
}

/* ── Orion: audit severity bars ── */
.c-case__audit-bars {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.c-case__audit-row {
  display: grid;
  grid-template-columns: 80px 1fr 36px;
  gap: 16px;
  align-items: center;
}
@media(max-width:600px) { .c-case__audit-row { grid-template-columns: 64px 1fr 28px; gap: 10px; } }

.c-case__audit-level {
  font-family: var(--font-body);
  font-size: .78rem;
  font-weight: 600;
  color: var(--ink-muted);
  text-align: right;
}

.c-case__audit-bar-wrap {
  height: 10px;
  background: var(--rule);
  border-radius: 100px;
  overflow: hidden;
}

.c-case__audit-fill {
  height: 100%;
  width: var(--bar-w, 100%);
  border-radius: 100px;
  background: var(--ink);
  transform-origin: left;
  animation: barGrow .8s cubic-bezier(.215,.61,.355,1) forwards;
}
.c-case__audit-fill--high { background: #5FA8D3; }
.c-case__audit-fill--med  { background: rgba(79,143,192,.45); }
.c-case__audit-fill--low  { background: rgba(79,143,192,.2); }

@keyframes barGrow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

.c-case__audit-count {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--ink);
  text-align: center;
}

.c-case__audit-note-row {
  font-family: var(--font-body);
  font-size: .78rem;
  color: var(--ink-muted);
  font-weight: 300;
  display: block;
  margin-top: 4px;
  grid-column: 2 / 4;
}

.c-case__audit-footer {
  max-width: 1100px;
  margin: 32px auto 0;
  padding-top: 24px;
  border-top: 1px solid var(--rule);
  font-family: var(--font-body);
  font-size: .84rem;
  font-weight: 300;
  color: var(--ink-muted);
  line-height: 1.65;
}

/* ─────────────────────────────────────────────
   CLIENTS STRIP
───────────────────────────────────────────── */
.c-clients {
  padding: 56px 40px;
  border-top: 1px solid var(--rule);
  background: var(--bg);
}
@media(max-width:600px) { .c-clients { padding: 48px 20px; } }

.c-clients__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 32px;
}
@media(max-width:760px) { .c-clients__inner { flex-direction: column; align-items: flex-start; gap: 18px; } }

.c-clients__label {
  font-family: var(--font-body);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-muted);
  white-space: nowrap;
  flex-shrink: 0;
}

.c-clients__marquee {
  flex: 1;
  overflow: hidden;
  position: relative;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
@media(max-width:760px) { .c-clients__marquee { width: 100%; } }

.c-clients__track {
  display: flex;
  gap: 18px;
  width: max-content;
  animation: lxMarquee 42s linear infinite;
}
.c-clients__marquee:hover .c-clients__track { animation-play-state: paused; }

.c-clients__item {
  flex-shrink: 0;
  width: 132px;
  height: 132px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 12px;
  border: 1px solid var(--rule);
  border-radius: 18px;
  background: var(--bg);
  text-decoration: none;
  color: var(--ink);
  transition: border-color .25s ease, background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.c-clients__item:hover {
  border-color: var(--coral);
  background: var(--bg);
  transform: translateY(-3px);
  box-shadow: 0 16px 38px -22px rgba(38,100,142,.45);
}

.c-clients__logo {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--bg-alt, #F4F4F4);
  color: var(--coral);
  transition: background-color .25s ease, color .25s ease;
}
.c-clients__item:hover .c-clients__logo { background: var(--coral); color: #fff; }

.c-clients__name {
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -.01em;
  text-align: center;
  line-height: 1.15;
}

@media (prefers-reduced-motion: reduce) {
  .c-clients__track { animation: none; }
}

/* ─────────────────────────────────────────────
   ABOUT SNIPPET (home page teaser)
───────────────────────────────────────────── */
.c-about-snap {
  padding: 100px 40px;
  background: var(--bg);
  border-top: 1px solid var(--rule);
}
@media(max-width:600px) { .c-about-snap { padding: 80px 20px; } }

.c-about-snap__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
@media(max-width:760px) { .c-about-snap__inner { grid-template-columns: 1fr; gap: 48px; } }

.c-about-snap__heading {
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--ink);
  margin-bottom: 24px;
}

.c-about-snap__body {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--ink-muted);
  line-height: 1.75;
  margin-bottom: 36px;
  max-width: 480px;
}

.c-about-snap__img {
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
  background: var(--bg-alt);
}
.c-about-snap__img img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: saturate(.85) brightness(.92);
  transition: transform .6s cubic-bezier(.215,.61,.355,1);
}
.c-about-snap__img:hover img { transform: scale(1.04); }

.c-about-snap__team-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 36px;
  padding-top: 32px;
  border-top: 1px solid var(--rule);
}

.c-about-snap__avatars {
  display: flex;
  margin-right: 4px;
}

.c-about-snap__avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 2px solid var(--bg);
  overflow: hidden;
  margin-left: -10px;
  background: var(--bg-alt);
}
.c-about-snap__avatar:first-child { margin-left: 0; }
.c-about-snap__avatar img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
}

.c-about-snap__team-label {
  font-family: var(--font-body);
  font-size: .85rem;
  font-weight: 300;
  color: var(--ink-muted);
  line-height: 1.4;
}
.c-about-snap__team-label strong {
  font-weight: 600;
  color: var(--ink);
  display: block;
  font-family: var(--font-head);
  font-size: .9rem;
  letter-spacing: -.01em;
}
.c-about-snap__team-label a {
  color: var(--ocean);
  text-decoration: none;
  font-weight: 400;
  font-size: .82rem;
  transition: opacity .2s;
}
.c-about-snap__team-label a:hover { opacity: .7; }

/* ─────────────────────────────────────────────
   TEAM SECTION (about page)
───────────────────────────────────────────── */
.c-team {
  padding: 100px 40px;
  background: var(--bg);
}
@media(max-width:600px) { .c-team { padding: 80px 20px; } }

.c-team__inner { max-width: 1320px; margin: 0 auto; }

.c-team__heading {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--ink);
  margin-bottom: 64px;
}

.c-team__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
@media(max-width:900px) { .c-team__grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:560px) { .c-team__grid { grid-template-columns: 1fr; } }

.c-team__card {}

.c-team__photo {
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 3/4;
  background: var(--bg-alt);
  position: relative;
  margin-bottom: 20px;
}
.c-team__photo img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: saturate(.8) brightness(.95);
  transition: transform .5s cubic-bezier(.215,.61,.355,1);
}
.c-team__card:hover .c-team__photo img { transform: scale(1.04); }

.c-team__photo-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(13,46,66,.25) 100%);
}

.c-team__name {
  font-family: var(--font-head);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--ink);
  margin-bottom: 4px;
}

.c-team__role {
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ocean);
  margin-bottom: 12px;
}

.c-team__bio {
  font-family: var(--font-body);
  font-size: .9625rem;
  font-weight: 500;
  color: var(--ink-muted);
  line-height: 1.7;
  margin-bottom: 16px;
}

.c-team__linkedin {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 500;
  color: var(--ocean);
  text-decoration: none;
  border-bottom: 1px solid rgba(79,143,192,.25);
  transition: border-color .2s, opacity .2s;
}
.c-team__linkedin:hover { border-color: var(--ocean); opacity: .8; }
.c-team__linkedin svg { width: 13px; height: 13px; }

/* ─────────────────────────────────────────────
   VALUES SECTION (about page)
───────────────────────────────────────────── */
.c-values {
  background: var(--ink);
  padding: 100px 40px;
  color: #fff;
}
@media(max-width:600px) { .c-values { padding: 80px 20px; } }

.c-values__inner { max-width: 1320px; margin: 0 auto; }

.c-values__heading {
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 700;
  color: #fff;
  margin-bottom: 72px;
}

.c-values__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
@media(max-width:700px) { .c-values__grid { grid-template-columns: 1fr; } }

.c-values__item {
  border-top: 1px solid rgba(255,255,255,.12);
  padding: 48px 0;
}
.c-values__item:nth-child(odd) { padding-right: 60px; border-right: 1px solid rgba(255,255,255,.12); }
.c-values__item:nth-child(even) { padding-left: 60px; }
.c-values__item:last-child,
.c-values__item:nth-last-child(2):nth-child(odd) { border-bottom: 1px solid rgba(255,255,255,.12); }
@media(max-width:700px) {
  .c-values__item:nth-child(odd),
  .c-values__item:nth-child(even) { padding: 36px 0; border-right: none; }
  .c-values__item:last-child { border-bottom: 1px solid rgba(255,255,255,.12); }
}

.c-values__num {
  font-family: var(--font-body);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ocean);
  display: block;
  margin-bottom: 20px;
}

.c-values__title {
  font-family: var(--font-head);
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-weight: 800;
  letter-spacing: -.025em;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.1;
}

.c-values__desc {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 500;
  color: rgba(255,255,255,.82);
  line-height: 1.75;
  max-width: 380px;
}

/* ─────────────────────────────────────────────
   STUDIO STORY (about page)
───────────────────────────────────────────── */
.c-story {
  padding: 100px 40px;
  background: var(--bg-alt);
}
@media(max-width:600px) { .c-story { padding: 80px 20px; } }

.c-story__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
@media(max-width:760px) { .c-story__inner { grid-template-columns: 1fr; gap: 48px; } }

.c-story__label {
  font-family: var(--font-body);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ocean);
  display: block;
  margin-bottom: 24px;
}

.c-story__heading {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.05;
  color: var(--ink);
  margin-bottom: 0;
}

.c-story__body {
  padding-top: 8px;
}

.c-story__body p {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--ink-muted);
  line-height: 1.8;
  margin-bottom: 20px;
}

.c-story__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid var(--rule);
}

.c-story__stat-num {
  font-size: clamp(2.4rem, 4vw, 3.5rem);
  font-weight: 700;
  font-style: italic;
  color: var(--ink);
  display: block;
}

.c-story__stat-label {
  font-family: var(--font-body);
  font-size: .85rem;
  font-weight: 300;
  color: var(--ink-muted);
  margin-top: 6px;
  display: block;
}

/* ─────────────────────────────────────────────
   CONTACT INFO COLUMNS (contact page)
───────────────────────────────────────────── */
.c-contact-cols {
  padding: 80px 40px 0;
  background: var(--bg-alt);
}
@media(max-width:600px) { .c-contact-cols { padding: 60px 20px 0; } }

.c-contact-cols__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  border-radius: 16px;
  overflow: hidden;
}
@media(max-width:700px) { .c-contact-cols__inner { grid-template-columns: 1fr; } }

.c-contact-col {
  background: var(--bg-alt);
  padding: 40px 36px;
  transition: background .2s;
}
.c-contact-col:hover { background: var(--bg); }

.c-contact-col__label {
  font-family: var(--font-body);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ocean);
  display: block;
  margin-bottom: 12px;
}

.c-contact-col__heading {
  font-family: var(--font-head);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--ink);
  margin-bottom: 10px;
}

.c-contact-col__desc {
  font-family: var(--font-body);
  font-size: .9425rem;
  font-weight: 500;
  color: var(--ink-muted);
  line-height: 1.65;
  margin-bottom: 20px;
}

.c-contact-col__link {
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 500;
  color: var(--ocean);
  text-decoration: none;
  border-bottom: 1px solid rgba(79,143,192,.3);
  transition: border-color .2s;
  display: inline-block;
}
.c-contact-col__link:hover { border-color: var(--ocean); }

/* ─────────────────────────────────────────────
   FOOTER v2 — rich multi-column
───────────────────────────────────────────── */
.c-footer {
  background: var(--ink);
  padding: 72px 40px 0;
}
@media(max-width:600px) { .c-footer { padding: 60px 20px 0; } }

.c-footer__top {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 64px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
@media(max-width:960px) { .c-footer__top { grid-template-columns: 1fr 1fr; } }
@media(max-width:560px) { .c-footer__top { grid-template-columns: 1fr; gap: 36px; } }

.c-footer__logo {
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -.03em;
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}

.c-footer__tagline {
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 300;
  color: rgba(255,255,255,.8);
  line-height: 1.6;
  margin-bottom: 28px;
}

.c-footer__contact-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-footer__location {
  font-family: var(--font-body);
  font-size: .82rem;
  font-weight: 300;
  color: rgba(255,255,255,.75);
}

.c-footer__email {
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 400;
  color: rgba(255,255,255,.88);
  text-decoration: none;
  transition: color .2s;
}
.c-footer__email:hover { color: #fff; }

.c-footer__col-label {
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  display: block;
  margin-bottom: 20px;
}

.c-footer__nav {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-footer__nav a {
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 300;
  color: rgba(255,255,255,.82);
  text-decoration: none;
  transition: color .2s;
}
.c-footer__nav a:hover { color: #fff; }

.c-footer__social {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-footer__social-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 300;
  color: rgba(255,255,255,.82);
  text-decoration: none;
  transition: color .2s;
}
.c-footer__social-link:hover { color: #fff; }

.c-footer__social-link svg {
  width: 16px; height: 16px;
  opacity: .6;
  transition: opacity .2s;
  flex-shrink: 0;
}
.c-footer__social-link:hover svg { opacity: 1; }

.c-footer__bottom {
  max-width: 1320px;
  margin: 0 auto;
  padding: 28px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.c-footer__copy {
  font-family: var(--font-body);
  font-size: .8rem;
  color: rgba(255,255,255,.3);
}

.c-footer__up {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: .8rem;
  color: rgba(255,255,255,.35);
  text-decoration: none;
  transition: color .2s;
}
.c-footer__up:hover { color: rgba(255,255,255,.8); }

/* ─────────────────────────────────────────────
   DISPLAY HEADINGS (Inter, tight tracking)
───────────────────────────────────────────── */
.c-hero__heading,
.c-page-hero__heading,
.c-cap__title,
.c-story__heading,
.c-values__title,
.c-team__heading,
.c-process__heading,
.c-work__heading,
.c-sectors__heading,
.c-thumb__title,
.c-faq__heading,
.c-cta__text,
.c-values__heading,
.c-story__stat-num {
  font-family: var(--font-head);
  font-weight: 700;
  letter-spacing: -.04em;
}
.c-case__body h3 {
  font-family: var(--font-head);
  font-weight: 600;
  letter-spacing: -.025em;
}

/* ─────────────────────────────────────────────
   MOBILE RESPONSIVENESS FIXES
───────────────────────────────────────────── */

/* Prevent horizontal overflow globally */
html, body { overflow-x: clip; }

/* Clients strip: stack label + names on mobile */
@media(max-width:600px) {
  .c-clients__inner { flex-direction: column; align-items: flex-start; gap: 16px; }
  .c-clients__label { white-space: normal; }
}

/* Splash: taller on small screens so text doesn't crop */
@media(max-width:500px) {
  .c-splash__inner { aspect-ratio: 4/3; }
}

/* Sectors marquee: prevent bleed */
.c-sectors__track-wrap { overflow: hidden; max-width: 100%; }

/* Footer: ensure proper stacking */
@media(max-width:560px) {
  .c-footer__bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* Work header: stack on small screens */
@media(max-width:480px) {
  .c-work__header { flex-direction: column; align-items: flex-start; }
}

/* Case study meta: 2 cols on tiny screens */
@media(max-width:400px) {
  .c-case__meta { grid-template-columns: 1fr 1fr; }
}

/* Cap grid: ensure no overflow on tablet */
@media(max-width:760px) {
  .c-cap__grid { grid-template-columns: 1fr; gap: 32px; }
  .c-cap__media { order: -1; }
  .c-cap__grid--reverse .c-cap__media { order: -1; }
}

/* Page hero: more breathing room on mobile */
@media(max-width:400px) {
  .c-page-hero { padding: 110px 16px 48px; }
  .c-page-hero__heading { font-size: clamp(2rem, 9vw, 3.5rem); }
}

/* ─────────────────────────────────────────────
   AVAILABILITY SIGNAL
───────────────────────────────────────────── */
.c-hero__avail {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .8rem;
  font-family: var(--font-body);
  color: var(--ink-muted);
  letter-spacing: .01em;
}
.c-hero__avail-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #3db57a;
  flex-shrink: 0;
  box-shadow: 0 0 0 0 rgba(61,181,122,.4);
  animation: avail-pulse 2.4s ease-in-out infinite;
}
@keyframes avail-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(61,181,122,.4); }
  50%      { box-shadow: 0 0 0 6px rgba(61,181,122,0); }
}

/* ─────────────────────────────────────────────
   WHO WE WORK WITH (c-fit)
───────────────────────────────────────────── */
.c-fit {
  padding: 80px 0;
  border-bottom: 1px solid var(--rule);
}
.c-fit__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 clamp(16px, 5vw, 80px);
}
.c-fit__heading {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 600;
  margin-bottom: 48px;
  color: var(--ink);
}
.c-fit__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media(max-width:760px) {
  .c-fit__grid { grid-template-columns: 1fr; gap: 28px; }
}
.c-fit__item {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.c-fit__icon {
  font-size: 1.1rem;
  color: var(--ocean);
  flex-shrink: 0;
  margin-top: 2px;
  font-family: var(--font-body);
}
.c-fit__title {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 8px;
  color: var(--ink);
}
.c-fit__desc {
  font-size: .9625rem;
  font-weight: 500;
  line-height: 1.65;
  color: var(--ink-muted);
}

/* ─────────────────────────────────────────────
   SCOPE SIGNAL (services page)
───────────────────────────────────────────── */
.c-scope {
  padding: 80px 0;
  border-top: 1px solid var(--rule);
}
.c-scope__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 clamp(16px, 5vw, 80px);
}
.c-scope__heading {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 600;
  margin-bottom: 48px;
  color: var(--ink);
}
.c-scope__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
@media(max-width:900px) {
  .c-scope__grid { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width:500px) {
  .c-scope__grid { grid-template-columns: 1fr; }
}
.c-scope__item {
  border-top: 2px solid var(--ocean);
  padding-top: 24px;
}
.c-scope__label {
  display: block;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: .95rem;
  color: var(--ink);
  margin-bottom: 6px;
}
.c-scope__duration {
  display: block;
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 600;
  color: var(--ocean);
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.c-scope__desc {
  font-size: .875rem;
  line-height: 1.65;
  color: var(--ink-muted);
}

/* ─────────────────────────────────────────────
   FOOTER LEGAL NAV
───────────────────────────────────────────── */
.c-footer__legal {
  display: flex;
  gap: 16px;
}
.c-footer__legal a {
  font-size: .8rem;
  color: rgba(255,255,255,.35);
  text-decoration: none;
  transition: color .2s;
}
.c-footer__legal a:hover { color: rgba(255,255,255,.75); }

/* ─────────────────────────────────────────────
   MENU FOOTER LINKEDIN
───────────────────────────────────────────── */
.c-menu__footer a + a {
  margin-top: 4px;
}

/* ─────────────────────────────────────────────
   CASE STUDY PAGES
───────────────────────────────────────────── */
.c-case-hero { position: relative; }
.c-case-hero__back {
  display: inline-block;
  font-size: .85rem;
  font-family: var(--font-body);
  color: var(--ink-muted);
  text-decoration: none;
  margin-bottom: 20px;
  transition: color .2s;
}
.c-case-hero__back:hover { color: var(--ink); }
.c-case-hero__tags {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.c-case-cover {
  width: 100%;
  max-height: 520px;
  overflow: hidden;
}
.c-case-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.c-case-body {
  padding: 64px 0 80px;
}
.c-case-body__inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 clamp(16px, 5vw, 60px);
}
.c-case-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 32px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  margin-bottom: 56px;
}
@media(max-width:560px) {
  .c-case-meta { grid-template-columns: 1fr 1fr; }
}
.c-case-meta__label {
  display: block;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 6px;
}
.c-case-meta__value {
  display: block;
  font-size: .95rem;
  font-weight: 500;
  color: var(--ink);
}
.c-case-content {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.c-case-section__heading {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 16px;
}
.c-case-section__body {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--ink);
  max-width: 68ch;
}

/* ─────────────────────────────────────────────
   LUNOX-STYLE: HERO ADDITIONS (eyebrow, dual CTAs)
───────────────────────────────────────────── */
.c-hero--lunox {
  justify-content: center;
  padding-top: 140px;
  padding-bottom: 120px;
}
@media(max-width:600px) { .c-hero--lunox { padding-top: 120px; padding-bottom: 80px; } }

.c-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 28px;
  padding: 8px 16px 8px 14px;
  border: 1px solid var(--rule);
  border-radius: 100px;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.c-hero__eyebrow-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--coral);
  box-shadow: 0 0 0 4px rgba(230,57,70,.18);
}

.c-hero__lede {
  font-family: var(--font-body);
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  font-weight: 500;
  color: var(--ink-muted);
  line-height: 1.65;
  max-width: 640px;
  margin-top: 8px;
  margin-bottom: 36px;
}

.c-hero__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}

.c-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: -.005em;
  text-decoration: none;
  border-radius: 100px;
  padding: 14px 26px;
  transition: background .25s ease, color .25s ease, border-color .25s ease, gap .25s ease, transform .25s ease;
  cursor: pointer;
}
.c-btn--filled {
  background: var(--ink);
  color: #fff;
  border: 1px solid var(--ink);
}
.c-btn--filled:hover {
  background: var(--coral);
  border-color: var(--coral);
  gap: 14px;
}
.c-btn--ghost {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--ink);
}
.c-btn--ghost:hover {
  background: var(--ink);
  color: #fff;
}

.c-hero--lunox .c-hero__avail {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: .82rem;
  color: var(--ink-muted);
  margin-left: 8px;
}
.c-hero--lunox .c-hero__avail-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--coral);
  animation: heroPulse 1.8s ease-in-out infinite;
}
@keyframes heroPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(230,57,70,.5); }
  50%      { box-shadow: 0 0 0 6px rgba(230,57,70,0); }
}

/* ─────────────────────────────────────────────
   LUNOX-STYLE: FEATURED PLACEHOLDERS ROW
───────────────────────────────────────────── */
.c-feat {
  background: var(--bg);
  padding: 24px 40px 80px;
}
@media(max-width:600px) { .c-feat { padding: 16px 20px 60px; } }

.c-feat__inner { max-width: 1320px; margin: 0 auto; }

.c-feat__row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media(max-width:900px) { .c-feat__row { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:520px) { .c-feat__row { grid-template-columns: 1fr; } }

.c-feat-card {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 4/5;
  background: var(--bg-alt);
  border: 1px solid var(--rule);
  transition: transform .5s cubic-bezier(.215,.61,.355,1), box-shadow .5s ease, border-color .3s ease;
  transition-delay: var(--d, 0s);
  cursor: pointer;
}
.c-feat-card:hover {
  transform: translateY(-6px);
  border-color: var(--coral);
  box-shadow: 0 30px 60px -30px rgba(13,46,66,.35);
}

.c-feat-card__media {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 20%, rgba(79,143,192,.45), transparent 55%),
    radial-gradient(circle at 80% 80%, rgba(230,57,70,.35), transparent 55%),
    linear-gradient(135deg, var(--bg-ocean) 0%, var(--bg-alt) 100%);
  transition: transform .9s cubic-bezier(.215,.61,.355,1), filter .4s ease;
}
.c-feat-card__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(45deg, transparent 0 14px, rgba(13,46,66,.04) 14px 15px);
  mix-blend-mode: multiply;
}
.c-feat-card:hover .c-feat-card__media { transform: scale(1.06); filter: brightness(1.04); }

.c-feat-card__tag {
  position: absolute;
  bottom: 14px; left: 14px;
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink);
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(8px);
  padding: 6px 12px;
  border-radius: 100px;
  z-index: 2;
}

/* ─────────────────────────────────────────────
   LUNOX-STYLE: WORK alternating block extras
───────────────────────────────────────────── */
.c-capabilities--work .c-cap__item:first-of-type { border-top: 1px solid var(--rule); }

.c-cap__eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 500;
  color: var(--coral);
  margin-bottom: 32px;
  letter-spacing: .02em;
}

.c-cap__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -8px 0 18px;
}
.c-cap__tags span {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--rule);
  border-radius: 100px;
  padding: 5px 12px;
}

.c-cap__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1.5px solid var(--ink);
  padding-bottom: 3px;
  margin-top: 8px;
  transition: color .2s ease, border-color .2s ease, gap .2s ease;
}
.c-cap__link:hover { color: var(--coral); border-color: var(--coral); gap: 14px; }

.c-cap__media {
  display: block;
  text-decoration: none;
  color: inherit;
}

.c-cap__footer {
  display: flex;
  justify-content: center;
  padding: 56px 40px 100px;
}
@media(max-width:600px) { .c-cap__footer { padding: 40px 20px 72px; } }

/* ─────────────────────────────────────────────
   LUNOX-STYLE: ABOUT (2-col image + text)
───────────────────────────────────────────── */
.c-about-lx {
  background: var(--bg);
  padding: 120px 40px;
}
@media(max-width:600px) { .c-about-lx { padding: 80px 20px; } }

.c-about-lx__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 88px;
  align-items: center;
}
@media(max-width:900px) { .c-about-lx__inner { grid-template-columns: 1fr; gap: 48px; } }

.c-about-lx__media {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/5;
  background: var(--bg-alt);
}
.c-about-lx__media img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .8s cubic-bezier(.215,.61,.355,1);
}
.c-about-lx__media:hover img { transform: scale(1.04); }

.c-about-lx__media-tint {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(13,46,66,.05) 0%, rgba(13,46,66,.25) 100%);
  pointer-events: none;
  z-index: 1;
}

.c-about-lx__badge {
  position: absolute;
  top: 18px; left: 18px;
  z-index: 2;
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink);
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(8px);
  padding: 7px 14px;
  border-radius: 100px;
}

.c-about-lx__text { max-width: 520px; }

.c-about-lx__eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 500;
  color: var(--coral);
  margin-bottom: 24px;
  letter-spacing: .02em;
}

.c-about-lx__heading {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 3.6rem);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.1;
  color: var(--ink);
  margin-bottom: 28px;
}
.c-about-lx__heading em {
  font-style: italic;
  color: var(--coral);
  font-weight: 700;
}

.c-about-lx__body {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--ink-muted);
  line-height: 1.75;
  margin-bottom: 18px;
}

.c-about-lx__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  font-family: var(--font-body);
  font-size: .95rem;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1.5px solid var(--ink);
  padding-bottom: 4px;
  transition: color .2s ease, border-color .2s ease, gap .2s ease;
}
.c-about-lx__cta:hover { color: var(--coral); border-color: var(--coral); gap: 14px; }

/* ─────────────────────────────────────────────
   LUNOX-STYLE: STATS COUNTER
───────────────────────────────────────────── */
.c-stats {
  background: var(--bg);
  padding: 100px 40px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
@media(max-width:600px) { .c-stats { padding: 72px 20px; } }

.c-stats__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px;
}
@media(max-width:900px) { .c-stats__inner { grid-template-columns: repeat(2, 1fr); gap: 56px 32px; } }
@media(max-width:520px) { .c-stats__inner { grid-template-columns: 1fr; } }

.c-stat__num {
  font-family: var(--font-serif);
  font-size: clamp(3rem, 6vw, 5.5rem);
  font-weight: 700;
  letter-spacing: -.04em;
  color: var(--ink);
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 16px;
}
.c-stat__suffix {
  font-size: .55em;
  color: var(--coral);
  font-weight: 600;
}
.c-stat__label {
  font-family: var(--font-body);
  font-size: .85rem;
  font-weight: 500;
  letter-spacing: .02em;
  color: var(--ink-muted);
  line-height: 1.5;
  max-width: 220px;
}

/* ─────────────────────────────────────────────
   LUNOX-STYLE: SERVICES 4-COL GRID (w/ expand)
───────────────────────────────────────────── */
.c-svc-grid {
  background: var(--bg);
  padding: 100px 40px;
}
@media(max-width:600px) { .c-svc-grid { padding: 72px 20px; } }

.c-svc-grid__inner { max-width: 1320px; margin: 0 auto; }

.c-svc-grid__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 56px;
  flex-wrap: wrap;
}
.c-svc-grid__heading {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.05;
  color: var(--ink);
  max-width: 720px;
}
.c-svc-grid__eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 500;
  color: var(--coral);
  margin-bottom: 16px;
  letter-spacing: .02em;
}
.c-svc-grid__header > .c-svc-grid__eyebrow + .c-svc-grid__heading { margin-top: 4px; }
.c-svc-grid__heading em {
  font-style: italic;
  color: var(--coral);
  font-weight: 700;
}
.c-svc-grid__sub {
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--ink-muted);
  line-height: 1.65;
  max-width: 320px;
}

.c-svc-grid__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media(max-width:1000px) { .c-svc-grid__list { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:560px)  { .c-svc-grid__list { grid-template-columns: 1fr; } }

.c-svc-card {
  background: var(--bg-alt);
  border: 1px solid var(--rule);
  border-radius: 16px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: background .3s ease, border-color .3s ease, transform .3s cubic-bezier(.215,.61,.355,1);
  cursor: pointer;
  min-height: 320px;
  position: relative;
}
.c-svc-card:hover {
  background: var(--bg);
  border-color: var(--coral);
  transform: translateY(-4px);
}

.c-svc-card__icon {
  width: 56px; height: 56px;
  border-radius: 12px;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--coral);
  border: 1px solid var(--rule);
  transition: background .3s, color .3s;
}
.c-svc-card:hover .c-svc-card__icon {
  background: var(--coral);
  color: #fff;
  border-color: var(--coral);
}
.c-svc-card__icon svg { width: 26px; height: 26px; }

.c-svc-card__title {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--ink);
  line-height: 1.2;
}

.c-svc-card__desc {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink-muted);
  line-height: 1.6;
  flex: 1;
}

.c-svc-card__more {
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--coral);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap .25s ease;
  margin-top: auto;
}
.c-svc-card:hover .c-svc-card__more { gap: 12px; }

/* ─────────────────────────────────────────────
   LUNOX-STYLE: INSIGHTS / BLOG 3-COL
───────────────────────────────────────────── */
.c-insights {
  background: var(--bg-alt);
  padding: 100px 40px;
  border-top: 1px solid var(--rule);
}
@media(max-width:600px) { .c-insights { padding: 72px 20px; } }

.c-insights__inner { max-width: 1320px; margin: 0 auto; }

.c-insights__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 56px;
  flex-wrap: wrap;
}
.c-insights__heading {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--ink);
}
.c-insights__all {
  font-family: var(--font-body);
  font-size: .95rem;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1.5px solid var(--ink);
  padding-bottom: 2px;
  transition: color .2s ease, border-color .2s ease, gap .2s ease;
}
.c-insights__all:hover { color: var(--coral); border-color: var(--coral); gap: 14px; }

.c-insights__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
@media(max-width:900px) { .c-insights__grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:600px) { .c-insights__grid { grid-template-columns: 1fr; } }

.c-insight {
  display: flex;
  flex-direction: column;
  background: var(--bg);
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--rule);
  transition: transform .35s cubic-bezier(.215,.61,.355,1), box-shadow .35s ease;
}
.c-insight:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px -22px rgba(13,46,66,.25);
}

.c-insight__img {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
}
.c-insight__img img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.215,.61,.355,1);
}
.c-insight:hover .c-insight__img img { transform: scale(1.05); }

.c-insight__cat {
  position: absolute;
  top: 14px; left: 14px;
  background: var(--coral);
  color: #fff;
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 100px;
  z-index: 2;
}

.c-insight__body {
  padding: 24px 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.c-insight__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-body);
  font-size: .75rem;
  color: var(--ink-muted);
  letter-spacing: .04em;
}
.c-insight__meta span + span::before {
  content: '·';
  margin-right: 12px;
  opacity: .5;
}

.c-insight__title {
  font-family: var(--font-serif);
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -.015em;
  color: var(--ink);
  line-height: 1.3;
  transition: color .2s ease;
}
.c-insight:hover .c-insight__title { color: var(--coral); }

.c-insight__excerpt {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink-muted);
  line-height: 1.6;
  margin-top: auto;
}

/* ─────────────────────────────────────────────
   LUNOX-STYLE: CORAL ACCENT OVERRIDES (CTA emphasis)
───────────────────────────────────────────── */
.c-hero__heading::after { background: var(--coral); }
.c-hero__arrow-btn:hover { color: var(--coral); border-color: var(--coral); }
.c-cta__btn:hover { color: var(--coral); border-color: var(--coral); }
.c-work__all:hover { color: var(--coral); border-color: var(--coral); }

.c-hero__avail-dot { background: var(--coral) !important; }

/* ─────────────────────────────────────────────
   REDUCED MOTION
───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .drift-char { opacity: 1 !important; transform: none !important; transition: none !important; }
  .reveal-up  { opacity: 1 !important; transform: none !important; transition: none !important; }
  .reveal-fade { opacity: 1 !important; transition: none !important; }
  .c-sectors__track { animation: none !important; }
  .c-hero__down-line { animation: none !important; transform: scaleY(1); }
  .c-hero__down svg { animation: none !important; }
  * { transition-duration: .01ms !important; }
}


/* ═════════════════════════════════════════════════════════════════
   LUNOX-STYLE ANIMATIONS
═════════════════════════════════════════════════════════════════ */

html { scroll-behavior: smooth; }

/* Image clip reveal — bottom-up curtain rise */
.lx-clip { clip-path: inset(0 0 100% 0); transition: clip-path 1.1s cubic-bezier(.65,.05,.36,1); }
.lx-clip.is-in { clip-path: inset(0 0 0 0); }

/* Scale + fade in */
.lx-scale { opacity: 0; transform: scale(.94); transition: opacity .8s cubic-bezier(.215,.61,.355,1), transform .8s cubic-bezier(.215,.61,.355,1); }
.lx-scale.is-in { opacity: 1; transform: scale(1); }

/* Line mask — text slides up from inside overflow-hidden line */
.lx-line { display: inline-block; overflow: hidden; vertical-align: top; line-height: 1.1; padding-bottom: .08em; }
.lx-line__inner { display: inline-block; transform: translateY(110%); transition: transform 1s cubic-bezier(.65,.05,.36,1); }
.lx-line.is-in .lx-line__inner { transform: translateY(0); }

/* Character stagger */
[data-stagger] .lx-ch { display: inline-block; opacity: 0; transform: translateY(60%); transition: opacity .55s ease, transform .8s cubic-bezier(.215,.61,.355,1); will-change: opacity, transform; }
[data-stagger].is-in .lx-ch { opacity: 1; transform: translateY(0); }

/* Magnetic — buttons follow cursor */
.lx-magnetic { display: inline-flex; transition: transform .35s cubic-bezier(.215,.61,.355,1); will-change: transform; }

/* Parallax */
[data-parallax] { will-change: transform; transform: translate3d(0, var(--y, 0px), 0); }

/* Section heading rise on scroll-in */
.lx-rise { opacity: 0; transform: translateY(40px); transition: opacity .9s cubic-bezier(.215,.61,.355,1), transform .9s cubic-bezier(.215,.61,.355,1); }
.lx-rise.is-in { opacity: 1; transform: translateY(0); }

/* Underline reveal on big text links */
a:where(.c-lx-cta__link, .c-lx-arrow-link) {
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 1.5px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size .45s cubic-bezier(.65,.05,.36,1), color .25s ease, border-color .25s ease, gap .25s ease;
}
a:where(.c-lx-cta__link, .c-lx-arrow-link):hover { background-size: 100% 1.5px; }

/* Page entrance — body fades in on load */
body { opacity: 0; transition: opacity .55s ease; }
body.lx-loaded { opacity: 1; }

/* Lenis smooth-scroll requirements */
html.lenis-on { height: auto; }
html.lenis-on, html.lenis-on body { overscroll-behavior: contain; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: clip; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* SCROLL-PROGRESS TEXT FILL — per-element gradient */
[data-scroll-fill] {
  background-image: linear-gradient(
    to right,
    var(--ink) 0%,
    var(--ink) var(--p, 0%),
    rgba(0,0,0,.18) var(--p, 0%),
    rgba(0,0,0,.18) 100%
  );
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* Per-line scroll reveal — words start blurred + faded, sharpen on scroll */
.lx-charreveal { color: var(--ink); }
.lx-charreveal .lx-w {
  display: inline-block;
  filter: blur(6px);
  opacity: .18;
  transition: filter .35s ease, opacity .35s ease;
  will-change: filter, opacity;
}
.lx-charreveal .lx-w.is-lit {
  filter: blur(0);
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .lx-charreveal .lx-w { filter: none; opacity: 1; }
}

/* PER-LINE SCRUB REVEAL — Lunox signature, lines fill l-to-r as scroll passes */
[data-line-mask] .lx-mline {
  display: block;
  position: relative;
}
[data-line-mask] .lx-mline__inner {
  display: inline;
  background-image: linear-gradient(
    to right,
    var(--ink) 0%,
    var(--ink) var(--p, 0%),
    rgba(0,0,0,.16) var(--p, 0%),
    rgba(0,0,0,.16) 100%
  );
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
[data-line-mask].is-light .lx-mline__inner {
  background-image: linear-gradient(
    to right,
    #fff 0%,
    #fff var(--p, 0%),
    rgba(255,255,255,.22) var(--p, 0%),
    rgba(255,255,255,.22) 100%
  );
}

/* Responsive sweep — extra mobile tightening */
@media (max-width: 600px) {
  .c-lx-hero2__heading,
  .c-lx-abh__heading,
  .c-lx-wkh__heading,
  .c-lx-svh__heading,
  .c-lx-cnh__heading {
    font-size: clamp(2.6rem, 11vw, 4rem);
    letter-spacing: -.04em;
  }
  .c-lx-hero2__inner,
  .c-lx-abh__inner,
  .c-lx-wkh__inner,
  .c-lx-svh__inner,
  .c-lx-cnh__inner { padding: 60px 0 40px; }

  .c-lx-aus__heading {
    font-size: clamp(1.4rem, 7vw, 2rem);
  }
  .c-lx-aus__body p,
  .c-lx-about2__copy p {
    font-size: clamp(1.1rem, 4.6vw, 1.5rem);
  }

  .c-lx-cta__inner { gap: 18px; padding: 60px 0; }
  .c-lx-cta__label { font-size: clamp(2rem, 9vw, 2.6rem); }
  .c-lx-cta__link { font-size: clamp(1.2rem, 6vw, 1.8rem); }

  .c-lx-foot__top, .c-lx-foot__inner { gap: 36px; }
  .c-lx-foot__col--brand { padding-right: 0; border-right: none; }

  .c-lx-nav__cta { padding: 10px 18px; font-size: .85rem; }
  .c-lx-nav__brand { font-size: 1.15rem; }
}

/* Tablet tightening */
@media (max-width: 900px) and (min-width: 601px) {
  .c-lx-foot__top, .c-lx-foot__inner { gap: 40px; }
  .c-lx-cta__inner { gap: 24px; }
}

/* Image safety net — broken images still get fallback gradient */
.c-lx-ph img { background: var(--bg-alt); }
img { max-width: 100%; height: auto; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .lx-clip { clip-path: none !important; }
  .lx-scale, .lx-rise { opacity: 1 !important; transform: none !important; }
  .lx-line__inner { transform: none !important; }
  [data-stagger] .lx-ch { opacity: 1 !important; transform: none !important; }
  [data-parallax] { transform: none !important; }
  body { opacity: 1; }
}


/* ═════════════════════════════════════════════════════════════════
   LUNOX-INSPIRED FRESH SYSTEM (c-lx-*)
   Tokens applied; structure inspired; markup/copy original.
═════════════════════════════════════════════════════════════════ */

body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--ink);
  font-size: var(--fs-body);
  line-height: var(--lh-l);
  font-weight: 400;
}

/* Header — Lunox feel */
.c-header--lunox { padding: 24px 40px; background: transparent; }
.c-header--lunox.scrolled {
  background: rgba(249,250,251,.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 var(--rule);
}
.c-header--lunox .c-header__logo {
  font-family: var(--font-head);
  font-weight: 700;
  letter-spacing: -.04em;
  font-size: 1.4rem;
  color: var(--ink);
}
.c-header--lunox .c-header__nav { gap: 28px; }
.c-header--lunox .c-header__nav a {
  font-family: var(--font-head);
  font-size: .9rem;
  font-weight: 500;
  color: var(--ink);
}
.c-header--lunox .c-header__nav a::after { background: var(--coral); }
.c-header--lunox .c-header__nav a:hover { color: var(--coral); }
.c-header--lunox .c-header__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--ink);
  color: #fff !important;
  padding: 12px 22px;
  border-radius: 100px;
  transition: background .25s ease, transform .25s ease;
}
.c-header--lunox .c-header__cta::after { display: none; }
.c-header--lunox .c-header__cta:hover { background: var(--coral); color: #fff !important; }
.c-header--lunox .c-header__cta .c-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--coral);
  transition: background .25s ease;
}
.c-header--lunox .c-header__cta:hover .c-dot { background: #fff; }
@media(max-width: 980px) {
  .c-header--lunox .c-header__nav { display: none; }
  .c-header--lunox .c-header__menu-btn { display: flex; }
}

/* Buttons */
.c-lx-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 500;
  text-decoration: none;
  border-radius: 100px;
  padding: 14px 26px;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
}
.c-lx-btn--filled { background: var(--ink); color: #fff; border-color: var(--ink); }
.c-lx-btn--filled:hover { background: var(--coral); border-color: var(--coral); }
.c-lx-btn--ghost { background: transparent; color: var(--ink); border-color: var(--ink); }
.c-lx-btn--ghost:hover { background: var(--ink); color: #fff; }
.c-lx-btn--block { display: flex; justify-content: center; width: 100%; }
.c-lx-btn--lg { padding: 18px 34px; font-size: 1rem; }
.c-lx-btn__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--coral); }
.c-lx-btn--filled:hover .c-lx-btn__dot { background: #fff; }

/* Eyebrow */
.c-lx-eyebrow {
  display: inline-block;
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 500;
  color: var(--coral);
  margin-bottom: 20px;
}
.c-lx-eyebrow--center { display: block; text-align: center; }
.c-lx-eyebrow--light { color: rgba(255,255,255,.88); }

/* Arrow link */
.c-lx-arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1.5px solid var(--ink);
  padding-bottom: 4px;
  transition: color .2s ease, border-color .2s ease, gap .2s ease;
}
.c-lx-arrow-link:hover { color: var(--coral); border-color: var(--coral); gap: 14px; }

/* Placeholder gradients */
.c-lx-ph { position: absolute; inset: 0; border-radius: inherit; }
.c-lx-ph--a { background: linear-gradient(135deg, #26648E 0%, #FFE3B3 100%); }
.c-lx-ph--b { background: linear-gradient(135deg, #1e1e1e 0%, #4F8FC0 100%); }
.c-lx-ph--c { background: linear-gradient(135deg, #4F8FC0 0%, #53D2DC 100%); }
.c-lx-ph--d { background: linear-gradient(135deg, #26648E 0%, #53D2DC 100%); }
.c-lx-ph::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, transparent 0 14px, rgba(0,0,0,.05) 14px 15px);
  border-radius: inherit;
  pointer-events: none;
}
.c-lx-ph > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  z-index: 1;
}
.c-lx-ph--has-img::after { display: none; }

/* 1. HERO */
.c-lx-hero {
  background: var(--bg);
  padding: var(--pad-top) 40px 0;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}
@media(max-width:600px) { .c-lx-hero { padding: 110px 20px 0; } }
.c-lx-hero__inner { max-width: 1320px; margin: 0 auto; width: 100%; padding: 80px 0 60px; }
.c-lx-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 36px;
  padding: 9px 18px;
  border: 1px solid var(--rule);
  border-radius: 100px;
  background: rgba(255,255,255,.85);
}
.c-lx-hero__eyebrow-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--coral);
  box-shadow: 0 0 0 4px rgba(38,100,142,.18);
}
.c-lx-hero__heading {
  font-family: var(--font-head);
  font-weight: 600;
  font-size: clamp(3rem, 9vw, 7.4rem);
  line-height: var(--lh-xs);
  letter-spacing: -.05em;
  color: var(--ink);
  margin: 0 0 36px;
  max-width: 14ch;
}
.c-lx-hero__lede {
  font-family: var(--font-body);
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  font-weight: 400;
  color: var(--ink-muted);
  line-height: var(--lh-l);
  max-width: 580px;
  margin-bottom: 40px;
}
.c-lx-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }

.c-lx-hero__marquee {
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  overflow: hidden;
  margin: 0 -40px;
  padding: 22px 0;
  background: var(--bg);
}
@media(max-width:600px) { .c-lx-hero__marquee { margin: 0 -20px; } }
.c-lx-hero__track {
  display: inline-flex;
  align-items: center;
  gap: 40px;
  white-space: nowrap;
  animation: lxMarquee 30s linear infinite;
  padding-right: 40px;
}
.c-lx-hero__track span {
  font-family: var(--font-head);
  font-size: clamp(1.6rem, 3vw, 2.8rem);
  font-weight: 500;
  letter-spacing: -.04em;
  color: var(--ink);
}
.c-lx-hero__track i {
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--coral);
  display: inline-block;
}
@keyframes lxMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* 2. ABOUT */
.c-lx-about { background: var(--bg); padding: var(--pad-section-xxl) 40px; }
@media(max-width:600px) { .c-lx-about { padding: 80px 20px; } }
.c-lx-about__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
}
@media(max-width:900px) { .c-lx-about__inner { grid-template-columns: 1fr; gap: 48px; } }
.c-lx-about__media {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/5;
  background: var(--bg-alt);
}
.c-lx-about__media-fill {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 25% 20%, rgba(38,100,142,.5), transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(30,30,30,.55), transparent 55%),
    linear-gradient(160deg, var(--coral-soft) 0%, var(--bg-alt) 100%);
}
.c-lx-about__media-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, transparent 0 14px, rgba(0,0,0,.04) 14px 15px);
}
.c-lx-about__badge {
  position: absolute;
  top: 18px; left: 18px;
  z-index: 2;
  font-family: var(--font-head);
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .14em;
  color: var(--ink);
  background: rgba(255,255,255,.92);
  padding: 8px 14px;
  border-radius: 100px;
}
.c-lx-about__text { max-width: 540px; }
.c-lx-about__heading {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: var(--lh-xs);
  color: var(--ink);
  margin-bottom: 28px;
}
.c-lx-about__heading em { font-style: italic; color: var(--coral); font-weight: 600; }
.c-lx-about__body {
  font-family: var(--font-body);
  font-size: var(--fs-large);
  color: var(--ink-muted);
  line-height: var(--lh-l);
  margin-bottom: 18px;
}

/* 3. SPEAK */
.c-lx-speak {
  background: var(--bg);
  padding: var(--pad-section-xl) 40px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
@media(max-width:600px) { .c-lx-speak { padding: 72px 20px; } }
.c-lx-speak__inner { max-width: 1100px; margin: 0 auto; text-align: center; }
.c-lx-speak__heading {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.6vw, 3.2rem);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: var(--lh-s);
  color: var(--ink);
  margin: 8px 0 40px;
}
.c-lx-speak__heading em { font-style: italic; color: var(--coral); font-weight: 500; }
.c-lx-speak__meta { display: inline-flex; align-items: center; gap: 14px; }
.c-lx-speak__avatars { display: inline-flex; }
.c-lx-avatar {
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 2px solid var(--bg);
  background: linear-gradient(135deg, var(--coral) 0%, var(--ink) 100%);
  margin-left: -10px;
}
.c-lx-avatar:first-child { margin-left: 0; background: linear-gradient(135deg, var(--ink) 0%, var(--coral) 100%); }
.c-lx-avatar:nth-child(2) { background: linear-gradient(135deg, var(--ink-muted) 0%, var(--coral-soft) 100%); }
.c-lx-speak__cite { font-family: var(--font-body); font-size: .9rem; color: var(--ink-muted); }

/* 4. SOLUTIONS */
.c-lx-svc { background: var(--bg); padding: var(--pad-section-xxl) 40px; }
@media(max-width:600px) { .c-lx-svc { padding: 80px 20px; } }
.c-lx-svc__inner { max-width: 1320px; margin: 0 auto; }
.c-lx-svc__header {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 64px;
}
@media(max-width:900px) { .c-lx-svc__header { grid-template-columns: 1fr; gap: 24px; } }
.c-lx-svc__heading {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4.2vw, 3.6rem);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: var(--lh-xs);
  color: var(--ink);
}
.c-lx-svc__heading em { font-style: italic; color: var(--coral); font-weight: 600; }
.c-lx-svc__sub {
  font-family: var(--font-body);
  font-size: var(--fs-large);
  color: var(--ink-muted);
  line-height: var(--lh-l);
  max-width: 360px;
}
.c-lx-svc__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media(max-width:1000px) { .c-lx-svc__grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:560px)  { .c-lx-svc__grid { grid-template-columns: 1fr; } }
.c-lx-svc-card {
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 18px;
  padding: 32px 28px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 360px;
  position: relative;
  transition: background .35s ease, border-color .35s ease, transform .35s cubic-bezier(.215,.61,.355,1);
  cursor: pointer;
}
.c-lx-svc-card:hover { background: var(--ink); border-color: var(--ink); transform: translateY(-6px); }
.c-lx-svc-card:hover .c-lx-svc-card__title,
.c-lx-svc-card:hover .c-lx-svc-card__desc,
.c-lx-svc-card:hover .c-lx-svc-card__num { color: #fff; }
.c-lx-svc-card__num {
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 500;
  color: var(--ink-soft);
  letter-spacing: .04em;
  transition: color .3s ease;
}
.c-lx-svc-card__icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: var(--coral-soft);
  color: var(--coral);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 8px 0 12px;
  transition: background .3s ease, color .3s ease;
}
.c-lx-svc-card:hover .c-lx-svc-card__icon { background: var(--coral); color: #fff; }
.c-lx-svc-card__icon svg { width: 28px; height: 28px; }
.c-lx-svc-card__title {
  font-family: var(--font-head);
  font-size: 1.45rem;
  font-weight: 600;
  letter-spacing: -.025em;
  color: var(--ink);
  line-height: 1.2;
  transition: color .3s ease;
}
.c-lx-svc-card__desc {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink-muted);
  line-height: var(--lh-l);
  flex: 1;
  transition: color .3s ease;
}
.c-lx-svc-card__more {
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 500;
  color: var(--coral);
  margin-top: auto;
}

/* 5. WORKS alternating */
.c-lx-work { background: var(--bg); padding: var(--pad-section-xl) 0; }
.c-lx-work__header { padding: 0 40px; max-width: 1320px; margin: 0 auto 64px; }
@media(max-width:600px) { .c-lx-work__header { padding: 0 20px; } }
.c-lx-work__heading {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4.2vw, 3.6rem);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: var(--lh-xs);
  color: var(--ink);
  max-width: 800px;
}
.c-lx-work__heading em { font-style: italic; color: var(--coral); font-weight: 600; }
.c-lx-work__item {
  border-top: 1px solid var(--rule);
  padding: 80px 40px;
}
.c-lx-work__item:last-of-type { border-bottom: 1px solid var(--rule); }
@media(max-width:600px) { .c-lx-work__item { padding: 60px 20px; } }
.c-lx-work__grid {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.c-lx-work__grid--reverse { direction: rtl; }
.c-lx-work__grid--reverse > * { direction: ltr; }
@media(max-width:900px) { .c-lx-work__grid { grid-template-columns: 1fr; gap: 40px; direction: ltr !important; } }
.c-lx-work__num {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 500;
  color: var(--coral);
  display: block;
  margin-bottom: 16px;
}
.c-lx-work__title {
  font-family: var(--font-head);
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: var(--lh-xs);
  color: var(--ink);
  margin-bottom: 16px;
}
.c-lx-work__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.c-lx-work__tags span {
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--rule);
  border-radius: 100px;
  padding: 5px 14px;
}
.c-lx-work__desc {
  font-family: var(--font-body);
  font-size: var(--fs-large);
  color: var(--ink-muted);
  line-height: var(--lh-l);
  margin-bottom: 24px;
}
.c-lx-work__media {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 5/4;
  background: var(--bg-alt);
  transition: transform .5s cubic-bezier(.215,.61,.355,1);
}
.c-lx-work__media:hover { transform: translateY(-6px); }
.c-lx-work__footer { display: flex; justify-content: center; padding: 64px 40px 0; }

/* 6. COUNTER */
.c-lx-counter { background: var(--ink); color: #fff; padding: var(--pad-banner) 40px; }
@media(max-width:600px) { .c-lx-counter { padding: 80px 20px; } }
.c-lx-counter__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 56px;
}
@media(max-width:900px) { .c-lx-counter__inner { grid-template-columns: repeat(2, 1fr); gap: 48px 32px; } }
@media(max-width:520px) { .c-lx-counter__inner { grid-template-columns: 1fr; } }
.c-lx-counter__num {
  font-family: var(--font-head);
  font-size: clamp(3rem, 6vw, 5.5rem);
  font-weight: 600;
  letter-spacing: -.05em;
  color: #fff;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 18px;
}
.c-lx-counter__suffix { font-size: .55em; color: var(--coral); font-weight: 500; }
.c-lx-counter__label {
  font-family: var(--font-body);
  font-size: .92rem;
  color: rgba(255,255,255,.85);
  line-height: var(--lh-l);
  max-width: 220px;
}

/* 7. PROCESS */
.c-lx-process { background: var(--bg); padding: var(--pad-section-xxl) 40px; }
@media(max-width:600px) { .c-lx-process { padding: 80px 20px; } }
.c-lx-process__inner { max-width: 1320px; margin: 0 auto; }
.c-lx-process__head { margin-bottom: 64px; max-width: 800px; }
.c-lx-process__heading {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4.2vw, 3.6rem);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: var(--lh-xs);
  color: var(--ink);
}
.c-lx-process__heading em { font-style: italic; color: var(--coral); font-weight: 600; }
.c-lx-process__list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding: 0;
}
@media(max-width:900px) { .c-lx-process__list { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:520px) { .c-lx-process__list { grid-template-columns: 1fr; } }
.c-lx-process__step { border-top: 2px solid var(--ink); padding-top: 24px; }
.c-lx-process__num {
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 500;
  color: var(--coral);
}
.c-lx-process__title {
  font-family: var(--font-head);
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--ink);
  margin: 16px 0 12px;
}
.c-lx-process__desc {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink-muted);
  line-height: var(--lh-l);
}

/* 8. PRICING */
.c-lx-price { background: var(--bg-alt); padding: var(--pad-section-xxl) 40px; }
@media(max-width:600px) { .c-lx-price { padding: 80px 20px; } }
.c-lx-price__inner { max-width: 1320px; margin: 0 auto; }
.c-lx-price__head {
  text-align: center;
  margin: 0 auto 64px;
  max-width: 720px;
}
.c-lx-price__head .c-lx-eyebrow { display: block; }
.c-lx-price__heading {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4.2vw, 3.6rem);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: var(--lh-xs);
  color: var(--ink);
  margin-bottom: 16px;
}
.c-lx-price__heading em { font-style: italic; color: var(--coral); font-weight: 600; }
.c-lx-price__sub {
  font-family: var(--font-body);
  font-size: var(--fs-large);
  color: var(--ink-muted);
  line-height: var(--lh-l);
}
.c-lx-price__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: stretch;
}
@media(max-width:900px) { .c-lx-price__grid { grid-template-columns: 1fr; } }
.c-lx-price-card {
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 20px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: transform .35s ease, box-shadow .35s ease;
}
.c-lx-price-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px -28px rgba(30,30,30,.25); }
.c-lx-price-card--feat { background: var(--ink); color: #fff; border-color: var(--ink); }
.c-lx-price-card__tag {
  align-self: flex-start;
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-muted);
  border: 1px solid var(--rule);
  padding: 6px 14px;
  border-radius: 100px;
}
.c-lx-price-card--feat .c-lx-price-card__tag { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); }
.c-lx-price-card__tag--hot { background: var(--coral) !important; color: #fff !important; border-color: var(--coral) !important; }
.c-lx-price-card__amount {
  font-family: var(--font-head);
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin: 8px 0 4px;
}
.c-lx-price-card__amount sup { font-size: .45em; font-weight: 500; color: var(--coral); align-self: flex-start; margin-top: .35em; }
.c-lx-price-card__amount span { font-size: .35em; font-weight: 400; color: var(--ink-muted); }
.c-lx-price-card--feat .c-lx-price-card__amount span { color: rgba(255,255,255,.8); }
.c-lx-price-card__desc { font-family: var(--font-body); font-size: .95rem; color: var(--ink-muted); line-height: var(--lh-l); }
.c-lx-price-card--feat .c-lx-price-card__desc { color: rgba(255,255,255,.88); }
.c-lx-price-card__list {
  list-style: none;
  padding: 16px 0;
  border-top: 1px solid var(--rule);
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.c-lx-price-card--feat .c-lx-price-card__list { border-color: rgba(255,255,255,.12); }
.c-lx-price-card__list li {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink);
  padding-left: 24px;
  position: relative;
  line-height: 1.5;
}
.c-lx-price-card--feat .c-lx-price-card__list li { color: #fff; }
.c-lx-price-card__list li::before {
  content: '';
  position: absolute;
  left: 0; top: .55em;
  width: 14px; height: 8px;
  border-left: 2px solid var(--coral);
  border-bottom: 2px solid var(--coral);
  transform: rotate(-45deg);
  transform-origin: left bottom;
}
.c-lx-price-card .c-lx-btn { margin-top: auto; }
.c-lx-price-card--feat .c-lx-btn--ghost { color: #fff; border-color: #fff; }
.c-lx-price-card--feat .c-lx-btn--ghost:hover { background: #fff; color: var(--ink); }

/* 9. BRAND */
.c-lx-brand {
  background: var(--bg);
  padding: 56px 40px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
@media(max-width:600px) { .c-lx-brand { padding: 40px 20px; } }
.c-lx-brand__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.c-lx-brand__label {
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 500;
  color: var(--ink-muted);
}
.c-lx-brand__list { display: flex; flex-wrap: wrap; align-items: center; gap: 36px; }
.c-lx-brand__name {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: -.03em;
  color: var(--ink);
  opacity: .55;
  transition: opacity .25s ease, color .25s ease;
}
.c-lx-brand__name:hover { opacity: 1; color: var(--coral); }

/* 10. BLOG */
.c-lx-blog { background: var(--bg); padding: var(--pad-section-xxl) 40px; }
@media(max-width:600px) { .c-lx-blog { padding: 80px 20px; } }
.c-lx-blog__inner { max-width: 1320px; margin: 0 auto; }
.c-lx-blog__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 56px;
  flex-wrap: wrap;
}
.c-lx-blog__heading {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4.2vw, 3.6rem);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: var(--lh-xs);
  color: var(--ink);
}
.c-lx-blog__heading em { font-style: italic; color: var(--coral); font-weight: 600; }
.c-lx-blog__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media(max-width:900px) { .c-lx-blog__grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:600px) { .c-lx-blog__grid { grid-template-columns: 1fr; } }
.c-lx-blog-card {
  display: flex;
  flex-direction: column;
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform .35s cubic-bezier(.215,.61,.355,1), box-shadow .35s ease, border-color .35s ease;
}
.c-lx-blog-card:hover {
  transform: translateY(-6px);
  border-color: var(--ink);
  box-shadow: 0 24px 50px -28px rgba(30,30,30,.2);
}
.c-lx-blog-card__img {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
}
.c-lx-blog-card__cat {
  position: absolute;
  top: 14px; left: 14px;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-head);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 100px;
  z-index: 2;
}
.c-lx-blog-card__body {
  padding: 24px 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.c-lx-blog-card__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-body);
  font-size: .78rem;
  color: var(--ink-muted);
}
.c-lx-blog-card__meta span + span::before {
  content: '·';
  margin-right: 12px;
  opacity: .5;
}
.c-lx-blog-card__title {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--ink);
  line-height: 1.3;
  transition: color .2s ease;
}
.c-lx-blog-card:hover .c-lx-blog-card__title { color: var(--coral); }
.c-lx-blog-card__excerpt {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink-muted);
  line-height: var(--lh-l);
  margin-top: auto;
}

/* 11. CTA BAND */
.c-lx-cta { background: var(--ink); color: #fff; padding: var(--pad-banner) 40px; }

/* Light variant */
.c-lx-cta--light {
  background: var(--bg);
  color: var(--ink);
  border-top: 1px solid var(--rule);
}
.c-lx-cta--light .c-lx-cta__inner {
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 32px;
}
.c-lx-cta__label {
  font-family: var(--font-head);
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  color: var(--ink);
  margin: 0;
}
.c-lx-cta__link {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-head);
  font-size: clamp(1.4rem, 2.8vw, 2.4rem);
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 2px solid var(--ink);
  padding-bottom: 6px;
  transition: color .25s ease, border-color .25s ease, gap .25s ease;
  white-space: nowrap;
}
.c-lx-cta__link:hover {
  color: var(--coral);
  border-color: var(--coral);
}
.c-lx-cta__link span { transition: transform .3s ease; display: inline-block; }
.c-lx-cta__link:hover span:first-child { transform: translateX(-4px); }
.c-lx-cta__link:hover span:last-child { transform: translateX(4px); }
@media(max-width:600px) { .c-lx-cta { padding: 80px 20px; } }
.c-lx-cta__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.c-lx-cta__heading {
  font-family: var(--font-head);
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 600;
  letter-spacing: -.05em;
  line-height: var(--lh-xs);
  color: #fff;
  max-width: 720px;
}
.c-lx-cta__heading em { font-style: italic; color: var(--coral); font-weight: 600; }
.c-lx-cta .c-lx-btn--filled { background: var(--coral); border-color: var(--coral); }
.c-lx-cta .c-lx-btn--filled:hover { background: #fff; color: var(--ink); border-color: #fff; }
.c-lx-cta .c-lx-btn--filled:hover .c-lx-btn__dot { background: var(--coral); }

/* 12. FOOTER */
.c-lx-footer { background: var(--bg); padding: 80px 40px 0; border-top: 1px solid var(--rule); }
@media(max-width:600px) { .c-lx-footer { padding: 64px 20px 0; } }
.c-lx-footer__top {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 56px;
  padding-bottom: 64px;
  border-bottom: 1px solid var(--rule);
}
@media(max-width:900px) { .c-lx-footer__top { grid-template-columns: 1fr 1fr; gap: 40px; } }
@media(max-width:560px) { .c-lx-footer__top { grid-template-columns: 1fr; gap: 36px; } }
.c-lx-footer__logo {
  font-family: var(--font-head);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: -.04em;
  color: var(--ink);
  text-decoration: none;
  display: inline-block;
  margin-bottom: 20px;
}
.c-lx-footer__tagline {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink-muted);
  line-height: var(--lh-l);
  margin-bottom: 24px;
  max-width: 360px;
}
.c-lx-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: var(--font-body);
  font-size: .9rem;
  color: var(--ink-muted);
}
.c-lx-footer__contact a { color: var(--ink); text-decoration: none; transition: color .2s; }
.c-lx-footer__contact a:hover { color: var(--coral); }
.c-lx-footer__col-label {
  display: block;
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 20px;
}
.c-lx-footer__nav, .c-lx-footer__social {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.c-lx-footer__nav a, .c-lx-footer__social a {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink);
  text-decoration: none;
  transition: color .2s;
}
.c-lx-footer__nav a:hover, .c-lx-footer__social a:hover { color: var(--coral); }
.c-lx-footer__bottom {
  max-width: 1320px;
  margin: 0 auto;
  padding: 28px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  font-family: var(--font-body);
  font-size: .82rem;
  color: var(--ink-muted);
}
.c-lx-footer__bottom nav { display: flex; gap: 20px; }
.c-lx-footer__bottom a {
  color: var(--ink-muted);
  text-decoration: none;
  transition: color .2s;
}
.c-lx-footer__bottom a:hover { color: var(--coral); }
.c-lx-footer__up { font-weight: 500; }
@media(max-width:560px) { .c-lx-footer__bottom { flex-direction: column; align-items: flex-start; gap: 12px; } }


/* ═════════════════════════════════════════════════════════════════
   NAV v2 + HERO v2 (matched to reference screenshot)
═════════════════════════════════════════════════════════════════ */

/* NAV */
.c-lx-nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 40px;
  padding: 24px max(56px, calc((100vw - 1480px) / 2 + 56px));
  background: var(--bg);
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 800;
  transition: box-shadow .25s ease, transform .35s cubic-bezier(.215,.61,.355,1);
  will-change: transform;
}
.c-lx-nav.nav-hidden { transform: translateY(-100%); }
.c-lx-nav__brand { justify-self: start; }
.c-lx-nav__menu  { justify-self: center; }
.c-lx-nav__right { justify-self: end; }
.c-lx-nav.scrolled {
  box-shadow: 0 1px 0 var(--rule);
}
@media(max-width:1280px) { .c-lx-nav { padding-left: 56px; padding-right: 56px; } }
@media(max-width:1100px) { .c-lx-nav { padding-left: 40px; padding-right: 40px; } }
@media(max-width:720px)  { .c-lx-nav { padding-left: 24px; padding-right: 24px; } }

.c-lx-nav, .c-lx-nav * { font-family: var(--font-body), 'Manrope', system-ui, sans-serif; }

.c-lx-nav__brand {
  display: inline-flex;
  align-items: center;
  gap: 0;
  text-decoration: none;
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1;
}
.c-lx-nav__mark { display: none; }

.c-lx-nav__menu {
  display: flex;
  align-items: center;
  gap: 56px;
}
.c-lx-nav__menu a {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  transition: color .2s ease;
  position: relative;
}
.c-lx-nav__menu a:hover { color: var(--coral); }
.c-lx-nav__menu a.is-active { color: var(--coral); }

.c-lx-nav__right {
  display: flex;
  align-items: center;
  gap: 24px;
}

.c-lx-nav__cart {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  transition: color .2s ease;
}
.c-lx-nav__cart:hover { color: var(--coral); }
.c-lx-nav__cart-badge {
  background: var(--coral);
  color: #fff;
  font-size: .72rem;
  font-weight: 600;
  width: 22px; height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 4px;
}

.c-lx-nav__cta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--coral);
  color: #fff;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  padding: 18px 36px;
  border-radius: 100px;
  transition: background .25s ease, transform .25s ease, padding .25s ease;
}
.c-lx-nav__cta:hover { background: var(--ink); transform: translateY(-1px); }
.c-lx-nav__cta-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
  display: inline-block;
}

@media(max-width: 1100px) {
  .c-lx-nav__menu { display: none; }
}
@media(max-width: 720px) {
  .c-lx-nav__cart span:not(.c-lx-nav__cart-badge) { display: none; }
  .c-lx-nav__cta { padding: 12px 22px; gap: 10px; }
}

/* HERO v2 */
.c-lx-hero2 {
  background: var(--bg);
  padding: 140px 60px 80px;
  min-height: 100svh;
  display: flex;
  align-items: stretch;
}
@media(max-width:1100px) { .c-lx-hero2 { padding: 120px 40px 60px; } }
@media(max-width:600px)  { .c-lx-hero2 { padding: 110px 20px 60px; } }

.c-lx-hero2__inner {
  max-width: 1480px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 80px;
}

/* TOP: heading left + body right */
.c-lx-hero2__top {
  display: grid;
  grid-template-columns: 1.7fr 1fr;
  gap: 80px;
  align-items: end;
}
@media(max-width:900px) { .c-lx-hero2__top { grid-template-columns: 1fr; gap: 32px; } }

.c-lx-hero2__heading {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(3.4rem, 9vw, 8.2rem);
  line-height: .98;
  letter-spacing: -.055em;
  color: var(--ink);
  text-transform: uppercase;
  margin: 0;
}

.c-lx-hero2__lede {
  font-family: var(--font-body);
  font-size: clamp(1rem, 1.2vw, 1.18rem);
  font-weight: 400;
  color: var(--ink);
  line-height: 1.5;
  max-width: 380px;
  justify-self: end;
}
@media(max-width:900px) { .c-lx-hero2__lede { justify-self: start; max-width: 540px; } }

/* BOTTOM: sub-cta left + featured works right */
.c-lx-hero2__bottom {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 2.4fr;
  gap: 60px;
  align-items: end;
}
@media(max-width:900px) { .c-lx-hero2__bottom { grid-template-columns: 1fr; gap: 40px; } }

.c-lx-hero2__sub {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 360px;
}

.c-lx-hero2__subtext {
  font-family: var(--font-body);
  font-size: clamp(1.05rem, 1.4vw, 1.4rem);
  font-weight: 400;
  color: var(--ink-muted);
  line-height: 1.4;
}

.c-lx-hero2__avail {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: .82rem;
  color: var(--ink-muted);
}
.c-lx-hero2__avail-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--coral);
  animation: hero2Pulse 1.8s ease-in-out infinite;
}
@keyframes hero2Pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(38,100,142,.5); }
  50%      { box-shadow: 0 0 0 6px rgba(38,100,142,0); }
}

/* TRUSTED BY (pill row) */
.c-lx-hero2__trust {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.c-lx-hero2__trust-label {
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.c-lx-hero2__trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.c-lx-hero2__trust-pill {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 500;
  letter-spacing: -.01em;
  color: var(--ink);
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 100px;
  padding: 10px 22px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.c-lx-hero2__trust-pill:hover {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
  transform: translateY(-1px);
}


/* ═════════════════════════════════════════════════════════════════
   INDUSTRIES (heading left, marquee right w/ colored dot pills)
═════════════════════════════════════════════════════════════════ */
.c-lx-ind {
  background: var(--bg-alt);
  padding: 80px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  overflow: hidden;
}
@media(max-width:600px) { .c-lx-ind { padding: 60px 0; } }

.c-lx-ind__inner {
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 2.6fr;
  gap: 56px;
  align-items: center;
}
@media(max-width:900px) {
  .c-lx-ind__inner { grid-template-columns: 1fr; gap: 32px; }
}

.c-lx-ind__head {
  padding-left: 60px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media(max-width:1100px) { .c-lx-ind__head { padding-left: 40px; } }
@media(max-width:600px)  { .c-lx-ind__head { padding-left: 20px; padding-right: 20px; } }

.c-lx-ind__heading {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.05;
  color: var(--ink);
  margin: 0;
}

.c-lx-ind__sub {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink-muted);
  line-height: 1.55;
  margin: 0;
  max-width: 360px;
}

.c-lx-ind__marquee {
  overflow: hidden;
}

.c-lx-ind__track {
  display: flex;
  width: max-content;
  animation: lxIndScroll 32s linear infinite;
  will-change: transform;
}
.c-lx-ind__track:hover { animation-play-state: paused; }

.c-lx-ind__set {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 12px;
  padding-right: 12px;
}

@keyframes lxIndScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.c-lx-ind-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 100px;
  padding: 12px 22px;
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 500;
  color: var(--ink);
  white-space: nowrap;
  transition: border-color .25s ease, background .25s ease;
}
.c-lx-ind-pill:hover {
  border-color: var(--coral);
  background: var(--coral-soft);
}

.c-lx-ind-pill__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}


/* ═════════════════════════════════════════════════════════════════
   WHO WE WORK WITH (3-col tiles w/ arrow)
═════════════════════════════════════════════════════════════════ */
.c-lx-who {
  background: var(--bg);
  padding: var(--pad-section-xxl) 60px;
}
@media(max-width:1100px) { .c-lx-who { padding: 100px 40px; } }
@media(max-width:600px)  { .c-lx-who { padding: 80px 20px; } }

.c-lx-who__inner { max-width: 1480px; margin: 0 auto; }

.c-lx-who__heading {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.05;
  color: var(--ink);
  margin: 0 0 56px;
}

.c-lx-who__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media(max-width:900px) { .c-lx-who__grid { grid-template-columns: 1fr; gap: 32px; } }

.c-lx-who-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-top: 24px;
  border-top: 1px solid var(--rule);
}

.c-lx-who-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--coral);
}

.c-lx-who-card__title {
  font-family: var(--font-head);
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.3;
  color: var(--ink);
  margin: 0;
}

.c-lx-who-card__desc {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink-muted);
  line-height: 1.65;
  margin: 0;
}


/* ═════════════════════════════════════════════════════════════════
   TEAM SNAPSHOT (Skilled Expertise — 2-col text + image)
═════════════════════════════════════════════════════════════════ */
.c-lx-tsnap {
  background: var(--bg);
  padding: var(--pad-section-xxl) 60px;
}
@media(max-width:1100px) { .c-lx-tsnap { padding: 100px 40px; } }
@media(max-width:600px)  { .c-lx-tsnap { padding: 80px 20px; } }

.c-lx-tsnap__inner {
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 80px;
  align-items: center;
}
@media(max-width:1000px) {
  .c-lx-tsnap__inner { grid-template-columns: 1fr; gap: 40px; }
}

.c-lx-tsnap__text {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 520px;
}

.c-lx-tsnap__heading {
  font-family: var(--font-head);
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.05;
  color: var(--ink);
  margin: 0;
}

.c-lx-tsnap__body {
  font-family: var(--font-body);
  font-size: 1.02rem;
  color: var(--ink-muted);
  line-height: 1.65;
  margin: 0;
}

.c-lx-tsnap__row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 24px;
  border-top: 1px solid var(--rule);
  margin-top: 8px;
}

.c-lx-tsnap__avatars {
  display: inline-flex;
}

.c-lx-tsnap__avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid var(--bg);
  margin-left: -10px;
  background: linear-gradient(135deg, var(--coral) 0%, var(--ink) 100%);
}
.c-lx-tsnap__avatar:first-child {
  margin-left: 0;
  background: linear-gradient(135deg, var(--ink) 0%, var(--coral) 100%);
}
.c-lx-tsnap__avatar:nth-child(2) {
  background: linear-gradient(135deg, var(--ink-muted) 0%, var(--coral-soft) 100%);
}

.c-lx-tsnap__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: var(--font-body);
  font-size: .9rem;
}
.c-lx-tsnap__meta strong {
  font-weight: 600;
  color: var(--ink);
}
.c-lx-tsnap__meta a {
  color: var(--coral);
  text-decoration: none;
  transition: color .2s ease;
}
.c-lx-tsnap__meta a:hover { color: var(--ink); }

.c-lx-tsnap__media {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 5/4;
  background: var(--bg-alt);
}

.c-lx-hero2__btn {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 14px;
  background: var(--ink);
  color: #fff;
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  padding: 16px 32px;
  border-radius: 100px;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-hero2__btn:hover { background: var(--coral); }

/* ─────────────────────────────────────────────
   FLIP-TEXT on CTAs — text slides up to a duplicate on hover
───────────────────────────────────────────── */
.lx-flip {
  position: relative;
  display: inline-block;
  overflow: hidden;
  vertical-align: middle;
  line-height: 1.2;
  height: 1.2em;
  white-space: nowrap;
}
.lx-flip__a, .lx-flip__b {
  display: block;
  line-height: 1.2;
  transition: transform .42s cubic-bezier(.215,.61,.355,1);
  will-change: transform;
}
.lx-flip__b {
  position: absolute;
  top: 100%;
  left: 0;
}
.lx-btn:hover .lx-flip__a,
.lx-btn:hover .lx-flip__b { transform: translateY(-100%); }
@media (prefers-reduced-motion: reduce) {
  .lx-flip__a, .lx-flip__b { transition: none; }
}
.c-lx-hero2__btn-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
  display: inline-block;
}

/* Featured works carousel row */
.c-lx-hero2__feat {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  overflow: hidden;
}

.c-lx-hero2__feat-label {
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 500;
  color: var(--ink);
}

.c-lx-hero2__feat-track {
  display: grid;
  grid-template-columns: 0.4fr repeat(3, 1fr);
  gap: 18px;
  position: relative;
}
@media(max-width:900px) {
  .c-lx-hero2__feat-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
  }
  .c-lx-hero2__feat-track::-webkit-scrollbar { display: none; }
}

.c-lx-hero2__card {
  position: relative;
  display: block;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  background: var(--bg-alt);
  transition: transform .45s cubic-bezier(.215,.61,.355,1), box-shadow .45s ease;
  text-decoration: none;
}
.c-lx-hero2__card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px -28px rgba(30,30,30,.3); }
.c-lx-hero2__card--peek { opacity: .6; transform: translateX(-30%); pointer-events: none; }
.c-lx-hero2__card--peek:hover { transform: translateX(-30%); }
@media(max-width:900px) {
  .c-lx-hero2__card { flex: 0 0 70%; scroll-snap-align: start; aspect-ratio: 4/5; }
  .c-lx-hero2__card--peek { display: none; }
}


/* ═════════════════════════════════════════════════════════════════
   ABOUT v2 (split: image + list / big body + pill)
═════════════════════════════════════════════════════════════════ */
.c-lx-about2 {
  background: var(--bg);
  padding: var(--pad-section-xxl) 60px;
}
@media(max-width:1100px) { .c-lx-about2 { padding: 100px 40px; } }
@media(max-width:600px)  { .c-lx-about2 { padding: 80px 20px; } }

.c-lx-about2__inner {
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 2.2fr;
  gap: 90px;
  align-items: center;
}
@media(max-width:1000px) {
  .c-lx-about2__inner { grid-template-columns: 1fr; gap: 48px; align-items: start; }
}

/* LEFT */
.c-lx-about2__left {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.c-lx-about2__eyebrow {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 500;
  color: var(--ink);
}

.c-lx-about2__media {
  position: relative;
  aspect-ratio: 1/1;
  width: 100%;
  max-width: 360px;
  border-radius: 14px;
  overflow: hidden;
  background: var(--bg-alt);
}

.c-lx-about2__list {
  list-style: none;
  padding: 0;
  margin: 4px 0 0;
  display: flex;
  flex-direction: column;
  max-width: 360px;
}
.c-lx-about2__list li {
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 500;
  color: var(--ink);
  padding: 16px 0;
  border-bottom: 1px solid var(--rule);
  transition: color .2s ease, padding-left .25s ease;
  cursor: pointer;
}
.c-lx-about2__list li:first-child { border-top: 1px solid var(--rule); }
.c-lx-about2__list li:hover { color: var(--coral); padding-left: 8px; }

/* RIGHT */
.c-lx-about2__right {
  display: flex;
  flex-direction: column;
  gap: 40px;
  position: relative;
}

.c-lx-about2__copy {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-height: 520px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 78%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0%, #000 78%, transparent 100%);
}

.c-lx-about2__copy p {
  font-family: var(--font-head);
  font-size: clamp(1.4rem, 2.6vw, 2.4rem);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.25;
  color: var(--ink);
  margin: 0;
}

.c-lx-about2__btn {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 14px;
  background: var(--ink);
  color: #fff;
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  padding: 16px 32px;
  border-radius: 100px;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-about2__btn:hover { background: var(--coral); }
.c-lx-about2__btn-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
  display: inline-block;
}


/* ═════════════════════════════════════════════════════════════════
   SOLUTIONS v2 (2x2 grid, one coral-fill featured)
═════════════════════════════════════════════════════════════════ */
.c-lx-sol {
  background: var(--bg);
  padding: var(--pad-section-xxl) 60px;
}
@media(max-width:1100px) { .c-lx-sol { padding: 100px 40px; } }
@media(max-width:600px)  { .c-lx-sol { padding: 80px 20px; } }

.c-lx-sol__inner { max-width: 1480px; margin: 0 auto; }

.c-lx-sol__header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 56px;
}
@media(max-width:900px) { .c-lx-sol__header { grid-template-columns: 1fr; gap: 24px; } }

.c-lx-sol__heading {
  font-family: var(--font-head);
  font-size: clamp(2.4rem, 5.5vw, 5rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.c-lx-sol__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.c-lx-sol__sub {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink-muted);
  line-height: 1.55;
  max-width: 320px;
}

.c-lx-sol__all {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--ink);
  color: #fff;
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 500;
  text-decoration: none;
  padding: 14px 28px;
  border-radius: 100px;
  transition: background .25s ease, transform .25s ease;
  white-space: nowrap;
}
.c-lx-sol__all:hover { background: var(--coral); }
.c-lx-sol__all-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
  display: inline-block;
}

.c-lx-sol__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media(max-width:760px) { .c-lx-sol__grid { grid-template-columns: 1fr; } }

.c-lx-sol-card {
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 18px;
  padding: 36px 36px 32px;
  display: grid;
  grid-template-rows: auto auto auto auto;
  gap: 22px;
  min-height: 320px;
  transition: transform .35s cubic-bezier(.215,.61,.355,1), border-color .35s ease, box-shadow .35s ease;
}
.c-lx-sol-card { transition: transform .35s cubic-bezier(.215,.61,.355,1), border-color .35s ease, box-shadow .35s ease, background-color .35s ease; }
.c-lx-sol-card:hover {
  transform: translateY(-4px);
  background: var(--coral);
  border-color: var(--coral);
  box-shadow: 0 30px 60px -28px rgba(38,100,142,.5);
}
.c-lx-sol-card:hover .c-lx-sol-card__icon  { color: #fff; }
.c-lx-sol-card:hover .c-lx-sol-card__title { color: #fff; }
.c-lx-sol-card:hover .c-lx-sol-card__desc  { color: rgba(255,255,255,.92); font-weight: 500; }
.c-lx-sol-card:hover .c-lx-sol-card__arrow { background: #fff; color: var(--coral); border-color: #fff; }
.c-lx-sol-card:hover .c-lx-sol-card__arrow:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
@media(max-width:600px) { .c-lx-sol-card { padding: 28px; min-height: 280px; } }

.c-lx-sol-card__icon {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  color: var(--coral);
  margin-bottom: 18px;
}
.c-lx-sol-card__icon svg { width: 36px; height: 36px; }

.c-lx-sol-card__title {
  font-family: var(--font-head);
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.15;
  color: var(--ink);
  margin: 0;
}

.c-lx-sol-card__desc {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink-muted);
  line-height: 1.55;
  margin: 0;
}

.c-lx-sol-card__arrow {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--rule);
  background: var(--bg);
  color: var(--coral);
  text-decoration: none;
  margin-top: auto;
  justify-self: start;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.c-lx-sol-card__arrow:hover {
  background: var(--coral);
  color: #fff;
  border-color: var(--coral);
  transform: translate(2px, -2px);
}



/* ═════════════════════════════════════════════════════════════════
   WORK SHOWCASE (2-card row, centered header)
═════════════════════════════════════════════════════════════════ */
.c-lx-show {
  background: var(--bg);
  padding: 0;
  position: relative;
  min-height: 700vh;
}
@media(max-width:900px) { .c-lx-show { min-height: 600vh; } }

.c-lx-show__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px;
}
@media(max-width:1100px) { .c-lx-show__sticky { padding: 60px 40px; } }
@media(max-width:600px)  { .c-lx-show__sticky { padding: 40px 20px; } }

.c-lx-show__inner { max-width: 1480px; margin: 0 auto; width: 100%; }

.c-lx-show__head {
  text-align: center;
  margin-bottom: 56px;
}

.c-lx-show__heading {
  font-family: var(--font-head);
  font-size: clamp(2.4rem, 5.5vw, 5rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 20px;
}

.c-lx-show__sub {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink-muted);
  line-height: 1.55;
  max-width: 480px;
  margin: 0 auto;
}

.c-lx-show__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
@media(max-width:900px) { .c-lx-show__row { grid-template-columns: 1fr; } }

.c-lx-show__stage {
  position: relative;
  min-height: 460px;
}

.c-lx-show-slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .5s ease;
}
.c-lx-show-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  position: relative;
}
@media(max-width:900px) {
  .c-lx-show-slide { grid-template-columns: 1fr; gap: 20px; }
}

.c-lx-show-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 8px;
}
.c-lx-show-card__tags span {
  font-family: var(--font-head);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.85);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 100px;
  padding: 5px 12px;
}

.c-lx-show__nav {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 32px;
}

.c-lx-show__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid var(--rule);
  background: transparent;
  padding: 0;
  cursor: pointer;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.c-lx-show__dot:hover { border-color: var(--ink); }
.c-lx-show__dot.is-active {
  background: var(--coral);
  border-color: var(--coral);
  transform: scale(1.15);
}

.c-lx-show-card {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  aspect-ratio: 6/5;
  transition: transform .45s cubic-bezier(.215,.61,.355,1), box-shadow .45s ease;
}
.c-lx-show-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -28px rgba(0,0,0,.35); }

/* Text card — black */
.c-lx-show-card--text {
  background: var(--ink);
  color: #fff;
  padding: 36px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media(max-width:600px) { .c-lx-show-card--text { padding: 28px; aspect-ratio: 5/6; } }

.c-lx-show-card__num {
  font-family: var(--font-head);
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: -.04em;
  color: #fff;
}

.c-lx-show-card__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-lx-show-card__title {
  font-family: var(--font-head);
  font-size: clamp(2rem, 3.6vw, 3rem);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: 1.05;
  color: #fff;
  margin: 0;
}

.c-lx-show-card__desc {
  font-family: var(--font-body);
  font-size: .92rem;
  color: rgba(255,255,255,.88);
  line-height: 1.55;
  max-width: 420px;
  margin: 0 0 18px;
}

.c-lx-show-card__arrow {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--coral);
  color: #fff;
  text-decoration: none;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-show-card__arrow:hover { background: #fff; color: var(--coral); transform: translate(2px, -2px); }

/* Image card */
.c-lx-show-card--image {
  background: var(--bg-alt);
  padding: 0;
}
.c-lx-show-card--image .c-lx-ph { position: absolute; inset: 0; border-radius: inherit; }

/* Footer pill */
.c-lx-show__footer {
  display: flex;
  justify-content: center;
  margin-top: 48px;
}

.c-lx-show__all {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--ink);
  color: #fff;
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 500;
  text-decoration: none;
  padding: 14px 28px;
  border-radius: 100px;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-show__all:hover { background: var(--coral); }
.c-lx-show__all-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
  display: inline-block;
}


/* ═════════════════════════════════════════════════════════════════
   ABOUT PAGE: HERO + STATS + VALUES + PROCESS + TEAM
═════════════════════════════════════════════════════════════════ */

/* 1. ABOUT HERO */
.c-lx-abh {
  background: var(--bg);
  padding: 160px 60px 80px;
}
@media(max-width:1100px) { .c-lx-abh { padding: 130px 40px 60px; } }
@media(max-width:600px)  { .c-lx-abh { padding: 110px 20px 60px; } }

.c-lx-abh__inner { max-width: 1480px; margin: 0 auto; }

.c-lx-abh__head {
  text-align: center;
  margin-bottom: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.c-lx-abh__heading {
  font-family: var(--font-head);
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.c-lx-abh__sub {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink-muted);
  line-height: 1.55;
  max-width: 520px;
  margin: 0;
}

.c-lx-abh__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--coral);
  color: #fff;
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  padding: 14px 30px;
  border-radius: 100px;
  margin-top: 8px;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-abh__btn:hover { background: var(--ink); }
.c-lx-abh__btn-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
}

.c-lx-abh__media {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  aspect-ratio: 16/8;
  background: var(--bg-alt);
}
@media(max-width:600px) { .c-lx-abh__media { aspect-ratio: 4/5; } }

.c-lx-abh__overlay {
  position: absolute;
  bottom: 28px; left: 28px;
  z-index: 2;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 16px;
  padding: 24px 28px;
  max-width: 380px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 18px 40px -22px rgba(0,0,0,.3);
}
@media(max-width:600px) {
  .c-lx-abh__overlay { left: 16px; right: 16px; bottom: 16px; max-width: none; padding: 18px 20px; }
}

.c-lx-abh__overlay-title {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.3;
  color: var(--ink);
  margin: 0;
}

.c-lx-abh__overlay-desc {
  font-family: var(--font-body);
  font-size: .82rem;
  color: var(--ink-muted);
  line-height: 1.5;
  margin: 0;
}

.c-lx-abh__overlay-btn {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 10px;
  background: var(--ink);
  color: #fff;
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 500;
  text-decoration: none;
  padding: 11px 22px;
  border-radius: 100px;
  margin-top: 4px;
  transition: background .25s ease;
}
.c-lx-abh__overlay-btn:hover { background: var(--coral); }
.c-lx-abh__overlay-dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #fff;
}

/* 2. ABOUT US + STATS */
.c-lx-aus {
  background: var(--bg);
  padding: var(--pad-section-xxl) 60px;
}
@media(max-width:1100px) { .c-lx-aus { padding: 100px 40px; } }
@media(max-width:600px)  { .c-lx-aus { padding: 80px 20px; } }

.c-lx-aus__inner {
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
}
@media(max-width:900px) {
  .c-lx-aus__inner { grid-template-columns: 1fr; gap: 40px; }
}

.c-lx-aus__left {
  display: flex;
  flex-direction: column;
  gap: 22px;
  position: sticky;
  top: 100px;
}
@media(max-width:900px) { .c-lx-aus__left { position: static; } }

.c-lx-aus__eyebrow {
  font-family: var(--font-head);
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--coral);
}

.c-lx-aus__heading {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.4vw, 3rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.1;
  color: var(--ink);
  margin: 0;
  max-width: 520px;
}

.c-lx-aus__right {
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.c-lx-aus__body {
  display: flex;
  flex-direction: column;
  gap: 22px;
  max-width: 720px;
}
.c-lx-aus__body p {
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 400;
  letter-spacing: -.005em;
  line-height: 1.65;
  color: var(--ink-muted);
  margin: 0;
}

.c-lx-aus__divider {
  height: 1px;
  background: var(--rule);
  width: 100%;
  max-width: 720px;
}

.c-lx-aus__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px 64px;
  max-width: 720px;
}
@media(max-width:600px) { .c-lx-aus__stats { grid-template-columns: 1fr; gap: 32px; } }

.c-lx-aus-stat {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-lx-aus-stat__num {
  font-family: var(--font-head);
  font-size: clamp(3rem, 6vw, 5rem);
  font-weight: 700;
  letter-spacing: -.05em;
  color: var(--ink);
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.c-lx-aus-stat__suf { font-size: .8em; color: var(--ink); }

.c-lx-aus-stat__lbl {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink-muted);
  margin: 0;
}

/* 3. VALUES (timeline + cards) */
.c-lx-val {
  background: var(--bg);
  padding: var(--pad-section-xxl) 60px;
  border-top: 1px solid var(--rule);
}
@media(max-width:1100px) { .c-lx-val { padding: 100px 40px; } }
@media(max-width:600px)  { .c-lx-val { padding: 80px 20px; } }

.c-lx-val__inner {
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
@media(max-width:1000px) {
  .c-lx-val__inner { grid-template-columns: 1fr; gap: 48px; }
}

.c-lx-val__left {
  padding-right: 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media(max-width:1000px) { .c-lx-val__left { padding-right: 0; } }

.c-lx-val__heading {
  font-family: var(--font-head);
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.c-lx-val__sub {
  font-family: var(--font-body);
  font-size: .9rem;
  color: var(--ink-muted);
  line-height: 1.55;
  max-width: 380px;
  margin: 0 0 12px;
}

.c-lx-val__media {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 5/3;
  background: var(--bg-alt);
}

/* Timeline */
.c-lx-val__right {
  position: relative;
  padding-left: 56px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.c-lx-val__timeline {
  position: absolute;
  left: 26px;
  top: 24px;
  bottom: 24px;
  width: 2px;
  background: var(--rule);
  border-radius: 2px;
  pointer-events: none;
}
.c-lx-val__timeline-fill {
  position: absolute;
  inset: 0 0 auto 0;
  height: var(--p, 0%);
  background: var(--coral);
  border-radius: 2px;
  transition: height .15s linear;
}
@media(max-width:1000px) {
  .c-lx-val__right { padding-left: 0; }
  .c-lx-val__timeline { display: none; }
}

.c-lx-val-card {
  position: relative;
  background: var(--bg-alt);
  border-radius: 14px;
  padding: 22px 26px;
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .55s ease, transform .55s cubic-bezier(.215,.61,.355,1);
}
.c-lx-val-card.is-in {
  opacity: 1;
  transform: none;
}

.c-lx-val-card__dot {
  position: absolute;
  width: 13px; height: 13px;
  border-radius: 50%;
  top: 28px;
  left: -36px;
  background: var(--rule);
  outline: 4px solid var(--bg);
  z-index: 2;
  transition: background .35s ease, transform .35s ease;
}
.c-lx-val-card.is-in .c-lx-val-card__dot {
  background: var(--coral);
  transform: scale(1.05);
}
@media(max-width:1000px) { .c-lx-val-card__dot { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .c-lx-val-card { opacity: 1; transform: none; }
  .c-lx-val__timeline-fill { transition: none; }
}

.c-lx-val-card__num {
  display: block;
  font-family: var(--font-head);
  font-size: .78rem;
  font-weight: 500;
  color: var(--coral);
  letter-spacing: .04em;
  margin-bottom: 4px;
}

.c-lx-val-card__title {
  font-family: var(--font-head);
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--ink);
  margin: 0 0 8px;
}

.c-lx-val-card__desc {
  font-family: var(--font-body);
  font-size: .88rem;
  color: var(--ink-muted);
  line-height: 1.55;
  margin: 0;
}

/* 4. PROCESS (4-col w/ horizontal line + dots + images) */
.c-lx-prc {
  background: var(--bg);
  padding: var(--pad-section-xxl) 60px;
  position: relative;
}
@media(max-width:1100px) { .c-lx-prc { padding: 100px 40px; } }
@media(max-width:600px)  { .c-lx-prc { padding: 80px 20px; } }

.c-lx-prc__inner { max-width: 1480px; margin: 0 auto; position: relative; }

.c-lx-prc__head {
  text-align: center;
  margin: 0 auto 64px;
  max-width: 720px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.c-lx-prc__heading {
  font-family: var(--font-head);
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.c-lx-prc__sub {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink-muted);
  line-height: 1.55;
  max-width: 520px;
  margin: 0;
}

.c-lx-prc__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto auto 1fr auto;
  column-gap: 28px;
  row-gap: 18px;
  position: relative;
}
.c-lx-prc__grid::before {
  content: '';
  position: absolute;
  top: 5px;
  left: 0; right: 0;
  height: 1px;
  background: var(--rule);
  z-index: 0;
  pointer-events: none;
}
@media(max-width:900px) {
  .c-lx-prc__grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: none; gap: 36px 24px; }
  .c-lx-prc__grid::before { display: none; }
}
@media(max-width:520px) { .c-lx-prc__grid { grid-template-columns: 1fr; } }

.c-lx-prc-step {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  align-content: start;
  row-gap: 14px;
  position: relative;
}
@media(max-width:900px) {
  .c-lx-prc-step { display: flex; flex-direction: column; gap: 14px; }
}

.c-lx-prc-step__dot {
  width: 11px; height: 11px;
  border-radius: 50%;
  background: var(--coral);
  position: relative;
  outline: 4px solid var(--bg);
  z-index: 1;
  align-self: center;
  justify-self: start;
}

.c-lx-prc-step__title {
  font-family: var(--font-head);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--ink);
  margin: 0;
}

.c-lx-prc-step__duration {
  display: inline-block;
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 500;
  color: var(--coral);
  letter-spacing: .02em;
  margin-top: -8px;
}


/* ═════════════════════════════════════════════════════════════════
   CASE STUDY: caption, More cases, Next case
═════════════════════════════════════════════════════════════════ */

/* Caption box — rounded gray block with text */
.c-lx-cs-caption {
  background: var(--bg-alt);
  border-radius: 14px;
  padding: 22px 28px;
  margin: 18px auto 0;
  max-width: 1200px;
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink-muted);
  line-height: 1.6;
}

/* MORE CASE STUDIES section */
.c-lx-cs-more {
  background: var(--bg);
  padding: var(--pad-section-xxl) 60px;
  border-top: 1px solid var(--rule);
}
@media(max-width:1100px) { .c-lx-cs-more { padding: 100px 40px; } }
@media(max-width:600px)  { .c-lx-cs-more { padding: 80px 20px; } }

.c-lx-cs-more__inner { max-width: 980px; margin: 0 auto; }

.c-lx-cs-more__heading {
  font-family: var(--font-head);
  font-size: var(--fs-t2);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: var(--lh-xs);
  text-transform: uppercase;
  color: var(--ink);
  margin: 0 0 56px;
  text-align: center;
}

.c-lx-cs-more__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
@media(max-width:760px) { .c-lx-cs-more__grid { grid-template-columns: 1fr; } }

.c-lx-cs-more-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  text-decoration: none;
  color: inherit;
}

.c-lx-cs-more-card__img {
  position: relative;
  aspect-ratio: 16/10;
  border-radius: 18px;
  overflow: hidden;
  background: var(--bg-alt);
  transition: transform .45s cubic-bezier(.215,.61,.355,1);
}
.c-lx-cs-more-card:hover .c-lx-cs-more-card__img { transform: translateY(-4px); }

.c-lx-cs-more-card__view {
  position: absolute;
  bottom: 22px; right: 22px;
  z-index: 2;
  width: 60px; height: 60px;
  border-radius: 50%;
  background: var(--coral);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(.6);
  transition: opacity .35s ease, transform .35s cubic-bezier(.215,.61,.355,1);
}
.c-lx-cs-more-card:hover .c-lx-cs-more-card__view { opacity: 1; transform: scale(1); }

.c-lx-cs-more-card__title {
  font-family: var(--font-head);
  font-size: var(--fs-t5);
  font-weight: 600;
  letter-spacing: -.025em;
  color: var(--ink);
  margin: 0;
  transition: color .25s ease;
}
.c-lx-cs-more-card:hover .c-lx-cs-more-card__title { color: var(--coral); }

.c-lx-cs-more-card__desc {
  font-family: var(--font-body);
  font-size: .9rem;
  color: var(--ink-muted);
  margin: -8px 0 0;
}

/* NEXT CASE STUDY navigator */
.c-lx-cs-next {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 56px 60px;
  background: var(--bg);
  border-top: 1px solid var(--rule);
  text-decoration: none;
  color: inherit;
  transition: background .25s ease;
}
.c-lx-cs-next:hover { background: var(--bg-alt); }
@media(max-width:1100px) { .c-lx-cs-next { padding: 48px 40px; } }
@media(max-width:600px)  { .c-lx-cs-next { padding: 40px 20px; gap: 16px; } }

.c-lx-cs-next__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-lx-cs-next__label {
  font-family: var(--font-head);
  font-size: .76rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.c-lx-cs-next__title {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  font-weight: 700;
  letter-spacing: -.04em;
  color: var(--ink);
  transition: color .25s ease;
}
.c-lx-cs-next:hover .c-lx-cs-next__title { color: var(--coral); }

.c-lx-cs-next__arrow {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid var(--rule);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  flex-shrink: 0;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.c-lx-cs-next:hover .c-lx-cs-next__arrow {
  background: var(--coral);
  color: #fff;
  border-color: var(--coral);
  transform: translateX(4px);
}


/* ═════════════════════════════════════════════════════════════════
   TESTIMONIALS (dark backdrop carousel)
═════════════════════════════════════════════════════════════════ */
.c-lx-test {
  position: relative;
  background: var(--ink);
  color: #fff;
  overflow: hidden;
  isolation: isolate;
}

.c-lx-test__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.c-lx-test__bg-fill {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 25%, rgba(79,143,192,.55), transparent 55%),
    radial-gradient(circle at 80% 80%, rgba(38,100,142,.4), transparent 55%),
    linear-gradient(160deg, #0a0a0a 0%, #1e1e1e 100%);
}
.c-lx-test__bg-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, transparent 0 14px, rgba(255,255,255,.03) 14px 15px);
  mix-blend-mode: overlay;
}

.c-lx-test__inner {
  position: relative;
  z-index: 1;
  max-width: 1480px;
  margin: 0 auto;
  padding: 120px 60px 88px;
  min-height: 540px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 40px;
}
@media(max-width:1100px) { .c-lx-test__inner { padding: 100px 40px 72px; min-height: 460px; } }
@media(max-width:600px)  { .c-lx-test__inner { padding: 80px 20px 60px; min-height: auto; gap: 32px; } }

.c-lx-test__glyph {
  display: inline-flex;
  color: rgba(79,143,192,.85);
}

.c-lx-test__quote {
  font-family: var(--font-head);
  font-style: italic;
  font-size: clamp(1.4rem, 2.6vw, 2.4rem);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -.015em;
  color: #fff;
  max-width: 1000px;
  margin: 0;
  transition: opacity .45s ease, transform .45s cubic-bezier(.215,.61,.355,1);
}
.c-lx-test__quote.is-fading { opacity: 0; transform: translateY(8px); }

.c-lx-test__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  flex-wrap: wrap;
  transition: opacity .45s ease;
}
.c-lx-test__meta.is-fading { opacity: 0; }

.c-lx-test__person {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.c-lx-test__name {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -.01em;
  color: rgba(79,143,192,.95);
}

.c-lx-test__role {
  font-family: var(--font-head);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.78);
}

.c-lx-test__nav {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}

.c-lx-test__counter {
  font-family: var(--font-body);
  font-size: .82rem;
  color: rgba(255,255,255,.78);
  letter-spacing: .08em;
  min-width: 50px;
}

.c-lx-test__btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.06);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.c-lx-test__btn:hover {
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.82);
}

.c-lx-test__progress {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: rgba(255,255,255,.12);
  z-index: 2;
}

.c-lx-test__progress-bar {
  height: 100%;
  background: var(--coral);
  transition: width .55s cubic-bezier(.215,.61,.355,1);
}

.c-lx-prc-step__desc {
  font-family: var(--font-body);
  font-size: .9rem;
  color: var(--ink-muted);
  line-height: 1.55;
  margin: 0;
}

.c-lx-prc-step__img {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: 14px;
  overflow: hidden;
  background: var(--bg-alt);
  margin-top: 0;
  align-self: end;
  filter: grayscale(.6);
  transition: filter .35s ease;
}
.c-lx-prc-step__img:hover { filter: grayscale(0); }

/* 5. TEAM CAROUSEL */
.c-lx-team {
  background: var(--bg);
  padding: var(--pad-section-xxl) 0;
  border-top: 1px solid var(--rule);
}
@media(max-width:600px) { .c-lx-team { padding: 80px 0; } }

.c-lx-team__inner { max-width: 100%; }

.c-lx-team__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
  padding: 0 40px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.c-lx-team__heading {
  font-family: var(--font-head);
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.c-lx-team__sub {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink-muted);
  line-height: 1.55;
  max-width: 520px;
  margin: 0;
}

.c-lx-team__row {
  display: flex;
  gap: 18px;
  padding: 0 60px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.c-lx-team__row::-webkit-scrollbar { display: none; }
@media(max-width:600px) { .c-lx-team__row { padding: 0 20px; } }

.c-lx-team-card {
  flex: 0 0 calc((100% / 6) - 18px);
  min-width: 180px;
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 4/5;
  background: var(--bg-alt);
  scroll-snap-align: start;
  transition: transform .45s cubic-bezier(.215,.61,.355,1), box-shadow .45s ease;
}
.c-lx-team-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px -28px rgba(0,0,0,.3); }
@media(max-width:1100px) { .c-lx-team-card { flex: 0 0 220px; } }
@media(max-width:600px)  { .c-lx-team-card { flex: 0 0 65%; } }

.c-lx-team-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 18px 22px;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0) 45%, rgba(0,0,0,.85) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 6px;
  color: #fff;
  transition: background .35s ease, padding .35s cubic-bezier(.215,.61,.355,1);
}

/* Image tint + blur on card hover */
.c-lx-team-card .c-lx-ph img { transition: transform .55s cubic-bezier(.215,.61,.355,1), filter .35s ease; }
.c-lx-team-card:hover .c-lx-ph img { filter: brightness(.55) blur(2px); transform: scale(1.04); }

/* Overlay deepens on hover */
.c-lx-team-card:hover .c-lx-team-card__overlay {
  background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.78) 100%);
  padding-bottom: 24px;
}

/* Name + role lift up to make room for bio */
.c-lx-team-card__name,
.c-lx-team-card__role {
  transition: transform .45s cubic-bezier(.215,.61,.355,1);
  will-change: transform;
}
.c-lx-team-card:hover .c-lx-team-card__name,
.c-lx-team-card:hover .c-lx-team-card__role {
  transform: translateY(-4px);
}

/* Bio — hidden by default, slides in on hover */
.c-lx-team-card__bio {
  font-family: var(--font-body);
  font-size: .82rem;
  line-height: 1.5;
  color: rgba(255,255,255,.85);
  margin: 8px 0 0;
  max-height: 0;
  opacity: 0;
  transform: translateY(8px);
  overflow: hidden;
  transition: max-height .55s cubic-bezier(.215,.61,.355,1), opacity .35s ease, transform .45s cubic-bezier(.215,.61,.355,1);
}
.c-lx-team-card:hover .c-lx-team-card__bio {
  max-height: 280px;
  opacity: 1;
  transform: translateY(0);
  transition: max-height .55s cubic-bezier(.215,.61,.355,1), opacity .35s ease .1s, transform .45s cubic-bezier(.215,.61,.355,1) .1s;
}

.c-lx-team-card__name {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -.02em;
}

.c-lx-team-card__role {
  font-family: var(--font-body);
  font-size: .8rem;
  color: rgba(255,255,255,.75);
}

/* 3-card layout override */
.c-lx-team__row--three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 0 60px;
  max-width: 1480px;
  margin: 0 auto;
  overflow: visible;
}
@media(max-width:900px) { .c-lx-team__row--three { grid-template-columns: repeat(2, 1fr); padding: 0 40px; } }
@media(max-width:600px) { .c-lx-team__row--three { grid-template-columns: 1fr; padding: 0 20px; gap: 18px; } }

.c-lx-team__row--three .c-lx-team-card {
  flex: none;
  min-width: 0;
  width: 100%;
}

.c-lx-team-card__social {
  position: absolute;
  top: 16px; right: 16px;
  z-index: 3;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.c-lx-team-card__social:hover { background: var(--coral); color: #fff; transform: scale(1.08); }
.c-lx-team-card__social svg { width: 16px; height: 16px; }


/* ═════════════════════════════════════════════════════════════════
   WORK PAGE: HERO + GRID
═════════════════════════════════════════════════════════════════ */

/* WORK HERO */
.c-lx-wkh {
  background: var(--bg);
  padding: 160px 60px 80px;
}
@media(max-width:1100px) { .c-lx-wkh { padding: 130px 40px 60px; } }
@media(max-width:600px)  { .c-lx-wkh { padding: 110px 20px 60px; } }

.c-lx-wkh__inner {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}

.c-lx-wkh__heading {
  font-family: var(--font-head);
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.c-lx-wkh__sub {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink-muted);
  line-height: 1.55;
  max-width: 520px;
  margin: 0;
}

.c-lx-wkh__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--coral);
  color: #fff;
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  padding: 14px 30px;
  border-radius: 100px;
  margin-top: 8px;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-wkh__btn:hover { background: var(--ink); }
.c-lx-wkh__btn-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
}

.c-lx-wkh__eyebrow {
  display: inline-block;
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 500;
  color: var(--coral);
  letter-spacing: .01em;
}

/* CATEGORY FILTER */
.c-lx-wkf {
  background: var(--bg);
  padding: 8px 60px 16px;
}
@media(max-width:1100px) { .c-lx-wkf { padding: 8px 40px 12px; } }
@media(max-width:600px)  { .c-lx-wkf { padding: 8px 20px 12px; } }

.c-lx-wkf__inner {
  max-width: 1480px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.c-lx-wkf__pill {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 500;
  color: var(--ink);
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 100px;
  padding: 10px 22px;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.c-lx-wkf__pill:hover { border-color: var(--ink); }
.c-lx-wkf__pill.is-active {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}

/* Filtered card states */
.c-lx-wkg-card.is-hidden { display: none; }
.c-lx-wkg-card.is-revealed { animation: wkgFadeIn .4s ease forwards; }
@keyframes wkgFadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* WORK GRID */
.c-lx-wkg {
  background: var(--bg);
  padding: 40px 60px var(--pad-section-xxl);
}
@media(max-width:1100px) { .c-lx-wkg { padding: 24px 40px 100px; } }
@media(max-width:600px)  { .c-lx-wkg { padding: 16px 20px 80px; } }

.c-lx-wkg__inner {
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 24px;
}
@media(max-width:1100px) { .c-lx-wkg__inner { grid-template-columns: 1fr 1fr; gap: 40px 24px; } }
@media(max-width:600px)  { .c-lx-wkg__inner { grid-template-columns: 1fr; gap: 32px; } }

.c-lx-wkg-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  text-decoration: none;
  color: inherit;
}

.c-lx-wkg-card__img {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  border-radius: 14px;
  overflow: hidden;
  background: var(--bg-alt);
  flex-shrink: 0;
  transition: transform .45s cubic-bezier(.215,.61,.355,1);
}
.c-lx-wkg-card:hover .c-lx-wkg-card__img { transform: translateY(-4px); }

.c-lx-wkg-card__img { --mx: 50%; --my: 50%; }

.c-lx-wkg-card__view {
  position: absolute;
  top: 0; left: 0;
  z-index: 2;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--coral);
  color: #fff;
  font-family: var(--font-head);
  font-size: .9rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translate(calc(var(--mx) - 36px), calc(var(--my) - 36px)) scale(.6);
  transition: opacity .35s ease, transform .25s cubic-bezier(.215,.61,.355,1);
  pointer-events: none;
  will-change: transform;
}
.c-lx-wkg-card:hover .c-lx-wkg-card__view,
.c-lx-wkg-card--active .c-lx-wkg-card__view {
  opacity: 1;
  transform: translate(calc(var(--mx) - 36px), calc(var(--my) - 36px)) scale(1);
}

.c-lx-wkg-card__body {
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 56px;
}

.c-lx-wkg-card__desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.c-lx-wkg-card__title {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--ink);
  margin: 0;
  transition: color .25s ease;
}
.c-lx-wkg-card:hover .c-lx-wkg-card__title,
.c-lx-wkg-card--active .c-lx-wkg-card__title { color: var(--coral); }

.c-lx-wkg-card__desc {
  font-family: var(--font-body);
  font-size: .82rem;
  color: var(--ink-muted);
  margin: 0;
}


/* ═════════════════════════════════════════════════════════════════
   SERVICES PAGE: HERO + ALTERNATING ROWS
═════════════════════════════════════════════════════════════════ */

/* SERVICES HERO */
.c-lx-svh {
  background: var(--bg);
  padding: 160px 60px 80px;
}
@media(max-width:1100px) { .c-lx-svh { padding: 130px 40px 60px; } }
@media(max-width:600px)  { .c-lx-svh { padding: 110px 20px 60px; } }

.c-lx-svh__inner {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}

.c-lx-svh__heading {
  font-family: var(--font-head);
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.c-lx-svh__sub {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink-muted);
  line-height: 1.55;
  max-width: 520px;
  margin: 0;
}

.c-lx-svh__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--ink);
  color: #fff;
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  padding: 14px 30px;
  border-radius: 100px;
  margin-top: 8px;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-svh__btn:hover { background: var(--coral); }
.c-lx-svh__btn-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
}

.c-lx-svh__eyebrow {
  display: inline-block;
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 500;
  color: var(--coral);
  letter-spacing: .01em;
}

/* ALTERNATING ROWS */
.c-lx-svr {
  background: var(--bg);
  padding: 40px 60px var(--pad-section-xxl);
}
@media(max-width:1100px) { .c-lx-svr { padding: 24px 40px 100px; } }
@media(max-width:600px)  { .c-lx-svr { padding: 16px 20px 80px; } }

.c-lx-svr__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media(max-width:900px) { .c-lx-svr__inner { gap: 32px; } }

.c-lx-svr__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 22px;
  overflow: hidden;
  min-height: 660px;
  transition: transform .35s cubic-bezier(.215,.61,.355,1), box-shadow .35s ease, border-color .35s ease;
}
.c-lx-svr__row:hover {
  transform: translateY(-3px);
  border-color: var(--ink);
  box-shadow: 0 24px 50px -28px rgba(30,30,30,.18);
}
.c-lx-svr__row--reverse > .c-lx-svr__media { order: 2; }
.c-lx-svr__row--reverse > .c-lx-svr__text  { order: 1; }
@media(max-width:900px) {
  .c-lx-svr__row { grid-template-columns: 1fr; min-height: 0; }
  .c-lx-svr__row--reverse > .c-lx-svr__media,
  .c-lx-svr__row--reverse > .c-lx-svr__text { order: initial; }
}

.c-lx-svr__media {
  position: relative;
  overflow: hidden;
  background: var(--bg-alt);
  height: 100%;
  min-height: 320px;
}
.c-lx-svr__media .c-lx-ph,
.c-lx-svr__media .c-lx-ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media(max-width:900px) { .c-lx-svr__media { aspect-ratio: 5/4; min-height: 0; } }

.c-lx-svr__text {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 44px 48px;
  justify-content: center;
  max-width: none;
}
@media(max-width:600px) { .c-lx-svr__text { padding: 32px 28px; } }

.c-lx-svr__title {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: 1.1;
  color: var(--ink);
  margin: 0;
}

.c-lx-svr__list {
  list-style: none;
  padding: 0;
  margin: 4px 0 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.c-lx-svr__list li {
  position: relative;
  padding-left: 30px;
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink);
  line-height: 1.55;
}
.c-lx-svr__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .55em;
  width: 14px;
  height: 8px;
  border-left: 2px solid var(--coral);
  border-bottom: 2px solid var(--coral);
  transform: rotate(-45deg);
  transform-origin: left bottom;
}

.c-lx-svr__desc {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink-muted);
  line-height: 1.65;
  margin: 0;
}

.c-lx-svr__btn {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 14px;
  background: var(--ink);
  color: #fff;
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 500;
  text-decoration: none;
  padding: 13px 28px;
  border-radius: 100px;
  margin-top: 8px;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-svr__btn:hover { background: var(--coral); }
.c-lx-svr__btn-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
}


/* ═════════════════════════════════════════════════════════════════
   CONTACT PAGE: HERO + INFO CARDS + FORM + FAQ
═════════════════════════════════════════════════════════════════ */

/* CONTACT HERO */
.c-lx-cnh {
  background: var(--bg);
  padding: 160px 60px 64px;
}
@media(max-width:1100px) { .c-lx-cnh { padding: 130px 40px 48px; } }
@media(max-width:600px)  { .c-lx-cnh { padding: 110px 20px 40px; } }

.c-lx-cnh__inner {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}

.c-lx-cnh__heading {
  font-family: var(--font-head);
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.c-lx-cnh__sub {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink-muted);
  line-height: 1.55;
  max-width: 540px;
  margin: 0;
}

.c-lx-cnh__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--ink);
  color: #fff;
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  padding: 14px 30px;
  border-radius: 100px;
  margin-top: 8px;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-cnh__btn:hover { background: var(--coral); }
.c-lx-cnh__btn-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
}

.c-lx-cnh__eyebrow {
  display: inline-block;
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 500;
  color: var(--coral);
}

/* CONTACT INFO CARDS */
.c-lx-cnc {
  background: var(--bg);
  padding: 40px 60px 80px;
}
@media(max-width:1100px) { .c-lx-cnc { padding: 32px 40px 64px; } }
@media(max-width:600px)  { .c-lx-cnc { padding: 24px 20px 56px; } }

.c-lx-cnc__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media(max-width:900px) { .c-lx-cnc__inner { grid-template-columns: 1fr; } }

.c-lx-cnc-card {
  background: var(--bg-alt);
  border-radius: 18px;
  padding: 28px 30px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.c-lx-cnc-card__label {
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 500;
  color: var(--coral);
  letter-spacing: .01em;
}

.c-lx-cnc-card__big {
  font-family: var(--font-head);
  font-size: clamp(1.4rem, 2.2vw, 1.9rem);
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--ink);
  text-decoration: none;
  line-height: 1.15;
  word-break: break-word;
  transition: color .25s ease;
}
a.c-lx-cnc-card__big:hover { color: var(--coral); }
.c-lx-cnc-card__big--static { cursor: default; }

.c-lx-cnc-card__desc {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink-muted);
  line-height: 1.6;
  margin: 0;
  flex: 1;
}

.c-lx-cnc-card__link {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 8px;
  font-family: var(--font-head);
  font-size: .9rem;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1.5px solid var(--ink);
  padding-bottom: 3px;
  margin-top: 4px;
  transition: color .25s ease, border-color .25s ease, gap .25s ease;
}
.c-lx-cnc-card__link:hover { color: var(--coral); border-color: var(--coral); gap: 12px; }
.c-lx-cnc-card__link svg { transition: transform .25s ease; }

/* CONTACT FORM */
.c-lx-cnf {
  background: var(--bg);
  padding: 60px 60px var(--pad-section-xxl);
}
@media(max-width:1100px) { .c-lx-cnf { padding: 48px 40px 100px; } }
@media(max-width:600px)  { .c-lx-cnf { padding: 32px 20px 80px; } }

.c-lx-cnf__inner { max-width: 1320px; margin: 0 auto; }

.c-lx-cnf__head {
  text-align: center;
  margin: 0 auto 40px;
  max-width: 640px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.c-lx-cnf__heading {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4.5vw, 3.6rem);
  font-weight: 700;
  letter-spacing: -.04em;
  color: var(--ink);
  margin: 0;
  text-align: center;
}

.c-lx-cnf__sub {
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--ink-muted);
  line-height: 1.6;
  margin: 0;
}

.c-lx-cnf__email {
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1.5px solid var(--ink);
  padding-bottom: 3px;
  margin-top: 4px;
  transition: color .25s ease, border-color .25s ease;
}
.c-lx-cnf__email:hover { color: var(--coral); border-color: var(--coral); }

.c-lx-cnf__select {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink);
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 12px 16px;
  outline: none;
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%23c5440c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 18px center;
  padding-right: 44px;
  transition: border-color .25s ease, box-shadow .25s ease;
  cursor: pointer;
}
.c-lx-cnf__select:focus {
  border-color: var(--coral);
  box-shadow: 0 0 0 4px rgba(38,100,142,.12);
}

.c-lx-cnf__row {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
  align-items: stretch;
}
@media(max-width:900px) { .c-lx-cnf__row { grid-template-columns: 1fr; gap: 32px; } }

.c-lx-cnf__form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-lx-cnf__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 20px;
}
@media(max-width:600px) { .c-lx-cnf__grid { grid-template-columns: 1fr; } }

.c-lx-cnf__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.c-lx-cnf__field--full { grid-column: 1 / -1; }

.c-lx-cnf__field span {
  font-family: var(--font-head);
  font-size: .85rem;
  font-weight: 500;
  color: var(--ink);
}

.c-lx-cnf__field input,
.c-lx-cnf__field textarea {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink);
  background: var(--bg);
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 12px 16px;
  outline: none;
  transition: border-color .25s ease, box-shadow .25s ease;
  width: 100%;
}
.c-lx-cnf__field textarea {
  resize: vertical;
  min-height: 120px;
  font-family: var(--font-body);
}
.c-lx-cnf__field input::placeholder,
.c-lx-cnf__field textarea::placeholder {
  color: var(--coral);
  opacity: .9;
}
.c-lx-cnf__field input:focus,
.c-lx-cnf__field textarea:focus {
  border-color: var(--coral);
  box-shadow: 0 0 0 4px rgba(38,100,142,.12);
}

.c-lx-cnf__submit {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--ink);
  color: #fff;
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 500;
  border: none;
  cursor: pointer;
  padding: 14px 30px;
  border-radius: 100px;
  margin-top: 4px;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-cnf__submit:hover { background: var(--coral); }
.c-lx-cnf__submit-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
}

.c-lx-cnf__media {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: var(--bg-alt);
  min-height: 360px;
}

/* FAQ */
.c-lx-faq {
  background: var(--bg);
  padding: var(--pad-section-xxl) 60px;
  border-top: 1px solid var(--rule);
}
@media(max-width:1100px) { .c-lx-faq { padding: 100px 40px; } }
@media(max-width:600px)  { .c-lx-faq { padding: 80px 20px; } }

.c-lx-faq__inner { max-width: 880px; margin: 0 auto; }

.c-lx-faq__head {
  text-align: center;
  margin: 0 auto 56px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.c-lx-faq__heading {
  font-family: var(--font-head);
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.c-lx-faq__sub {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink-muted);
  line-height: 1.6;
  max-width: 560px;
  margin: 0;
}

.c-lx-faq__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-lx-faq-item {
  background: var(--bg-alt);
  border-radius: 14px;
  padding: 0 22px;
  transition: background .25s ease;
}
.c-lx-faq-item[open] { background: var(--bg-alt); }

.c-lx-faq-item summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0;
  cursor: pointer;
}
.c-lx-faq-item summary::-webkit-details-marker { display: none; }

.c-lx-faq-item summary > span:first-child {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: -.01em;
}

.c-lx-faq-item__icon {
  position: relative;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
.c-lx-faq-item__icon::before,
.c-lx-faq-item__icon::after {
  content: '';
  position: absolute;
  background: var(--coral);
  border-radius: 2px;
  transition: transform .35s cubic-bezier(.215,.61,.355,1), opacity .25s ease;
}
.c-lx-faq-item__icon::before {
  left: 0; right: 0;
  top: 50%;
  height: 2.5px;
  margin-top: -1.25px;
}
.c-lx-faq-item__icon::after {
  top: 0; bottom: 0;
  left: 50%;
  width: 2.5px;
  margin-left: -1.25px;
}
.c-lx-faq-item[open] .c-lx-faq-item__icon::after {
  transform: rotate(90deg);
  opacity: 0;
}

.c-lx-faq-item__body {
  padding: 0 0 18px;
}
.c-lx-faq-item__body p {
  font-family: var(--font-body);
  font-size: .92rem;
  color: var(--ink-muted);
  line-height: 1.65;
  margin: 0;
  max-width: 720px;
}


/* ═════════════════════════════════════════════════════════════════
   FLOATING IMAGES + CENTERED HEADING
═════════════════════════════════════════════════════════════════ */
.c-lx-float {
  position: relative;
  background: var(--bg);
  min-height: 260vh;
  overflow: clip;
}
@media(max-width:900px) { .c-lx-float { min-height: 220vh; } }

.c-lx-float__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  padding: 0 60px;
}
@media(max-width:900px) { .c-lx-float__sticky { padding: 0 24px; } }

.c-lx-float__inner {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.c-lx-float__heading {
  font-family: var(--font-head);
  font-size: clamp(2.4rem, 6vw, 5.2rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.05;
  color: var(--ink);
  margin: 0;
}

.c-lx-float__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--coral);
  color: #fff;
  font-family: var(--font-head);
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  padding: 14px 30px;
  border-radius: 100px;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-float__btn:hover { background: var(--ink); }
.c-lx-float__btn-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
}

.c-lx-float__pic {
  position: absolute;
  width: 300px;
  height: 320px;
  border-radius: 18px;
  overflow: hidden;
  z-index: 1;
  box-shadow: 0 24px 50px -28px rgba(0,0,0,.3);
  will-change: transform;
}
@media(max-width:900px) { .c-lx-float__pic { width: 170px; height: 190px; } }
@media(max-width:600px) {
  .c-lx-float__pic--tc, .c-lx-float__pic--bl, .c-lx-float__pic--br { display: none; }
  .c-lx-float__pic { width: 110px; height: 130px; }
}

.c-lx-float__pic--tl { top: 0;       left: 2%;                          transform: rotate(-6deg); }
.c-lx-float__pic--tc { top: -40px;   left: calc(50% - 150px);           transform: rotate(8deg); }
.c-lx-float__pic--tr { top: 0;       right: 2%;                         transform: rotate(7deg); }
.c-lx-float__pic--bl { bottom: 6%;   left: 4%;                          transform: rotate(8deg); }
.c-lx-float__pic--br { bottom: 14%;  right: 0%;                         transform: rotate(-5deg); }

@keyframes lxFloatY {
  0%, 100% { translate: 0 0; }
  50%      { translate: 0 -14px; }
}


/* ═════════════════════════════════════════════════════════════════
   STATS v2 (light bg, 2x2 grid w/ dividers)
═════════════════════════════════════════════════════════════════ */
.c-lx-st2 {
  background: var(--bg);
  padding: var(--pad-section-xxl) 60px;
}
@media(max-width:1100px) { .c-lx-st2 { padding: 100px 40px; } }
@media(max-width:600px)  { .c-lx-st2 { padding: 80px 20px; } }

.c-lx-st2__inner { max-width: 1480px; margin: 0 auto; }

.c-lx-st2__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 64px;
  flex-wrap: wrap;
}

.c-lx-st2__heading {
  font-family: var(--font-head);
  font-size: clamp(2.2rem, 4.6vw, 4.4rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.c-lx-st2__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--ink);
  color: #fff;
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 500;
  text-decoration: none;
  padding: 14px 30px;
  border-radius: 100px;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-st2__btn:hover { background: var(--coral); }
.c-lx-st2__btn-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fff;
}

.c-lx-st2__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px 80px;
}
@media(max-width:600px) { .c-lx-st2__grid { grid-template-columns: 1fr; gap: 40px; } }

.c-lx-st2-stat {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--rule);
}

.c-lx-st2-stat__num {
  font-family: var(--font-head);
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 700;
  letter-spacing: -.05em;
  color: var(--ink);
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.c-lx-st2-stat__suf { font-size: .8em; color: var(--ink); }

.c-lx-st2-stat__lbl {
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--ink-muted);
  margin: 0;
}


/* ═════════════════════════════════════════════════════════════════
   WORK PROCESS (sticky-pinned, blob visual, step pagination)
═════════════════════════════════════════════════════════════════ */
.c-lx-wpr {
  background: var(--bg);
  padding: 0;
  position: relative;
  min-height: 420vh;
}
@media(max-width:900px) { .c-lx-wpr { min-height: 380vh; } }

.c-lx-wpr__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px;
}
@media(max-width:1100px) { .c-lx-wpr__sticky { padding: 40px; } }
@media(max-width:600px)  { .c-lx-wpr__sticky { padding: 20px; } }

.c-lx-wpr__inner {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  grid-template-areas:
    "head head   head"
    "step pager visual";
  align-items: center;
  column-gap: 60px;
  row-gap: 48px;
}
@media(max-width:900px) {
  .c-lx-wpr__inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    grid-template-areas:
      "head"
      "visual"
      "step"
      "pager";
    row-gap: 32px;
    text-align: center;
  }
}

.c-lx-wpr__head {
  grid-area: head;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  text-align: center;
  justify-self: center;
}

.c-lx-wpr__heading { white-space: nowrap; }
@media(max-width:600px) { .c-lx-wpr__heading { white-space: normal; } }

.c-lx-wpr__heading {
  font-family: var(--font-head);
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.c-lx-wpr__sub {
  font-family: var(--font-body);
  font-size: .95rem;
  color: var(--ink-muted);
  line-height: 1.55;
  max-width: 520px;
  margin: 0;
}

.c-lx-wpr__visual {
  grid-area: visual;
  justify-self: center;
  width: 380px;
  height: 380px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media(max-width:600px) { .c-lx-wpr__visual { width: 240px; height: 240px; } }

.c-lx-wpr__viz {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--coral);
  opacity: 0;
  transform: scale(.92);
  transition: opacity .45s ease, transform .55s cubic-bezier(.215,.61,.355,1);
  pointer-events: none;
}
.c-lx-wpr__viz.is-active {
  opacity: 1;
  transform: scale(1);
}
.c-lx-wpr__viz svg {
  width: 78%;
  height: 78%;
}
.c-lx-wpr__viz::before {
  content: '';
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 30%, rgba(79,143,192,.35), transparent 65%),
    radial-gradient(circle at 70% 70%, rgba(38,100,142,.25), transparent 60%),
    linear-gradient(135deg, #eaf3fb 0%, #f8efe7 100%);
  z-index: -1;
}

.c-lx-wpr__step {
  grid-area: step;
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: flex-start;
  text-align: left;
  max-width: 480px;
  transition: opacity .3s ease;
}
.c-lx-wpr__step.is-fading { opacity: 0; }
@media(max-width:900px) {
  .c-lx-wpr__step { align-items: center; text-align: center; max-width: 720px; margin: 0 auto; }
}

.c-lx-wpr__step-num {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--coral);
}

.c-lx-wpr__step-name {
  font-family: var(--font-head);
  font-size: clamp(2.6rem, 6vw, 5rem);
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: .98;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.c-lx-wpr__step-desc {
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--ink-muted);
  line-height: 1.65;
  margin: 0;
}

.c-lx-wpr__pager {
  grid-area: pager;
  justify-self: center;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  background: var(--coral);
  border-radius: 14px;
  padding: 22px 14px;
  margin: 0;
}
@media(max-width:900px) {
  .c-lx-wpr__pager { flex-direction: row; padding: 18px 24px; gap: 14px; }
}

.c-lx-wpr__pager-btn {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.78);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease;
}
.c-lx-wpr__pager-btn:hover { background: #fff; }
.c-lx-wpr__pager-btn.is-active { background: #fff; transform: scale(1.2); }


/* ═════════════════════════════════════════════════════════════════
   FOOTER v3 (dark, 3-col w/ Pages + Inner Pages + Newsletter)
═════════════════════════════════════════════════════════════════ */
.c-lx-foot {
  background: #0a0a0a;
  color: #fff;
  padding: 100px 60px 60px;
}
@media(max-width:1100px) { .c-lx-foot { padding: 80px 40px 56px; } }
@media(max-width:600px)  { .c-lx-foot { padding: 64px 20px 48px; } }

.c-lx-foot__inner {
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 64px;
}
@media(max-width:1100px) { .c-lx-foot__inner { grid-template-columns: 1fr 1fr; gap: 56px 48px; } }
@media(max-width:600px)  { .c-lx-foot__inner { grid-template-columns: 1fr; gap: 48px; } }

.c-lx-foot__col {
  display: flex;
  flex-direction: column;
}

/* LEFT — brand col */
.c-lx-foot__col--brand {
  gap: 28px;
  border-right: 1px solid rgba(255,255,255,.12);
  padding-right: 60px;
}
@media(max-width:1000px) {
  .c-lx-foot__col--brand { border-right: none; padding-right: 0; grid-column: 1 / -1; }
}

.c-lx-foot__logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #fff;
  font-family: var(--font-head);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: -.04em;
}
.c-lx-foot__mark { display: inline-flex; }

.c-lx-foot__info {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.c-lx-foot__tagline {
  font-family: var(--font-body);
  font-size: .92rem;
  color: rgba(255,255,255,.82);
  line-height: 1.6;
  margin: 0;
  max-width: 280px;
}

.c-lx-foot__contact {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.c-lx-foot__location {
  font-family: var(--font-body);
  font-size: .85rem;
  color: rgba(255,255,255,.78);
  line-height: 1.5;
}

.c-lx-foot__email {
  font-family: var(--font-body);
  font-size: .92rem;
  color: rgba(255,255,255,.85);
  text-decoration: none;
  transition: color .2s ease;
}
.c-lx-foot__email:hover { color: var(--coral); }

.c-lx-foot__label {
  font-family: var(--font-head);
  font-size: .9rem;
  font-weight: 600;
  color: #fff;
}

.c-lx-foot__info p {
  font-family: var(--font-body);
  font-size: .92rem;
  color: rgba(255,255,255,.82);
  line-height: 1.55;
  margin: 0;
}

.c-lx-foot__copy {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.12);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.c-lx-foot__copy p {
  font-family: var(--font-body);
  font-size: .85rem;
  color: rgba(255,255,255,.82);
  line-height: 1.5;
  margin: 0;
}

/* MID + RIGHT cols share grouping */
.c-lx-foot__col--mid,
.c-lx-foot__col--right {
  gap: 40px;
}

.c-lx-foot__group {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.c-lx-foot__h {
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 4px;
  letter-spacing: -.005em;
}

.c-lx-foot__nav {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-lx-foot__nav a {
  font-family: var(--font-body);
  font-size: .98rem;
  color: rgba(255,255,255,.82);
  text-decoration: none;
  transition: color .2s ease;
  width: max-content;
}
.c-lx-foot__nav a:hover { color: #fff; }

.c-lx-foot__social {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.c-lx-foot__social a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-body);
  font-size: .98rem;
  color: rgba(255,255,255,.82);
  text-decoration: none;
  transition: color .2s ease;
  width: max-content;
}
.c-lx-foot__social a:hover { color: #fff; }

.c-lx-foot__social svg {
  width: 18px;
  height: 18px;
  opacity: .7;
  transition: opacity .2s ease;
  flex-shrink: 0;
}
.c-lx-foot__social a:hover svg { opacity: 1; }

/* Newsletter */
.c-lx-foot__group--news { gap: 14px; }

.c-lx-foot__news-desc {
  font-family: var(--font-body);
  font-size: .92rem;
  color: rgba(255,255,255,.82);
  line-height: 1.55;
  margin: 0;
  max-width: 280px;
}

.c-lx-foot__news {
  position: relative;
  margin-top: 6px;
  max-width: 320px;
}

.c-lx-foot__news input {
  width: 100%;
  background: transparent;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 100px;
  color: #fff;
  font-family: var(--font-body);
  font-size: .92rem;
  padding: 14px 56px 14px 22px;
  outline: none;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.c-lx-foot__news input::placeholder { color: rgba(255,255,255,.78); }
.c-lx-foot__news input:focus {
  border-color: var(--coral);
  box-shadow: 0 0 0 4px rgba(38,100,142,.18);
}

.c-lx-foot__news button {
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--coral);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s ease, transform .2s ease;
}
.c-lx-foot__news button:hover { background: #fff; color: var(--coral); transform: translateY(-50%) translateX(2px); }


/* ═════════════════════════════════════════════════════════════════
   LORA SERIF ACCENTS — italic em words + testimonial quote
═════════════════════════════════════════════════════════════════ */
.c-lx-about__heading em,
.c-lx-svc-grid__heading em,
.c-lx-svc__heading em,
.c-lx-work__heading em,
.c-lx-cta__heading em,
.c-lx-blog__heading em,
.c-lx-process__heading em,
.c-lx-price__heading em,
.c-lx-speak__heading em,
.c-lx-cs-next__title em,
.c-lx-about2__heading em,
.c-lx-show__heading em,
.c-lx-sol__heading em,
.c-lx-show-card__title em,
.c-lx-prc__heading em,
.c-lx-val__heading em,
.c-lx-svh__heading em,
.c-lx-cnh__heading em,
.c-lx-wkh__heading em,
.c-lx-st2__heading em,
.c-lx-wpr__heading em,
.c-lx-faq__heading em,
.c-lx-team__heading em,
.c-lx-abh__heading em,
.c-lx-tsnap__heading em,
.c-lx-aus__heading em,
.c-lx-float__heading em {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 600;
  letter-spacing: -.01em;
}

.c-lx-test__quote {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 500;
  letter-spacing: -.01em;
}

.c-lx-speak__quote {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 500;
  letter-spacing: -.01em;
}
