:root {
  --brand: #bf0059;
  --brand-bright: #db0b6c;
  --brand-soft: #f0a3c5;
  --brand-pale: #f8dbe8;
  --plum: #190813;
  --plum-2: #290b1e;
  --ink: #25131e;
  --paper: #f5f1eb;
  --paper-2: #ebe5de;
  --white: #fff;
  --muted: #685b65;
  --line: rgba(37, 19, 30, 0.14);
  --container: min(1320px, calc(100vw - 80px));
  --display: "Manrope", sans-serif;
  --body: "DM Sans", sans-serif;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--body);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body.menu-open { overflow: hidden; }
::selection { color: var(--white); background: var(--brand); }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img, svg { display: block; }
.container { width: var(--container); margin-inline: auto; }
.section { padding-block: 150px; }

:focus-visible {
  outline: 3px solid var(--white);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px var(--plum);
}

.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: 9999;
  top: 12px;
  left: 12px;
  padding: 12px 18px;
  border-radius: 999px;
  color: var(--plum);
  background: var(--white);
  transform: translateY(-150%);
  transition: transform .25s ease;
}

.skip-link:focus { transform: translateY(0); }

.reveal {
  opacity: 1;
  transform: none;
}

.reveal-enabled .reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity .8s ease, transform .8s var(--ease);
  will-change: opacity, transform;
}

.reveal-enabled .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  will-change: auto;
}

.page-loader {
  position: fixed;
  z-index: 2000;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--white);
  background: var(--brand);
  pointer-events: none;
  opacity: 1;
  visibility: visible;
  clip-path: inset(0);
  animation: loader-out-fallback .8s var(--ease) 3s forwards;
}

.page-loader.is-loaded { animation-name: loader-out; animation-delay: .1s; }

.loader-inner {
  display: grid;
  width: min(420px, 72vw);
  gap: 28px;
}

.loader-inner > img {
  width: 100%;
  height: auto;
  opacity: 0;
  transform: translateY(16px);
  animation: loader-logo .7s var(--ease) .1s forwards;
}

.loader-copy {
  display: flex;
  justify-content: space-between;
  color: rgba(255, 255, 255, .72);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.loader-copy span {
  opacity: 0;
  transform: translateY(7px);
  animation: loader-words .5s ease forwards;
}

.loader-copy span:nth-child(1) { animation-delay: .3s; }
.loader-copy span:nth-child(2) { animation-delay: .45s; }
.loader-copy span:nth-child(3) { animation-delay: .6s; }

.loader-line { height: 1px; background: rgba(255,255,255,.24); overflow: hidden; }
.loader-line i { display: block; width: 100%; height: 100%; background: var(--white); transform: translateX(-100%); animation: loader-line 1.1s ease .35s forwards; }

@keyframes loader-logo { to { opacity: 1; transform: translateY(0); } }
@keyframes loader-words { to { opacity: 1; transform: translateY(0); } }
@keyframes loader-line { to { transform: translateX(0); } }
@keyframes loader-out-fallback { to { opacity: 0; visibility: hidden; clip-path: inset(0 0 100% 0); } }
@keyframes loader-out { to { opacity: 0; visibility: hidden; clip-path: inset(0 0 100% 0); } }

.scroll-progress {
  position: fixed;
  z-index: 2100;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: var(--brand-soft);
  box-shadow: 0 0 14px rgba(191,0,89,.5);
  transform: scaleX(0);
  transform-origin: left;
}

.button {
  position: relative;
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 10px 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--display);
  font-size: 12px;
  font-weight: 700;
  overflow: hidden;
  transition: color .3s ease, background .3s ease, border-color .3s ease, transform .3s var(--ease);
}

.button::before {
  position: absolute;
  top: -70%;
  left: -70%;
  width: 32%;
  height: 240%;
  content: "";
  opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  transform: rotate(18deg);
  transition: left .7s ease, opacity .2s ease;
}

.button:hover::before { left: 145%; opacity: .7; }
.button:hover { transform: translateY(-2px); }

.button i {
  position: relative;
  z-index: 1;
  display: grid;
  width: 37px;
  height: 37px;
  place-items: center;
  border-radius: 50%;
  font-size: 15px;
  font-style: normal;
  transition: transform .3s var(--ease);
}

.button:hover i { transform: rotate(-8deg); }
.button > span { position: relative; z-index: 1; }
.button-white { color: var(--plum); background: var(--white); }
.button-white i { color: var(--white); background: var(--brand); }
.button-magenta { color: var(--white); background: var(--brand); }
.button-magenta i { color: var(--brand); background: var(--white); }
.button-dark { color: var(--white); background: var(--plum); }
.button-dark i { color: var(--plum); background: var(--brand-soft); }

.site-header {
  position: fixed;
  z-index: 200;
  inset: 0 0 auto;
  color: var(--white);
  transition: background .35s ease, box-shadow .35s ease, transform .35s ease;
}

.trade-bar {
  max-height: 35px;
  border-bottom: 1px solid rgba(255,255,255,.11);
  background: rgba(25,8,19,.36);
  overflow: hidden;
  transition: max-height .35s ease, opacity .35s ease;
}

.trade-bar-inner {
  display: flex;
  height: 35px;
  align-items: center;
  justify-content: space-between;
  color: rgba(255,255,255,.57);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.trade-bar-inner > span { display: flex; align-items: center; gap: 9px; }
.trade-bar-inner > span i { width: 5px; height: 5px; border-radius: 50%; background: var(--brand-soft); box-shadow: 0 0 0 4px rgba(240,163,197,.12); }
.agency-registration { gap: 15px !important; color: rgba(255,255,255,.82); }
.agency-registration strong { color: var(--white); font-weight: 700; }
.agency-registration b { color: var(--brand-soft); font-weight: 700; }
.trade-bar-links { display: flex; gap: 24px; }
.trade-bar-inner a { transition: color .2s ease; }
.trade-bar-inner a:hover { color: var(--white); }

.nav-shell {
  display: flex;
  height: 82px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,.18);
  transition: height .35s ease, border-color .35s ease;
}

.site-header.is-scrolled {
  background: rgba(191,0,89,.94);
  box-shadow: 0 14px 50px rgba(23,3,14,.18);
  backdrop-filter: blur(18px);
}

.site-header.is-scrolled .trade-bar { max-height: 0; opacity: 0; }
.site-header.is-scrolled .nav-shell { height: 70px; border-color: transparent; }

.brand { width: 220px; height: 43px; overflow: hidden; }
.brand img { width: 100%; height: auto; }

.desktop-nav { display: flex; align-items: center; gap: 30px; }
.desktop-nav a { position: relative; color: rgba(255,255,255,.78); font-family: var(--display); font-size: 12px; font-weight: 600; transition: color .2s ease; }
.desktop-nav a::after { position: absolute; content: ""; right: 0; bottom: -9px; left: 0; height: 1px; background: var(--white); transform: scaleX(0); transform-origin: right; transition: transform .3s var(--ease); }
.desktop-nav a:hover, .desktop-nav a.is-active { color: var(--white); }
.desktop-nav a:hover::after, .desktop-nav a.is-active::after { transform: scaleX(1); transform-origin: left; }

