@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/dm-sans-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/dm-sans-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  --ink: #09090b;
  --muted: #71717a;
  --line: #dedee3;
  --soft: #f3f3f5;
  --soft-2: #e9e9ec;
  --paper: #fff;
  --blue: #006bfb;
  --blue-soft: #f4f4f5;
  --cyan: #006bfb;
  --radius: 48px;
  --radius-sm: 20px;
  --container: 1500px;
  --wide: 1780px;
  --page-gutter: clamp(16px, 2.25vw, 32px);
  --bleed-gutter: clamp(10px, 1.7vw, 24px);
  --header: 70px;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "DM Sans", Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.45;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { color: inherit; font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
h1, h2, h3, p, blockquote { margin-top: 0; }
h1, h2, h3, strong { letter-spacing: -.04em; }
.container { width: min(calc(100% - (var(--page-gutter) * 2)), var(--container)); margin-inline: auto; }
.wide-container { width: min(calc(100% - (var(--bleed-gutter) * 2)), var(--wide)); margin-inline: auto; }
.section { padding-block: clamp(88px, 7vw, 128px); }
.kicker {
  display: inline-block;
  margin-bottom: 20px;
  color: #686871;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  z-index: 999;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--ink);
  color: white;
  transform: translateY(-180%);
}
.skip-link:focus { transform: none; }
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .72s var(--ease), transform .72s var(--ease);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.reveal.is-visible { opacity: 1; transform: none; }

/* Header */
.site-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  height: var(--header);
  border-top: 1px solid #eee;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(18px);
  transition: box-shadow .25s ease, height .25s ease;
}
.site-header.is-scrolled { box-shadow: 0 1px 0 rgba(0,0,0,.08); }
.header-inner {
  position: relative;
  display: grid;
  grid-template-columns: 180px 1fr auto;
  align-items: center;
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--container));
  height: 100%;
  margin-inline: auto;
  gap: 26px;
}
.brand, .footer-logo { display: inline-flex; align-items: center; width: fit-content; }
.brand img { display: block; width: 118px; height: auto; object-fit: contain; }
.footer-logo img { display: block; width: 142px; height: auto; object-fit: contain; }
.brand strong, .footer-logo strong { display: none; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: 32px; font-size: 14px; }
.main-nav > a, .nav-group > button {
  position: relative;
  border: 0;
  padding: 23px 0;
  background: transparent;
  white-space: nowrap;
}
.main-nav > a::after, .nav-group > button::after {
  position: absolute;
  right: 0;
  bottom: 16px;
  left: 0;
  height: 1px;
  background: var(--ink);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .25s var(--ease);
}
.main-nav > a:hover::after, .nav-group > button:hover::after { transform: scaleX(1); transform-origin: left; }
.nav-group { position: relative; }
.nav-group > button { display: flex; align-items: center; gap: 8px; }
.nav-group > button i { width: 7px; height: 7px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; }
.nav-group.is-open > button i { transform: rotate(225deg) translate(-2px,-1px); }
.nav-panel, .mega-menu {
  position: absolute;
  top: calc(100% - 8px);
  visibility: hidden;
  border: 1px solid #e5e5e8;
  border-radius: 24px;
  background: white;
  box-shadow: 0 24px 70px rgba(0,0,0,.1);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .25s ease, transform .25s var(--ease), visibility .25s;
}
.nav-panel { left: -22px; width: 190px; padding: 12px; }
.nav-panel a { display: block; padding: 12px; border-radius: 12px; }
.nav-panel a:hover { background: var(--soft); }
.nav-group.is-open > .nav-panel, .nav-group.is-open > .mega-menu, .nav-group:hover > .nav-panel, .nav-group:hover > .mega-menu, .nav-group:focus-within > .nav-panel, .nav-group:focus-within > .mega-menu { visibility: visible; opacity: 1; transform: none; }
.mega-menu {
  left: 50%;
  display: grid;
  grid-template-columns: 1.8fr .9fr .75fr;
  width: min(1180px, calc(100vw - 64px));
  max-height: calc(100vh - 96px);
  padding: 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  transform: translate(-50%, 10px);
}
.nav-group.is-open > .mega-menu, .nav-group:hover > .mega-menu { transform: translate(-50%, 0); }
.mega-column { min-width: 0; padding: 4px 22px; border-left: 1px solid #ececf0; }
.mega-column:first-child { padding-left: 0; border-left: 0; }
.mega-label { display: block; margin-bottom: 18px; color: #92929b; font-size: 12px; }
.mega-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; }
.mega-column > a, .mega-grid a { display: flex; align-items: center; gap: 12px; min-height: 66px; padding: 9px; border-radius: 16px; }
.mega-column > a:hover, .mega-grid a:hover { background: var(--soft); }
.mega-column a b {
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border: 1px solid #dddde1;
  border-radius: 50%;
  box-shadow: inset 0 0 0 4px #f5f5f6;
  font-size: 12px;
  letter-spacing: -.05em;
}
.mega-column a span { display: flex; min-width: 0; flex-direction: column; }
.mega-column a strong { font-size: 14px; font-weight: 600; letter-spacing: -.02em; }
.mega-column a small { color: #85858e; font-size: 12px; white-space: normal; }
.mega-column > .mega-all-services { min-height: 58px; margin-top: 10px; padding-top: 14px; border-top: 1px solid var(--line); border-radius: 0 0 16px 16px; }
.nav-actions { display: flex; align-items: center; gap: 15px; font-size: 13px; }
.login-link { white-space: nowrap; }
.language-switch { position: relative; }
.language-switch > button { border: 0; padding: 12px 2px; background: transparent; }
.language-switch > div {
  position: absolute;
  top: calc(100% - 3px);
  right: -12px;
  display: none;
  width: 72px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: white;
  box-shadow: 0 15px 40px rgba(0,0,0,.08);
}
.language-switch:hover > div, .language-switch:focus-within > div { display: grid; }
.language-switch a { padding: 7px 9px; border-radius: 9px; }
.language-switch a:hover { background: var(--soft); }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 0 22px;
  border: 1px solid var(--ink);
  border-radius: 16px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -.01em;
  transition: transform .22s var(--ease), background .22s ease, color .22s ease;
}
.button:hover { transform: translateY(-2px); }
.button--dark { background: var(--ink); color: white; box-shadow: inset 0 0 0 2px #3f3f45, 0 5px 12px rgba(0,0,0,.12); }
.button--dark:hover { background: #252529; }
.button--ghost { background: white; }
.button--full { width: 100%; }
.menu-toggle { display: none; border: 0; background: transparent; }
.mobile-language-links { display: none !important; }
.mobile-nav-actions { display: none; }

/* Hero */
.hero {
  position: relative;
  padding-top: var(--header);
  overflow: hidden;
  color: var(--ink);
  background: #fff;
}
.hero-main {
  display: grid;
  grid-template-columns: minmax(0, 1.244fr) minmax(0, 1fr);
  align-items: start;
  width: min(calc(100% - 80px), 1280px);
  min-height: 489px;
  padding: 96px 0 0;
  gap: 16px;
}
.trust-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.trust-badges > span, .plan-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid #e3e3e6;
  border-radius: 999px;
  color: #4e4e56;
  background: #fafafa;
  font-size: 12px;
  line-height: 18px;
}
.hero .trust-badges { margin-bottom: 8px; }
.hero .trust-badges > span {
  border-color: #e4e4e7;
  color: #52525b;
  background: #fafafa;
}
.trust-badges i { color: var(--blue); font-style: normal; }
.trust-badges b { color: #00a67a; }
.hero h1 {
  max-width: 648px;
  margin: 0;
  font-size: 64px;
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.05em;
}
.hero-headline-line { display: block; white-space: nowrap; }
.rotating-wrap {
  position: relative;
  display: inline-flex;
  min-width: 5.65em;
  height: .95em;
  overflow: hidden;
  vertical-align: -.04em;
}
.rotating-wrap em { color: #52525b; font-style: normal; transition: opacity .22s ease, transform .42s var(--ease); }
.rotating-wrap em.is-changing { opacity: 0; transform: translateY(-58%); }
.hero-aside { align-self: start; justify-self: end; width: 100%; max-width: 475px; margin-top: 68px; }
.hero-aside > p { margin-bottom: 28px; color: #52525b; font-size: 15px; line-height: 1.45; letter-spacing: -.02em; }
.hero-inline-avatars { display: inline-flex; align-items: center; margin-inline: 4px 6px; vertical-align: -.24em; }
.hero-inline-avatars img { width: 22px; height: 22px; border: 2px solid #fff; border-radius: 50%; object-fit: cover; }
.hero-inline-avatars img + img { margin-left: -7px; }
.hero-form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 64px;
  padding: 6px 6px 6px 21px;
  border: 1px solid #e4e4e7;
  border-radius: 24px;
  color: #71717a;
  background: #fff;
  font-size: 13px;
}
.hero-form .button { flex: 0 0 auto; min-height: 52px; border-radius: 18px; }
.hero-form .button--dark { border-color: #09090b; color: #fff; background: #09090b; box-shadow: inset 0 0 0 2px #3f3f46, 0 5px 12px rgba(0,0,0,.12); }
.hero-form .button--dark:hover { color: #fff; background: #252529; }
.text-link { display: inline-flex; gap: 8px; margin-top: 16px; color: #52525b; font-size: 13px; }
.hero-proof {
  display: grid;
  grid-template-columns: minmax(0, 1.244fr) minmax(0, 1fr);
  align-items: center;
  width: min(calc(100% - 80px), 1280px);
  gap: 16px;
  padding-bottom: 70px;
}
.stats { display: flex; gap: 80px; min-width: 0; }
.stats > div { display: flex; align-items: center; gap: 14px; }
.stats strong { font-size: 40px; font-weight: 500; line-height: 48px; }
.stats span { color: #52525b; font-size: 13px; line-height: 16px; }
.trust-badges .fa-circle-check { color: var(--blue); }
.trust-badges .google-mark { display: block; width: 16px; height: 16px; object-fit: contain; }
.trust-badges .google-rating b { color: #fbbc04; font-size: 13px; }
.logo-cloud { display: grid; grid-template-columns: repeat(5, auto); align-items: center; gap: clamp(24px, 4vw, 72px); color: #a0a0a7; font-size: 13px; font-weight: 700; letter-spacing: -.02em; }

/* Home proof rail: the first client set moves continuously, while the full grid below stays static. */
.client-logo-marquee {
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  contain: layout paint;
  border: 0;
  border-radius: 0;
  color: #a1a1aa;
  background: transparent;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.client-logo-marquee__track {
  display: flex;
  width: max-content;
  animation: client-logo-loop 48s linear infinite;
  will-change: transform;
}
.client-logo-marquee:hover .client-logo-marquee__track { animation-play-state: paused; }
.client-logo-marquee__group {
  display: flex;
  align-items: center;
  flex: none;
  gap: 28px;
  padding-inline: 14px;
}
.client-logo-marquee .client-logo-item {
  display: grid;
  width: clamp(96px, 7.6vw, 110px);
  height: 38px;
  min-height: 38px;
  flex: 0 0 auto;
  place-items: center;
  overflow: hidden;
}
.client-logo-marquee .client-logo-item img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 30px;
  object-fit: contain;
  filter: grayscale(1) brightness(0);
  opacity: .48;
  transform: none;
}
@keyframes client-logo-loop {
  to { transform: translateX(-50%); }
}

/* The introduction stays outside the scrollable project rail. */
.service-showcase {
  padding-block: clamp(42px, 4vw, 64px) clamp(105px, 11vw, 190px);
  border-radius: 40px 40px 0 0;
  background: #f4f4f5;
}
.service-showcase__layout {
  display: grid;
  grid-template-columns: clamp(260px, 23vw, 325px) minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding-left: max(24px, calc((100vw - var(--wide))/2));
}
.service-rail {
  display: flex;
  gap: 12px;
  padding-inline: max(24px, calc((100vw - var(--wide))/2));
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
}
.service-showcase__layout > .service-rail { min-width: 0; padding-left: 0; }
.service-rail::-webkit-scrollbar { display: none; }
.service-rail.is-dragging { cursor: grabbing; }
.service-rail:focus-visible { outline: 2px solid var(--blue); outline-offset: -3px; border-radius: 30px; }
.rail-card { position: relative; flex: 0 0 clamp(310px, 22vw, 430px); height: 470px; overflow: hidden; border-radius: 30px; background: var(--soft); }
.rail-card--list { flex-basis: 325px; padding: 32px; }
.rail-card--list > div span { font-size: 27px; font-weight: 500; line-height: 1.05; }
.rail-card--list ul { position: absolute; right: 32px; bottom: 34px; left: 32px; padding: 0; margin: 0; list-style: none; }
.rail-card--list li { padding: 7px 0; color: #53535b; border-bottom: 1px solid #dedee2; font-size: 14px; }
.service-showcase__intro { display: flex; min-width: 0; flex-direction: column; padding: clamp(24px, 2.3vw, 32px); }
.service-showcase__intro h3 { margin: 0; font-size: clamp(24px, 1.95vw, 27px); font-weight: 500; line-height: 1.08; }
.service-showcase__intro p { margin: 20px 0 24px; color: #53535b; font-size: 14px; line-height: 1.5; }
.service-showcase__intro ul { position: static; margin-top: auto; }
.rail-card--product { background: #151518; color: white; }
.rail-progress { position: absolute; z-index: 2; top: 17px; right: 20px; left: 20px; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.rail-progress i { height: 3px; border-radius: 9px; background: rgba(255,255,255,.24); }
.rail-progress i:first-child { background: white; }
.device-mock { position: absolute; top: 77px; right: -18px; left: 28px; height: 290px; padding: 72px 30px; border: 8px solid #050506; border-radius: 18px; background: radial-gradient(circle at 85% 20%, #006bfb, transparent 40%), linear-gradient(140deg,#18181b,#18181b); transform: rotate(-5deg); }
.device-mock strong { display: block; font-size: 31px; line-height: 1.02; }
.device-mock small { display: block; width: 160px; margin-top: 13px; color: #71717a; }
.rail-card--graphic { padding: 30px; background: #0e3021; color: white; }
.rail-card--graphic h3, .rail-caption h3 { font-size: 25px; font-weight: 500; line-height: 1.12; }
.graphic-grid { display: grid; grid-template-columns: 1.2fr .8fr; height: 240px; margin-top: 45px; gap: 6px; transform: rotate(-2deg); }
.graphic-grid i { display: grid; place-items: center; color: #f4e8b2; background: #4c1230; font-size: 25px; font-style: normal; font-weight: 700; }
.graphic-grid i:nth-child(2) { color: #224b2b; background: #f2aeb1; }
.graphic-grid i:nth-child(3) { color: #631338; background: #d3ff77; }
.graphic-grid i:nth-child(4) { color: #152f22; background: #e9b69a; }
.rail-card--motion { flex-basis: clamp(580px, 42vw, 800px); background: #09090b; color: white; }
.rail-card--motion > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(1.25) brightness(.58) contrast(1.12); }
.rail-card--motion > button, .rail-card--motion > .rail-play { position: absolute; z-index: 3; right: 34px; bottom: 35px; display: grid; place-items: center; width: 78px; height: 78px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; color: white; background: rgba(255,255,255,.12); backdrop-filter: blur(12px); }
.rail-card--brand { background: #dcebd2; }
.brand-board { display: grid; place-items: center; height: 100%; color: #17311f; background: radial-gradient(circle at 40% 28%,#f8fff1,transparent 24%), linear-gradient(140deg,#e7f0dc,#adc995); }
.brand-board strong { font-size: 90px; }
.brand-board small { margin-top: -140px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.rail-card--seo { background: #f4f4f5; }
.search-art { display: grid; place-content: center; height: 100%; padding: 40px; background: radial-gradient(circle at 68% 32%,rgba(37,132,255,.45),transparent 30%), linear-gradient(145deg,#f8fbff,#dedee4); }
.search-art span { color: #52525b; font-size: 15px; }
.search-art b { font-size: 48px; }
.rail-caption { position: absolute; right: 0; bottom: 0; left: 0; padding: 30px 24px 23px; color: white; background: linear-gradient(transparent,rgba(0,0,0,.8)); }
.rail-card--graphic .rail-caption { padding-inline: 30px; }
.rail-card--brand .rail-caption, .rail-card--seo .rail-caption { color: var(--ink); background: linear-gradient(transparent,rgba(255,255,255,.9)); }
.rail-caption h3 { margin-bottom: 13px; }
.rail-caption div { display: flex; flex-wrap: wrap; gap: 6px; }
.rail-caption span { padding: 5px 10px; border: 1px solid currentColor; border-radius: 999px; font-size: 12px; }

/* Plan finder */
.plans { padding-top: clamp(64px, 6vw, 96px); }
.plans-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.3fr); align-items: stretch; gap: 24px; }
.plans-intro h2 { max-width: 367px; margin-bottom: 24px; font-size: 40px; font-weight: 600; line-height: 1.28; letter-spacing: -.035em; }
.plan-finder { display: grid; width: min(100%,479px); min-height: 315px; align-content: start; gap: 28px; padding: 32px 24px 24px; border: 8px solid #f1f1f3; border-radius: 36px; background: white; box-shadow: inset 0 0 0 1px #dcdce1, 0 0 0 1px #dcdce1; }
.plan-finder fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.plan-finder legend { margin-bottom: 12px; font-size: 13px; font-weight: 600; line-height: 1.5; }
.plan-finder .button { min-height: 48px; border-radius: 16px; }
.segmented { display: inline-flex; max-width: 100%; padding: 4px; border-radius: 14px; background: var(--soft-2); }
.segmented button { border: 0; padding: 4px 8px; border-radius: 10px; color: #76767f; background: transparent; font-size: 12px; line-height: 20px; }
.segmented button.is-active { color: var(--ink); background: white; box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.plan-list { display: grid; grid-template-rows: repeat(3,minmax(139px,1fr)); gap: 8px; }
.plan-list article { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: auto auto; grid-template-areas: "copy price" "copy link"; align-items: start; gap: 8px 18px; min-height: 139px; padding: 24px; border: 1px solid #dcdce1; border-radius: 36px; background: white; }
.plan-list article > div { grid-area: copy; min-width: 0; align-self: center; }
.plan-list article p { max-width: 600px; margin: 10px 0 0; color: #56565e; font-size: 14px; line-height: 1.45; }
.plan-list article > strong { grid-area: price; display: block; max-width: 190px; justify-self: end; text-align: right; font-size: 20px; font-weight: 500; white-space: nowrap; }
.plan-list article > strong small { margin-left: 2px; color: #616168; font-size: 12px; font-weight: 400; }
.plan-list article > strong em { display: block; margin-top: 5px; color: #777780; font-size: 10px; font-style: normal; font-weight: 500; letter-spacing: .01em; white-space: normal; }
.plan-list article > a { grid-area: link; align-self: end; justify-self: end; padding: 12px 15px; border-radius: 14px; background: #f7f7f8; font-size: 12px; white-space: nowrap; }
.home-plan-card--featured { border-color: #71717a !important; box-shadow: inset 0 0 0 1px #eceef2; }
.plan-highlight { padding: 2px 6px; border-radius: 999px; color: white; background: var(--ink); font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.dot { width: 10px; height: 10px; border-radius: 50%; }
.dot--cloud { background: #006bfb; box-shadow: 0 0 12px #006bfb; }
.dot--care { background: #0cbd91; box-shadow: 0 0 12px #0cbd91; }
.dot--link { background: #8f65ff; box-shadow: 0 0 12px #8f65ff; }
.dot--mail { background: #0cbd91; box-shadow: 0 0 12px #0cbd91; }
.dot--365 { background: #ed6a32; box-shadow: 0 0 12px #ed6a32; }

/* Case proof + testimonial */
.featured-proof { padding-top: 50px; }
.proof-layout { display: grid; grid-template-columns: minmax(0,172fr) minmax(0,145fr); align-items: stretch; gap: 16px; }
.featured-case { position: relative; min-height: 0; aspect-ratio: 1.323 / 1; overflow: hidden; border-radius: 36px; color: white; background: #151517; }
.featured-case__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .28s var(--ease), transform .65s var(--ease); }
.featured-case__veil { position: absolute; z-index: 1; inset: 42% 0 0; background: linear-gradient(180deg,transparent,rgba(0,0,0,.66)); pointer-events: none; }
.featured-case__caption { position: absolute; z-index: 3; bottom: 28px; left: 30px; display: grid; gap: 3px; }
.featured-case__caption span { color: rgba(255,255,255,.74); font-size: 12px; }
.featured-case__caption strong { font-size: 26px; font-weight: 500; letter-spacing: -.025em; }
.featured-case.is-changing .featured-case__image { opacity: .3; transform: scale(1.02); }
.featured-case .rail-progress i:first-child { background: rgba(255,255,255,.24); }
.featured-case .rail-progress i.is-active { background: white; }
.concept-tag { position: absolute; z-index: 3; top: 35px; right: 36px; padding: 7px 12px; border: 1px solid rgba(255,255,255,.55); border-radius: 99px; background: rgba(0,0,0,.2); font-size: 11px; backdrop-filter: blur(12px); }
.proof-side { display: grid; min-height: 0; grid-template-rows: .72fr 1fr; gap: 16px; }
.proof-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.proof-metrics article, .testimonial-card { border-radius: 36px; background: var(--soft); }
.proof-metrics article { display: flex; min-width: 0; flex-direction: column; padding: 24px; }
.proof-metrics span { font-size: 14px; font-weight: 600; }
.proof-metrics strong { margin-top: auto; font-size: 32px; font-weight: 500; line-height: 1.5; }
.proof-metrics small { color: #7c7c84; }
.testimonial-card { border: 1px solid #d8d8dd; background: white; }
.proof-side .testimonial-card { padding: 28px; }
.testimonial-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; }
.avatar { display: grid; width: 56px; height: 56px; place-items: center; overflow: hidden; border-radius: 50%; color: white; background: linear-gradient(135deg,var(--blue),#27272a); font-size: 13px; object-fit: cover; }
.proof-side .testimonial-head { gap: 16px; }
.proof-side .avatar { width: 64px; height: 64px; }
.testimonial-head strong, .testimonial-head small { display: block; }
.testimonial-head strong { font-size: 20px; }
.testimonial-head small { color: #818189; }
.testimonial-nav { display: flex; gap: 8px; }
.testimonial-nav button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--soft); }
.testimonial-card blockquote { margin: 35px 0 0; color: #5c5c64; font-size: 17px; line-height: 1.48; }
.proof-side .testimonial-card blockquote { margin-top: 24px; font-size: 16px; line-height: 1.5; }
.home-testimonial-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.home-testimonial-grid .testimonial-card { min-width: 0; min-height: 330px; padding: clamp(26px, 2.8vw, 40px); text-align: center; }
.home-testimonial-carousel .home-testimonial-grid { grid-template-columns: repeat(var(--visible-cards, 3), minmax(0,1fr)); max-width: calc(var(--visible-cards, 3) * 490px); margin-inline: auto; }
.home-testimonial-grid .testimonial-head { display: flex; flex-direction: column; gap: 16px; }
.home-testimonial-grid .avatar { width: 64px; height: 64px; }
.home-testimonial-grid .testimonial-head strong { font-size: 19px; overflow-wrap: anywhere; }
.home-testimonial-grid .testimonial-card blockquote { max-width: 36ch; margin: 24px auto 0; font-size: 16px; line-height: 1.6; }
.home-testimonial-grid .testimonial-card[hidden], .testimonial-controls[hidden] { display: none; }
.home-testimonial-carousel .testimonial-card:not([hidden]) { animation: testimonial-enter .5s var(--ease) both; }
.testimonial-controls { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin-top: 28px; font-size: 13px; color: var(--muted); }
.testimonial-controls button, .case-controls button { min-width: 40px; min-height: 40px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: white; }
.testimonial-controls button:hover, .case-controls button:hover { border-color: var(--blue); background: #fafafa; }
.reading-timer { width: 100px; height: 3px; overflow: hidden; border-radius: 3px; background: var(--soft-2); }
.reading-timer i { display: block; width: 100%; height: 100%; background: var(--blue); transform: scaleX(0); transform-origin: left; transition: transform .1s linear; }
.case-catalog#experiencia-clientes { padding-bottom: clamp(40px, 4vw, 64px); }
.process#empresa { padding-block: clamp(56px, 5vw, 80px); }
.process#empresa .process-heading { margin-bottom: clamp(32px, 4vw, 56px); }
.process#empresa .ethical-steps li:hover { background: #fafafa; box-shadow: 0 14px 34px -18px #006bfb66; transform: translateY(-6px); }
.process#empresa .ethical-steps li:hover > span { color: var(--blue); }
@keyframes testimonial-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.featured-case--pending { background: #edf1f8; color: #18181b; }
.case-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px; text-align: center; background: radial-gradient(ellipse at 70% 15%,#f4f4f5,transparent 65%); }
.case-placeholder > span { font-size: clamp(88px, 12vw, 170px); letter-spacing: -.08em; line-height: 1; color: #dedee4; }
.case-placeholder p { margin: 18px 0 5px; font-size: clamp(20px, 2vw, 28px); }
.case-placeholder small { color: #52525b; font-size: 12px; }
.featured-case--pending .featured-case__caption span { color: #52525b; }
.featured-case--pending .featured-case__caption strong { font-size: 20px; }
.featured-case .rail-progress button { flex: 1; padding: 10px 0; border: 0; background: none; cursor: pointer; }
.featured-case .rail-progress button i { display: block; height: 3px; width: 100%; background: #dedee4; }
.featured-case .rail-progress button[aria-pressed="true"] i { background: #006bfb; }
.case-editorial { display: flex; flex-direction: column; padding: clamp(24px, 2.5vw, 36px); border: 1px solid var(--line); border-radius: 36px; }
.case-editorial h3 { margin: 8px 0 12px; font-size: clamp(24px, 3vw, 38px); line-height: 1.15; letter-spacing: -.04em; font-weight: 500; }
.case-editorial p { margin: 0 0 18px; font-size: 14px; line-height: 1.6; color: var(--muted); }
.case-controls { display: flex; align-items: center; gap: 8px; margin-top: auto; }
.case-controls > span { margin-right: auto; font-size: 12px; color: var(--muted); }
@media (prefers-reduced-motion: reduce) { .home-testimonial-carousel .testimonial-card:not([hidden]) { animation: none; } .process#empresa .ethical-steps li:hover { transform: none; } }


/* Manifesto */
.friction { padding-block: 80px 144px; margin-inline: max(0px, calc((100vw - var(--wide))/2)); border-radius: 48px; background: #f4f4f5; }
.friction-grid { display: grid; max-width: 1280px; grid-template-columns: minmax(0,528px) minmax(0,736px); gap: 16px; }
.friction-copy { display: flex; min-height: 411px; flex-direction: column; justify-content: space-between; }
.friction-copy h2 { max-width: 496px; margin: 0; font-size: 40px; font-weight: 600; line-height: 1.28; letter-spacing: -.035em; }
.friction-copy h2 span { color: #8c8c95; }
.friction-quote { width: min(100%,500px); min-height: 228px; padding: 28px; border-radius: 36px; background: white; }
.friction-quote header { display: flex; align-items: center; gap: 16px; }
.friction-quote img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.friction-quote strong, .friction-quote small { display: block; }
.friction-quote strong { font-size: 20px; font-weight: 600; }
.friction-quote small { margin-top: 2px; color: #85858d; font-size: 13px; }
.friction-quote blockquote { margin: 28px 0 0; color: #606068; font-size: 16px; line-height: 1.5; }
.friction-list { min-height: 411px; padding: 32px; margin: 0; overflow: hidden; border-radius: 36px; color: white; background: #27272a; list-style: none; }
.friction-list li { display: flex; min-height: 58px; align-items: center; gap: 16px; border-bottom: 1px solid #3f3f46; }
.friction-list li:last-child { border-bottom: 0; }
.friction-list li > span { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; border-radius: 50%; color: #27272a; background: white; font-size: 11px; }
.friction-list li p { margin: 0; color: #a1a1aa; font-size: 20px; font-weight: 600; line-height: 1.56; }
.friction-list li strong { color: white; font-weight: 600; }

/* Global map and client wordmarks */
.global-proof { position: relative; width: 100%; min-height: 300px; aspect-ratio: 2 / 1; margin-top: 0; padding: 0; overflow: hidden; color: white; background: #000; }
.global-map-panel { position: absolute; inset: 0; overflow: hidden; }
.global-heading, .trusted-heading { text-align: center; }
.global-heading .kicker { color: rgba(255,255,255,.4); font-size: 10px; font-weight: 700; line-height: 15px; letter-spacing: 1px; }
.trusted-heading .kicker { color: #52525b; }
.global-heading { position: absolute; z-index: 2; top: calc(var(--header) + 20px); left: 50%; width: min(calc(100% - 48px), 900px); transform: translateX(-50%); }
.global-heading h2 { margin: 12px 0 0; font-size: 28px; font-weight: 400; line-height: 35px; letter-spacing: -.56px; }
.trusted-heading h2 { margin-bottom: 0; font-size: clamp(34px,3vw,50px); font-weight: 500; line-height: 1.04; }
.world-map { margin: 0; }
.world-map--exact {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
}
.world-map--exact img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.placeholder-note { margin: 18px 0 0; color: #77777e; font-size: 11px; text-align: center; }
.global-clients { padding: clamp(100px,9vw,160px) 0; color: white; background: #000; }
.trusted-companies { padding-top: 0; }
.client-logo-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: center;
  margin-top: clamp(58px, 6vw, 92px);
  gap: clamp(34px, 4vw, 64px) clamp(20px, 3vw, 48px);
}
.client-logo-item {
  display: grid;
  min-width: 0;
  min-height: 84px;
  place-items: center;
  opacity: 1;
  transition: opacity .25s ease, transform .35s var(--ease);
}
.client-logo-item img {
  width: min(100%, 180px);
  max-height: 58px;
  object-fit: contain;
  filter: grayscale(1) brightness(0) invert(1);
}
.client-logo-item.is-compact { overflow: hidden; }
.client-logo-item.is-compact img { width: 62px; max-height: 58px; transform: scale(2.15); }
.client-logo-marquee .client-logo-item.is-compact { overflow: visible; }
.client-logo-marquee .client-logo-item.is-compact img { width: auto; max-width: 100%; max-height: 36px; transform: none; }
.client-logo-item:hover { opacity: 1; transform: translateY(-4px); }

/* Case catalog */
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 44px; }
.section-heading h2 { max-width: 760px; margin-bottom: 0; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.case-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.case-filters button { padding: 8px 14px; border: 1px solid #d9d9de; border-radius: 999px; background: white; font-size: 12px; }
.case-filters button.is-active { border-color: var(--ink); background: var(--ink); color: white; }
.case-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.case-card { min-width: 0; }
.case-card.is-hidden { display: none; }
.case-cover { position: relative; display: grid; place-items: center; aspect-ratio: .9; overflow: hidden; border-radius: 28px; }
.case-card:nth-child(even) .case-cover { aspect-ratio: .83; }
.case-card > div:last-child { padding: 17px 5px; }
.case-card > div:last-child span { color: #74747c; font-size: 12px; }
.case-card h3 { margin: 3px 0 0; font-size: 25px; font-weight: 500; }
.case-cover--web { background: linear-gradient(135deg,#f4f4f5,#006bfb); }
.screen-card { display: block; width: 80%; height: 71%; padding: 35px; border: 8px solid #171719; border-radius: 16px; background: white; font-size: 34px; font-weight: 700; transform: rotate(-4deg) translateY(12%); }
.screen-card small { color: #73737a; font-size: 13px; font-weight: 400; }
.case-cover--software { background: radial-gradient(circle at 70% 25%,#006bfb,transparent 35%),#09090b; }
.data-card { display: flex; width: 74%; height: 66%; flex-direction: column; padding: 25px; border: 1px solid #006bfb; border-radius: 20px; color: white; background: rgba(6,13,27,.82); transform: rotate(4deg); }
.data-card b { font-size: 45px; }
.data-card i { height: 12px; margin-top: 18px; border-radius: 10px; background: linear-gradient(90deg,#006bfb 65%,#27272a 65%); }
.data-card i:nth-of-type(2) { background: linear-gradient(90deg,#64e1c0 44%,#27272a 44%); }
.data-card i:nth-of-type(3) { background: linear-gradient(90deg,#9672ff 76%,#27272a 76%); }
.case-cover--identity { display: flex; flex-direction: column; color: #401323; background: #f4bbc8; }
.case-cover--identity strong { font-family: Georgia,serif; font-size: 130px; font-weight: 400; }
.case-cover--identity small { letter-spacing: .3em; }
.case-cover--pack { background: #103424; }
.case-cover--pack span { display: grid; place-items: center; width: 55%; aspect-ratio: .68; border-radius: 8px 8px 18px 18px; color: #1a432a; background: #d9ff70; box-shadow: 25px 25px 0 rgba(0,0,0,.18); font-size: 26px; font-weight: 700; transform: rotate(-7deg); }
.case-cover--pack b { font-size: 72px; }

/* Ethical four-step process */
.process { margin-inline: max(0px, calc((100vw - var(--wide))/2)); border-radius: 48px; background: #fafafa; }
.process-heading { max-width: 760px; margin: 0 auto clamp(60px,6vw,100px); text-align: center; }
.process-heading h2 { margin: 0; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.ethical-steps { display: grid; grid-template-columns: repeat(4,1fr); padding: 0; margin: 0; list-style: none; }
.ethical-steps li { position: relative; min-height: 270px; padding: 92px 30px 30px; border: 1px solid #dedee2; border-right: 0; background: white; transition: background .3s ease, transform .3s var(--ease); }
.ethical-steps li:first-child { border-radius: 24px 0 0 24px; }
.ethical-steps li:last-child { border-right: 1px solid #dedee2; border-radius: 0 24px 24px 0; }
.ethical-steps li:hover { z-index: 2; background: #fafafa; transform: translateY(-8px); }
.ethical-steps li > span { position: absolute; top: 14px; right: 22px; color: #d4d4d9; font-size: 46px; font-weight: 500; letter-spacing: -.06em; }
.ethical-steps strong { display: block; margin-bottom: 12px; font-size: 20px; font-weight: 500; }
.ethical-steps p { max-width: 275px; margin: 0; color: #6b6b73; font-size: 14px; line-height: 1.55; }

/* FAQ */
.faq-grid { display: grid; max-width: 1280px; grid-template-columns: minmax(0,460px) minmax(0,820px); gap: 0; }
.faq-grid h2 { max-width: 420px; font-size: 40px; font-weight: 600; line-height: 1.28; letter-spacing: -.035em; }
.aeo-note { max-width: 400px; color: #73737b; }
.faq-grid .button { margin-top: 25px; }
.faq-list { display: grid; gap: 12px; }
.faq-list details { padding: 8px; border: 0; border-radius: 36px; background: #f4f4f5; }
.faq-list summary { display: flex; min-height: 81px; align-items: center; justify-content: space-between; gap: 25px; padding: 24px; border-radius: 28px; background: white; font-size: 20px; font-weight: 600; line-height: 1.5; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; color: white; background: #777780; transition: transform .3s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 760px; padding: 16px 72px 22px 24px; margin: 0; color: #62626a; font-size: 15px; line-height: 1.45; }

/* Final CTA */
.cta-section { padding: 0 64px 128px; }
.cta-section > .wide-container { width: 100%; max-width: none; }
.cta-card { display: flex; align-items: center; width: min(100%,1024px); min-height: 0; flex-direction: column; justify-content: center; padding: 0; margin: 50px auto 0; border: 0; text-align: center; }
.cta-avatars { display: flex; justify-content: center; margin-bottom: 40px; isolation: isolate; }
.cta-avatars span,
.cta-avatars img {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  margin-left: -7px;
  place-items: center;
  overflow: hidden;
  border: 2px solid white;
  border-radius: 50% !important;
  color: white;
  background: #101014;
  font-size: 9px;
  object-fit: cover;
  clip-path: circle(50% at 50% 50%);
  transition: transform .3s var(--ease);
}
.cta-avatars > :first-child { margin-left: 0; background: #006bfb; }
.cta-card:hover .cta-avatars > :nth-child(odd) { transform: translateY(-3px); }
.cta-card:hover .cta-avatars > :nth-child(even) { transform: translateY(3px); }
.cta-card .cta-emphasis { position: relative; display: inline-block; }
.cta-card .cta-emphasis::after { position: absolute; right: 0; bottom: -.07em; left: 0; height: .045em; background: currentColor; content: ""; transform: scaleX(0); transform-origin: right; transition: transform .45s var(--ease); }
.cta-card:hover .cta-emphasis::after { transform: scaleX(1); transform-origin: left; }
.cta-card > .kicker { margin-bottom: 24px; color: #050506; font-size: 12px; font-weight: 700; line-height: 16px; letter-spacing: 1.2px; }
.cta-card h2 { max-width: 1024px; margin: 0 0 40px; font-size: clamp(28px,6.5vw,80px); font-weight: 400; line-height: 1.05; letter-spacing: -.02em; text-wrap: balance; }
.cta-card > div:last-child { display: flex; justify-content: center; gap: 12px; }
.cta-card > div:last-child .button { min-height: 50px; padding: 14px 28px; border-radius: 999px; font-size: 14px; font-weight: 600; line-height: 20px; }
.cta-card > div:last-child .button--ghost:hover { border-color: #050506; color: white; background: #050506; }
.cta-card > div:last-child .button--dark:hover { border-color: #fff690; color: #050506; background: #fff690; }

/* ASCII wordmark footer: organized code shaped by the official FGX wordmark. */
.site-footer { overflow: hidden; border-radius: 42px 42px 0 0; background: #fafafa; }
.site-footer > .container { width: min(calc(100% - (var(--bleed-gutter) * 2)), var(--wide)); }
.code-brand-wrap {
  position: relative;
  min-height: clamp(270px, 24vw, 420px);
  overflow: hidden;
  border: 1px solid #252529;
  border-radius: 42px 42px 0 0;
  color: white;
  background: #050506;
}
.code-brand {
  position: absolute;
  inset: 0;
  display: grid;
  width: 100%;
  padding: 0;
  place-items: center;
  overflow: hidden;
  border: 0;
  color: white;
  background: transparent;
  cursor: pointer;
}
.code-brand:focus-visible { outline: 3px solid #006bfb; outline-offset: -6px; }
.code-brand__canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.code-brand__source { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.code-brand__word {
  position: relative;
  z-index: 1;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: clamp(74px, 15vw, 250px);
  font-weight: 800;
  line-height: .78;
  letter-spacing: -.11em;
  transition: opacity .2s ease;
}
.code-brand.is-canvas-ready .code-brand__word,
.code-brand.is-canvas-ready .code-brand__noise { opacity: 0; }
.code-brand__noise { position: absolute; inset: 0; opacity: 0; }
.scramble-hint {
  position: absolute;
  z-index: 4;
  bottom: 20px;
  left: 50%;
  width: max-content;
  max-width: calc(100% - 32px);
  color: #8d8d96;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-align: center;
  text-transform: uppercase;
  transform: translateX(-50%);
  pointer-events: none;
  transition: color .2s ease, opacity .2s ease;
}
.code-brand-wrap:hover .scramble-hint { color: #dedee4; }
.code-brand-wrap.is-scrambling .scramble-hint { color: white; opacity: .82; }
.partner-strip { display: grid; grid-template-columns: .9fr 1.8fr; align-items: center; gap: 70px; padding-block: 48px; border-top: 1px solid #dddde1; }
.footer-promise { display: flex; align-items: flex-start; gap: 15px; }
.footer-promise p { max-width: 310px; margin: 3px 0 0; color: #66666e; font-size: 13px; }
.footer-promise .social-links { margin-top: 18px; }
.footer-signature { width: min(150px,32vw); justify-self: end; }
.footer-signature img { display: block; width: 100%; height: auto; }
.footer-asterisk { color: var(--blue); font-size: 30px; font-weight: 700; line-height: 1; }
.partner-marks { display: grid; grid-template-columns: repeat(4,1fr); align-items: center; gap: 24px; }
.partner-marks > span, .partner-marks a > span { display: flex; min-height: 62px; align-items: center; justify-content: center; gap: 12px; padding: 10px 12px; border: 1px solid transparent; border-radius: 16px; color: #77777f; font-size: 18px; font-weight: 600; letter-spacing: -.04em; text-align: left; transition: color .25s ease, border-color .25s ease, transform .25s var(--ease); }
.partner-marks > span:hover, .partner-marks a:hover > span { border-color: var(--line); color: var(--ink); transform: translateY(-3px); }
.partner-marks i { min-width: 28px; color: currentColor; font-size: 25px; text-align: center; }
.partner-marks em { font-style: normal; }
.partner-marks b { display: block; color: #aaaab1; font-size: 10px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.footer-links { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: clamp(34px,4vw,74px); padding-block: 82px 72px; }
.footer-intro p { max-width: 250px; margin: 25px 0; color: #66666e; }
.social-links { display: flex; gap: 8px; }
.social-links a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #dedee2; border-radius: 11px; color: #6e6e76; background: white; font-size: 16px; transition: border-color .2s ease, color .2s ease, transform .2s var(--ease); }
.social-links a:hover { border-color: var(--ink); color: var(--ink); transform: translateY(-2px); }
.footer-links h3 { margin: 0 0 19px; color: #85858d; font-size: 12px; font-weight: 500; letter-spacing: 0; }
.footer-links > div > a { display: block; width: fit-content; padding: 5px 0; font-size: 13px; }
.footer-links > div > a:hover { color: var(--blue); }
.footer-subtitle { margin-top: 24px !important; }
.footer-bottom { display: flex; justify-content: space-between; gap: 28px; padding: 28px 0 42px; border-top: 1px solid #dddde1; color: #85858d; font-size: 11px; }
.footer-bottom div { display: flex; gap: 25px; }

/* Service and institutional pages */
.service-main { --service-accent: var(--blue); --service-deep: #09090b; }
.service-main--cloud { --service-accent: #006bfb; --service-deep: #09090b; }
.service-main--mail { --service-accent: #111114; --service-deep: #171719; }
.service-main--card { --service-accent: #111114; --service-deep: #08080a; }
.service-hero { padding-top: var(--header); overflow: hidden; }
.service-hero__grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(360px,.65fr); align-items: end; min-height: 690px; padding-block: clamp(100px,9vw,165px) 100px; gap: clamp(65px,9vw,150px); }
.service-brand { display: block; margin-bottom: 60px; color: var(--service-accent); font-size: 14px; font-weight: 700; letter-spacing: .16em; }
.service-hero__copy h1 { max-width: 960px; margin: 0; font-size: clamp(46px,4.4vw,72px); font-weight: 500; line-height: .94; letter-spacing: -.065em; }
.service-hero__aside { padding-bottom: 7px; }
.service-hero__aside > p { font-size: clamp(19px,1.5vw,24px); line-height: 1.42; letter-spacing: -.035em; }
.service-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 35px; }
.service-marquee { display: flex; gap: 60px; padding-bottom: 24px; border-bottom: 1px solid var(--line); color: #d4d4d9; font-size: clamp(75px,12vw,210px); font-weight: 500; line-height: .72; letter-spacing: -.08em; white-space: nowrap; transform: translateX(-3vw); }
.service-marquee span:nth-child(2) { color: var(--service-accent); }
.service-problem__grid { display: grid; grid-template-columns: minmax(340px,.85fr) minmax(540px,1.2fr); gap: clamp(60px,9vw,150px); }
.service-problem h2, .service-section-heading h2 { max-width: 850px; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.service-problem__list > p { max-width: 700px; color: #55555d; font-size: clamp(20px,1.8vw,28px); }
.service-problem__list ul { display: grid; grid-template-columns: 1fr 1fr; padding: 0; margin: 50px 0 0; border-top: 1px solid var(--line); list-style: none; }
.service-problem__list li { padding: 18px 0; border-bottom: 1px solid var(--line); color: #62626a; }
.service-problem__list li:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--line); }
.service-scope { margin-inline: max(0px, calc((100vw - var(--wide))/2)); border-radius: 48px; background: var(--soft); }
.service-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin: 0 auto clamp(55px,6vw,100px); }
.service-feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.service-feature { position: relative; min-height: 280px; padding: 35px; border: 1px solid #dcdce1; border-radius: 30px; background: white; transition: transform .3s var(--ease), border-color .3s ease; }
.service-feature:hover { border-color: var(--service-accent); transform: translateY(-7px); }
.service-feature > span { position: absolute; top: 25px; right: 28px; color: #d1d1d6; font-size: 42px; }
.service-feature h3 { max-width: 260px; margin: 90px 0 18px; font-size: 27px; font-weight: 500; line-height: 1.04; }
.service-feature p { max-width: 310px; color: #77777f; font-size: 13px; }
.service-data-story { padding-top: clamp(105px,10vw,180px); }
.service-data-story__heading { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(360px,.65fr); align-items: end; gap: clamp(50px,8vw,135px); margin-bottom: clamp(55px,6vw,95px); }
.service-data-story__heading h2 { max-width: 980px; margin: 18px 0 0; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; letter-spacing: -.05em; }
.service-data-story__heading > p { max-width: 610px; margin: 0; color: #5f5f67; font-size: clamp(18px,1.45vw,23px); line-height: 1.48; }
.service-data-story__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 11px; padding: 0; margin: 0; list-style: none; }
.service-data-story__grid li { display: flex; min-height: 250px; flex-direction: column; padding: 28px; border: 1px solid var(--line); border-radius: 28px; background: var(--soft); transition: color .3s ease, background .3s ease, transform .3s var(--ease); }
.service-data-story__grid li:hover { color: white; background: var(--service-deep); transform: translateY(-6px); }
.service-data-story__grid span { color: #b0b0b7; font-size: 12px; }
.service-data-story__grid p { max-width: 390px; margin: auto 0 0; font-size: clamp(17px,1.3vw,21px); line-height: 1.35; letter-spacing: -.025em; }
.service-plans { background: #fcfcfc; }
.service-plan-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.service-plan-grid--4 { grid-template-columns: repeat(4,1fr); }
.billing-stepper {
  display: flex;
  width: fit-content;
  margin: clamp(-38px, -3vw, -24px) 0 clamp(42px, 5vw, 68px) auto;
  padding: 5px;
  border: 1px solid #d9d9de;
  border-radius: 999px;
  background: var(--soft-2);
  box-shadow: 0 8px 28px rgba(9, 9, 11, .06);
}
.billing-stepper button {
  min-height: 42px;
  border: 0;
  padding: 8px 16px;
  border-radius: 999px;
  color: #6e6e76;
  background: transparent;
  font-size: 13px;
  transition: color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s var(--ease);
}
.billing-stepper button:hover { color: var(--ink); }
.billing-stepper button.is-active {
  color: #fff;
  background: var(--ink);
  box-shadow: 0 3px 12px rgba(9, 9, 11, .18);
}
.billing-stepper button span {
  display: inline-flex;
  margin-left: 5px;
  padding: 3px 6px;
  border-radius: 999px;
  color: #073d2d;
  background: #bff4d4;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .05em;
}
.service-plan-grid--cloud {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1100px;
  margin-inline: auto;
}
.service-plan { position: relative; display: flex; min-height: 535px; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: 30px; background: white; transition: border-color .3s ease, box-shadow .35s ease, transform .35s var(--ease); }
.service-plan:hover { border-color: #b9b9c0; box-shadow: 0 24px 65px rgba(10,10,14,.08); transform: translateY(-6px); }
.service-plan.is-highlighted { color: white; background: var(--service-deep); transform: translateY(-14px); }
.service-plan.is-highlighted:hover { transform: translateY(-18px); }
.service-plan > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.service-plan > div:first-child b { color: var(--service-accent); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.service-plan h3 { margin: 65px 0 16px; font-size: clamp(42px,4vw,64px); font-weight: 500; line-height: 1; }
.service-plan h3 small { color: #85858d; font-size: 13px; font-weight: 400; }
.service-plan .plan-notice { min-height: 38px; color: #8d8d95; font-size: 11px; }
.service-plan ul { padding: 30px 0; margin: 0 0 30px; border-top: 1px solid currentColor; list-style: none; opacity: .83; }
.service-plan li { padding: 8px 0; font-size: 13px; }
.service-plan li span { color: var(--service-accent); margin-right: 6px; }
.service-plan .button { width: 100%; margin-top: auto; }
.service-plan.is-highlighted .button--dark { border-color: white; background: white; color: var(--ink); }
.service-plan-grid--cloud .service-plan { min-height: 610px; padding: clamp(28px, 3vw, 42px); border-radius: 38px; }
.service-plan-grid--cloud .service-plan h3 { margin: 18px 0 8px; font-size: clamp(38px, 3.8vw, 58px); }
.plan-category { margin: 44px 0 8px; color: #86868f; font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.plan-description { min-height: 48px; max-width: 430px; margin: 0 0 24px; color: #696972; font-size: 14px; line-height: 1.5; }
.service-plan.is-highlighted .plan-category,
.service-plan.is-highlighted .plan-description,
.service-plan.is-highlighted .plan-billing-note { color: #dedee4; }
.plan-old-price { min-height: 18px; color: #9797a0; font-size: 13px; }
.plan-billing-note { min-height: 38px; margin: 0 0 20px; color: #777780; font-size: 12px; }
.service-plan-grid--cloud .service-plan ul { margin-top: 0; }
.commercial-note { max-width: 900px; margin: 30px auto 0; color: #7d7d85; font-size: 11px; text-align: center; }
.service-plan-empty { display: grid; grid-template-columns: 1fr 1.3fr auto; align-items: center; gap: 40px; padding: 35px; border: 1px solid var(--line); border-radius: 30px; }
.service-plan-empty h3 { margin: 0; font-size: 30px; font-weight: 500; }
.service-plan-empty p { margin: 0; color: #66666e; }
.service-process { margin-inline: max(0px, calc((100vw - var(--wide))/2)); border-radius: 48px; background: #fafafa; }
.ethical-steps--5 { grid-template-columns: repeat(5,1fr); }
.service-proof__visual { display: flex; flex-direction: column; min-height: 610px; padding: clamp(35px,4vw,65px); border-radius: 34px; color: white; background: linear-gradient(145deg,var(--service-deep),var(--service-accent)); }
.service-proof__visual h2 { max-width: 800px; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.service-proof__visual .proof-metrics { margin-top: auto; }
.service-proof__visual .proof-metrics article { color: var(--ink); background: rgba(255,255,255,.9); }
.institutional-page { padding-top: var(--header); }
.institutional-hero { padding-block: clamp(120px,12vw,220px); border-bottom: 1px solid var(--line); }
.institutional-hero h1 { max-width: 1200px; margin: 0; font-size: clamp(46px,4.4vw,72px); font-weight: 500; line-height: .94; }
.institutional-hero p { max-width: 700px; margin: 45px 0 0; color: #64646c; font-size: 22px; }
.institutional-content { padding-block: clamp(75px,8vw,140px); }
.institutional-content > * { max-width: 920px; }
.institutional-content h2 { margin-top: 70px; font-size: clamp(34px,3.4vw,56px); font-weight: 500; line-height: 1; }
.institutional-content p, .institutional-content li { color: #55555d; font-size: 18px; line-height: 1.7; }
.compact-cta .cta-card { min-height: 460px; border: 1px solid var(--line); border-radius: 36px; background: var(--soft); }
.compact-cta .cta-card h2 { max-width: 850px; font-size: clamp(40px,4.2vw,64px); }

/* Services library */
.services-index { padding-top: var(--header); }
.services-index__hero { padding-block: clamp(105px,10vw,185px) clamp(80px,8vw,135px); }
.services-index__hero-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(360px,.58fr); align-items: end; gap: clamp(65px,9vw,155px); }
.services-index__hero h1 { max-width: 1080px; margin: 18px 0 0; font-size: clamp(46px,4.4vw,72px); font-weight: 500; line-height: .94; letter-spacing: -.065em; }
.services-index__hero-grid > div:last-child > p { margin: 0; color: #5d5d65; font-size: clamp(19px,1.5vw,24px); line-height: 1.45; }
.services-index__legend { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.services-index__legend span { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: #6d6d75; font-size: 11px; }
.services-index__group { margin-inline: max(0px,calc((100vw - var(--wide))/2)); border-radius: 48px; background: var(--soft); }
.services-index__group--recurring { color: white; background: #171719; }
.services-index__heading { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(350px,.6fr); align-items: end; gap: clamp(50px,8vw,130px); margin-bottom: clamp(55px,6vw,90px); }
.services-index__heading h2 { max-width: 950px; margin: 16px 0 0; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; letter-spacing: -.05em; }
.services-index__heading > p { margin: 0; color: #6d6d75; font-size: 18px; }
.services-index__group--recurring .services-index__heading > p { color: #a9a9b0; }
.services-index__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 11px; }
.services-index__card { display: flex; min-width: 0; min-height: 520px; flex-direction: column; gap: 28px; padding: 30px; border: 1px solid #dcdce1; border-radius: 30px; color: var(--ink); background: white; transition: color .3s ease, background .3s ease, border-color .3s ease, transform .3s var(--ease); }
.services-index__card:hover { border-color: var(--blue); color: white; background: #101012; transform: translateY(-7px); }
.services-index__card-top { display: flex; align-items: center; justify-content: space-between; color: #a2a2aa; font-size: 12px; }
.services-index__icon { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid #dadade; border-radius: 50%; box-shadow: inset 0 0 0 5px #f2f2f4; color: var(--ink); background: white; font-size: 17px; }
.services-index__card small { color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.services-index__card h3 { margin: 14px 0; font-size: clamp(28px,2.2vw,38px); font-weight: 500; line-height: 1; }
.services-index__card p { max-width: 430px; margin: 0; color: #6b6b73; font-size: 14px; line-height: 1.55; }
.services-index__card:hover p { color: #aeaeb5; }
.services-index__card ul { display: flex; flex-wrap: wrap; gap: 7px; padding: 0; margin: auto 0 0; list-style: none; }
.services-index__card li { padding: 7px 10px; border: 1px solid currentColor; border-radius: 999px; color: #7a7a82; font-size: 10px; }
.services-index__card:hover li { color: #bdbdc4; }
.services-index__card > strong { display: flex; align-items: center; justify-content: space-between; padding-top: 20px; border-top: 1px solid currentColor; font-size: 13px; font-weight: 500; }

/* Calculators */
.fgx-calculator { width: min(calc(100% - 48px), var(--wide)); margin: clamp(100px,10vw,180px) auto; padding: clamp(35px,5vw,85px); border-radius: 48px; color: white; background: #171719; }
.fgx-calculator__header { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 70px; margin-bottom: 60px; }
.fgx-calculator__header h2 { max-width: 900px; margin: 0; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.fgx-calculator__header > p:last-child { max-width: 530px; margin: 0; color: #b2b2b8; font-size: 17px; }
.fgx-calculator__eyebrow { color: #006bfb; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.fgx-calculator__error-summary { padding: 20px; margin-bottom: 25px; border: 1px solid #ff6e6e; border-radius: 18px; color: #ffd2d2; background: #461b1b; }
.fgx-calculator__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fgx-calculator__fieldset { min-width: 0; padding: 30px; border: 1px solid #3b3b40; border-radius: 28px; }
.fgx-calculator__fieldset legend { padding: 0 9px; color: #d8d8dc; font-size: 14px; font-weight: 600; }
.fgx-calculator--performance .fgx-calculator__fieldset > .fgx-calculator__fields { grid-template-columns: repeat(5,1fr); }
.fgx-calculator__field { display: flex; min-width: 0; flex-direction: column; padding: 16px 0; border-bottom: 1px solid #343439; }
.fgx-calculator__field > span { font-size: 14px; font-weight: 600; }
.fgx-calculator__field > small { min-height: 39px; margin: 5px 0 13px; color: #8e8e96; font-size: 11px; }
.fgx-calculator__field input { width: 100%; min-height: 52px; border: 1px solid #44444a; border-radius: 14px; padding: 0 15px; color: white; background: #242428; outline: 0; }
.fgx-calculator__field input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(37,132,255,.25); }
.fgx-calculator__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.fgx-calculator__actions .button { border-color: white; }
.fgx-calculator__actions .button--primary { color: var(--ink); background: white; }
.fgx-calculator__actions .button--secondary { color: white; background: transparent; }
.fgx-calculator__results { margin-top: 70px; padding-top: 55px; border-top: 1px solid #3d3d42; outline: 0; scroll-margin-top: calc(var(--header) + 20px); }
.fgx-calculator__results:focus-visible { border-radius: 20px; box-shadow: 0 0 0 3px rgba(132,183,255,.45); }
.fgx-calculator__results-heading h3 { font-size: clamp(35px,4vw,58px); font-weight: 500; }
.fgx-calculator__result-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.fgx-calculator--performance .fgx-calculator__result-grid { grid-template-columns: repeat(4,1fr); }
.fgx-calculator__result { display: flex; min-width: 0; min-height: 220px; flex-direction: column; padding: 25px; border: 1px solid #3d3d42; border-radius: 23px; background: #212124; }
.fgx-calculator__result > span { color: #aaaab1; font-size: 12px; }
.fgx-calculator__result output { max-width: 100%; margin: auto 0 15px; color: #006bfb; font-size: clamp(30px,3vw,52px); font-weight: 500; line-height: 1; letter-spacing: -.05em; overflow-wrap: anywhere; }
.fgx-calculator--performance .fgx-calculator__result output { font-size: clamp(25px,2.25vw,42px); }
.fgx-calculator__result small { color: #96969e; font-size: 12px; }
.fgx-calculator__assumptions { display: grid; grid-template-columns: .45fr 1.5fr; gap: 50px; padding-top: 45px; margin-top: 55px; border-top: 1px solid #3d3d42; }
.fgx-calculator__assumptions h3 { font-size: 22px; }
.fgx-calculator__assumptions ul { padding-left: 18px; margin: 0; color: #92929a; font-size: 12px; columns: 2; column-gap: 50px; }
.fgx-calculator__assumptions li { margin-bottom: 15px; break-inside: avoid; }
.fgx-calculator__noscript { color: #b7b7bd; }
.footer-links--rich { grid-template-columns: repeat(5,minmax(0,1fr)); gap: clamp(34px,4vw,74px); }
.footer-address { color: #76767e; font-size: 12px; line-height: 1.55; }

/* Cases archive and detail */
.cases-page, .case-detail { padding-top: var(--header); }
.cases-hero { padding-block: clamp(110px,11vw,210px) 80px; }
.cases-hero h1 { max-width: 1170px; margin: 0; font-size: clamp(46px,4.4vw,72px); font-weight: 500; line-height: .94; }
.cases-hero__aside { display: grid; grid-template-columns: minmax(300px,520px) auto; justify-content: end; align-items: end; gap: 70px; margin-top: 65px; }
.cases-hero__aside p { margin: 0; color: #5e5e66; font-size: 18px; }
.cases-hero__aside span { padding: 9px 12px; border: 1px solid var(--line); border-radius: 99px; color: #73737b; font-size: 11px; white-space: nowrap; }
.cases-library { margin-inline: max(0px, calc((100vw - var(--wide))/2)); border-radius: 48px; background: var(--soft); }
.cases-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 42px; }
.cases-toolbar p { margin: 0; color: #7e7e86; font-size: 12px; }
.case-grid--library { grid-template-columns: repeat(4,1fr); }
.case-grid--library .case-card:nth-child(4n+2), .case-grid--library .case-card:nth-child(4n+4) { margin-top: 72px; }
.case-cover em { position: absolute; top: 20px; right: 20px; padding: 6px 9px; border: 1px solid currentColor; border-radius: 99px; font-size: 9px; font-style: normal; }
.case-grid--library .case-card h2 { margin: 3px 0 0; font-size: 25px; font-weight: 500; }
.case-theme-signal { filter: hue-rotate(35deg); }
.case-theme-mono { filter: grayscale(1); }
.case-theme-sun { filter: hue-rotate(165deg) saturate(1.4); }
.case-theme-berry { filter: hue-rotate(75deg); }
.case-theme-field { filter: hue-rotate(230deg); }
.case-theme-sky { filter: hue-rotate(315deg); }
.case-theme-stone { background: #ddd7d1; }
.case-theme-earth { background: #b99573; }
.case-theme-charcoal { color: white; background: #252525; }
.case-theme-aqua { background: #a5e2dc; }
.case-theme-ember { background: #8d2b17; }
.case-theme-leaf { background: #204f2d; }
.case-theme-grain { background: #c7ad65; }
.case-theme-cocoa { background: #4a281f; }
.case-detail__hero { padding: 16px 0 0; }
.case-detail__hero-inner { position: relative; display: grid; grid-template-columns: .8fr 1.2fr; align-items: end; min-height: min(780px, calc(100vh - var(--header) - 16px)); overflow: hidden; padding: clamp(40px,5vw,80px); border-radius: 42px; color: white; background: linear-gradient(145deg,#09090b,#27272a 55%,#52525b); }
.case-detail__hero h1 { position: relative; z-index: 3; max-width: 760px; margin: 0; font-size: clamp(46px,4.4vw,72px); font-weight: 500; line-height: .94; }
.case-detail__hero .kicker { color: rgba(255,255,255,.65); }
.case-detail__hero-art { position: absolute; inset: 8% 4% 3% 43%; display: grid; place-items: center; border: 10px solid #0d0d0f; border-radius: 25px; color: var(--ink); background: white; transform: rotate(-5deg); box-shadow: 0 30px 90px rgba(0,0,0,.27); }
.case-detail__hero-art > span { font-size: clamp(150px,20vw,380px); font-weight: 700; letter-spacing: -.1em; }
.case-detail__hero-art i { position: absolute; width: 28%; height: 9%; border-radius: 99px; background: #dedee4; }
.case-detail__hero-art i:nth-of-type(1) { top: 12%; left: 9%; }
.case-detail__hero-art i:nth-of-type(2) { right: 10%; bottom: 17%; background: #dce9cd; }
.case-detail__hero-art i:nth-of-type(3) { bottom: 7%; left: 12%; background: #efcfc8; }
.case-detail__hero .concept-tag { top: 35px; right: 35px; }
.case-intro__grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(60px,9vw,150px); }
.case-intro h2 { max-width: 900px; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.case-intro__aside > p { color: #5f5f67; font-size: 19px; }
.case-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 30px; }
.case-tags span { padding: 8px 12px; border: 1px solid var(--line); border-radius: 99px; font-size: 11px; }
.case-meta { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 100px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.case-meta > div { min-height: 130px; padding: 25px; border-left: 1px solid var(--line); }
.case-meta > div:first-child { border-left: 0; }
.case-meta span, .case-meta strong { display: block; }
.case-meta span { color: #85858d; font-size: 11px; text-transform: uppercase; }
.case-meta strong { margin-top: 25px; font-size: 17px; font-weight: 500; letter-spacing: -.02em; }
.case-gallery { overflow: hidden; border-radius: 40px; }
.case-gallery--opening { height: min(760px,70vw); color: white; background: linear-gradient(130deg,#09090b,#27272a,#52525b); }
.case-gallery__wide { display: flex; align-items: center; justify-content: center; height: 100%; flex-direction: column; }
.case-gallery__wide span { font-size: clamp(70px,12vw,220px); font-weight: 600; letter-spacing: -.08em; }
.case-gallery__wide small { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; }
.case-chapter { display: grid; grid-template-columns: 90px minmax(380px,.9fr) minmax(350px,.7fr); align-items: start; gap: clamp(25px,6vw,95px); padding: 75px 0; border-top: 1px solid var(--line); }
.case-chapter > span { color: #c8c8cd; font-size: 32px; }
.case-chapter h2 { max-width: 650px; font-size: clamp(34px,3.4vw,56px); font-weight: 500; line-height: 1; }
.case-chapter > p { color: #5d5d65; font-size: 18px; line-height: 1.6; }
.case-gallery--mosaic { display: grid; grid-template-columns: 1.35fr .65fr; grid-auto-rows: minmax(360px,45vw); gap: 12px; border-radius: 0; }
.case-gallery--mosaic > div, .case-gallery--mosaic figure { display: grid; place-items: center; overflow: hidden; margin: 0; border-radius: 34px; background: #f4f4f5; }
.case-gallery--mosaic > :nth-child(2), .case-gallery--mosaic > :nth-child(3) { background: #1b1b1e; color: white; }
.case-gallery--mosaic > :nth-child(3) { background: #d9efbb; color: #18331d; }
.case-gallery--mosaic > span, .case-gallery--mosaic div span { max-width: 80%; font-size: clamp(38px,7vw,120px); font-weight: 600; letter-spacing: -.06em; text-align: center; }
.case-gallery--mosaic img { width: 100%; height: 100%; object-fit: cover; }
.case-deliverables__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.case-deliverables h2 { max-width: 650px; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.case-deliverables__grid > div:last-child p { display: flex; gap: 25px; padding: 20px 0; margin: 0; border-bottom: 1px solid var(--line); font-size: 18px; }
.case-deliverables__grid p span { color: #aaaab1; }

/* Clients, manifesto and company pages */
.clients-page, .manifesto-page, .about-page { padding-top: var(--header); }
.clients-hero, .manifesto-hero, .about-hero { padding-block: clamp(115px,11vw,205px) clamp(80px,8vw,145px); border-bottom: 1px solid var(--line); }
.clients-hero h1, .manifesto-hero h1, .about-hero h1 { max-width: 1280px; margin: 0; font-size: clamp(46px,4.4vw,72px); font-weight: 500; line-height: .94; letter-spacing: -.065em; }
.clients-hero__proof, .about-hero .container > div:last-child { display: grid; grid-template-columns: auto auto minmax(280px,520px); align-items: end; justify-content: space-between; gap: 45px; margin-top: clamp(65px,8vw,125px); }
.clients-hero__proof > div { display: flex; align-items: baseline; gap: 13px; }
.clients-hero__proof strong { font-size: clamp(48px,5vw,76px); font-weight: 500; }
.clients-hero__proof span, .clients-hero__proof p, .about-hero p, .about-hero .container > div:last-child > span { color: #707078; font-size: 14px; }
.clients-hero__proof p, .about-hero p { margin: 0; font-size: 18px; }
.clients-logo-section { padding-block: clamp(100px,10vw,180px); color: white; background: #08080a; }
.clients-logo-section .trusted-heading h2 { color: white; }
.clients-logo-section .placeholder-note { margin-top: 75px; color: #6f6f77; text-align: center; }
.testimonial-wall { background: var(--soft); }
.testimonial-wall__heading { display: grid; grid-template-columns: .45fr 1fr; align-items: start; gap: 70px; margin-bottom: 75px; }
.testimonial-wall__heading h2 { max-width: 870px; margin: 0; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.testimonial-masonry { columns: 3; column-gap: 12px; }
.client-testimonial { display: inline-block; width: 100%; padding: 30px; margin: 0 0 12px; border: 1px solid #e0e0e4; border-radius: 28px; background: white; break-inside: avoid; }
.client-testimonial header { display: flex; align-items: center; gap: 15px; }
.client-testimonial img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; background: var(--soft-2); }
.client-testimonial header strong, .client-testimonial header span { display: block; }
.client-testimonial header strong { font-size: 18px; }
.client-testimonial header span { color: #8a8a92; font-size: 12px; }
.client-testimonial blockquote { margin: 34px 0 0; color: #4f4f56; font-size: 17px; line-height: 1.58; }

.manifesto-hero p { max-width: 790px; margin: 55px 0 0 auto; color: #56565e; font-size: clamp(20px,1.7vw,27px); line-height: 1.5; }
.manifesto-statement { padding-block: clamp(120px,15vw,270px); color: white; background: #09090b; }
.manifesto-statement p, .manifesto-statement strong { display: block; max-width: 1200px; font-size: clamp(44px,5vw,84px); font-weight: 500; line-height: .96; letter-spacing: -.06em; }
.manifesto-statement p { color: #6d6d76; }
.manifesto-principles__heading, .about-system__heading { display: grid; grid-template-columns: .45fr 1.2fr; gap: 70px; margin-bottom: 90px; }
.manifesto-principles__heading h2, .about-system__heading h2 { max-width: 900px; margin: 0; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.manifesto-principles ol { padding: 0; margin: 0; border-top: 1px solid var(--line); list-style: none; }
.manifesto-principles li { display: grid; grid-template-columns: 100px minmax(0,1fr); padding: 42px 0; border-bottom: 1px solid var(--line); }
.manifesto-principles li > span { color: #b6b6bd; font-size: 28px; }
.manifesto-principles li > div { display: grid; grid-template-columns: .7fr 1fr; gap: 70px; }
.manifesto-principles h3 { margin: 0; font-size: clamp(30px,3vw,48px); font-weight: 500; }
.manifesto-principles p { max-width: 650px; margin: 0; color: #66666e; font-size: 17px; }
.manifesto-code { padding-block: 24px; }
.manifesto-code .wide-container { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border-radius: 45px; color: white; background: #101014; }
.manifesto-code__visual { position: relative; display: flex; min-height: 690px; flex-direction: column; justify-content: space-between; padding: clamp(40px,5vw,80px); overflow: hidden; background: radial-gradient(circle at 70% 18%,rgba(82,82,91,.35),transparent 35%),linear-gradient(145deg,#09090b,#111114 65%); }
.manifesto-code__visual > span { font-size: clamp(120px,16vw,280px); font-weight: 700; letter-spacing: -.12em; }
.manifesto-code__visual code { color: #dedee4; font-size: clamp(15px,1.3vw,21px); line-height: 1.75; }
.manifesto-code__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(45px,6vw,100px); }
.manifesto-code__copy h2 { max-width: 680px; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.manifesto-code__copy p { max-width: 630px; color: #a0a0a8; font-size: 17px; line-height: 1.65; }
.manifesto-promise { background: var(--soft); }
.manifesto-promise h2 { max-width: 1080px; margin-bottom: 40px; font-size: clamp(40px,4.2vw,64px); font-weight: 500; line-height: .98; }

.about-hero .container > div:last-child { grid-template-columns: minmax(300px,650px) auto; justify-content: space-between; }
.about-system { margin: 24px; border-radius: 48px; background: var(--soft); }
.about-bento { display: grid; grid-template-columns: repeat(3,1fr); grid-auto-rows: minmax(310px,auto); gap: 12px; }
.about-bento article { position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: 35px; border: 1px solid #dddde2; border-radius: 30px; background: white; }
.about-bento article > span { position: absolute; top: 30px; right: 32px; color: #cccbd1; font-size: 40px; }
.about-bento h3 { max-width: 410px; margin: 0 0 18px; font-size: clamp(28px,2.7vw,46px); font-weight: 500; line-height: 1; }
.about-bento p { max-width: 430px; margin: 0; color: #74747c; }
.about-bento__large { grid-column: span 2; grid-row: span 2; background: linear-gradient(145deg,#f4f4f5,#fff 58%) !important; }
.about-bento__large h3 { font-size: clamp(36px,3.4vw,56px); }
.about-bento__wide { grid-column: span 2; }
.about-numbers__copy { display: grid; grid-template-columns: .45fr 1fr; gap: 70px; }
.about-numbers__copy h2 { max-width: 950px; margin: 0; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.about-numbers__grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 90px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.about-numbers__grid > div { min-height: 190px; padding: 30px; border-left: 1px solid var(--line); }
.about-numbers__grid > div:first-child { border-left: 0; }
.about-numbers__grid strong, .about-numbers__grid span { display: block; }
.about-numbers__grid strong { margin-bottom: 50px; font-size: clamp(37px,4vw,62px); font-weight: 500; }
.about-numbers__grid span { color: #77777f; font-size: 12px; }

/* Shared institutional system and secure forms */
.institutional-hero__intro { display: grid; grid-template-columns: minmax(300px,700px) auto; align-items: end; justify-content: space-between; gap: 60px; margin-top: 65px; }
.institutional-hero__intro p { margin: 0; }
.institutional-hero__intro small { color: #9999a1; }
.institutional-heading { display: grid; grid-template-columns: .4fr 1fr; gap: 60px; margin-bottom: 75px; }
.institutional-heading h2 { max-width: 980px; margin: 0; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.institutional-heading > p { grid-column: 2; max-width: 710px; color: #66666e; }
.institutional-card-grid { display: grid; gap: 12px; }
.institutional-card-grid--4 { grid-template-columns: repeat(4,1fr); }
.institutional-card-grid--3 { grid-template-columns: repeat(3,1fr); }
.institutional-card-grid article { position: relative; display: flex; min-height: 340px; flex-direction: column; justify-content: flex-end; padding: 32px; border: 1px solid var(--line); border-radius: 28px; background: white; }
.institutional-card-grid article > span, .institutional-card-grid article > i { position: absolute; top: 28px; right: 28px; color: #c2c2c9; font-size: 38px; }
.institutional-card-grid article > i { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 17px; color: var(--ink); background: var(--soft); font-size: 18px; }
.institutional-card-grid h3 { margin: 0 0 17px; font-size: 27px; font-weight: 500; line-height: 1.05; }
.institutional-card-grid p { margin: 0; color: #75757d; font-size: 14px; }
.careers-principles, .ombudsman-principles { margin: 24px; border-radius: 48px; background: var(--soft); }
.career-area-grid { display: flex; flex-wrap: wrap; gap: 9px; }
.career-area-grid span { padding: 18px 24px; border: 1px solid var(--line); border-radius: 999px; color: #55555c; background: #fafafa; font-size: clamp(15px,1.35vw,20px); }
.careers-process, .ombudsman-process { background: #fafafa; }
.institutional-form-section { background: #121216; color: white; }
.institutional-form-layout { display: grid; grid-template-columns: minmax(300px,.7fr) minmax(560px,1fr); align-items: start; gap: clamp(65px,8vw,135px); }
.institutional-form-copy { position: sticky; top: calc(var(--header) + 35px); }
.institutional-form-copy h2 { max-width: 650px; font-size: clamp(36px,3.4vw,56px); font-weight: 500; line-height: 1; }
.institutional-form-copy > p { max-width: 610px; color: #a3a3ab; font-size: 17px; }
.form-assurances { padding: 25px 0 0; margin-top: 35px; border-top: 1px solid #3a3a40; color: #a2a2aa; list-style: none; }
.form-assurances li { position: relative; padding: 8px 0 8px 25px; }
.form-assurances li::before { position: absolute; left: 0; content: '✓'; color: #006bfb; }
.institutional-form-card { padding: clamp(28px,4vw,54px); border: 1px solid #39393f; border-radius: 34px; background: #1c1c20; }
.fgx-form { display: grid; gap: 22px; }
.fgx-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fgx-form label { display: grid; gap: 9px; min-width: 0; }
.fgx-form label > span, .fgx-form legend { color: #d7d7dc; font-size: 12px; font-weight: 600; }
.fgx-form input:not([type='checkbox']):not([type='radio']):not([type='file']), .fgx-form select, .fgx-form textarea { width: 100%; min-height: 54px; border: 1px solid #45454c; border-radius: 14px; padding: 13px 15px; color: white; background: #26262b; outline: none; }
.fgx-form textarea { min-height: 170px; resize: vertical; }
.fgx-form select { color-scheme: dark; }
.fgx-form input:focus, .fgx-form select:focus, .fgx-form textarea:focus { border-color: #006bfb; box-shadow: 0 0 0 3px rgba(37,132,255,.23); }
.fgx-form small { color: #92929b; font-size: 10px; }
.fgx-form__choice { display: flex; flex-wrap: wrap; gap: 9px; padding: 0; border: 0; }
.fgx-form__choice legend { width: 100%; margin-bottom: 8px; }
.fgx-form__choice label { display: flex; align-items: center; padding: 12px 15px; border: 1px solid #44444b; border-radius: 999px; background: #25252a; }
.fgx-form__file { padding: 18px; border: 1px dashed #55555e; border-radius: 16px; }
.fgx-form__file input { color: #bdbdc5; }
.fgx-form__consent { display: grid !important; grid-template-columns: 20px 1fr; align-items: start; gap: 11px !important; }
.fgx-form__consent input { margin-top: 3px; accent-color: var(--blue); }
.fgx-form__consent a { text-decoration: underline; }
.fgx-form .button { justify-self: start; border-color: white; color: var(--ink); background: white; }
.fgx-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-feedback { padding: 18px 20px; margin-bottom: 25px; border-radius: 15px; font-size: 14px; }
.form-feedback--success { border: 1px solid #58a878; color: #d9ffe7; background: #193626; }
.form-feedback--error { border: 1px solid #d76b6b; color: #ffdede; background: #3d1c1f; }
.ombudsman-alternative { display: grid; gap: 6px; padding: 22px; margin-top: 30px; border-radius: 18px; color: var(--ink); background: white; }
.ombudsman-alternative a { color: var(--blue); font-size: 13px; }
.institutional-content .container { display: grid; grid-template-columns: minmax(190px,.3fr) minmax(0,920px); justify-content: space-between; }
.institutional-content .container::before { position: sticky; top: calc(var(--header) + 35px); align-self: start; color: #a0a0a8; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; content: 'FGX · Documento institucional'; }
.institutional-content .container > * { grid-column: 2; }
.institutional-content h2 { padding-top: 30px; border-top: 1px solid var(--line); }
.institutional-content a, .text-link { color: #006bfb; text-decoration: underline; text-underline-offset: 3px; }
.error-page__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 40px; }
.search-form { display: flex; width: min(100%,680px); gap: 8px; margin-top: 45px; }
.search-form label { flex: 1; }
.search-field { width: 100%; min-height: 56px; border: 1px solid var(--line); border-radius: 16px; padding: 0 17px; background: white; outline: none; }
.search-field:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(37,132,255,.18); }
.search-submit { min-height: 56px; border: 1px solid var(--ink); border-radius: 16px; padding: 0 24px; color: white; background: var(--ink); }
.search-results { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.search-result { display: flex; min-height: 330px; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: 28px; }
.search-result > span { color: #909098; font-size: 11px; text-transform: uppercase; }
.search-result h2 { margin: 55px 0 18px; font-size: 32px; font-weight: 500; line-height: 1.04; }
.search-result p { color: #686870; }
.search-result .text-link { margin-top: auto; }
.search-empty { grid-column: 1 / -1; padding: clamp(40px,7vw,100px); border-radius: 30px; background: var(--soft); }
.search-empty h2 { font-size: clamp(36px,3.4vw,56px); font-weight: 500; }

/* Shared motion language: quiet, fast feedback inspired by the reference interactions. */
.rail-card,
.plan-list article,
.case-cover,
.client-testimonial,
.about-bento article,
.institutional-card-grid article,
.search-result,
.faq-list details,
.friction-list details {
  transition: border-color .25s ease, background-color .25s ease, box-shadow .35s ease, transform .35s var(--ease);
}
.rail-card:hover,
.plan-list article:hover,
.case-card:hover .case-cover,
.client-testimonial:hover,
.about-bento article:hover,
.institutional-card-grid article:hover,
.search-result:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 58px rgba(9, 9, 11, .08);
}
.case-card:hover .case-cover img,
.rail-card:hover > img { transform: scale(1.025); }
.case-cover img,
.rail-card > img { transition: transform .6s var(--ease); }
.faq-list details[open],
.friction-list details[open] { border-color: #bdbdc5; }

@media (max-width: 1320px) {
  .header-inner { grid-template-columns: 150px 1fr auto; }
  .main-nav { gap: 20px; }
  .hero-main { grid-template-columns: minmax(0, 1.244fr) minmax(0, 1fr); gap: 16px; }
  .hero h1 { font-size: 56px; }
  .client-logo-grid { gap-inline: 20px; }
}

@media (max-width: 1100px) {
  :root { --header: 64px; }
  .container { width: min(calc(100% - (var(--page-gutter) * 2)), var(--container)); }
  .wide-container { width: min(calc(100% - (var(--bleed-gutter) * 2)), var(--wide)); }
  .header-inner { display: flex; justify-content: flex-start; width: min(calc(100% - (var(--page-gutter) * 2)), var(--container)); }
  .menu-toggle { z-index: 4; display: grid; width: 45px; height: 45px; margin-left: auto; place-content: center; gap: 6px; border-radius: 14px; background: var(--soft); }
  .menu-toggle span { width: 20px; height: 1px; background: var(--ink); transition: transform .2s ease; }
  .main-nav {
    position: fixed;
    inset: var(--header) 10px auto;
    display: none;
    max-height: calc(100vh - var(--header) - 20px);
    align-items: stretch;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: white;
    box-shadow: 0 30px 70px rgba(0,0,0,.14);
    overflow-y: auto;
  }
  .main-nav.is-open { display: flex; }
  .main-nav > a, .nav-group > button { width: 100%; justify-content: space-between; padding: 15px 10px; text-align: left; }
  .mobile-language-links { display: flex !important; align-items: center; gap: 8px; padding: 14px 8px 2px; border-top: 1px solid var(--line); }
  .mobile-language-links a { display: grid; min-width: 42px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-size: 12px; font-weight: 700; }
  .mobile-language-links a[aria-current="page"] { color: white; background: var(--ink); }
  .mobile-nav-actions { display: grid; grid-template-columns: 1fr 1.35fr; gap: 8px; padding: 14px 8px 2px; }
  .mobile-nav-actions a { min-height: 46px; justify-content: center; border: 1px solid var(--line); border-radius: 16px; }
  .mobile-nav-actions .login-link { display: inline-flex; align-items: center; }
  .main-nav > a::after, .nav-group > button::after { display: none; }
  .mega-menu, .nav-panel { position: static; display: none; visibility: visible; width: auto; padding: 14px 0; border: 0; box-shadow: none; opacity: 1; transform: none !important; }
  .nav-group.is-open > .mega-menu, .nav-group.is-open > .nav-panel { display: grid; }
  .mega-menu { grid-template-columns: 1fr; }
  .mega-column { padding: 15px 0; border-top: 1px solid var(--line); border-left: 0; }
  .mega-grid { grid-template-columns: 1fr 1fr; }
  .nav-actions { display: none; }
  .hero-main { grid-template-columns: 1fr; min-height: auto; padding-top: 100px; gap: 40px; }
  .hero-aside { justify-self: start; max-width: 650px; margin-top: 0; }
  .hero-proof { grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr); align-items: center; gap: 32px; }
  .logo-cloud { width: 100%; grid-template-columns: repeat(5,1fr); }
  .friction-grid, .faq-grid { grid-template-columns: 1fr; }
  .friction-grid { gap: 24px; }
  .faq-grid { gap: 48px; }
  .plan-finder { max-width: 650px; }
  .home-testimonial-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .client-logo-grid { grid-template-columns: repeat(3,1fr); }
  .case-grid { grid-template-columns: repeat(2,1fr); }
  .ethical-steps { grid-template-columns: 1fr 1fr; gap: 12px; }
  .ethical-steps li { border: 1px solid var(--line) !important; border-radius: 24px !important; }
  .footer-links { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-links--rich { grid-template-columns: repeat(3,1fr); }
  .footer-links--rich .footer-intro { grid-column: 1 / -1; }
  .partner-strip { grid-template-columns: 1fr; gap: 35px; }
  .service-hero__grid, .service-problem__grid { grid-template-columns: 1fr; }
  .service-hero__grid { min-height: auto; }
  .service-hero__aside { max-width: 720px; }
  .service-feature-grid { grid-template-columns: 1fr 1fr; }
  .service-data-story__heading { grid-template-columns: 1fr; gap: 28px; }
  .service-data-story__grid { grid-template-columns: 1fr 1fr; }
  .service-plan-grid, .service-plan-grid--4 { grid-template-columns: 1fr 1fr; }
  .ethical-steps--5 { grid-template-columns: 1fr 1fr; }
  .fgx-calculator__header { grid-template-columns: 1fr; gap: 30px; }
  .fgx-calculator--performance .fgx-calculator__fieldset > .fgx-calculator__fields { grid-template-columns: 1fr 1fr; }
  .fgx-calculator--performance .fgx-calculator__result-grid { grid-template-columns: repeat(2,1fr); }
  .case-grid--library { grid-template-columns: repeat(2,1fr); }
  .case-grid--library .case-card:nth-child(4n+2), .case-grid--library .case-card:nth-child(4n+4) { margin-top: 0; }
  .case-detail__hero-inner { grid-template-columns: 1fr; min-height: 670px; }
  .case-detail__hero-art { inset: 26% 4% 4% 25%; }
  .case-intro__grid, .case-deliverables__grid { grid-template-columns: 1fr; }
  .case-chapter { grid-template-columns: 60px 1fr; }
  .case-chapter > p { grid-column: 2; }
  .footer-links > div:nth-child(4), .footer-links > div:nth-child(5) { margin-top: 20px; }
  .services-index__hero-grid, .services-index__heading { grid-template-columns: 1fr; gap: 32px; }
  .services-index__hero-grid > div:last-child, .services-index__heading > p { max-width: 760px; }
  .services-index__grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 991px) {
  .plans-grid { grid-template-columns: 1fr; gap: 44px; }
  .plan-finder { width: min(100%,650px); }
  .proof-layout { grid-template-columns: 1fr; }
  .featured-case { width: 100%; aspect-ratio: 1.323 / 1; }
  .proof-side { grid-template-rows: auto; }
  .proof-metrics { min-height: 210px; }
  .proof-side .testimonial-card { min-height: 290px; }
}

@media (max-width: 700px) {
  .section { padding-block: 84px; }
  .container { width: min(calc(100% - (var(--page-gutter) * 2)), var(--container)); }
  .wide-container { width: min(calc(100% - (var(--bleed-gutter) * 2)), var(--wide)); }
  .brand img { width: 72px; }
  .brand strong { font-size: 16px; }
  .home-testimonial-grid { grid-template-columns: 1fr; }
  .home-testimonial-grid .testimonial-card { min-height: auto; }
  .mega-grid { grid-template-columns: 1fr; }
  .hero-main { padding-top: 72px; }
  .hero h1 { font-size: 40px; }
  .hero-headline-line { white-space: normal; }
  .rotating-wrap { display: block; min-width: 0; width: 100%; }
  .hero-form { align-items: stretch; flex-direction: column; padding: 16px; }
  .hero-form .button { width: 100%; margin-top: 5px; }
  .hero-proof { grid-template-columns: 1fr; gap: 28px; padding-bottom: 60px; }
  .stats { width: 100%; justify-content: space-between; gap: 15px; }
  .stats > div { align-items: flex-start; flex-direction: column; gap: 2px; }
  .logo-cloud { grid-template-columns: repeat(2,1fr); gap: 22px; }
  .client-logo-marquee { width: 100%; margin-bottom: 0; padding-block: 8px; border-radius: 0; }
  .client-logo-marquee__group { gap: 34px; padding-inline: 18px; }
  .client-logo-marquee .client-logo-item { width: 108px; height: 40px; }
  .client-logo-marquee .client-logo-item img { max-height: 30px; }
  .service-rail { padding-inline: 10px; }
  .rail-card { flex-basis: 84vw; height: 460px; }
  .rail-card--motion { flex-basis: 92vw; }
  .service-showcase__layout { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-left: 16px; }
  .service-showcase__intro { height: auto; margin-right: 16px; padding: 24px; }
  .service-showcase__intro h3 { font-size: 28px; }
  .service-showcase__intro p { max-width: 460px; margin-block: 16px 24px; }
  .service-showcase__intro ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  .service-showcase__intro li { font-size: 13px; }
  .plans-grid { gap: 45px; }
  .plans-intro h2 { font-size: 36px; line-height: 1.15; }
  .plan-finder { min-height: 0; gap: 24px; padding: 24px 16px 16px; border-width: 6px; border-radius: 30px; }
  .segmented { width: 100%; }
  .segmented button { flex: 1; }
  .plan-list { grid-template-rows: none; }
  .plan-list article { grid-template-columns: 1fr; grid-template-rows: auto; grid-template-areas: "copy" "price" "link"; gap: 14px; min-height: 0; border-radius: 28px; }
  .plan-list article > strong { justify-self: start; text-align: left; }
  .plan-list article > a { width: fit-content; justify-self: start; }
  .featured-case { min-height: 0; }
  .featured-case__caption { bottom: 20px; left: 22px; }
  .featured-case__caption strong { font-size: 22px; }
  .featured-case .concept-tag { top: 24px; right: 22px; }
  .proof-metrics { grid-template-columns: 1fr; }
  .proof-metrics article { min-height: 145px; }
  .friction { padding-block: 68px 80px; margin-inline: 0; border-radius: 34px; }
  .friction-copy { min-height: 0; gap: 34px; }
  .friction-copy h2 { font-size: 34px; line-height: 1.15; }
  .friction-quote { min-height: 0; padding: 22px; border-radius: 28px; }
  .friction-list { min-height: 0; padding: 20px; border-radius: 28px; }
  .friction-list li { min-height: 64px; gap: 12px; }
  .friction-list li p { font-size: 16px; line-height: 1.4; }
  .global-proof { min-height: 300px; border-radius: 0; }
  .global-heading { top: calc(var(--header) + 20px); }
  .global-heading .kicker { font-size: 10px; }
  .global-heading h2 { margin-top: 12px; font-size: 28px; line-height: 35px; }
  .trusted-heading h2 { font-size: 40px; }
  .client-logo-grid { grid-template-columns: repeat(2,1fr); gap: 44px 15px; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .section-heading h2 { font-size: clamp(36px, 10vw, 46px); }
  .case-filters { justify-content: flex-start; }
  .case-grid { grid-template-columns: 1fr; }
  .case-cover, .case-card:nth-child(even) .case-cover { aspect-ratio: 1; }
  .ethical-steps { grid-template-columns: 1fr; }
  .ethical-steps li { min-height: 220px; }
  .faq-grid { gap: 40px; }
  .faq-list summary { min-height: 76px; padding-inline: 20px; }
  .faq-list details p { padding-inline: 20px; }
  .cta-section { padding: 0 32px 96px; }
  .cta-card { min-height: 0; padding-inline: 0; }
  .cta-card h2 { max-width: 100%; font-size: clamp(26px,7.5vw,38px); line-height: 1.2; }
  .cta-card > div:last-child { width: 100%; flex-direction: column; }
  .cta-card .button { width: 100%; }
  .code-brand-wrap { min-height: 190px; }
  .code-brand__word { font-size: 24vw; }
  .footer-links { grid-template-columns: 1fr 1fr; gap: 45px 25px; }
  .footer-links--rich { grid-template-columns: 1fr 1fr; }
  .footer-links--rich .footer-contact { grid-column: 1 / -1; }
  .partner-marks { grid-template-columns: repeat(2,1fr); gap: 28px 15px; }
  .partner-marks span { font-size: 16px; }
  .footer-intro { grid-column: 1 / -1; }
  .footer-links > div:nth-child(4), .footer-links > div:nth-child(5) { margin-top: 0; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .service-hero__grid { padding-top: 82px; }
  .service-brand { margin-bottom: 35px; }
  .service-hero__copy h1 { font-size: clamp(42px,11.5vw,58px); }
  .service-marquee { font-size: 24vw; }
  .service-problem__list ul { grid-template-columns: 1fr; }
  .service-problem__list li:nth-child(even) { padding-left: 0; border-left: 0; }
  .service-scope, .service-process { margin-inline: 0; border-radius: 34px; }
  .service-feature-grid, .service-plan-grid, .service-plan-grid--4 { grid-template-columns: 1fr; }
  .service-data-story__grid { grid-template-columns: 1fr; }
  .service-data-story__grid li { min-height: 220px; }
  .service-plan.is-highlighted { transform: none; }
  .service-plan:hover, .service-plan.is-highlighted:hover { transform: translateY(-3px); }
  .billing-stepper { width: 100%; margin: -12px 0 34px; }
  .billing-stepper button { flex: 1; padding-inline: 10px; }
  .service-plan-empty { grid-template-columns: 1fr; }
  .fgx-calculator { width: calc(100% - 20px); padding: 30px 20px; border-radius: 34px; }
  .fgx-calculator__fields, .fgx-calculator--performance .fgx-calculator__fieldset > .fgx-calculator__fields, .fgx-calculator__result-grid, .fgx-calculator--performance .fgx-calculator__result-grid { grid-template-columns: 1fr; }
  .fgx-calculator__fieldset { padding: 20px; }
  .fgx-calculator__actions { align-items: stretch; flex-direction: column; }
  .fgx-calculator__actions .button { width: 100%; }
  .fgx-calculator--performance .fgx-calculator__result output { font-size: clamp(32px,11vw,48px); }
  .fgx-calculator__assumptions { grid-template-columns: 1fr; }
  .fgx-calculator__assumptions ul { columns: 1; }
  .cases-hero h1 { font-size: clamp(42px,11.5vw,58px); }
  .cases-hero__aside { grid-template-columns: 1fr; gap: 25px; }
  .cases-hero__aside span { width: fit-content; }
  .cases-library { margin-inline: 0; border-radius: 34px; }
  .cases-toolbar { align-items: flex-start; flex-direction: column; }
  .case-grid--library { grid-template-columns: 1fr; }
  .case-detail__hero-inner { min-height: 580px; padding: 25px; border-radius: 28px; }
  .case-detail__hero h1 { font-size: clamp(42px,11.5vw,58px); }
  .case-detail__hero-art { inset: 32% 3% 3% 18%; }
  .case-meta { grid-template-columns: 1fr 1fr; }
  .case-meta > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .case-meta > div:nth-child(4) { border-top: 1px solid var(--line); }
  .case-gallery--opening { height: 95vw; border-radius: 28px; }
  .case-chapter { grid-template-columns: 1fr; gap: 10px; padding-block: 55px; }
  .case-chapter > p { grid-column: 1; }
  .case-gallery--mosaic { grid-template-columns: 1fr; grid-auto-rows: 85vw; }
  .case-gallery--mosaic > div, .case-gallery--mosaic figure { border-radius: 24px; }
  .services-index__hero { padding-block: 88px 74px; }
  .services-index__hero h1 { font-size: clamp(42px,11.5vw,58px); }
  .services-index__group { margin-inline: 0; border-radius: 34px; }
  .services-index__heading h2 { font-size: clamp(36px,10vw,46px); }
  .services-index__grid { grid-template-columns: 1fr; }
  .services-index__card { min-height: 450px; padding: 25px; border-radius: 25px; }
}

@media (max-width: 1100px) {
  .clients-hero__proof { grid-template-columns: 1fr 1fr; }
  .clients-hero__proof p { grid-column: 1 / -1; }
  .testimonial-masonry { columns: 2; }
  .manifesto-principles__heading, .about-system__heading, .about-numbers__copy, .testimonial-wall__heading { grid-template-columns: 1fr; gap: 25px; }
  .manifesto-principles li > div { grid-template-columns: 1fr; gap: 18px; }
  .manifesto-code .wide-container { grid-template-columns: 1fr; }
  .manifesto-code__visual { min-height: 520px; }
  .about-bento { grid-template-columns: 1fr 1fr; }
  .about-bento__large, .about-bento__wide { grid-column: span 2; }
  .about-numbers__grid { grid-template-columns: 1fr 1fr; }
  .about-numbers__grid > div:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .about-numbers__grid > div:nth-child(4) { border-top: 1px solid var(--line); }
  .institutional-heading { grid-template-columns: 1fr; gap: 20px; }
  .institutional-heading > p { grid-column: 1; }
  .institutional-card-grid--4, .institutional-card-grid--3 { grid-template-columns: 1fr 1fr; }
  .institutional-form-layout { grid-template-columns: 1fr; }
  .institutional-form-copy { position: static; }
  .institutional-content .container { grid-template-columns: 1fr; }
  .institutional-content .container::before { position: static; margin-bottom: 35px; }
  .institutional-content .container > * { grid-column: 1; }
  .search-results { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .clients-hero h1, .manifesto-hero h1, .about-hero h1, .institutional-hero h1 { font-size: clamp(42px,11.5vw,58px); }
  .clients-hero__proof, .about-hero .container > div:last-child { grid-template-columns: 1fr; gap: 25px; }
  .clients-hero__proof p { grid-column: 1; }
  .clients-hero__proof > div { justify-content: space-between; }
  .clients-logo-section { padding-inline: 0; }
  .testimonial-masonry { columns: 1; }
  .testimonial-wall__heading { margin-bottom: 45px; }
  .client-testimonial { padding: 24px; }
  .manifesto-statement { padding-block: 110px; }
  .manifesto-statement p, .manifesto-statement strong { font-size: clamp(38px,11vw,54px); }
  .manifesto-principles li { grid-template-columns: 45px 1fr; gap: 12px; }
  .manifesto-principles li > span { font-size: 20px; }
  .manifesto-code { padding-inline: 10px; }
  .manifesto-code .wide-container { width: 100%; border-radius: 30px; }
  .manifesto-code__visual { min-height: 430px; padding: 30px; }
  .manifesto-code__copy { padding: 40px 28px; }
  .about-system, .careers-principles, .ombudsman-principles { margin: 10px; border-radius: 34px; }
  .about-bento { grid-template-columns: 1fr; }
  .about-bento__large, .about-bento__wide { grid-column: 1; grid-row: auto; }
  .about-bento article { min-height: 290px; }
  .about-numbers__grid { grid-template-columns: 1fr; }
  .about-numbers__grid > div { border-top: 1px solid var(--line); border-left: 0; }
  .about-numbers__grid > div:first-child { border-top: 0; }
  .institutional-hero__intro { grid-template-columns: 1fr; gap: 28px; }
  .institutional-hero__intro .button { width: 100%; }
  .institutional-card-grid--4, .institutional-card-grid--3 { grid-template-columns: 1fr; }
  .institutional-card-grid article { min-height: 290px; }
  .career-area-grid span { width: 100%; }
  .institutional-form-card { padding: 24px 18px; border-radius: 25px; }
  .fgx-form__grid { grid-template-columns: 1fr; }
  .fgx-form__choice { display: grid; }
  .fgx-form .button { width: 100%; }
  .search-form { align-items: stretch; flex-direction: column; }
  .search-results { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; will-change: auto; }
  .client-logo-marquee { overflow-x: auto; }
  .client-logo-marquee__track { animation: none !important; transform: none; }
  .client-logo-marquee__group[aria-hidden="true"] { display: none; }
  .rail-card:hover,
  .plan-list article:hover,
  .case-card:hover .case-cover,
  .client-testimonial:hover,
  .about-bento article:hover,
  .institutional-card-grid article:hover,
  .search-result:hover,
  .service-plan:hover,
  .service-plan.is-highlighted:hover { transform: none; }
}

/* Real website cases: screenshots remain intact inside lightweight CSS devices. */
.service-projects { min-width: 0; }
.service-projects .service-rail { padding-left: 0; padding-right: var(--page-gutter); }
.service-projects .rail-card--website { flex: 0 0 clamp(480px, 44vw, 680px); height: 480px; overflow: hidden; color: #18181b; background: var(--project-color); }
.service-projects .rail-card--website::after { display: none; }
.project-stage { position: absolute; inset: 14% 5% 21%; perspective: 1000px; }
.project-desktop { position: absolute; top: 9%; left: 0; width: 91%; padding: 6px; overflow: hidden; border-radius: 12px; background: #1b2026; box-shadow: 0 20px 28px -15px #18181b55; transform: rotate(-3deg); transition: transform .8s var(--ease); }
.project-desktop img { display: block; width: 100%; height: auto; aspect-ratio: 1.92; object-fit: contain; border-radius: 0 0 6px 6px; background: white; }
.project-browser { display: flex; align-items: center; gap: 4px; height: 18px; padding: 0 6px; color: #71717a; font-size: 6px; }
.project-browser i { width: 4px; height: 4px; border-radius: 50%; background: #52525b; }
.project-browser span { margin: auto; font-size: 6px; }
.project-phone { position: absolute; right: 0; bottom: -4%; width: 23%; padding: 5px; overflow: hidden; border-radius: 20px; background: #1b2026; box-shadow: 0 20px 30px -14px #18181b88; transform: rotate(6deg); }
.project-phone img { display: block; width: 100%; height: auto; aspect-ratio: .46; object-fit: cover; object-position: top; border-radius: 15px; }
.project-stage--desktop-only .project-desktop { width: 100%; top: 6%; transform: rotate(-2deg); }
.rail-card--website:hover .project-desktop { transform: rotate(0) translateY(-4px); }
.project-sector { display: block; margin-bottom: 4px; color: #52525b; font-size: 12px; }
.rail-card--website .rail-caption { left: 28px; right: 28px; bottom: 24px; }
.rail-card--website .rail-caption h3 { margin-bottom: 10px; color: #18181b; }
.project-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.project-tags span { border: 1px solid #52525b66 !important; color: #006bfb; border-radius: 99px; padding: 4px 9px; font-size: 11px; }
.project-visit { position: absolute; top: 18px; right: 18px; z-index: 4; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #ffffff99; border-radius: 50%; background: #ffffff70; }
.project-rail-controls { display: flex; align-items: center; gap: 7px; padding: 16px var(--page-gutter) 0 0; color: #52525b; font-size: 11px; }
.project-rail-controls > span { margin-right: auto; }
.project-rail-controls button { border: 1px solid #d8dbe1; border-radius: 99px; min-height: 34px; min-width: 34px; padding: 5px 10px; background: white; font-size: 11px; white-space: nowrap; }
.featured-case--projects { color: #18181b; background: #eef3f8; }
.featured-project-slide { position: absolute; inset: 0; background: var(--project-color); }
.featured-project-slide[hidden] { display: none; }
.featured-project-slide .project-stage { inset: 15% 7% 20%; }
.featured-case--projects .featured-case__caption span { color: #52525b; }
.case-site-link { margin-top: 20px; color: #006bfb; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.case-editorial .case-controls { padding-top: 20px; }
.case-reading-progress { height: 2px; margin-top: 14px; overflow: hidden; background: #e7eaf0; }
.case-reading-progress i { display: block; height: 100%; background: var(--blue); transform: scaleX(0); transform-origin: left; transition: transform .1s linear; }
@media (prefers-reduced-motion: no-preference) {
 .is-in-view .project-phone { animation: device-float 6s ease-in-out infinite; }
 .is-in-view .featured-project-slide:not([hidden]) { animation: project-reveal .65s var(--ease); }
 @keyframes device-float { 50% { transform: rotate(4deg) translateY(-8px); } }
 @keyframes project-reveal { from { opacity: .3; } to { opacity: 1; } }
}
@media (max-width: 980px) { .case-editorial h3 { font-size: 25px; } }
@media (max-width: 700px) {
 .service-projects .rail-card--website { flex-basis: calc(100vw - 44px); height: 395px; }
 .project-stage { inset: 12% 6% 25%; }
 .project-phone { width: 25%; bottom: 0; padding: 4px; border-radius: 16px; }
 .project-phone img { border-radius: 12px; }
 .project-desktop { top: 10%; }
 .project-stage--desktop-only .project-desktop { top: 10%; }
 .project-rail-controls { flex-wrap: wrap; }
 .project-rail-controls > span { flex: 1 1 100%; }
 .featured-case--projects { aspect-ratio: 1.1; }
 .featured-project-slide .project-stage { inset: 16% 6% 27%; }
 .featured-case--projects .featured-case__caption { left: 24px; bottom: 22px; }
}


/* A light map with CSS-only office pulses. */
.global-proof.global-proof--light { aspect-ratio: auto; min-height: 0; padding: clamp(64px,6vw,96px) 0 48px; color: var(--ink); background: #f8fafc; }
.global-proof--light .global-heading { position: static; width: auto; transform: none; }
.global-proof--light .global-heading .kicker { color: #52525b; }
.global-proof--light .global-heading h2 { font-size: clamp(34px,3.5vw,54px); line-height: 1.08; font-weight: 500; letter-spacing: -.04em; }
.global-proof--light .global-heading p { margin: 18px 0 0; color: #52525b; font-size: 15px; }
.global-map-light { position: relative; width: 100%; margin-top: 32px; aspect-ratio: 1720 / 840; }
.global-map-light > img { display: block; width: 100%; height: auto; }
.global-pin { position: absolute; z-index: 1; width: 22px; height: 22px; padding: 5px; border: 0; background: transparent; border-radius: 50%; transform: translate(-50%,-50%); }
.global-pin span { display: block; width: 100%; height: 100%; border: 2px solid #f8fafc; border-radius: 50%; background: #006bfb; box-shadow: 0 0 0 1px #006bfb44; }
.global-pin:hover, .global-pin:focus-visible { z-index: 4; outline: 2px solid #006bfb; outline-offset: 3px; }
.global-pin--office { z-index: 2; width: 24px; height: 24px; }
.global-pin--office span { background: #eb7e32; box-shadow: 0 0 0 1px #eb7e3255; }
.global-pin--office::before { content: ""; position: absolute; inset: 2px; border: 1px solid #eb7e32; border-radius: 50%; animation: office-pulse 3s ease-out infinite; pointer-events: none; }
.global-pin--office:last-child::before { animation-delay: 1.5s; }
.global-map-key { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 26px; font-size: 12px; color: #52525b; }
.global-map-key > span { display: flex; align-items: center; gap: 7px; }
.global-map-key i { width: 8px; height: 8px; border-radius: 50%; background: #006bfb; }
.global-map-key .office-key { background: #eb7e32; }
.global-map-key p { flex-basis: 100%; margin: 0; min-height: 22px; text-align: center; color: #006bfb; }
.global-country-list { max-width: 740px; margin: 20px auto 0; font-size: 12px; text-align: center; color: #52525b; }
.global-country-list summary { cursor: pointer; }
.global-country-list p { line-height: 1.9; }
.global-clients .trusted-companies { width: min(calc(100% - var(--page-gutter) * 2), var(--container)); }
.global-clients .client-logo-grid { grid-template-columns: repeat(6,minmax(0,1fr)); gap: clamp(28px,3vw,48px); }
.global-clients .client-logo-item { padding: 12px; }
.global-clients .client-logo-item img { max-width: 100%; }
@keyframes office-pulse { 0% { transform: scale(.7); opacity: .8; } 100% { transform: scale(2.4); opacity: 0; } }
@media (max-width: 980px) { .global-clients .client-logo-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 700px) {
 .global-map-light { margin-inline: -8px; width: calc(100% + 16px); }
 .global-pin { width: 15px; height: 15px; padding: 4px; }
 .global-pin span { border-width: 1px; }
 .global-pin--office { width: 17px; height: 17px; }
 .global-clients .client-logo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
}
@media (prefers-reduced-motion: reduce) { .global-pin--office::before { animation: none; } }

/* Complete service sitemap; columns never exceed the shared content gutter. */
.footer-links.footer-links--rich { grid-template-columns: repeat(7,minmax(0,1fr)); gap: clamp(18px,2vw,34px); }
.footer-links--rich > div { min-width: 0; }
.footer-links--rich a { overflow-wrap: anywhere; line-height: 1.45; }
.footer-links--rich h3 { line-height: 1.4; }
@media (max-width: 1200px) { .footer-links.footer-links--rich { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 36px 24px; } }
@media (max-width: 980px) { .footer-links.footer-links--rich { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 700px) { .footer-links.footer-links--rich { grid-template-columns: repeat(2,minmax(0,1fr)); } }

.ai-related { padding-bottom: 72px; }
.ai-related > div { display: flex; flex-wrap: wrap; gap: 10px; }
.ai-related a { border: 1px solid var(--line); border-radius: 18px; padding: 16px 20px; font-size: 14px; }
.ai-related a:hover { border-color: var(--blue); background: #fafafa; }

.service-showcase__intro { height: 480px; }
@media (max-width: 700px) { .service-showcase__intro { height: auto; } }


/* Reference proportions: 1280px proof grid and a more compact world map. */
.featured-proof > .container { width: min(calc(100% - var(--page-gutter) * 2), 1280px); }
.featured-case--projects { aspect-ratio: 1.26; }
.featured-project-slide .project-stage { inset: 18% 9% 28%; }
.featured-project-slide .project-phone { width: 22%; bottom: -5%; }
.featured-case--projects .featured-case__caption strong { font-size: 24px; }
.featured-proof .case-editorial h3 { font-size: clamp(24px,2vw,30px); }
.global-proof.global-proof--light { padding-top: 64px; }
.global-proof--light .global-heading h2 { font-size: clamp(32px,3vw,46px); }
.global-map-light { max-width: 1120px; margin: 24px auto 0; }
.global-pin--flag { width: 28px; height: 24px; padding: 2px; border-radius: 4px; }
.global-pin--flag img { width: 24px; height: 16px; object-fit: fill; border-radius: 2px; box-shadow: 0 2px 5px #27272a30; transition: transform .25s ease; }
.global-pin--flag:hover img, .global-pin--flag:focus-visible img { transform: translateY(-3px) scale(1.15); }
@media (prefers-reduced-motion: no-preference) {
 .global-map-light.is-in-view .global-pin--flag img { animation: flag-breathe 5s ease-in-out infinite; animation-delay: var(--pin-delay); }
 @keyframes flag-breathe { 50% { translate: 0 -2px; } }
}
@media (max-width: 700px) {
 .featured-case--projects { aspect-ratio: 1.12; }
 .featured-project-slide .project-stage { inset: 20% 7% 29%; }
 .featured-project-slide .project-phone { width: 24%; }
 .featured-case--projects .featured-case__caption strong { font-size: 21px; }
 .global-map-light { width: 100%; margin-inline: auto; }
 .global-pin--flag { width: 18px; height: 16px; padding: 1px; }
 .global-pin--flag img { width: 16px; height: 11px; }
}

/* Shared review: navigation, prices and institutional numbers. */
.mega-menu--categories{width:min(1260px,calc(100vw - 64px));grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:24px;max-height:calc(100dvh - 100px);overflow-y:auto}
.mega-menu--categories .mega-column{padding:0 16px}.mega-menu--categories .mega-column:first-child{padding-left:0}
.mega-menu--categories .mega-label{margin:0 0 12px;font-size:13px;font-weight:600;color:#50525b;letter-spacing:0}
.mega-menu--categories .mega-column>a{min-height:56px;padding:8px 5px;gap:9px}
.mega-menu--categories .mega-column a b{width:32px;height:32px;flex:0 0 32px;font-size:12px}
.mega-menu--categories .mega-column a strong{font-size:13px}.mega-menu--categories .mega-column a small{font-size:11px;line-height:1.4}
.mega-directory{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:16px 4px 0;margin-top:16px;font-size:13px}
.technical-hours{scroll-margin-top:90px}.technical-hours .service-section-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:40px}
.technical-hours .service-section-heading p{color:var(--muted);line-height:1.6;max-width:48ch}
.hours-selector{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin:32px 0;padding:22px 24px;border-radius:22px;background:#f4f4f6}
.hours-selector label{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:600}
.hours-selector input{width:86px;padding:12px;border:1px solid #d6d6df;border-radius:12px;background:#fff;font:inherit;color:inherit}
.hours-selector small{flex-basis:100%;color:var(--muted)}.hours-presets{display:flex;flex-wrap:wrap;gap:8px}
.hours-presets button{border:1px solid #d6d6df;border-radius:999px;padding:10px 15px;background:#fff;font:inherit;font-size:13px;cursor:pointer}
.hours-presets button[aria-pressed="true"]{color:#fff;background:#101114;border-color:#101114}
.hours-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.hours-card{padding:clamp(24px,3vw,42px);border:1px solid var(--line);border-radius:28px;display:flex;flex-direction:column}
.hours-card>p{color:var(--muted);max-width:43ch;margin:22px 0}.hours-rate{display:flex;align-items:baseline;gap:10px}
.hours-rate strong{font-size:clamp(32px,3.5vw,48px);letter-spacing:-.045em;font-weight:500}.hours-rate>span{color:var(--muted)}
.hours-card ul{padding:22px 0;margin:0;list-style:none;line-height:1.65}.hours-card li{padding:8px 0;border-bottom:1px solid #ededf0}
.hours-card li::before{content:'✓';color:var(--blue);margin-right:10px}
.hours-total{margin-top:auto;padding:20px 0 28px;display:grid;gap:7px}.hours-total>strong{font-size:32px;font-weight:500;letter-spacing:-.04em}
.hours-total>span,.hours-total>small{font-size:13px;color:var(--muted)}.hours-total.is-discounted>small{color:#156341}
.technical-hours .commercial-note{margin-top:24px;max-width:100ch}
.brand-scale{padding:clamp(60px,6vw,96px) 0;border-radius:48px;background:#f4f4f6;overflow:hidden}.brand-scale>.container{max-width:1320px}
.brand-scale-heading{text-align:center;max-width:850px;margin:0 auto 48px}.brand-scale-heading h2{font-size:clamp(30px,3.4vw,50px);font-weight:500;line-height:1.1;letter-spacing:-.045em;margin:22px 0}
.brand-scale-heading p{color:#52525b;font-size:16px}.brand-scale-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.scale-card{position:relative;display:flex;flex-direction:column;min-height:480px;padding:26px 24px 0;border:1px solid #d8d8df;border-radius:32px;overflow:hidden;isolation:isolate;transition:transform .3s ease,box-shadow .3s ease}
.scale-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px #1616200c}.scale-card::before{content:'';position:absolute;inset:0;z-index:-1;background:#777982;transform-origin:bottom}
.scale-card-tag{align-self:flex-start;border:1px solid #c5c5cf;border-radius:11px;padding:6px 10px;font-size:11px}
.scale-card h3{font-size:20px;font-weight:500;letter-spacing:-.03em;margin:17px 0 34px}
.scale-card-value>strong{display:block;font-size:clamp(42px,4vw,62px);font-weight:500;letter-spacing:-.055em;line-height:1.05}
.scale-card-value>p{font-size:14px;line-height:1.55;margin-top:14px;max-width:28ch}
.scale-card-foot{margin-top:auto;padding:22px 0;font-size:12px;line-height:1.6;opacity:.9}
.scale-card--experience{color:white;border-color:#52525b}.scale-card--experience::before{background:#52525b}.scale-card--experience .scale-card-value{margin-top:4px}
.scale-card--countries::before{top:58%;background:#d1d2d9}.scale-card--countries .scale-card-value{margin-top:45px}
.scale-card--continents::before{top:85%;background:#dedee5}.scale-card--continents .scale-card-value{margin-top:100px}
.scale-card--bases{background:#fff;border-color:#fff}.scale-card--bases::before{display:none}.scale-card--bases .scale-card-value{margin-top:auto}
.brand-x-portrait{display:block;width:128px;height:112px;object-fit:cover;margin:0 0 25px;mask:url('../images/brand/fgx-x-mask.svg') center/contain no-repeat;-webkit-mask:url('../images/brand/fgx-x-mask.svg') center/contain no-repeat}
.brand-scale-note{margin:24px 0 0;text-align:center;font-size:11px;color:#52525b}
.site-header .brand{width:150px;min-width:150px}.site-header .brand img{width:150px;height:auto}
.site-footer .footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.site-footer .footer-bottom>span:nth-child(2){text-align:center}.site-footer .footer-bottom>div:last-child{justify-self:end}
.service-proof .testimonial-card{min-width:0;padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center}
.service-proof .testimonial-card .testimonial-head{display:flex;align-items:center;gap:16px}
.service-proof .testimonial-card .avatar{width:64px;height:64px;flex:0 0 64px;border-radius:50%;object-fit:cover}
.service-proof .testimonial-card blockquote{font-size:clamp(20px,2vw,28px);line-height:1.5;max-width:36ch;overflow-wrap:anywhere}
.service-proof .testimonial-card .testimonial-head small{display:block;margin-top:6px;color:var(--muted)}
.service-proof__visual{min-height:460px}.service-proof__visual h2{font-size:clamp(30px,3vw,46px)}
.preview-service-marquee,.service-marquee{overflow:hidden;transform:none}
.service-word-track{display:flex;width:max-content;animation:service-word-scroll 30s linear infinite;animation-play-state:paused;will-change:transform}
.service-word-group{display:flex;align-items:center;gap:48px;padding-right:48px;flex:none}
.service-word-group>span{white-space:nowrap;display:inline-flex;align-items:center;gap:48px}
.service-word-group>span::after{content:'✳';color:var(--blue);font-size:.75em}
.is-marquee-visible .service-word-track{animation-play-state:running}
@keyframes service-word-scroll{to{transform:translateX(-50%)}}
@media(max-width:1100px){.brand-scale-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scale-card{min-height:420px}.scale-card--continents .scale-card-value{margin-top:70px}}
@media(max-width:980px){.mega-menu--categories{width:100%;max-height:none;padding:0;overflow:visible;grid-template-columns:1fr}.mega-menu--categories .mega-column{padding:18px 0}.mega-menu--categories .mega-label{color:#1a1b20}.mega-menu--categories .mega-column>a{min-height:58px}.technical-hours .service-section-heading{grid-template-columns:1fr;gap:16px}}
@media(max-width:700px){.site-footer .footer-bottom{grid-template-columns:1fr;text-align:center}.site-footer .footer-bottom>div:last-child{justify-self:center}.site-header .brand,.site-header .brand img{width:136px;min-width:136px}.hours-grid{grid-template-columns:1fr}.hours-selector{padding:20px}.brand-scale{border-radius:28px;padding:52px 0}.brand-scale-heading{margin-bottom:28px}.brand-scale-grid{grid-template-columns:1fr}.scale-card{min-height:350px;padding:24px 24px 0}.scale-card h3{margin-bottom:22px}.scale-card--countries .scale-card-value,.scale-card--continents .scale-card-value{margin-top:24px}.brand-x-portrait{width:108px;height:94px}.service-proof__visual{min-height:380px}.service-proof .testimonial-card{min-height:320px}}
@media(prefers-reduced-motion:reduce){.scale-card{transition:none}.scale-card:hover{transform:none}.service-word-track{animation:none;will-change:auto}}

.company-form-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,6vw,96px);align-items:start}
.company-form-layout h2{font-size:clamp(32px,3.6vw,52px);font-weight:500;line-height:1.05;letter-spacing:-.045em;margin:22px 0}
.company-form-layout>div>p{color:#52525b;line-height:1.65;margin-bottom:22px}.company-form-destination{font-size:13px;overflow-wrap:anywhere}.company-form-notice{font-size:12px;max-width:44ch}
.company-form{padding:clamp(24px,3vw,40px);border:1px solid #dddde4;border-radius:28px;display:grid;gap:20px;background:#fff}
.company-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.company-field{display:grid;gap:9px;font-size:13px;font-weight:500;min-width:0}
.company-field input,.company-field select,.company-field textarea{min-width:0;width:100%;box-sizing:border-box;padding:14px;border:1px solid #d7d7df;border-radius:12px;background:#fafafb;font:inherit;color:#14141a}.company-field textarea{resize:vertical;line-height:1.5}
.company-field input:focus,.company-field select:focus,.company-field textarea:focus{outline:2px solid #006bfb;outline-offset:2px}
.company-consent{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.6}.company-consent input{margin-top:4px;flex:none}.company-consent a{text-decoration:underline}
.company-choice{display:grid;gap:12px;border:0;padding:0;margin:0;font-size:13px}.company-choice legend{padding:0 0 12px;font-weight:500}.company-choice label{display:flex;align-items:center;gap:8px}
.company-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.company-form-status{font-size:13px;line-height:1.5;margin:0;color:#52525b}.company-form-status[data-state="error"]{color:#9d253b}.company-form-status[data-state="success"]{color:#156341}
.company-form [hidden]{display:none!important}.company-form [type="submit"]:disabled{opacity:.5;cursor:wait}
.manifesto-opening{padding:clamp(140px,15vw,220px) 0 90px}.manifesto-opening h1{font-size:clamp(42px,5.5vw,82px);line-height:1.02;letter-spacing:-.06em;font-weight:500;margin:30px 0 48px}.manifesto-opening h1 em{font-style:normal;color:#006bfb}
.manifesto-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:980px;margin-left:auto;color:#52525b;font-size:18px;line-height:1.65}
.manifesto-letter{padding:clamp(60px,7vw,110px) 0;background:#11141c;color:#fff;border-radius:44px}.manifesto-letter>.container{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,100px)}
.manifesto-letter h2{font-size:clamp(36px,4vw,58px);font-weight:500;letter-spacing:-.05em;line-height:1.06;margin:24px 0 40px}.manifesto-letter .brand-x-portrait{width:180px;height:160px}
.manifesto-letter-copy{font-size:18px;line-height:1.75;color:#dedee4}.manifesto-letter-copy>p{margin:0 0 28px}.manifesto-signature{color:#fff}.manifesto-signature strong{font-weight:500;color:#006bfb}
.manifesto-principles{padding:80px 0}.manifesto-principles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:32px}
.manifesto-principles-grid article{padding:25px;border:1px solid #dddde4;border-radius:24px}.manifesto-principles-grid article>span{color:#71717a;font-size:28px}.manifesto-principles-grid h3{font-size:21px;font-weight:500;margin:35px 0 14px}.manifesto-principles-grid p{font-size:14px;line-height:1.6;color:#52525b}
.manifesto-closing{text-align:center;padding:30px 0 70px}.manifesto-closing h2{font-size:clamp(38px,5vw,70px);line-height:1.05;font-weight:500;letter-spacing:-.05em}.manifesto-closing p{margin:24px 0 32px;color:#52525b}
@media(max-width:900px){.company-form-layout,.manifesto-letter>.container{grid-template-columns:1fr}.manifesto-principles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manifesto-letter-heading .brand-x-portrait{width:120px;height:108px}}
@media(max-width:600px){.company-form-grid,.manifesto-intro,.manifesto-principles-grid{grid-template-columns:1fr}.manifesto-intro{gap:16px;font-size:16px}.manifesto-letter{border-radius:28px}.manifesto-letter-copy{font-size:16px}.company-form-layout{gap:24px}}

.mega-menu--categories{grid-template-columns:repeat(5,minmax(0,1fr));width:min(1380px,calc(100vw - 64px))}.mega-menu--categories .mega-column{padding:0 12px}
.featured-proof .featured-case--projects{width:100%;min-width:0;max-width:100%;aspect-ratio:auto;min-height:440px;align-self:stretch}.featured-proof .proof-side{min-width:0;grid-template-rows:160px auto}.featured-project-slide .project-stage{inset:19% 7% 25% -3%}.featured-project-slide .project-desktop{width:93%}.featured-proof .case-editorial{min-width:0;padding:28px}.featured-proof .case-editorial h3{overflow-wrap:anywhere}
@media(max-width:1100px) and (min-width:981px){.mega-menu--categories .mega-column a b{display:none}}
@media(max-width:980px){.mega-menu--categories{grid-template-columns:1fr;width:100%}.mega-menu--categories .mega-column{padding:18px 0}.featured-proof .featured-case--projects{min-height:0;aspect-ratio:1.4}.featured-proof .proof-side{grid-template-rows:auto}.featured-project-slide .project-stage{inset:16% 7% 28% -3%}}
@media(max-width:600px){.featured-proof .featured-case--projects{aspect-ratio:1.13}.featured-project-slide .project-stage{inset:21% 8% 27% -2%}}

.seo-plans{scroll-margin-top:90px}.seo-plans .service-section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end}.seo-plans .service-section-heading p{font-size:15px;line-height:1.65;color:var(--muted)}.seo-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}.seo-plan{display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:28px}.seo-plan:last-child{background:#fafafa;border-color:#dedee4}.seo-plan h3{font-size:34px;font-weight:500;letter-spacing:-.04em;margin:28px 0 12px}.seo-plan>p{font-size:14px;line-height:1.6;color:var(--muted)}.seo-plan-price{display:flex;align-items:baseline;gap:8px;margin-top:24px}.seo-plan-price strong{font-size:clamp(28px,3vw,43px);font-weight:500;letter-spacing:-.05em}.seo-plan-price span{font-size:13px;color:var(--muted)}.seo-plan-total{font-size:12px!important}.seo-plan ul{list-style:none;padding:18px 0;margin:0 0 24px}.seo-plan li{font-size:13px;line-height:1.5;padding:10px 0;border-bottom:1px solid #dedee4}.seo-plan li::before{content:"✓ ";color:#006bfb}.seo-plan .button{margin-top:auto}.seo-plans .commercial-note{margin-top:24px}.seo-timeframe{margin-top:36px;padding:28px;background:#f5f5f7;border-radius:24px}.seo-timeframe h3{font-size:22px;font-weight:500}.seo-timeframe p{max-width:90ch;line-height:1.6;color:var(--muted)}
@media(max-width:980px){.seo-plans .service-section-heading{grid-template-columns:1fr;gap:18px}.seo-plan-grid{grid-template-columns:1fr}.seo-plan{padding:28px}.seo-plan-price strong{font-size:40px}}
.privacy-hero{padding-bottom:48px}.privacy-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(30px,5vw,80px);padding-bottom:90px}.privacy-index{align-self:start;position:sticky;top:100px;max-height:calc(100vh - 130px);overflow:auto;display:grid;gap:10px;font-size:12px;line-height:1.5}.privacy-index a{padding:10px;border-bottom:1px solid var(--line);color:#52525b}.privacy-document{font-size:16px;line-height:1.75;min-width:0}.privacy-document section{scroll-margin-top:100px;margin-bottom:55px}.privacy-document h2{font-size:26px;line-height:1.25;font-weight:500;letter-spacing:-.03em;margin:36px 0 22px}.privacy-document h3{font-size:21px;margin:24px 0 14px}.privacy-document p,.privacy-document ul,.privacy-document ol{margin:0 0 18px}.privacy-document ul,.privacy-document ol{padding-left:24px}.privacy-document a{text-decoration:underline;overflow-wrap:anywhere}.privacy-document table{width:100%;font-size:14px;border-collapse:collapse}.privacy-document td,.privacy-document th{padding:10px;border:1px solid var(--line)}@media(max-width:980px){.privacy-layout{grid-template-columns:1fr}.privacy-index{position:static;max-height:220px;border:1px solid var(--line);border-radius:20px;padding:16px}}

/* Portfolio: category-aware compositions, original images and accessible navigation. */
[data-case-category][hidden], [data-showcase-panel][hidden] { display:none!important; }
.service-showcase__intro { height:540px; padding:24px; background:transparent; }
.service-showcase__intro p { margin:14px 0; font-size:13px; }
.service-showcase__intro .case-click-hint { margin:8px 0; color:#006bfb; font-size:11px; }
.portfolio-type-tabs { display:flex; flex-direction:column; gap:3px; margin:4px 0 12px; }
.portfolio-type-tabs button { display:grid; grid-template-columns:1fr auto; align-items:center; gap:2px 10px; text-align:left; min-height:48px; padding:7px 12px; border:1px solid transparent; border-radius:12px; background:transparent; transition:background .2s,border-color .2s; }
.rail-card--list .portfolio-type-tabs button span { font-size:13px; font-weight:600; line-height:1.25; }
.portfolio-type-tabs button small { grid-column:1; color:#52525b; font-size:10px; }
.portfolio-type-tabs button i { grid-column:2; grid-row:1 / 3; font-style:normal; color:#71717a; }
.portfolio-type-tabs button[aria-selected="true"] { background:#fff; border-color:#dedee4; box-shadow:0 4px 12px #18181b05; }
.portfolio-type-tabs button[aria-selected="true"] i { color:#006bfb; }
.portfolio-type-tabs button:hover { background:#fff9; }
.case-directory-link { margin-top:auto; display:flex; justify-content:space-between; font-size:12px; border-top:1px solid #dadde2; padding-top:14px; }
.service-projects .rail-card--website { height:540px; }
.case-showcase-panel { animation:case-panel-in .45s ease both; }
@keyframes case-panel-in { from { opacity:.2; transform:translateY(8px); } to {opacity:1;transform:none;} }
.case-card-open { display:inline-flex; align-items:center; gap:18px; font-size:12px; font-weight:600; margin-top:14px; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:4px; }
.case-card-open:hover { color:#006bfb; }
.case-card-open:focus-visible,.portfolio-type-tabs button:focus-visible,.portfolio-filters button:focus-visible { outline:2px solid #006bfb;outline-offset:4px; }
.commerce-stage { position:absolute; inset:30px 20px 158px; display:flex; align-items:center; justify-content:center; isolation:isolate; }
.commerce-screen { position:absolute; width:29%; max-height:100%; aspect-ratio:.46; padding:4px; background:#202329; border-radius:19px; box-shadow:0 20px 35px -16px #0006; overflow:hidden; transition:transform .65s var(--ease); }
.commerce-screen img { display:block; width:100%; height:100%; object-fit:contain; border-radius:15px; background:white; }
.commerce-screen--1 { z-index:3; transform:translateY(-4px); }
.commerce-screen--2 { left:5%; transform:rotate(-8deg) scale(.9); }
.commerce-screen--3 { right:5%; transform:rotate(8deg) scale(.9); }
.rail-card--commerce:hover .commerce-screen--2,.portfolio-card:hover .commerce-screen--2 { transform:rotate(-4deg) translateX(-4px) scale(.92); }
.rail-card--commerce:hover .commerce-screen--3,.portfolio-card:hover .commerce-screen--3 { transform:rotate(4deg) translateX(4px) scale(.92); }
.application-stage { inset:15% 5% 32%; }
.application-stage .project-desktop { width:85%; top:4%; }
.application-stage .project-phone { width:22%; right:12%; bottom:-8%; }
.application-stage .project-phone--access { width:21%; right:-2%; bottom:-14%; transform:rotate(8deg); }
.application-stage .project-phone img { object-fit:contain; }
.service-projects .project-stage { bottom:30%; }
.packaging-stage { position:absolute; inset:0 0 166px; overflow:hidden; }
.packaging-photo { position:absolute; inset:0; overflow:hidden; }
.packaging-photo img { display:block; width:100%;height:100%; object-fit:cover; transition:transform 1s var(--ease),opacity .7s; }
.packaging-photo--2 { inset:auto 18px 18px auto; width:27%; height:42%; border:4px solid #fff; border-radius:14px; box-shadow:0 10px 30px #0004; }
.packaging-photo--2 img { object-fit:cover; }
.rail-card--packaging:hover .packaging-photo--1 img,.portfolio-card:hover .packaging-photo--1 img { transform:scale(1.035); }
.service-projects .rail-card--packaging,.service-projects .rail-card--branding { background:#fff; }
.brand-stage { position:absolute; inset:0 0 166px; display:grid; place-items:center; padding:48px; }
.brand-stage img { width:100%; max-width:480px; max-height:145px; height:auto; object-fit:contain; }
.rail-card--branding .project-tags span,.rail-card--packaging .project-tags span { background:#fff; }
.portfolio-index,.portfolio-detail { padding-top:110px; color:#12151a; }
.portfolio-index-hero { display:grid; grid-template-columns:1.2fr 1fr; gap:22px 60px; padding-top:55px; padding-bottom:65px; align-items:end; }
.portfolio-index-hero>.kicker { grid-column:1/-1; }
.portfolio-index-hero h1 { margin:0; font-size:clamp(38px,4.8vw,68px); line-height:1.03; letter-spacing:-.045em; font-weight:500; }
.portfolio-index-hero p { color:#52525b; max-width:430px; line-height:1.7; font-size:16px; }
.portfolio-index-hero>div>span { display:block; margin-top:25px; font-size:12px; color:#52525b; }
.portfolio-filters { display:flex; gap:8px; flex-wrap:wrap; border-top:1px solid #dde2e8; padding-top:26px; }
.portfolio-filters button { border:1px solid #dce1e6; border-radius:99px; padding:11px 18px; background:#fff; font-size:12px; }
.portfolio-filters button small { margin-left:10px; opacity:.65; }
.portfolio-filters button.is-active { color:#fff;background:#09090b;border-color:#09090b; }
.portfolio-filter-hint { margin:20px 0 35px; font-size:12px; color:#52525b; }
.portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 24px; padding-bottom:100px; }
.portfolio-card { min-width:0; overflow:hidden; border:1px solid #e0e4e9; border-radius:28px; background:#fff; }
.portfolio-card-visual { position:relative; height:380px; background:var(--project-color); overflow:hidden; }
.portfolio-card-visual .project-stage { inset:10% 7% 15%; }
.portfolio-card-visual .commerce-stage { inset:20px 20px; }
.portfolio-card-visual .brand-stage,.portfolio-card-visual .packaging-stage { inset:0; }
.portfolio-card-copy { padding:28px; }
.portfolio-card-copy h2 { font-size:27px; letter-spacing:-.035em; font-weight:500; margin:10px 0 12px; }
.portfolio-card-copy>p { color:#52525b; font-size:14px; line-height:1.65; min-height:70px; }
.portfolio-card-copy .project-tags { margin-top:20px; }
.portfolio-section-heading { max-width:740px; margin-bottom:40px; }
.portfolio-section-heading h2 { font-size:clamp(28px,3.2vw,44px); line-height:1.1; font-weight:500; letter-spacing:-.04em; margin:12px 0 0; }
.portfolio-testimonial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.portfolio-testimonial-grid .testimonial-card { width:auto; min-width:0; }
.portfolio-breadcrumb { display:flex;justify-content:space-between;gap:15px; font-size:12px; color:#52525b; padding-block:20px 35px; }
.portfolio-detail-hero { display:grid; grid-template-columns:.85fr 1.3fr; align-items:center; gap:40px; }
.portfolio-detail-copy h1 { font-weight:500; font-size:clamp(38px,4.2vw,62px);line-height:1.05;letter-spacing:-.045em;margin:20px 0; }
.portfolio-detail-copy>p { font-size:21px; line-height:1.4; color:#52525b; max-width:440px; margin-bottom:25px; }
.portfolio-detail-copy .button { margin-top:32px; font-size:12px; }
.portfolio-detail-visual { position:relative; min-width:0; height:480px; border-radius:30px; overflow:hidden; background:var(--project-color); }
.portfolio-detail-visual .project-stage { inset:15% 6% 18%; }
.portfolio-detail-visual .commerce-stage { inset:32px 20px; }
.portfolio-detail-visual .packaging-stage,.portfolio-detail-visual .brand-stage { inset:0; }
.portfolio-detail--packaging .portfolio-detail-hero { grid-template-columns:1fr; gap:35px; }
.portfolio-detail--packaging .portfolio-detail-copy { display:grid; grid-template-columns:1.2fr 1fr; column-gap:45px; align-items:center; }
.portfolio-detail--packaging .portfolio-detail-copy .kicker { grid-column:1/-1; }
.portfolio-detail--packaging .portfolio-detail-copy h1 { margin:18px 0; }
.portfolio-detail--packaging .portfolio-detail-copy .button { justify-self:start;margin:0; }
.portfolio-detail--packaging .portfolio-detail-visual { height:clamp(380px,52vw,690px); border-radius:24px; }
.portfolio-about { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.portfolio-about h2 { font-size:clamp(30px,3.2vw,44px);letter-spacing:-.04em;line-height:1.15;font-weight:500;margin:14px 0; }
.portfolio-about p { color:#52525b; font-size:16px; line-height:1.8; }
.portfolio-about dl { display:grid; gap:0; margin-top:30px; }
.portfolio-about dl>div { display:flex;justify-content:space-between;gap:18px;border-top:1px solid #e1e5eb;padding:14px 0;font-size:12px; }
.portfolio-about dt { color:#71717a; }
.portfolio-about dd { margin:0; text-align:right; }
.portfolio-focus { padding-block:70px; background:#f4f5f6; }
.portfolio-focus-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px; }
.portfolio-focus-grid article { padding:25px 0;border-top:1px solid #dedee4; }
.portfolio-focus-grid article>span { font-size:12px;color:#006bfb; }
.portfolio-focus-grid h3 { font-size:23px;font-weight:500;letter-spacing:-.03em;margin:28px 0 14px; }
.portfolio-focus-grid p { color:#52525b;font-size:14px;line-height:1.7; }
.portfolio-screen-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start; }
.portfolio-screen-grid figure { margin:0; min-width:0; }
.portfolio-screen-grid figure>div { overflow:hidden;border-radius:18px; background:#f2f4f6; padding:12px; }
.portfolio-screen-grid img { width:100%;height:auto;display:block;border-radius:10px; }
.portfolio-screen-grid figcaption { display:flex;gap:14px;margin-top:18px;color:#52525b;font-size:13px;line-height:1.4; }
.portfolio-screen-grid figcaption>span { color:#006bfb; }
.portfolio-screen-grid--mixed { grid-template-columns:repeat(2,minmax(0,1fr)); }
.portfolio-screen-grid--mixed .is-desktop { grid-column:1/-1; }
.portfolio-screen-grid--mixed figure:not(.is-desktop) { width:100%;max-width:420px;justify-self:center; }
.portfolio-screen-grid--photos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px 24px; }
.portfolio-screen-grid--photos figure:first-child { grid-column:1/-1; }
.portfolio-screen-grid--photos figure>div { padding:0;background:transparent; }
.portfolio-screen-grid--photos figure img { width:100%;max-height:780px;object-fit:contain;border-radius:16px; }
.portfolio-screen-grid--photos figure.brand-signature>div { padding:70px 35px;background:var(--brand-color,#edf3f8);min-height:230px;display:grid;place-items:center; }
.portfolio-screen-grid--photos figure.brand-signature img { max-width:660px;max-height:170px;object-fit:contain;border-radius:0; }
.portfolio-screen-grid--photos figure.brand-portrait img { max-height:650px; }
.portfolio-capture-note { max-width:800px;margin:35px 0 0; font-size:11px;line-height:1.7;color:#52525b; }
.portfolio-cta { padding:90px 0; text-align:center;background:#f0f4fb; }
.portfolio-cta h2 { max-width:750px;margin:20px auto;font-size:clamp(32px,4vw,56px);font-weight:500;line-height:1.08;letter-spacing:-.045em; }
.portfolio-cta p { margin:20px auto 30px;color:#52525b; }
.portfolio-next { display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:45px; }
.portfolio-next>a:first-child { font-size:13px;text-decoration:underline; }
.portfolio-next>a:last-child { display:grid;gap:10px;text-align:right; }
.portfolio-next small { color:#52525b;font-size:11px; }
.portfolio-next strong { font-size:22px;font-weight:500; }
@media(max-width:980px){
 .service-showcase__intro{height:auto;min-height:0;padding-right:28px}
 .portfolio-type-tabs{display:grid;grid-template-columns:repeat(3,1fr)}
 .service-showcase__intro .case-directory-link{margin-top:10px}
 .service-showcase__layout{padding-left:20px}
 .portfolio-detail-hero{grid-template-columns:1fr}
 .portfolio-detail-copy>p{max-width:none}
 .portfolio-about{gap:30px}
 .portfolio-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portfolio-card-visual{height:320px}
}
@media(max-width:700px){
 .service-projects .rail-card--website{height:460px}
 .portfolio-type-tabs{grid-template-columns:1fr 1fr}
 .rail-card--list .portfolio-type-tabs button span{font-size:12px}
 .service-showcase__intro{padding:12px 20px 12px 0}
 .service-showcase__intro h3 br{display:none}
 .commerce-stage{inset:25px 15px 150px}
 .brand-stage{padding:35px;bottom:160px}
 .service-projects .rail-caption{left:22px;right:22px;bottom:22px}
 .packaging-stage{bottom:166px}
 .portfolio-index,.portfolio-detail{padding-top:85px}
 .portfolio-index-hero{grid-template-columns:1fr;padding-top:25px;gap:18px;padding-bottom:40px}
 .portfolio-grid{grid-template-columns:1fr;gap:25px;padding-bottom:60px}
 .portfolio-filters{gap:6px}
 .portfolio-filters button{padding:9px 12px;font-size:11px}
 .portfolio-card-visual{height:340px}
 .portfolio-card-copy{padding:24px}
 .portfolio-card-copy>p{min-height:0}
 .portfolio-detail--packaging .portfolio-detail-copy{display:block}
 .portfolio-detail--packaging .portfolio-detail-copy .button{margin-top:25px}
 .portfolio-detail-visual{height:370px}
 .portfolio-detail-visual .commerce-stage{inset:25px 15px}
 .portfolio-about,.portfolio-focus-grid{grid-template-columns:1fr;gap:20px}
 .portfolio-focus{padding-block:50px}
 .portfolio-focus-grid h3{margin-top:17px}
 .portfolio-screen-grid,.portfolio-screen-grid--mixed,.portfolio-screen-grid--photos{grid-template-columns:1fr;gap:35px}
 .portfolio-screen-grid figure{max-width:440px;justify-self:center;width:100%}
 .portfolio-screen-grid--mixed .is-desktop,.portfolio-screen-grid--photos figure{max-width:none}
 .portfolio-testimonial-grid{grid-template-columns:1fr}
 .portfolio-breadcrumb{flex-wrap:wrap}
 .portfolio-cta{padding-block:60px}
 .portfolio-next{align-items:start}
 .portfolio-next strong{font-size:18px}
}
@media(prefers-reduced-motion:reduce){
 .case-showcase-panel,.application-stage .project-phone{animation:none!important}
 .commerce-screen,.packaging-photo img,.brand-stage img{transition:none!important}
}

.brand-application-hero{position:absolute;inset:0}.brand-application-hero img{width:100%;height:100%;object-fit:cover}.brand-application-hero>span{position:absolute;left:18px;bottom:18px;right:18px;justify-self:start;font-size:10px;border-radius:99px;background:#ffffffdf;color:#006bfb;padding:7px 12px;width:fit-content}

.portfolio-screen-grid--two{grid-template-columns:1fr}

/* Case cards own their caption layout; legacy media-overlay rules must not leak here. */
.service-projects .rail-card--website { display:grid;grid-template-rows:minmax(0,1fr) auto;background:#fff; }
.rail-case-visual { position:relative;min-height:0;overflow:hidden;background:var(--project-color); }
.service-projects .rail-card--website .rail-caption { position:static;left:auto;right:auto;bottom:auto;padding:21px 26px 24px;color:#18181b;background:#fff;min-height:164px; }
.service-projects .rail-card--website .rail-caption h3 { font-size:23px;margin:6px 0 12px;line-height:1.15; }
.service-projects .rail-caption .project-sector { border:0;border-radius:0;padding:0;font-size:11px;color:#52525b; }
.service-projects .rail-caption .case-card-open { color:#18181b;margin-top:13px; }
.service-projects .rail-caption .case-card-open>span { border:0;padding:0;border-radius:0; }
.rail-case-visual .project-stage { inset:14% 5% 10%; }
.rail-case-visual .application-stage { inset:12% 5% 17%; }
.rail-case-visual .commerce-stage { inset:20px 16px; }
.rail-case-visual .packaging-stage,.rail-case-visual .brand-stage { inset:0; }
.featured-case-selector { margin-bottom:24px; }
.featured-category-stepper,.featured-client-stepper { display:flex;flex-wrap:wrap;gap:8px;margin-top:16px; }
.featured-category-stepper button { background:transparent;border:0;border-bottom:2px solid transparent;padding:9px 12px;color:#52525b;font-size:12px; }
.featured-category-stepper button[aria-pressed="true"] { color:#006bfb;border-color:#006bfb; }
.featured-client-stepper button { border:1px solid #dedee4;border-radius:99px;padding:9px 16px;background:white;color:#52525b;font-size:12px; }
.featured-client-stepper button[aria-pressed="true"] { color:white;background:#09090b;border-color:#09090b; }
.featured-client-stepper button[hidden] { display:none!important; }
.featured-case-selector button:focus-visible { outline:2px solid #006bfb;outline-offset:3px; }
.featured-proof .featured-case--projects { display:flex;flex-direction:column;min-height:460px;aspect-ratio:auto; }
.featured-proof .featured-case__caption { position:static;left:auto;bottom:auto;padding:24px 28px 12px;background:#f2f5f8;color:#09090b;gap:7px;min-height:90px; }
.featured-proof .featured-case__caption span { color:#52525b; }
.featured-proof .featured-case__caption strong { font-size:23px;line-height:1.18; }
.featured-case-image { position:relative;flex:1;min-height:320px;overflow:hidden; }
.featured-case-image .project-stage { inset:12% 7% 12% -3%; }
.featured-case-image .project-stage--desktop-only { inset:10% 8% 10% -3%; }
.featured-case-image .commerce-stage { inset:22px 25px; }
.featured-case-image .application-stage { inset:8% 6% 20% -2%; }
.featured-case-image .packaging-stage,.featured-case-image .brand-stage { inset:0; }
@media(max-width:700px){
 .service-projects .rail-card--website .rail-caption{padding:18px 21px 21px;min-height:162px}
 .service-projects .rail-card--website .rail-caption h3{font-size:21px}
 .featured-proof .featured-case--projects{min-height:420px}
 .featured-case-image{min-height:295px}
 .featured-category-stepper{flex-wrap:nowrap;overflow:auto}
 .featured-category-stepper button{flex-shrink:0}
 .featured-client-stepper button{padding:8px 12px;font-size:11px}
}

/* One outer ruler: all page content uses the same limits as the navbar. */
:root { --wide:var(--container); --bleed-gutter:var(--page-gutter); }
.wide-container { width:min(calc(100% - var(--page-gutter)*2),var(--container)); }
.service-showcase__layout { width:min(calc(100% - var(--page-gutter)*2),var(--container));margin-inline:auto;padding-left:0; }
.service-projects .service-rail { padding-right:0; }
.home-process-summary { padding-top:45px; }
.home-process-summary>.container { width:100%; }
.home-process-summary .section-heading { margin-bottom:25px; }
.commerce-stage--two .commerce-screen { width:34%; }
.commerce-stage--two .commerce-screen--1 { left:13%;right:auto;transform:rotate(-5deg); }
.commerce-stage--two .commerce-screen--2 { left:auto;right:13%;transform:rotate(5deg); }
.rail-card--commerce:hover .commerce-stage--two .commerce-screen--2,.portfolio-card:hover .commerce-stage--two .commerce-screen--2 { transform:rotate(2deg) translateY(-4px); }
.portfolio-screen-grid--commerce-two { grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;margin-inline:auto; }
.home-link-pages { padding-top:90px; }
.link-page-heading { display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center;margin-bottom:30px; }
.link-page-heading h2 { font-size:clamp(30px,3.4vw,48px);font-weight:500;letter-spacing:-.04em;line-height:1.08;margin:12px 0 20px; }
.link-page-heading p { color:#52525b;font-size:15px;max-width:500px; }
.link-page-price-teaser { padding:26px 30px;border:1px solid #dedee4;border-radius:22px;background:#fff; }
.link-page-price-teaser>span{font-size:14px;color:#52525b}
.link-page-price-teaser p{margin:12px 0;font-size:20px;color:#18181b;line-height:1.5}
.link-page-price-teaser small{display:block;font-size:11px;color:#52525b}
.link-page-price-teaser>a{display:inline-block;margin-top:16px;font-size:12px;color:#006bfb;text-decoration:underline;text-underline-offset:4px}
.link-page-rail { display:flex;gap:18px;width:min(calc(100% - var(--page-gutter)*2),var(--container));margin:auto;overflow:auto;scrollbar-width:thin;padding-bottom:18px;scroll-snap-type:x proximity; }
.link-page-card { min-width:0;background:#fff;border:1px solid #dedee4;border-radius:22px;overflow:hidden;scroll-snap-align:start; }
.link-page-rail .link-page-card { flex:0 0 248px; }
.link-page-screen { padding:12px;background:#edf0f4; }
.link-page-screen img { width:100%;height:auto;aspect-ratio:.5;object-fit:contain;border-radius:13px; }
.link-page-copy { padding:20px; }
.link-page-copy>span { font-size:10px;color:#52525b; }
.link-page-copy h3 { font-size:19px;font-weight:500;margin:8px 0 0; }
.link-page-copy .case-card-open { color:#18181b; }
.link-page-gallery { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start; }
.link-page-plan-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1120px; }
.link-page-plans { background:#f1f5fb; }
.link-page-plans .service-plan { display:flex;flex-direction:column;background:white; }
.link-page-plans .service-plan.is-highlighted { border:1px solid #006bfb; }
.link-page-plans .service-plan>b { align-self:start;margin-top:12px;font-size:11px;color:#006bfb; }
.link-page-plans .service-plan h3 { margin:25px 0 15px;font-size:48px; }
.link-page-plans .service-plan h3 small { display:block;font-size:13px;color:#52525b;font-weight:400;letter-spacing:0; }
.link-plan-setup { font-size:15px;font-weight:600;margin-bottom:12px; }
.link-page-plans .plan-billing-note { min-height:48px;font-size:13px;color:#52525b;line-height:1.6; }
.link-page-plans .service-plan .button { margin-top:auto;align-self:start; }
.service-client-brands { overflow:hidden;padding:48px 0 56px;border-block:1px solid #eef0f3; }
.service-client-heading { display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px; }
.service-client-heading .kicker { margin-bottom:10px; }
.service-client-heading h2 { font-size:27px;font-weight:500;letter-spacing:-.035em;margin:0; }
.service-client-heading button { border:1px solid #dedee4;border-radius:99px;background:white;min-height:36px;padding:7px 16px;font-size:11px; }
.service-client-window { overflow:hidden;width:min(calc(100% - var(--page-gutter)*2),var(--container));margin-inline:auto; }
.service-client-track { width:max-content;display:flex;animation:service-brands-left 60s linear infinite;animation-play-state:paused; }
.service-client-brands.is-in-view:not(.is-paused) .service-client-track { animation-play-state:running; }
.service-client-brands:hover .service-client-track,.service-client-brands:focus-within .service-client-track { animation-play-state:paused!important; }
.service-client-group { display:flex;align-items:center;gap:64px;padding-right:64px; }
.service-client-logo { width:150px;height:78px;display:grid;place-items:center;flex-shrink:0; }
.service-client-logo img { width:auto;max-width:150px;height:auto;max-height:48px;object-fit:contain; }
.service-client-logo.is-compact img { max-width:70px; }
@keyframes service-brands-left { to { transform:translateX(-50%); } }
@media(max-width:1000px){.link-page-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
 .link-page-heading,.link-page-plan-grid{grid-template-columns:1fr;gap:24px}
 .link-page-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .link-page-copy{padding:14px}
 .link-page-copy h3{font-size:16px}
 .link-page-copy .case-card-open{font-size:11px}
 .link-page-screen{padding:7px}
 .link-page-rail .link-page-card{flex-basis:230px}
 .home-link-pages{padding-top:50px}
 .service-client-heading h2{font-size:22px}
 .service-client-logo{width:120px}
 .service-client-logo img{max-width:120px}
 .service-client-group{gap:35px;padding-right:35px}
 .portfolio-screen-grid--commerce-two{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.service-client-track{animation:none!important;transform:none!important}}

/* The same physical phone frame across link-page and commerce presentations. */
.device-phone { position:relative;display:flex;flex-direction:column;box-sizing:border-box;width:100%;padding:20px 6px 14px;border:2px solid #52525b;border-radius:28px;background:linear-gradient(120deg,#30343b,#080b10 45%,#18181b);box-shadow:0 18px 30px -18px #18181b99,0 0 0 1px #111;isolation:isolate; }
.device-phone-camera { position:absolute;top:7px;left:50%;width:26px;height:5px;transform:translateX(-50%);border-radius:99px;background:#020408;box-shadow:inset -5px 0 #52525b; }
.device-phone-screen { overflow:hidden;min-height:0;border-radius:16px;background:#fff; }
.device-phone .device-phone-screen img { display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0; }
.device-phone-home { position:absolute;bottom:5px;left:36%;width:28%;height:3px;border-radius:9px;background:#71717a; }
.commerce-stage--two { gap:7%;align-items:center; }
.commerce-stage--two .commerce-screen { position:relative;left:auto;right:auto;flex:0 1 auto;width:auto;height:94%;aspect-ratio:.48;max-width:43%;padding:0;overflow:visible;background:none;border-radius:0;box-shadow:none; }
.commerce-stage--two .commerce-screen--1 { transform:rotate(-5deg) translateY(-5px); }
.commerce-stage--two .commerce-screen--2 { transform:rotate(5deg) translateY(5px); }
.commerce-screen .device-phone { height:100%;padding:16px 4px 11px;border-radius:22px; }
.commerce-screen .device-phone-screen { flex:1;border-radius:12px; }
.commerce-screen .device-phone-screen img { height:100%;object-fit:contain; }
.commerce-screen .device-phone-camera { top:5px;height:4px;width:20px; }
.commerce-screen .device-phone-home { bottom:4px;height:2px; }
.link-case-stage { position:absolute;inset:20px;display:flex;justify-content:center;align-items:center;background:radial-gradient(ellipse at center,#dedee4,transparent 70%); }
.link-case-stage .device-phone { width:auto;height:100%;aspect-ratio:.49;max-width:240px; }
.link-case-stage .device-phone-screen { flex:1; }
.link-case-stage .device-phone-screen img { height:100%;object-fit:contain; }
.rail-card--links .rail-case-visual { background:#f4f4f5; }
.link-page-screen { padding:28px 28px 32px;background:radial-gradient(ellipse at 50% 30%,#fff,#f4f4f5); }
.link-page-screen .device-phone { max-width:270px;margin:auto; }
.portfolio-screen-grid figure>.mobile-mockup-scene { padding:38px 40px;background:radial-gradient(ellipse at 50% 25%,#fff,#f4f4f5);display:flex;justify-content:center;border-radius:28px; }
.mobile-mockup-scene .device-phone { max-width:310px; }
.portfolio-screen-grid .device-phone-screen { padding:0; }
.project-rail-controls>span>a { color:#006bfb;text-decoration:underline;text-underline-offset:4px; }
@media(max-width:700px){
 .link-page-gallery{grid-template-columns:1fr;gap:24px}
 .link-page-screen{padding:30px 38px}
 .link-page-copy{padding:22px}
 .link-page-copy h3{font-size:21px}
 .link-page-copy .case-card-open{font-size:13px}
 .portfolio-screen-grid figure>.mobile-mockup-scene{padding:30px}
 .portfolio-type-tabs [data-showcase-tab]{min-height:48px}
}

/* Anchor wide service panel to the navbar, not to the Services label. */
@media(min-width:981px){
 .nav-group--mega{position:static}
 .nav-group--mega>.mega-menu{left:50%;top:calc(100% - 8px);width:100%;max-width:var(--container);transform:translate(-50%,10px)}
 .nav-group--mega.is-open>.mega-menu,.nav-group--mega:hover>.mega-menu,.nav-group--mega:focus-within>.mega-menu{transform:translate(-50%,0)}
}

/* Single-screen cases use a portrait card, with no empty landscape space. */
.service-projects .rail-card--links{flex-basis:300px;width:300px;min-width:300px;height:580px}
.service-projects .rail-card--links .rail-caption{padding:20px;min-height:165px}
@media(max-width:700px){.service-projects .rail-card--links{flex-basis:260px;width:260px;min-width:260px;height:530px}}

/* Shared navigation utility menu: same outer ruler as Services. */
.tools-menu{grid-template-columns:minmax(0,1fr) 210px;gap:35px;padding:30px;background:#fff}
.tools-menu h2{font-size:25px;font-weight:500;letter-spacing:-.025em;margin:10px 0 24px}
.tools-menu .kicker{font-size:10px;color:#006bfb}
.utility-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.utility-card{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid #dedee4;border-radius:16px;background:#fff;min-width:0;color:#18181b;transition:background .2s,border-color .2s}
.utility-card:hover{background:#f7faff;border-color:#dedee4}
.utility-card>span:not(.utility-icon){flex:1;min-width:0}
.utility-card strong{display:block;font-size:14px;font-weight:600;line-height:1.3}
.utility-card small{display:block;margin-top:6px;color:#52525b;font-size:11px;line-height:1.5}
.utility-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:13px;color:var(--utility-color,#006bfb);background:color-mix(in srgb,var(--utility-color,#006bfb) 11%,white);font-size:19px}
.utility-arrow{font-style:normal;color:#71717a;font-size:15px}
.tools-menu aside{border-left:1px solid #f4f4f5;padding-left:30px;display:flex;flex-direction:column;gap:20px;font-size:13px}
.tools-menu aside a{color:#006bfb;font-size:12px}
.tools-menu aside small{margin-top:auto;font-size:11px;color:#52525b;line-height:1.7}
@media(min-width:981px){.main-nav{gap:22px}.header-inner{grid-template-columns:150px 1fr auto;gap:18px}}
@media(max-width:980px){.tools-menu{grid-template-columns:1fr;gap:20px}.tools-menu h2{font-size:22px}.utility-menu-grid{grid-template-columns:1fr}.tools-menu aside{border-left:0;border-top:1px solid #f4f4f5;padding:22px 0}.tools-menu .utility-card{padding:14px}.tools-menu .utility-card strong{font-size:14px}}
/* Audit corrections: remove nested page gutters from full-width section surfaces. */
.hero-main,.hero-proof,.featured-proof>.container{width:min(calc(100% - var(--page-gutter)*2),var(--container))}
.brand-scale>.container,.friction-grid,.faq-grid{max-width:var(--container)}
.friction-grid{grid-template-columns:minmax(0,.42fr) minmax(0,.58fr)}
.faq-grid{grid-template-columns:minmax(0,.36fr) minmax(0,.64fr)}
.cta-section{padding-inline:0}
.cta-section>.wide-container{width:min(calc(100% - var(--page-gutter)*2),var(--container))}
.service-scope,.service-process{margin-inline:0}
.static-section--soft,.service-directory-group--soft{width:100%;margin-inline:0;padding-inline:0}
.hero h1{overflow-wrap:normal}
.service-plan{overflow-wrap:anywhere}
@media(max-width:980px){.friction-grid,.faq-grid{grid-template-columns:1fr}}

/* Compact pair of phones; contextual brand applications. */
.service-projects .rail-card--ecommerce{flex-basis:420px;width:420px;min-width:420px;height:570px}
.brand-stage--application{padding:0;display:block;overflow:hidden}
.brand-stage--application>img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:0}
.brand-stage-signature{position:absolute;right:16px;bottom:16px;width:38%;max-width:180px;min-height:60px;padding:16px;border-radius:12px;display:grid;place-items:center;box-shadow:0 4px 20px #0002}
.brand-stage-signature img{width:100%;height:auto;max-height:45px;object-fit:contain}
.brand-stage-note{position:absolute;left:16px;top:16px;padding:6px 10px;background:#ffffffeb;border-radius:99px;color:#52525b;font-size:9px}
@media(max-width:700px){.service-projects .rail-card--ecommerce{flex-basis:320px;width:320px;min-width:320px;height:520px}.brand-stage-signature{max-width:145px;padding:13px}}

.friction{margin-inline:0}
.hero h1{max-width:100%}

@media(max-width:1100px){.nav-group--mega{position:relative}.nav-group--mega>.mega-menu{position:static;width:100%;max-width:none;transform:none!important}.mega-menu--categories,.tools-menu{grid-template-columns:1fr}.utility-menu-grid{grid-template-columns:1fr}.tools-menu aside{border-left:0;border-top:1px solid #f4f4f5;padding:22px 0}.main-nav{gap:0}}

/* Shared, high-contrast brand wall for service and product pages. */
.service-client-brands{background:#09090b;color:#fff;border-color:#27272a;padding-block:48px 54px}
.service-client-heading .kicker{color:#71717a}
.service-client-heading h2{color:#fff}
.service-client-heading button{background:#27272a;color:#fff;border-color:#52525b}
.service-client-group{gap:48px;padding-right:48px}
.service-client-logo{width:180px;height:88px;overflow:hidden}
.service-client-logo img{filter:brightness(0) invert(1);opacity:.92;width:auto;max-width:174px;max-height:52px;object-fit:contain}
.service-client-logo.is-compact img{max-width:82px;max-height:70px;transform:scale(1.8)}
@media(max-width:700px){.service-client-logo{width:140px;height:76px}.service-client-logo img{max-width:134px;max-height:45px}.service-client-group{gap:30px;padding-right:30px}.service-client-heading h2{font-size:23px}.service-client-brands{padding-block:38px 42px}}

/* Consistent service testimonials, independent of homepage carousel styles. */
.service-testimonial, .service-proof .service-testimonial {
 display:flex; flex-direction:column; justify-content:center; gap:28px; width:100%; min-width:0;
 min-height:350px; height:auto; margin:0; padding:clamp(28px,3.5vw,52px);
 background:#f6f7f9; border:1px solid #dedee4; border-radius:30px; color:#18181b;
}
.service-testimonial .testimonial-head { position:static; display:flex; align-items:center; gap:16px; text-align:left; }
.service-testimonial .testimonial-head .avatar { width:64px; height:64px; flex:0 0 64px; object-fit:cover; border-radius:50%; }
.service-testimonial .testimonial-head strong { color:#18181b; font-size:20px; }
.service-testimonial .testimonial-head small { display:block; margin-top:5px; color:#52525b; font-size:14px; }
.service-testimonial blockquote, .service-proof .service-testimonial blockquote {
 position:static; width:auto; max-width:38ch; margin:0; color:#006bfb; font-size:clamp(23px,2.1vw,31px); line-height:1.45; overflow-wrap:anywhere;
}
.localized-testimonial-card.service-testimonial { margin-top:32px; min-height:280px; }
.service-proof__visual { min-height:390px; }
.service-proof__visual .kicker { color:#f4f4f5; }
.service-proof__visual h2 { line-height:1.13; }
.commerce-plan-heading { max-width:840px; margin-bottom:36px; }
.commerce-plan-heading h2 { font-size:clamp(32px,3.8vw,56px); line-height:1.08; margin:16px 0 20px; letter-spacing:-.045em; }
.commerce-plan-heading p { color:var(--muted); font-size:17px; line-height:1.65; max-width:64ch; }
.commerce-plan-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch; }
.commerce-plan { display:flex; flex-direction:column; min-width:0; padding:28px; border:1px solid #dedee4; border-radius:26px; background:#f5f6f8; color:#18181b; }
.commerce-plan.is-featured { background:#006bfb; border-color:#006bfb; color:white; }
.commerce-plan-name { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; min-height:32px; }
.commerce-plan-name h3 { margin:0; font-size:24px; letter-spacing:-.03em; }
.commerce-plan-name>span { font-size:11px; padding:5px 8px; border:1px solid #ffffff80; border-radius:40px; }
.commerce-plan-summary { min-height:88px; font-size:14px; line-height:1.55; margin:18px 0 24px; color:#52525b; }
.commerce-plan.is-featured .commerce-plan-summary { color:#f4f4f5; }
.commerce-plan-price { display:grid; gap:7px; padding-bottom:24px; border-bottom:1px solid #dedee470; }
.commerce-plan-price small { font-size:13px; }
.commerce-plan-price strong { font-size:clamp(29px,2.3vw,37px); letter-spacing:-.035em; line-height:1.2; }
.commerce-plan-price span { font-size:12px; }
.commerce-plan ul { list-style:none; padding:24px 0; margin:0 0 auto; display:grid; gap:15px; font-size:14px; line-height:1.5; }
.commerce-plan li { padding-left:21px; position:relative; }
.commerce-plan li:before { content:"✓"; position:absolute; left:0; color:#006bfb; }
.commerce-plan.is-featured li:before { color:white; }
.commerce-plan .button { width:100%; min-height:52px; padding:14px 16px; font-size:13px; white-space:normal; }
.commerce-plan.is-featured .button { background:white; color:#006bfb; }
.commerce-plan-note { color:#52525b; font-size:13px; line-height:1.7; max-width:110ch; margin:24px 0 0; }
@media(max-width:1200px) { .commerce-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .commerce-plan-summary { min-height:44px; } }
@media(max-width:600px) { .commerce-plan-grid { grid-template-columns:1fr; } .commerce-plan-summary { min-height:0; } .commerce-plan { padding:26px; } .service-testimonial,.service-proof .service-testimonial { min-height:300px; } }

/* Agency collaboration page. */
.agency-hero { padding:68px 0 72px; }
.agency-hero-top { display:flex; justify-content:space-between; gap:24px; margin-bottom:48px; }
.agency-availability { font-size:13px; color:#52525b; }
.agency-hero-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(36px,5vw,88px); align-items:center; }
.agency-hero h1 { font-size:clamp(44px,5.4vw,82px); line-height:1.03; letter-spacing:-.055em; font-weight:500; margin:0 0 32px; max-width:12ch; }
.agency-hero h1 span { color:#006bfb; }
.agency-hero-grid>div>p { max-width:58ch; color:#52525b; font-size:18px; line-height:1.65; }
.agency-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:30px; }
.agency-text-link { font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.agency-hero-grid .agency-hero-note { font-size:13px; margin-top:24px; max-width:58ch; }
.agency-workboard { background:#f4f4f5; border:1px solid #dedee4; border-radius:32px; padding:28px; transform:rotate(1deg); }
.agency-board-top { display:flex; justify-content:space-between; font-size:13px; padding:0 4px 22px; color:#52525b; }
.agency-board-lane { padding:28px; border-radius:20px; background:white; border:1px solid #dedee4; }
.agency-board-lane small { letter-spacing:.12em; font-size:11px; color:#52525b; }
.agency-board-lane h2 { margin:14px 0; font-size:clamp(25px,2.5vw,38px); line-height:1.15; letter-spacing:-.035em; font-weight:500; }
.agency-board-lane p { font-size:14px; color:#52525b; line-height:1.6; margin:0; max-width:34ch; }
.agency-board-lane--fgx { background:#006bfb; color:white; border-color:#006bfb; }
.agency-board-lane--fgx small,.agency-board-lane--fgx p { color:#f4f4f5; }
.agency-board-connection { display:flex; gap:12px; align-items:center; justify-content:center; height:44px; color:#006bfb; }
.agency-board-connection span { width:48px; height:1px; background:#dedee4; }
.agency-board-bottom { padding-top:20px; font-size:12px; color:#52525b; text-align:center; }
.agency-section-heading { max-width:880px; margin-bottom:40px; }
.agency-section-heading h2,.agency-faq h2 { font-size:clamp(32px,4vw,58px); line-height:1.1; font-weight:500; letter-spacing:-.045em; margin:16px 0 22px; }
.agency-section-heading p { color:#52525b; line-height:1.7; max-width:68ch; font-size:17px; }
.agency-principles { background:#f3f4f6; border-radius:40px; }
.agency-three-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.agency-three-grid article { border-top:1px solid #dedee4; padding-top:28px; }
.agency-three-grid article>span { color:#52525b; font-size:12px; }
.agency-three-grid h3,.agency-delivery-grid h3 { font-size:25px; letter-spacing:-.025em; font-weight:500; margin:22px 0 16px; }
.agency-three-grid p,.agency-delivery-grid p { color:#52525b; line-height:1.7; font-size:16px; }
.agency-delivery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.agency-delivery-grid>a { display:flex; flex-direction:column; padding:30px; border:1px solid #dedee4; border-radius:26px; transition:background .2s,transform .2s; }
.agency-delivery-grid>a:hover { background:#fafafa; transform:translateY(-3px); }
.agency-delivery-grid i { color:#006bfb; font-size:25px; }
.agency-delivery-grid>a>span { font-size:13px; color:#006bfb; margin-top:auto; padding-top:22px; }
.agency-process { background:#f5f7fa; }
.agency-process>.container { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.agency-process-list { margin:0; padding:0; list-style:none; }
.agency-process-list li { display:flex; gap:25px; border-top:1px solid #dedee4; padding:24px 0; }
.agency-process-list li>span { color:#006bfb; font-size:13px; padding-top:6px; }
.agency-process-list h3 { margin:0 0 10px; font-size:24px; font-weight:500; }
.agency-process-list p { margin:0; color:#52525b; line-height:1.7; }
.agency-invitation-inner { background:#09090b; color:white; border-radius:32px; padding:clamp(28px,5vw,76px); }
.agency-invitation .kicker { color:#dedee4; }
.agency-invitation h2 { font-size:clamp(34px,4.3vw,64px); line-height:1.08; letter-spacing:-.04em; font-weight:500; max-width:23ch; margin:22px 0; }
.agency-invitation p { max-width:64ch; line-height:1.7; color:#dedee4; }
.agency-invitation .agency-actions>a:not(.button) { font-size:14px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:900px) { .agency-hero-grid,.agency-process>.container { grid-template-columns:1fr; } .agency-hero h1 { max-width:15ch; } .agency-three-grid,.agency-delivery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .agency-hero-top { flex-direction:column; } .agency-workboard { transform:none; max-width:650px; } }
@media(max-width:600px) { .agency-hero { padding:40px 0 52px; } .agency-three-grid,.agency-delivery-grid { grid-template-columns:1fr; } .agency-hero-top { margin-bottom:30px; } .agency-availability { display:none; } .agency-workboard { padding:18px; } .agency-board-lane { padding:24px; } .agency-actions .button { width:100%; } }
.footer-address { font-weight:700; color:#52525b; }
.footer-partners { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-block:36px; border-top:1px solid #dedee4; }
.footer-partners-heading { flex:0 0 160px; }
.footer-partners-heading h3 { font-size:15px; font-weight:600; margin:0 0 8px; color:#27272a; }
.footer-partners-heading p { color:#52525b; font-size:12px; line-height:1.5; margin:0; }
.footer-partner-logos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; width:100%; max-width:980px; align-items:center; }
.footer-partner-logo { display:flex; align-items:center; justify-content:center; gap:10px; height:72px; border-radius:14px; background:white; padding:16px; color:#52525b; font-size:18px; white-space:nowrap; }
.footer-partner-logo i { color:#006bfb; font-size:38px; }
.footer-partner-logo img { width:100%; height:36px; object-fit:contain; max-width:160px; }
.footer-partner-logo--ads img { width:32px; height:32px; }
.footer-partner-logo--nuvem img { height:40px; transform:translateY(6px); }
@media(max-width:900px) { .footer-partners { align-items:flex-start; flex-direction:column; } .footer-partner-logos { max-width:none; } }
@media(max-width:600px) { .footer-partner-logos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .footer-partner-logo { font-size:15px; padding:12px; } }

/* Commerce comparisons: straight, equally sized phones on the same baseline. */
.commerce-stage--two { align-items:center; gap:8%; }
.commerce-stage--two .commerce-screen--1,
.commerce-stage--two .commerce-screen--2,
.rail-card--commerce:hover .commerce-stage--two .commerce-screen--2,
.portfolio-card:hover .commerce-stage--two .commerce-screen--2 { transform:none; }
.commerce-stage--two .commerce-screen { height:92%; max-width:43%; }
.tools-menu aside hr { width:100%; border:0; border-top:1px solid #dedee4; margin:15px 0; }
@media(min-width:1101px) and (max-width:1350px) { .main-nav { gap:18px; } .main-nav>a,.main-nav>.nav-group>button { font-size:13px; } .nav-actions { gap:12px; } .site-header .button--call { padding-inline:17px; } }

/* Keep foreground and background as an explicit pair on highlighted plans. */
.link-page-plans .service-plan.is-highlighted { background:#09090b; color:#fff; border-color:#09090b; transform:none; }
.link-page-plans .service-plan.is-highlighted:hover { transform:none; }
.link-page-plans .service-plan.is-highlighted h3,
.link-page-plans .service-plan.is-highlighted li,
.link-page-plans .service-plan.is-highlighted .link-plan-setup { color:#fff; }
.link-page-plans .service-plan.is-highlighted h3 small,
.link-page-plans .service-plan.is-highlighted .plan-billing-note { color:#dedee4; }
.link-page-plans .service-plan.is-highlighted .plan-pill { color:white; border-color:#71717a; background:#27272a; }
.link-page-plans .service-plan.is-highlighted>b { color:#f4f4f5; }
.link-page-plans .service-plan.is-highlighted ul { border-color:#52525b; }
.link-page-plans .service-plan.is-highlighted .button { color:#09090b; background:white; border-color:white; }
.link-page-plan-grid { max-width:none; }
.commercial-note { color:#52525b; font-size:13px; line-height:1.65; }