.nav-actions { display: flex; align-items: center; gap: 18px; }
.nav-actions .button { min-height: 44px; padding-left: 18px; }
.nav-actions .button i { width: 31px; height: 31px; }
.nav-login { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.84); font-family: var(--display); font-size: 12px; font-weight: 700; }
.nav-login span { color: var(--brand-soft); }

.menu-button { position: relative; display: none; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: transparent; }
.menu-button > span { position: absolute; top: 50%; left: 50%; width: 16px; height: 1px; background: var(--white); transition: transform .3s ease; }
.menu-button > span:first-child { transform: translate(-50%,-4px); }
.menu-button > span:nth-child(2) { transform: translate(-50%,4px); }
.menu-button[aria-expanded="true"] > span:first-child { transform: translate(-50%,0) rotate(45deg); }
.menu-button[aria-expanded="true"] > span:nth-child(2) { transform: translate(-50%,0) rotate(-45deg); }
.mobile-menu { display: none; }

.hero {
  position: relative;
  min-height: 930px;
  color: var(--white);
  background: var(--plum);
  overflow: hidden;
}

.hero-image-wrap { position: absolute; inset: 0; overflow: hidden; clip-path: inset(0 0 0 48%); animation: hero-wipe 1.4s var(--ease) .9s both; }
.hero-image { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.07); animation: hero-zoom 14s ease-in-out 1.8s infinite alternate; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(25,8,19,.98) 0%, rgba(25,8,19,.91) 35%, rgba(25,8,19,.54) 57%, rgba(25,8,19,.18) 100%), linear-gradient(0deg, rgba(25,8,19,.94) 0%, transparent 48%); }

.hero-grid-lines { position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgba(255,255,255,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.11) 1px, transparent 1px); background-size: 90px 90px; mask-image: linear-gradient(90deg, black, transparent 68%); }

@keyframes hero-wipe { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 48%); } }
@keyframes hero-zoom { to { transform: scale(1.025); } }

.hero-orbit { position: absolute; border: 1px solid rgba(240,163,197,.24); border-radius: 50%; pointer-events: none; }
.hero-orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--brand-soft); box-shadow: 0 0 20px var(--brand-soft); }
.orbit-a { width: 850px; height: 370px; right: -100px; top: 245px; transform: rotate(-9deg); }
.orbit-a i { top: 16%; left: 15%; animation: orbit-pulse 2.2s ease-in-out infinite; }
.orbit-b { width: 590px; height: 235px; right: 9%; top: 440px; transform: rotate(13deg); border-color: rgba(191,0,89,.34); }
.orbit-b i { right: 7%; top: 45%; background: var(--brand); box-shadow: 0 0 20px var(--brand); animation: orbit-pulse 2.2s ease-in-out -1.1s infinite; }
@keyframes orbit-pulse { 50% { transform: scale(1.8); opacity: .45; } }

.hero-inner { position: relative; z-index: 2; display: grid; min-height: 790px; grid-template-columns: 1.13fr .87fr; align-items: center; gap: 70px; padding-top: 125px; }
.hero-copy { max-width: 780px; }
.overline { display: flex; align-items: center; gap: 12px; margin: 0 0 30px; color: rgba(255,255,255,.74); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.overline > span { width: 32px; height: 1px; background: var(--brand-soft); }

.hero-title { margin: 0; font-family: var(--display); font-size: clamp(68px,7.15vw,108px); font-weight: 500; letter-spacing: -.075em; line-height: .94; }
.title-mask { display: block; padding-bottom: .08em; overflow: hidden; }
.title-mask b { display: inline-block; font-weight: inherit; transform: translateY(115%); animation: title-in 1.05s var(--ease) 1.25s forwards; }
.title-mask:nth-child(2) b { animation-delay: 1.38s; }
.title-accent { color: var(--brand-soft); font-style: italic; }
@keyframes title-in { to { transform: translateY(0); } }

.hero-lead { max-width: 640px; margin: 30px 0 0; color: rgba(255,255,255,.68); font-size: 17px; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 38px; }
.play-link { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.86); font-family: var(--display); font-size: 12px; }
.play-link > i { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; font-style: normal; transition: background .25s ease, border-color .25s ease, transform .3s var(--ease); }
.play-link > i span { font-size: 9px; transform: translateX(1px); }
.play-link:hover > i { border-color: var(--brand-soft); background: rgba(191,0,89,.3); transform: scale(1.06); }

.hero-console { width: min(410px,100%); align-self: end; justify-self: end; margin-bottom: 100px; padding: 17px; border: 1px solid rgba(255,255,255,.25); border-radius: 26px; background: linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.06)); box-shadow: 0 35px 90px rgba(0,0,0,.28); backdrop-filter: blur(24px); }
.console-head, .console-foot { display: flex; align-items: center; justify-content: space-between; }
.console-head { color: rgba(255,255,255,.58); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.console-head b { display: flex; align-items: center; gap: 8px; padding: 6px 9px; border-radius: 999px; color: var(--brand-pale); background: rgba(191,0,89,.18); font-size: 8px; }
.console-head b i { width: 5px; height: 5px; border-radius: 50%; background: var(--brand-soft); box-shadow: 0 0 9px var(--brand-soft); }

.console-map { position: relative; height: 245px; margin: 15px 0; border-radius: 18px; background: rgba(25,8,19,.52); overflow: hidden; }
.console-map::before { position: absolute; inset: 0; content: ""; opacity: .5; background-image: linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size: 34px 34px; mask-image: radial-gradient(circle at center,black,transparent 80%); }
.console-map svg { position: absolute; inset: 0; width: 100%; height: 100%; fill: var(--brand-soft); stroke: rgba(240,163,197,.35); stroke-width: 1.4; }
.console-map svg path { fill: none; stroke-dasharray: 8 8; animation: path-flow 14s linear infinite; }
@keyframes path-flow { to { stroke-dashoffset: -150; } }
.console-core { position: absolute; top: 50%; left: 50%; display: grid; width: 66px; height: 66px; place-items: center; border: 1px solid var(--brand-soft); border-radius: 50%; background: var(--plum); box-shadow: 0 0 40px rgba(191,0,89,.4); transform: translate(-50%,-50%); }
.console-core span { position: relative; z-index: 2; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.console-core i { position: absolute; inset: -16px; border: 1px solid rgba(240,163,197,.22); border-radius: 50%; animation: core-pulse 2.8s ease-out infinite; }
.console-core i:nth-child(3) { inset: -34px; animation-delay: 1.4s; }
@keyframes core-pulse { 70%,100% { opacity: 0; transform: scale(1.25); } }
.map-label { position: absolute; padding: 6px 9px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: rgba(255,255,255,.72); background: rgba(25,8,19,.72); font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }
.label-a { top: 36px; right: 27px; }.label-b { right: 25px; bottom: 38px; }.label-c { left: 23px; bottom: 46px; }
.console-foot > div:first-child { display: grid; gap: 3px; }
.console-foot span { color: rgba(255,255,255,.42); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.console-foot strong { font-family: var(--display); font-size: 11px; }
.signal-bars { display: flex; height: 25px; align-items: flex-end; gap: 3px; }
.signal-bars i { width: 3px; border-radius: 4px; background: var(--brand-soft); animation: signal-bars 1.1s ease-in-out infinite alternate; }
.signal-bars i:nth-child(1) { height: 7px; animation-delay: -.2s; }.signal-bars i:nth-child(2) { height: 14px; animation-delay: -.8s; }.signal-bars i:nth-child(3) { height: 23px; animation-delay: -.4s; }.signal-bars i:nth-child(4) { height: 12px; animation-delay: -.6s; }.signal-bars i:nth-child(5) { height: 19px; animation-delay: -.1s; }.signal-bars i:nth-child(6) { height: 9px; animation-delay: -.7s; }
@keyframes signal-bars { to { height: 5px; opacity: .45; } }

.hero-dock { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; display: grid; min-height: 105px; grid-template-columns: repeat(3,1fr) .7fr; border-top: 1px solid rgba(255,255,255,.16); }
.dock-item { display: flex; align-items: center; gap: 17px; padding-right: 26px; border-right: 1px solid rgba(255,255,255,.13); }
.dock-item > span { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid rgba(255,255,255,.23); border-radius: 50%; color: var(--brand-pale); font-size: 10px; }
.dock-item p { display: grid; gap: 5px; margin: 0; }
.dock-item small { color: rgba(255,255,255,.72); font-size: 9px; letter-spacing: .14em; }
.dock-item strong { font-family: var(--display); font-size: 12px; }
.hero-dock > a { display: flex; align-items: center; justify-content: flex-end; gap: 18px; color: rgba(255,255,255,.78); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; transition: color .2s ease; }
.hero-dock > a b { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; transition: transform .3s var(--ease), background .2s ease; }
.hero-dock > a:hover { color: var(--white); }.hero-dock > a:hover b { background: var(--brand); transform: translateX(4px); }

.partner-rail { position: relative; padding: 23px 0; color: var(--white); background: var(--brand); overflow: hidden; }
.rail-track { display: flex; width: max-content; align-items: center; gap: 30px; animation: rail 28s linear infinite; }
.rail-track span { font-family: var(--display); font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.rail-track i { width: 7px; height: 7px; border-radius: 50%; background: var(--brand-soft); }
@keyframes rail { to { transform: translateX(-50%); } }

.section-index { display: flex; align-items: center; gap: 12px; height: fit-content; color: var(--muted); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.section-index span { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--brand); font-size: 9px; }
.section-index b { font-weight: 600; }
.display-title { margin: 0; font-family: var(--display); font-size: clamp(52px,6vw,88px); font-weight: 500; letter-spacing: -.065em; line-height: 1.02; }
.display-title em { color: var(--brand); font-weight: 400; }

.intro { background: var(--paper); }
.intro-grid { display: grid; grid-template-columns: 1fr 3.3fr; gap: 70px; }
.intro-main { min-width: 0; }
.intro-content { display: grid; max-width: 850px; grid-template-columns: 1.15fr .85fr; gap: 70px; margin: 58px 0 70px auto; }
.intro-content p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
.intro-content .intro-lead { color: var(--ink); font-family: var(--display); font-size: 21px; font-weight: 500; letter-spacing: -.025em; line-height: 1.55; }
.agency-details { display: grid; max-width: 850px; grid-template-columns: 1fr .65fr 1.55fr; margin: 0 0 70px auto; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.agency-details > div { min-height: 145px; padding: 20px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.agency-details span { display: block; margin-bottom: 30px; color: var(--muted); font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.agency-details strong { display: block; color: var(--ink); font-family: var(--display); font-size: 16px; font-weight: 600; letter-spacing: -.025em; }
.agency-details p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.fact-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.fact-card { min-height: 240px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: color .3s ease, background .3s ease, transform .3s var(--ease); }
.fact-card:hover { color: var(--white); background: var(--plum); transform: translateY(-6px); }
.fact-card > span { display: block; color: var(--muted); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.fact-card strong { display: block; margin-top: 60px; font-family: var(--display); font-size: 37px; font-weight: 500; letter-spacing: -.06em; }
.fact-card p { margin: 15px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; transition: color .3s ease; }
.fact-card:hover p, .fact-card:hover > span { color: rgba(255,255,255,.55); }

.team { position: relative; background: var(--paper-2); overflow: hidden; }
.team::after { position: absolute; top: -290px; right: -270px; width: 700px; height: 700px; border: 1px solid rgba(191,0,89,.13); border-radius: 50%; box-shadow: 0 0 0 90px rgba(191,0,89,.025), 0 0 0 180px rgba(191,0,89,.018); content: ""; pointer-events: none; }
.team .container { position: relative; z-index: 1; }
.team-heading { display: grid; grid-template-columns: 1fr 3.3fr; gap: 70px; margin-bottom: 70px; }
.team-heading-copy { min-width: 0; }
.team-heading-copy .display-title { font-size: clamp(50px,5.4vw,78px); }
.team-heading-copy .display-title em { display: block; }
.team-heading-lower { display: grid; max-width: 850px; min-width: 0; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 70px; margin: 42px 0 0 auto; }
.team-intro { max-width: 550px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
.team-role-line { display: flex; width: 100%; align-items: center; gap: 15px; padding-bottom: 6px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.team-role-line i { height: 1px; flex: 1; background: var(--line); }
.team-list { display: grid; width: min(100%,1050px); grid-template-columns: repeat(6,minmax(0,1fr)); gap: 14px; margin-inline: auto; }
.team-member { display: grid; min-height: 400px; grid-column: span 2; grid-template-columns: 1.05fr .95fr; border-radius: 22px; color: var(--white); background: var(--plum); overflow: hidden; box-shadow: 0 30px 70px rgba(37,19,30,.12); }
.team-portrait { position: relative; min-height: 400px; margin: 0; overflow: hidden; }
.team-portrait picture { display: block; width: 100%; height: 100%; }
.team-portrait::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg,rgba(25,8,19,.32),transparent 48%); pointer-events: none; }
.team-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 1s var(--ease); }
.team-member:hover .team-portrait img { transform: scale(1.035); }
.team-portrait--closer img { transform: scale(1.1); }
.team-member:hover .team-portrait--closer img { transform: scale(1.14); }
.team-portrait--nazli img { object-position: 50% 0; transform: scale(1.35); transform-origin: 50% 0; }
.team-member:hover .team-portrait--nazli img { transform: scale(1.4); }
.team-member-copy { position: relative; display: flex; min-width: 0; flex-direction: column; justify-content: flex-end; padding: 28px 22px; }
.team-member-copy::before { position: absolute; top: 27px; right: 22px; width: 10px; height: 10px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 8px rgba(191,0,89,.15); content: ""; }
.team-member-copy > span { margin-bottom: auto; color: var(--brand-pale); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.team-member-copy h3 { margin: 0; overflow-wrap: anywhere; font-family: var(--display); font-size: clamp(27px,2.25vw,36px); font-weight: 500; letter-spacing: -.065em; line-height: .96; }
.team-member-copy h3 em { display: block; color: var(--brand-soft); font-weight: 400; }
.team-member-copy p { min-height: 95px; margin: 24px 0 0; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.65; }
.team-profile-link { display: flex; width: fit-content; align-items: center; gap: 12px; margin-top: 24px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.48); color: rgba(255,255,255,.9); font-family: var(--display); font-size: 12px; font-weight: 700; transition: color .2s ease, border-color .2s ease; }
.team-profile-link i { color: var(--brand-soft); font-size: 15px; font-style: normal; transition: transform .3s var(--ease); }
.team-profile-link:hover { color: var(--white); border-color: var(--brand-soft); }.team-profile-link:hover i { transform: translate(3px,-3px); }

.solutions { position: relative; color: var(--white); background: var(--plum); overflow: hidden; }
.solutions::before { position: absolute; inset: 0; content: ""; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size: 100px 100px; mask-image: linear-gradient(to bottom,black,transparent 55%); }
.solutions .container { position: relative; z-index: 1; }
.section-head { display: grid; grid-template-columns: .8fr 2.2fr .8fr; align-items: end; gap: 50px; margin-bottom: 70px; }
.light-head .section-index, .tech-head .section-index { color: rgba(255,255,255,.46); }
.light-head .section-index span, .tech-head .section-index span { border-color: rgba(255,255,255,.2); color: var(--brand-soft); }
.light-head .display-title em, .tech-head .display-title em { color: var(--brand-soft); }
.section-summary { margin: 0 0 8px; color: rgba(255,255,255,.53); font-size: 14px; line-height: 1.65; }

.solution-tabs { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.solution-tab { display: flex; min-height: 74px; align-items: center; gap: 14px; padding: 0 25px; border: 0; border-right: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.68); background: transparent; font-family: var(--display); font-size: 13px; font-weight: 700; cursor: pointer; transition: color .25s ease, background .25s ease; }
.solution-tab:last-child { border-right: 0; }
.solution-tab span { color: var(--brand-pale); font-size: 10px; }
.solution-tab:hover, .solution-tab.is-active { color: var(--white); background: rgba(255,255,255,.07); }

.solution-stage { position: relative; min-height: 610px; }
.solution-panel { display: grid; min-height: 610px; grid-template-columns: .84fr 1.16fr; }
.solution-panel[hidden] { display: none; }
.solution-panel.is-entering { animation: panel-in .65s var(--ease) both; }
@keyframes panel-in { from { opacity: 0; transform: translateY(18px); } }
.solution-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 65px 60px 65px 0; }
.panel-eyebrow { margin: 0 0 24px; color: var(--brand-pale); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.solution-copy h3 { margin: 0; font-family: var(--display); font-size: clamp(43px,4.3vw,66px); font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.solution-copy h3 em { color: var(--brand-soft); font-weight: 400; }
.solution-copy > p:not(.panel-eyebrow) { max-width: 510px; margin: 27px 0 30px; color: rgba(255,255,255,.56); font-size: 14px; line-height: 1.7; }
.solution-copy ul { display: grid; width: 100%; grid-template-columns: 1fr 1fr; gap: 0; margin: 0 0 34px; padding: 0; border-top: 1px solid rgba(255,255,255,.13); list-style: none; }
.solution-copy li { position: relative; padding: 13px 8px 13px 19px; border-bottom: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.82); font-size: 12px; }
.solution-copy li::before { position: absolute; top: 17px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--brand-soft); content: ""; }
.arrow-link { display: inline-flex; align-items: center; gap: 18px; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-family: var(--display); font-size: 12px; font-weight: 700; }
.arrow-link span { color: var(--brand-soft); font-size: 17px; transition: transform .3s var(--ease); }
.arrow-link:hover span { transform: translate(3px,-3px); }

.solution-visual { position: relative; min-height: 610px; border-left: 1px solid rgba(255,255,255,.15); background: radial-gradient(circle at 50% 50%,rgba(191,0,89,.22),transparent 44%), rgba(255,255,255,.025); overflow: hidden; }
.solution-visual::before { position: absolute; inset: 0; content: ""; opacity: .4; background-image: linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size: 42px 42px; mask-image: radial-gradient(circle at center,black,transparent 75%); }

.visual-window { position: absolute; top: 50%; left: 50%; width: min(540px,82%); padding: 20px; border: 1px solid rgba(255,255,255,.19); border-radius: 22px; background: rgba(255,255,255,.1); box-shadow: 0 35px 80px rgba(0,0,0,.32); backdrop-filter: blur(15px); transform: translate(-50%,-50%) rotate(-3deg); }
.visual-search { display: grid; grid-template-columns: 1fr 1.2fr 38px; align-items: center; padding: 10px 10px 10px 16px; border-radius: 12px; color: var(--plum); background: var(--white); font-size: 9px; }
.visual-search span { color: #958791; }.visual-search i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 8px; color: var(--white); background: var(--brand); font-size: 17px; font-style: normal; }
.hotel-result { display: grid; grid-template-columns: 62px 1fr auto; align-items: center; gap: 12px; margin-top: 10px; padding: 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: rgba(25,8,19,.55); transition: transform .3s var(--ease), background .3s ease; }
.hotel-result:hover { background: rgba(191,0,89,.22); transform: translateX(5px); }
.hotel-result > span { height: 48px; border-radius: 8px; background: linear-gradient(140deg,#da7fa8,#5d1538); }
.result-two > span { background: linear-gradient(140deg,#f0c5d8,#a7004d); }.result-three > span { background: linear-gradient(140deg,#88335c,#efabc8); }
.hotel-result p { display: grid; gap: 4px; margin: 0; }.hotel-result small { color: rgba(255,255,255,.4); font-size: 6px; letter-spacing: .12em; }.hotel-result b { font-size: 9px; }.hotel-result > i { color: var(--brand-soft); font-size: 7px; font-style: normal; }

.supply-core { position: absolute; z-index: 3; top: 50%; left: 50%; display: grid; width: 105px; height: 105px; place-items: center; border: 1px solid var(--brand-soft); border-radius: 50%; background: var(--plum); box-shadow: 0 0 45px rgba(191,0,89,.42); transform: translate(-50%,-50%); font-family: var(--display); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.supply-core i { position: absolute; inset: -12px; border: 1px solid rgba(240,163,197,.25); border-radius: inherit; animation: core-pulse 2.4s infinite; }
.supply-ring { position: absolute; top: 50%; left: 50%; border: 1px dashed rgba(255,255,255,.22); border-radius: 50%; transform: translate(-50%,-50%); animation: ring-spin 22s linear infinite; }
.r1 { width: 270px; height: 170px; }.r2 { width: 440px; height: 290px; animation-direction: reverse; animation-duration: 29s; }.r3 { width: 620px; height: 420px; animation-duration: 38s; }
@keyframes ring-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
.supply-node { position: absolute; z-index: 4; padding: 8px 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: rgba(255,255,255,.72); background: rgba(25,8,19,.75); font-size: 7px; letter-spacing: .1em; }
.supply-node::before { display: inline-block; width: 5px; height: 5px; margin-right: 7px; border-radius: 50%; background: var(--brand-soft); content: ""; }
.n1 { top: 16%; left: 17%; }.n2 { top: 23%; right: 10%; }.n3 { right: 18%; bottom: 16%; }.n4 { bottom: 21%; left: 11%; }

.hotel-building { position: absolute; top: 50%; left: 50%; display: grid; width: 250px; height: 300px; grid-template-columns: repeat(4,1fr); gap: 13px; padding: 28px; border: 1px solid rgba(255,255,255,.2); background: linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.05)); box-shadow: 0 35px 70px rgba(0,0,0,.25); transform: translate(-50%,-50%); }
.hotel-building::before { position: absolute; right: -18px; bottom: -18px; left: 30px; height: 18px; content: ""; background: rgba(191,0,89,.7); transform: skewX(-40deg); }
.hotel-building i { border: 1px solid rgba(255,255,255,.16); background: rgba(240,163,197,.18); animation: rooms 3.5s ease-in-out infinite alternate; }
.hotel-building i:nth-child(2n) { animation-delay: -1.2s; }.hotel-building i:nth-child(3n) { animation-delay: -2.3s; }
@keyframes rooms { 50% { background: rgba(240,163,197,.6); box-shadow: 0 0 14px rgba(240,163,197,.28); } }
.hotel-channel { position: absolute; z-index: 3; min-width: 120px; padding: 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: rgba(25,8,19,.75); backdrop-filter: blur(10px); }
.hotel-channel span { display: block; color: var(--brand-soft); font-size: 8px; }.hotel-channel b { display: block; margin-top: 4px; font-size: 9px; }.ch1 { top: 19%; left: 11%; }.ch2 { top: 25%; right: 8%; }.ch3 { right: 14%; bottom: 14%; }

.network { background: var(--paper-2); }
.network-heading { display: grid; grid-template-columns: 1fr 3.3fr; gap: 70px; margin-bottom: 70px; }
.journey-grid { display: grid; min-height: 650px; grid-template-columns: 1fr .62fr 1fr; gap: 16px; }
.journey-image { position: relative; margin: 0; border-radius: 20px; overflow: hidden; }
.journey-image picture { display: block; width: 100%; height: 100%; }
.journey-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.journey-image:hover img { transform: scale(1.06); }
.journey-image::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg,rgba(25,8,19,.85),transparent 60%); }
.journey-image figcaption { position: absolute; z-index: 2; right: 26px; bottom: 26px; left: 26px; display: grid; gap: 10px; color: var(--white); }
.journey-image figcaption span { color: var(--brand-pale); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.journey-image figcaption strong { max-width: 310px; font-family: var(--display); font-size: 20px; font-weight: 600; line-height: 1.25; }
.journey-card { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 35px; border-radius: 20px; color: var(--white); background: var(--brand); text-align: center; }
.journey-card > p { margin: 38px 0; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.7; }
.journey-card > a { display: flex; align-items: center; gap: 18px; padding-bottom: 7px; border-bottom: 1px solid rgba(255,255,255,.72); font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.flow-mark { position: relative; display: grid; width: 130px; height: 130px; place-items: center; border: 1px solid rgba(255,255,255,.48); border-radius: 50%; }
.flow-mark span { position: relative; z-index: 2; font-family: var(--display); font-size: 16px; font-weight: 800; letter-spacing: .1em; }
.flow-mark i { position: absolute; inset: -14px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; animation: flow-ripple 3s ease-out infinite; }.flow-mark i:nth-child(3) { animation-delay: 1s; }.flow-mark i:nth-child(4) { animation-delay: 2s; }
@keyframes flow-ripple { to { opacity: 0; transform: scale(1.55); } }

.technology { position: relative; color: var(--white); background: var(--plum); overflow: hidden; }
.tech-glow { position: absolute; width: 900px; height: 900px; right: -400px; top: -200px; border-radius: 50%; background: rgba(191,0,89,.17); filter: blur(90px); }
.technology .container { position: relative; z-index: 1; }
.bento-grid { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: minmax(185px,auto); gap: 16px; }
.bento-card { position: relative; display: flex; flex-direction: column; padding: 28px; border: 1px solid rgba(255,255,255,.15); border-radius: 20px; background: rgba(255,255,255,.055); overflow: hidden; transition: transform .4s var(--ease), border-color .3s ease, background .3s ease; transform-style: preserve-3d; }
.bento-card::before { position: absolute; inset: 0; content: ""; opacity: 0; background: radial-gradient(380px circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(240,163,197,.18),transparent 60%); transition: opacity .3s ease; pointer-events: none; }
.bento-card:hover { border-color: rgba(240,163,197,.42); background: rgba(255,255,255,.075); }.bento-card:hover::before { opacity: 1; }
.bento-card > * { position: relative; z-index: 1; }
.bento-number { display: block; color: rgba(255,255,255,.74); font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.bento-card h3 { margin: auto 0 0; font-family: var(--display); font-size: 26px; font-weight: 600; letter-spacing: -.04em; line-height: 1.1; }
.bento-card p { margin: 13px 0 0; color: rgba(255,255,255,.48); font-size: 12px; line-height: 1.6; }
.bento-platform { grid-column: span 8; grid-row: span 2; display: grid; min-height: 500px; grid-template-columns: .72fr 1.28fr; gap: 40px; background: linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03)); }
.bento-platform .bento-copy { display: flex; flex-direction: column; }.bento-platform h3 { margin-top: auto; font-size: 36px; }
.bento-connect { grid-column: span 4; grid-row: span 2; background: var(--brand); }.bento-connect .bento-number { color: rgba(255,255,255,.62); }
.bento-support { grid-column: span 4; min-height: 310px; }
.bento-control { grid-column: span 5; min-height: 310px; justify-content: space-between; }
.bento-scale { grid-column: span 3; min-height: 310px; color: var(--plum); background: var(--brand-soft); }.bento-scale .bento-number,.bento-scale p { color: rgba(25,8,19,.55); }

.mini-dashboard { align-self: center; padding: 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 17px; color: var(--ink); background: #f7f4f0; box-shadow: 0 35px 80px rgba(0,0,0,.25); transform: rotate(2deg); transition: transform .5s var(--ease); }
.bento-platform:hover .mini-dashboard { transform: rotate(0deg) translateY(-5px); }
.dash-top { display: flex; align-items: center; justify-content: space-between; padding: 4px 5px 14px; font-size: 7px; letter-spacing: .12em; }.dash-top span { width: 23px; height: 23px; border-radius: 50%; background: var(--brand); }
.dash-search { display: grid; grid-template-columns: 1.35fr .9fr 36px; align-items: center; gap: 10px; padding: 10px; border: 1px solid #e0d9dc; border-radius: 10px; background: var(--white); }
.dash-search p,.dash-row p { display: grid; gap: 4px; margin: 0; }.dash-search small,.dash-row small { color: #978b92; font-size: 6px; letter-spacing: .09em; }.dash-search b,.dash-row b { font-size: 8px; }.dash-search i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 8px; color: var(--white); background: var(--brand); font-size: 16px; font-style: normal; }
.dash-row { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; margin-top: 10px; padding: 11px; border-radius: 10px; background: #efe8eb; }.dash-row > span { width: 38px; height: 38px; border-radius: 9px; background: var(--brand-soft); }.dash-row > i { color: var(--brand); font-size: 7px; font-style: normal; }
.dash-chart { position: relative; height: 145px; margin-top: 10px; border-radius: 10px; background: repeating-linear-gradient(0deg,#fff,#fff 35px,#eee5e9 36px); overflow: hidden; }.dash-chart svg { position: absolute; inset: 14px 0 0; width: 100%; height: calc(100% - 14px); fill: none; stroke: var(--brand); stroke-width: 3; vector-effect: non-scaling-stroke; }.technology.is-inview .dash-chart path { stroke-dasharray: 900; stroke-dashoffset: 900; animation: chart-draw 1.8s var(--ease) .4s forwards; }
@keyframes chart-draw { to { stroke-dashoffset: 0; } }

.connect-graphic { position: relative; display: grid; width: 200px; height: 200px; place-items: center; align-self: center; margin: 45px 0; }
.connect-graphic::before,.connect-graphic::after,.connect-graphic i { position: absolute; border: 1px solid rgba(255,255,255,.27); border-radius: 50%; content: ""; animation: ring-spin 22s linear infinite; }.connect-graphic::before { inset: 0; }.connect-graphic::after { inset: 30px; animation-direction: reverse; }.connect-graphic i { inset: 60px; }
.connect-graphic span { position: absolute; top: 10px; right: 10px; padding: 7px; border-radius: 7px; color: var(--brand); background: var(--white); font-size: 8px; font-weight: 800; }.connect-graphic b { position: relative; z-index: 2; display: grid; width: 70px; height: 70px; place-items: center; border-radius: 50%; color: var(--brand); background: var(--white); font-family: var(--display); font-size: 13px; }
.big-number { display: block; margin: auto 0 18px; font-family: var(--display); font-size: 94px; font-weight: 500; letter-spacing: -.09em; line-height: .8; }.big-number span { color: var(--brand-soft); font-size: 32px; }
.control-switches { display: grid; gap: 8px; margin-top: 30px; }.control-switches p { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 12px 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; color: rgba(255,255,255,.68); }.control-switches i { position: relative; width: 29px; height: 16px; border-radius: 999px; background: var(--brand); }.control-switches i::after { position: absolute; top: 3px; right: 3px; width: 10px; height: 10px; border-radius: 50%; background: var(--white); content: ""; }
.scale-word { display: flex; align-items: center; justify-content: space-between; margin: auto 0 25px; font-family: var(--display); font-size: 72px; font-weight: 700; letter-spacing: -.08em; }.scale-word span { font-size: 32px; }

.process { background: var(--paper); }
.process-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 110px; }
.process-sticky { position: sticky; top: 130px; align-self: start; }
.process-sticky .section-index { margin-bottom: 34px; }
.process-sticky > p { max-width: 440px; margin: 30px 0 34px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.process-steps { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.process-step { position: relative; display: grid; min-height: 210px; grid-template-columns: 70px 1fr 40px; align-items: center; gap: 20px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.process-step::before { position: absolute; top: 0; bottom: 0; left: -20px; width: 2px; content: ""; background: var(--brand); transform: scaleY(0); transform-origin: top; transition: transform .7s var(--ease); }
.process-step.is-current::before { transform: scaleY(1); }
.process-step.is-current h3 { color: var(--brand); }
.process-step > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--brand); font-size: 10px; transition: color .3s ease, background .3s ease; }
.process-step:hover > span { color: var(--white); background: var(--brand); }
.process-step small { color: var(--brand); font-size: 10px; letter-spacing: .14em; }.process-step h3 { margin: 10px 0 0; font-family: var(--display); font-size: 26px; font-weight: 600; letter-spacing: -.04em; }.process-step p { max-width: 490px; margin: 13px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }.process-step > i { font-size: 21px; font-style: normal; transition: transform .3s var(--ease); }.process-step:hover > i { transform: translate(4px,4px); }

.faq { background: var(--paper-2); }
.faq-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 100px; }
.faq-heading .section-index { margin-bottom: 32px; }.faq-heading > p { max-width: 420px; margin: 30px 0; color: var(--muted); font-size: 14px; line-height: 1.7; }.faq-heading .arrow-link span { color: var(--brand); }
.accordion { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item h3 { margin: 0; }
.faq-item button { display: flex; width: 100%; min-height: 88px; align-items: center; justify-content: space-between; gap: 30px; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.faq-item button span { font-family: var(--display); font-size: 18px; font-weight: 600; letter-spacing: -.025em; }.faq-item button i { display: grid; min-width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--brand); font-style: normal; transition: color .3s ease, background .3s ease, transform .3s var(--ease); }.faq-item button:hover i,.faq-item button[aria-expanded="true"] i { color: var(--white); background: var(--brand); transform: rotate(90deg); }
.faq-answer { overflow: hidden; }.faq-answer p { max-width: 650px; margin: -4px 60px 28px 0; color: var(--muted); font-size: 14px; line-height: 1.7; animation: answer-in .4s var(--ease) both; }@keyframes answer-in { from { opacity: 0; transform: translateY(-7px); } }

.contact { position: relative; padding: 150px 0 100px; color: var(--white); background: var(--brand); overflow: hidden; }
.contact-art { position: absolute; inset: 0; opacity: .6; }
.contact-orbit { position: absolute; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }.co1 { width: 1000px; height: 1000px; right: -220px; top: -70px; }.co2 { width: 660px; height: 660px; right: -50px; top: 100px; }
.contact-dot { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--white); box-shadow: 0 0 0 7px rgba(255,255,255,.13); animation: orbit-pulse 2.5s infinite; }.cd1 { right: 15%; top: 23%; }.cd2 { right: 36%; top: 58%; animation-delay: -1.2s; }.cd3 { right: 8%; bottom: 17%; animation-delay: -.5s; }
.contact-inner { position: relative; z-index: 1; }
.contact-kicker { display: flex; align-items: center; gap: 14px; color: rgba(255,255,255,.94); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }.contact-kicker i { width: 80px; height: 1px; background: rgba(255,255,255,.8); }
.contact h2 { margin: 45px 0 0; font-family: var(--display); font-size: clamp(68px,8.4vw,126px); font-weight: 500; letter-spacing: -.075em; line-height: .92; }.contact h2 em { color: var(--brand-pale); font-weight: 400; }
.contact-mail { display: flex; max-width: 900px; align-items: center; justify-content: space-between; margin-top: 68px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.38); font-family: var(--display); font-size: clamp(22px,2.8vw,38px); font-weight: 500; letter-spacing: -.04em; transition: color .25s ease, border-color .25s ease; }.contact-mail i { font-size: 27px; font-style: normal; transition: transform .3s var(--ease); }.contact-mail:hover { color: var(--brand-pale); border-color: var(--brand-pale); }.contact-mail:hover i { transform: translate(5px,-5px); }
.contact-lower { display: grid; grid-template-columns: 1fr 1fr .9fr; gap: 45px; margin-top: 90px; padding-top: 35px; border-top: 1px solid rgba(255,255,255,.2); }
.office-card { display: flex; flex-direction: column; align-items: flex-start; }.office-card > span { margin-bottom: 13px; color: rgba(255,255,255,.94); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }.office-card > a:not(.map-link) { font-family: var(--display); font-size: 18px; font-weight: 700; }.office-card p { margin: 14px 0; color: rgba(255,255,255,.96); font-size: 13px; line-height: 1.65; }.map-link { padding-bottom: 3px; border-bottom: 1px solid rgba(255,255,255,.72); font-size: 11px; }
.contact-action { display: flex; align-items: flex-start; flex-direction: column; }.contact-action p { margin: 17px 0 0; color: rgba(255,255,255,.94); font-size: 12px; line-height: 1.55; }
.contact-support { margin-top: 120px; padding-top: 35px; border-top: 1px solid rgba(255,255,255,.2); }.contact-support-head { display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: 50px; }.contact-support h3 { margin: 28px 0 0; font-family: var(--display); font-size: clamp(42px,5vw,72px); font-weight: 500; letter-spacing: -.065em; line-height: .94; }.contact-support h3 em { color: var(--brand-pale); font-weight: 400; }.contact-support-head > p { max-width: 360px; margin: 0 0 4px; color: rgba(255,255,255,.82); font-size: 13px; line-height: 1.65; }.support-list { margin-top: 50px; border-top: 1px solid rgba(255,255,255,.34); }.support-row { display: grid; grid-template-columns: 1.12fr 1.35fr .9fr .78fr; align-items: center; gap: 24px; padding: 23px 0; border-bottom: 1px solid rgba(255,255,255,.18); }.support-topic h4 { margin: 0 0 8px; font-family: var(--display); font-size: 18px; font-weight: 600; letter-spacing: -.025em; }.support-topic p { max-width: 270px; margin: 0; color: rgba(255,255,255,.76); font-size: 12px; line-height: 1.55; }.support-links,.support-phone,.support-hours { display: flex; flex-direction: column; gap: 5px; }.support-links a,.support-phone a { overflow-wrap: anywhere; transition: color .2s ease; }.support-links a { color: rgba(255,255,255,.9); font-size: 13px; }.support-phone a { font-family: var(--display); font-size: 15px; font-weight: 700; }.support-links a:hover,.support-phone a:hover { color: var(--brand-pale); }.support-hours { color: rgba(255,255,255,.74); font-size: 11px; line-height: 1.45; letter-spacing: .03em; text-transform: uppercase; }

.site-footer { padding: 80px 0 25px; color: var(--white); background: #10040c; }
.footer-grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: 120px; padding-bottom: 75px; }
.footer-brand-block a { display: block; width: 250px; height: 48px; overflow: hidden; }.footer-brand-block img { width: 100%; height: auto; }.footer-brand-block p { max-width: 210px; margin: 24px 0 0; color: rgba(255,255,255,.76); font-size: 14px; line-height: 1.6; }
.footer-nav { display: grid; grid-template-columns: repeat(3,1fr); gap: 50px; }.footer-nav > div { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }.footer-nav span { margin-bottom: 9px; color: rgba(255,255,255,.74); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }.footer-nav a { color: rgba(255,255,255,.84); font-family: var(--display); font-size: 12px; transition: color .2s ease, transform .2s ease; }.footer-nav a:hover { color: var(--brand-soft); transform: translateX(3px); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.74); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }.footer-bottom a { transition: color .2s ease; }.footer-bottom a:hover { color: var(--white); }.footer-agency { color: rgba(255,255,255,.9); font-weight: 700; }

@media (max-width: 1180px) {
  :root { --container: min(100% - 48px, 1120px); }
  .desktop-nav { display: none; }.menu-button { display: block; }.nav-login { display: none; }
  .mobile-menu { position: fixed; z-index: -1; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 130px 24px 38px; color: var(--white); background: var(--plum); opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility .35s ease; }
  .mobile-menu.is-open { opacity: 1; visibility: visible; }.mobile-menu nav { width: min(100%,700px); margin: auto; }.mobile-menu nav a { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.14); font-family: var(--display); font-size: clamp(32px,6vw,52px); font-weight: 500; letter-spacing: -.05em; }.mobile-menu nav b { color: var(--brand-soft); font-size: 8px; letter-spacing: .1em; }.mobile-menu nav span { font-size: 17px; }.mobile-menu-foot { display: flex; width: min(100%,700px); align-items: center; justify-content: space-between; gap: 25px; margin: 30px auto 0; }.mobile-menu-foot > a:last-child { color: rgba(255,255,255,.55); font-size: 11px; }
  .hero-inner { grid-template-columns: 1.12fr .75fr; gap: 30px; }.hero-console { width: 350px; }.hero-dock { grid-template-columns: repeat(3,1fr); }.hero-dock > a { display: none; }
  .intro-grid,.network-heading { grid-template-columns: .7fr 3.3fr; }
  .team-heading { grid-template-columns: .7fr 3.3fr; }.team-list { width: min(100%,900px); grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }.team-member { width: auto; min-height: 0; grid-column: auto; grid-template-columns: 1fr; grid-template-rows: auto 1fr; }.team-portrait { min-height: 0; aspect-ratio: 1; }.team-member-copy { min-height: 260px; }
  .section-head { grid-template-columns: .65fr 2.35fr; }.section-head .section-summary { display: none; }
  .journey-grid { grid-template-columns: 1fr .55fr 1fr; }
  .bento-platform { grid-column: span 12; }.bento-connect { grid-column: span 5; }.bento-support { grid-column: span 7; }.bento-control { grid-column: span 7; }.bento-scale { grid-column: span 5; }
  .process-grid,.faq-grid { gap: 60px; }
}

@media (max-width: 820px) {
  :root { --container: calc(100% - 32px); }
  .section { padding-block: 96px; }.trade-bar-inner { height: auto; min-height: 35px; justify-content: center; padding-block: 9px; text-align: center; }.trade-bar-signal,.trade-bar-links { display: none !important; }.agency-registration { font-size: 7px; }.nav-shell { height: 74px; }.site-header.is-scrolled .nav-shell { height: 64px; }.brand { width: 178px; height: 36px; }.nav-actions .button { display: none; }
  .agency-details { grid-template-columns: 1fr 1fr; }.agency-details > div:last-child { grid-column: 1 / -1; }
  .hero { min-height: 910px; }.hero-image-wrap { clip-path: none; animation: none; }.hero-image { object-position: 63% center; }.hero-shade { background: linear-gradient(90deg,rgba(25,8,19,.95),rgba(25,8,19,.55)),linear-gradient(0deg,rgba(25,8,19,.96),transparent 55%); }.hero-inner { display: block; min-height: auto; padding-top: 160px; }.hero-title { font-size: clamp(54px,14.6vw,76px); }.hero-lead { max-width: 560px; font-size: 15px; }.hero-console { display: none; }.hero-actions { align-items: flex-start; flex-direction: column; }.hero-dock { min-height: 100px; grid-template-columns: 1fr; }.dock-item { border-right: 0; }.dock-item:nth-child(2),.dock-item:nth-child(3) { display: none; }
  .rail-track span { font-size: 12px; }
  .intro-grid,.network-heading,.section-head { grid-template-columns: 1fr; gap: 38px; }.display-title { font-size: clamp(44px,11.8vw,62px); }.intro-content { grid-template-columns: 1fr; gap: 22px; margin: 40px 0 50px; }.fact-grid { grid-template-columns: 1fr 1fr; }.fact-card { min-height: 200px; }.fact-card strong { margin-top: 40px; }
  .team-heading { grid-template-columns: 1fr; gap: 38px; margin-bottom: 55px; }.team-heading-lower { grid-template-columns: 1fr; gap: 30px; margin-top: 30px; }.team-role-line { padding: 0; }.team-list { width: 100%; grid-template-columns: 1fr; }.team-member { width: auto; min-height: 0; grid-column: auto; grid-template-columns: 220px 1fr; grid-template-rows: none; }.team-portrait { min-height: 300px; aspect-ratio: auto; }.team-member-copy { min-height: 0; padding: 28px 24px; }.team-member-copy p { min-height: 0; }
  .solution-tabs { grid-template-columns: 1fr; }.solution-tab { min-height: 62px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }.solution-panel { grid-template-columns: 1fr; }.solution-copy { padding: 55px 0; }.solution-visual { min-height: 470px; border-top: 1px solid rgba(255,255,255,.15); border-left: 0; }
  .journey-grid { min-height: auto; grid-template-columns: 1fr; }.journey-image { min-height: 520px; }.journey-card { min-height: 420px; }.journey-end { min-height: 520px; }
  .bento-grid { display: block; }.bento-card { min-height: 340px; margin-top: 14px; }.bento-platform { display: flex; min-height: 680px; }.mini-dashboard { margin-top: 40px; }.bento-connect { min-height: 550px; }
  .process-grid,.faq-grid { grid-template-columns: 1fr; gap: 60px; }.process-sticky { position: static; }.process-step { grid-template-columns: 56px 1fr 25px; }
  .contact { padding: 100px 0 80px; }.contact h2 { font-size: clamp(54px,13.8vw,76px); }.contact-mail { margin-top: 48px; font-size: 19px; }.contact-lower { grid-template-columns: 1fr; gap: 40px; margin-top: 65px; }.contact-support { margin-top: 85px; }.contact-support-head { grid-template-columns: 1fr; gap: 28px; }.support-list { margin-top: 38px; }.support-row { grid-template-columns: 1fr 1fr; gap: 22px 24px; }.support-topic { grid-row: span 2; }
  .footer-grid { grid-template-columns: 1fr; gap: 45px; }.footer-nav { gap: 25px; }.footer-bottom { align-items: flex-start; flex-direction: column; gap: 9px; }
}

@media (max-width: 520px) {
  .page-loader .loader-copy { font-size: 7px; }.mobile-menu-foot { align-items: flex-start; flex-direction: column; }
  .hero-title { font-size: 52px; }.hero-lead { font-size: 14px; }.play-link { display: none; }.hero-actions .button { width: 100%; }.partner-rail { padding-block: 18px; }
  .fact-grid { grid-template-columns: 1fr; }.fact-card { min-height: 175px; }.fact-card strong { margin-top: 30px; }
  .team-heading-copy .display-title { font-size: clamp(36px,9.8vw,42px); }.team-member { grid-template-columns: 112px 1fr; border-radius: 16px; }.team-portrait { min-height: 0; aspect-ratio: auto; }.team-member-copy { min-height: 175px; padding: 20px 18px; }.team-member-copy::before { top: 20px; right: 18px; width: 7px; height: 7px; }.team-member-copy > span { max-width: calc(100% - 25px); margin-bottom: 18px; font-size: 9px; }.team-member-copy h3 { font-size: 27px; }.team-member-copy p { display: none; }.team-profile-link { margin-top: 16px; font-size: 11px; }
  .solution-copy h3 { font-size: 43px; }.solution-copy ul { grid-template-columns: 1fr; }.solution-visual { min-height: 420px; }.visual-window { width: 90%; }.hotel-result { grid-template-columns: 52px 1fr; }.hotel-result > i { display: none; }.supply-ring.r3 { display: none; }.hotel-building { width: 220px; height: 270px; }
  .journey-image,.journey-end { min-height: 430px; }.journey-card { min-height: 390px; }
  .bento-platform { min-height: 720px; }.dash-search { grid-template-columns: 1fr 34px; }.dash-search p:nth-child(2) { display: none; }.big-number { font-size: 80px; }
  .process-step { grid-template-columns: 46px 1fr; }.process-step > i { display: none; }.process-step h3 { font-size: 22px; }
  .faq-item button span { font-size: 16px; }.faq-answer p { margin-right: 20px; }
  .contact h2 { font-size: 50px; }.contact-mail span { font-size: 17px; }.contact-mail i { font-size: 19px; }.contact-support h3 { font-size: 43px; }.support-row { display: block; }.support-topic p { max-width: 330px; }.support-links,.support-phone,.support-hours { margin-top: 16px; }
  .footer-nav { grid-template-columns: 1fr 1fr; }.footer-nav > div:last-child { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }.page-loader { display: none; }.title-mask b { transform: none; }
}
