/* Current desktop and portrait UI. Generated legacy overrides removed. */
:root {
  --black:#03050a;
  --red:#ef1745;
  --white:#f7f8fb;
  --muted:#9298a4;
  --line:rgba(255,255,255,.15);
  --ease:cubic-bezier(.2,.78,.2,1);
}
* {
  box-sizing:border-box;
}
html,body {
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden;
  background:#03050a;
  color:var(--white);
  font-family:Arial,Helvetica,sans-serif;
}
button,a {
  font:inherit;
}
button {
  cursor:pointer;
}
.skip {
  position:fixed;
  z-index:500;
  top:-60px;
  left:20px;
  background:#fff;
  color:#000;
  padding:12px;
}
.skip:focus {
  top:12px;
}
.site-header {
  position:fixed;
  z-index:100;
  inset:0 0 auto;
  height:78px;
  display:grid;
  grid-template-columns:250px 1fr auto;
  align-items:center;
  padding:0 28px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(#03050a 15%,rgba(3,5,10,.72));
  backdrop-filter:blur(16px);
}
.site-logo {
  width:205px;
}
.site-logo img {
  display:block;
  width:100%;
}
.system-status {
  justify-self:center;
  display:flex;
  align-items:center;
  gap:10px;
  color:#8a909b;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.system-status i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 14px #fff;
  animation:pulse 2.2s infinite;
}
.contact-trigger {
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:#fff;
}
.contact-trigger:hover {
  border-color:var(--red);
  background:var(--red);
}
.contact-trigger span {
  margin-left:14px;
}
.map-app {
  position:relative;
  width:100vw;
  height:100dvh;
  overflow:hidden;
  isolation:isolate;
  background:#03050a;
}
.map-app canvas {
  position:absolute;
  pointer-events:none;
  z-index:-4;
  inset:0;
  width:100%;
  height:100%;
}
.space-haze {
  position:absolute;
  z-index:-5;
  inset:0;
  background:radial-gradient(circle at 50% 52%,rgba(124,159,255,.13),rgba(41,58,102,.055) 19%,transparent 43%),radial-gradient(circle at 22% 30%,rgba(239,23,69,.065),transparent 25%),radial-gradient(circle at 78% 68%,rgba(83,115,184,.055),transparent 24%),#03050a;
}
.map-toolbar {
  position:fixed;
  z-index:70;
  display:flex;
  align-items:center;
  gap:18px;
}
.map-toolbar button {
  padding:10px 15px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(0,0,0,.76);
  color:#fff;
  transition:.3s;
}
.map-toolbar button:disabled {
  opacity:0;
  pointer-events:none;
}
.map-toolbar span {
  color:#767c87;
  font-size:12px;
  letter-spacing:.06em;
}
.map-viewport {
  position:absolute;
  overflow:hidden;
}
.map-scene {
  --cam-x:0px;
  --cam-y:0px;
  position:absolute;
  left:50%;
  top:50%;
  width:1800px;
  height:1100px;
  transform-origin:center;
}
.map-links {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.map-links line {
  stroke:rgba(255,255,255,.12);
  stroke-width:1.2;
  stroke-dasharray:4 10;
  transition:.65s;
}
.map-links line.active {
  stroke:rgba(239,23,69,.72);
  stroke-width:1.8;
  filter:drop-shadow(0 0 8px var(--red));
  stroke-dasharray:9 8;
  animation:flow 2.4s linear infinite;
}
.core-node {
  position:absolute;
  left:900px;
  top:550px;
  transform:translate(-50%,-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:50%;
  transition:.8s var(--ease);
}
.core-node__rings,.core-node__rings i {
  position:absolute;
  inset:0;
  border:1px solid rgba(239,23,69,.25);
  border-radius:50%;
}
.core-node__rings {
  animation:spin 30s linear infinite;
}
.core-node__rings i:first-child {
  inset:12%;
  border-style:dashed;
  border-color:rgba(255,255,255,.19);
}
.core-node__rings i:nth-child(2) {
  inset:25%;
  border-color:rgba(255,255,255,.1);
}
.core-node h1 {
  max-width:250px;
  margin:0;
  font-size:35px;
  line-height:1.02;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.map-app.is-focused .core-node {
  opacity:.08;
  transform:translate(-50%,-50%) scale(.7);
}
.map-hub {
  position:absolute;
  left:var(--hx);
  top:var(--hy);
  width:0;
  height:0;
  animation:hubfloat 5.8s ease-in-out infinite alternate;
  transition:opacity .7s;
}
.map-hub:nth-of-type(2n) {
  animation-delay:-2.3s;
  animation-duration:7s;
}
.hub-node {
  position:absolute;
  left:0;
  top:0;
  transform:translate(-50%,-50%);
  display:grid;
  grid-template-columns:34px auto;
  grid-template-rows:auto auto;
  min-width:220px;
  padding:18px 20px;
  text-align:left;
  border:1px solid rgba(255,255,255,.18);
  border-radius:15px;
  background:rgba(0,0,0,.76);
  box-shadow:0 14px 45px rgba(0,0,0,.45);
  backdrop-filter:blur(12px);
  color:#fff;
  transition:.45s var(--ease);
}
.hub-node:before {
  content:"";
  position:absolute;
  left:-6px;
  top:50%;
  width:11px;
  height:11px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.7);
  border-radius:50%;
  background:#000;
  transition:.35s;
}
.hub-node:hover,.hub-node:focus-visible {
  outline:none;
  border-color:rgba(239,23,69,.7);
  transform:translate(-50%,-50%) scale(1.08);
}
.hub-node:hover:before,.map-hub.active .hub-node:before {
  background:var(--red);
  border-color:var(--red);
  box-shadow:0 0 20px var(--red);
}
.hub-node span {
  grid-row:1/3;
  color:#6f7480;
  font-size:13px;
}
.hub-node strong {
  font-size:18px;
  line-height:1.15;
}
.hub-node small {
  margin-top:6px;
  color:#969ba5;
  font-size:13px;
}
.map-app.is-focused .map-hub:not(.active) {
  opacity:.08;
}
.map-app.is-focused .map-hub:not(.active) .hub-node {
  transform:translate(-50%,-50%) scale(.75);
}
.map-hub.active {
  z-index:5;
  animation-play-state:paused;
}
.map-hub.active .hub-node {
  transform:translate(-50%,-50%) scale(1.08);
  border-color:rgba(239,23,69,.65);
  box-shadow:0 0 48px rgba(239,23,69,.13);
}
.ghost-list {
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.4;
  transition:.55s;
}
.ghost-list span {
  position:absolute;
  left:0;
  top:0;
  width:155px;
  color:rgba(255,255,255,.18);
  font-size:13px;
  letter-spacing:.03em;
  white-space:nowrap;
}
.ghost-list span:nth-child(1) {
  transform:translate(-50%,-132px);
}
.ghost-list span:nth-child(2) {
  transform:translate(92px,-82px);
}
.ghost-list span:nth-child(3) {
  transform:translate(110px,45px);
}
.ghost-list span:nth-child(4) {
  transform:translate(-50%,112px);
}
.ghost-list span:nth-child(5) {
  transform:translate(-230px,45px);
}
.ghost-list span:nth-child(6) {
  transform:translate(-215px,-82px);
}
.map-hub.active .ghost-list,.map-app.is-focused .map-hub:not(.active) .ghost-list {
  opacity:0;
}
.hub-summary {
  position:absolute;
  z-index:4;
  left:0;
  top:74px;
  width:330px;
  transform:translateX(-50%);
  padding:10px 18px 13px;
  text-align:center;
  border-radius:14px;
  background:rgba(3,5,10,.7);
  backdrop-filter:blur(10px);
  opacity:0;
  pointer-events:none;
  transition:.55s .28s;
}
.map-hub.active .hub-summary {
  opacity:1;
}
.hub-summary span {
  color:var(--red);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hub-summary p {
  margin:7px 0 0;
  color:#cdd2dc;
  font-size:15px;
  line-height:1.42;
}
.branch-layer {
  opacity:0;
  pointer-events:none;
  transition:.55s .38s;
}
.map-hub.active .branch-layer {
  opacity:1;
  pointer-events:auto;
}
.branch-cluster {
  position:absolute;
  left:var(--bx);
  top:var(--by);
  width:0;
  height:0;
  animation:branchfloat 4.7s ease-in-out infinite alternate;
}
.branch-cluster:nth-child(2n) {
  animation-delay:-1.8s;
}
.branch-node {
  position:absolute;
  left:0;
  top:0;
  transform:translate(-50%,-50%);
  text-align:left;
  border:1px solid rgba(255,255,255,.17);
  border-radius:13px;
  background:rgba(0,0,0,.9);
  color:#fff;
  transition:.35s var(--ease);
}
.branch-node i {
  position:absolute;
  left:-5px;
  top:20px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 12px rgba(255,255,255,.7);
}
.branch-node strong {
  display:block;
  font-size:15px;
  line-height:1.25;
}
.branch-node small {
  display:block;
  margin-top:6px;
  color:#8e949f;
  font-size:12px;
  line-height:1.35;
}
.branch-node:hover,.branch-cluster.expanded .branch-node {
  border-color:var(--red);
  transform:translate(-50%,-50%) scale(1.06);
  box-shadow:0 0 25px rgba(239,23,69,.12);
}
.branch-cluster.expanded {
  z-index:7;
  animation-play-state:paused;
}
.leaf-ring {
  opacity:0;
  pointer-events:none;
  transition:.45s;
}
.branch-cluster.expanded .leaf-ring {
  opacity:1;
  pointer-events:auto;
}
.leaf-node {
  position:absolute;
  left:var(--lx);
  top:var(--ly);
  transform:translate(-50%,-50%) scale(.72);
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:10px;
  color:#dfe1e5;
  line-height:1.25;
  opacity:0;
  transition:.42s var(--ease);
}
.branch-cluster.expanded .leaf-node {
  transform:translate(-50%,-50%) scale(1);
  opacity:1;
  transition-delay:var(--leaf-delay,0ms);
}
.leaf-node:hover {
  border-color:#fff;
  background:#171717;
  color:#fff;
}
.detail-card {
  position:fixed;
  z-index:80;
  overflow:auto;
  padding:26px;
  border-radius:18px;
  background:rgba(5,5,5,.94);
  box-shadow:0 26px 90px rgba(0,0,0,.72);
  backdrop-filter:blur(22px);
  opacity:0;
  visibility:hidden;
  transition:opacity .5s var(--ease),transform .5s var(--ease),visibility .5s;
}
.detail-card:before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  padding:1px;
  border-radius:inherit;
  background:conic-gradient(from var(--border-angle,0deg),transparent 0 62%,rgba(239,23,69,.95),rgba(255,255,255,.55),transparent 82%);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  opacity:0;
}
.detail-card--right {
  right:26px;
}
.detail-card--left {
  left:26px;
}
.detail-card.active {
  opacity:1;
  visibility:visible;
}
.detail-card.active:before {
  opacity:1;
  animation:borderSweep 1.2s var(--ease) 1;
}
.detail-card__head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--red);
  font-size:12px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.detail-card__head button {
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:50%;
  background:transparent;
  color:#fff;
}
.detail-card h2 {
  margin:24px 0 13px;
  font-size:32px;
  line-height:1;
  letter-spacing:-.04em;
}
.detail-card>p {
  margin:0;
  color:#b3b7bf;
  font-size:16px;
  line-height:1.6;
}
.inline-links {
  margin-top:22px!important;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.1);
  color:#8f949e!important;
  font-size:14px!important;
}
.inline-links button {
  display:inline;
  padding:0;
  border:0;
  border-bottom:1px solid var(--red);
  background:none;
  color:#fff;
}
.content-space,.vacancy-space {
  margin-top:20px!important;
  padding:18px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:12px;
}
.people-grid,.process-grid,.logo-space,.contact-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:20px;
}
.people-grid article,.process-grid article,.logo-space span,.contact-grid a {
  padding:14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:11px;
  background:rgba(255,255,255,.025);
  color:#fff;
  text-decoration:none;
}
.people-grid span {
  display:block;
  color:var(--red);
  font-size:12px;
}
.people-grid strong,.process-grid strong {
  display:block;
  margin-top:5px;
  font-size:14px;
}
.process-grid p {
  margin:7px 0 0;
  color:#969ba5;
  font-size:13px;
  line-height:1.4;
}
.logo-space {
  grid-template-columns:repeat(3,1fr);
}
.logo-space span {
  display:grid;
  place-items:center;
  min-height:62px;
  color:#a8adb6;
  font-size:12px;
}
.tag-cloud {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.tag-cloud span {
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#c2c6cc;
  font-size:12px;
}
.route-line {
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:20px;
  padding:17px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  font-size:12px;
}
.route-line i {
  flex:1;
  height:1px;
  background:linear-gradient(90deg,#fff,var(--red));
}
.warp-intro {
  position:fixed;
  z-index:300;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#000;
  pointer-events:none;
}
.warp-intro span {
  position:relative;
  z-index:2;
  color:#fff;
  font-size:12px;
  letter-spacing:.25em;
  animation:warpText 1.45s var(--ease) forwards;
}
.warp-intro i {
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:45vh;
  background:linear-gradient(transparent,#fff,transparent);
  transform-origin:center 0;
  filter:blur(.3px);
  animation:streak 1.25s var(--ease) forwards;
}
.warp-intro i:nth-child(2) {
  transform:rotate(120deg);
  animation-delay:.08s;
}
.warp-intro i:nth-child(3) {
  transform:rotate(240deg);
  animation-delay:.14s;
}
.map-app.is-loading .map-scene,.map-app.is-loading .site-header {
  opacity:0;
}
.not-found {
  display:grid;
  place-items:center;
  background:#000;
  color:#fff;
}
.not-found main {
  text-align:center;
}
.not-found strong {
  font-size:90px;
}
.not-found a {
  color:#fff;
}
@keyframes pulse {
  50% {
    opacity:.35
  }
}
@keyframes spin {
  to {
    transform:rotate(360deg)
  }
}
@keyframes flow {
  to {
    stroke-dashoffset:-34
  }
}
@keyframes hubfloat {
  from {
    translate:-10px -8px
  }
  to {
    translate:12px 11px
  }
}
@keyframes branchfloat {
  from {
    translate:-5px -4px
  }
  to {
    translate:7px 6px
  }
}
@keyframes borderSweep {
  to {
    --border-angle:360deg
  }
}
@keyframes streak {
  0% {
    height:2px;opacity:0
  }
  45% {
    height:70vh;opacity:1;scale:1 2
  }
  100% {
    height:140vh;opacity:0;scale:1 4
  }
}
@keyframes warpText {
  0% {
    opacity:0;letter-spacing:.5em
  }
  35% {
    opacity:1
  }
  100% {
    opacity:0;letter-spacing:.8em;scale:1.12
  }
}
@keyframes warpOut {
  0%,72% {
    opacity:1
  }
  100% {
    opacity:0;visibility:hidden
  }
}
@media(max-width:900px) {
  .site-header {
    height:70px;
    grid-template-columns:1fr auto;
    padding:0 15px;
  }
  .site-logo {
    width:160px;
  }
  .system-status {
    display:none;
  }
  .contact-trigger {
    font-size:12px;
    padding:10px 13px;
  }
  .map-toolbar span {
    display:none;
  }
  .hub-node {
    min-width:210px;
  }
  .ghost-list {
    display:none;
  }
  .map-app.is-focused .map-hub:not(.active) {
    pointer-events:none;
  }
}
@media(max-width:540px) {
  .contact-trigger span {
    display:none;
  }
  .core-node h1 {
    font-size:31px;
  }
  .detail-card h2 {
    font-size:27px;
  }
  .detail-card {
    padding:20px;
  }
  .people-grid,.process-grid,.contact-grid {
    grid-template-columns:1fr;
  }
  .logo-space {
    grid-template-columns:repeat(2,1fr);
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation:none!important;
    transition-duration:.01ms!important;
  }
  .warp-intro {
    display:none;
  }
}
.core-node {
  background:radial-gradient(circle,rgba(239,23,69,.16),rgba(0,0,0,.94) 60%,transparent 74%);
}
.core-node__glow {
  position:absolute;
  inset:18%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.3),rgba(239,23,69,.22) 28%,transparent 70%);
  filter:blur(14px);
  animation:coreGlow 3.2s ease-in-out infinite;
}
.core-node__logo {
  position:relative;
  object-fit:contain;
  filter:drop-shadow(0 0 16px rgba(255,255,255,.14));
}
.core-node p {
  position:relative;
  margin:22px 0 0;
  color:#d3d6dc;
  letter-spacing:.02em;
}
.detail-card {
  width:min(510px,calc(100vw - 48px));
}
.card-section {
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.1);
}
.card-section h3 {
  margin:0 0 10px;
  color:#fff;
  font-size:17px;
  line-height:1.25;
}
.card-section p {
  margin:0;
  color:#aeb3bc;
  font-size:14px;
  line-height:1.58;
}
.card-section ul {
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.card-section li {
  position:relative;
  padding-left:17px;
  color:#bfc3ca;
  font-size:14px;
  line-height:1.48;
}
.card-section li:before {
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--red);
  box-shadow:0 0 9px rgba(239,23,69,.6);
}
.card-callout {
  margin:22px 0 0!important;
  padding:16px 17px;
  border:1px solid rgba(239,23,69,.42);
  border-radius:12px;
  background:rgba(239,23,69,.07);
  color:#eef0f4!important;
  font-size:14px!important;
  line-height:1.55!important;
}
.numbered-benefits {
  display:grid;
  gap:10px;
  margin-top:22px;
}
.numbered-benefits>div {
  display:grid;
  grid-template-columns:38px 1fr;
  gap:10px;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.09);
}
.numbered-benefits b {
  color:var(--red);
  font-size:13px;
  letter-spacing:.12em;
}
.numbered-benefits p {
  margin:0;
  color:#c1c5cc;
  font-size:14px;
  line-height:1.48;
}
.career-empty {
  display:grid;
  gap:12px;
  margin-top:22px;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
.career-empty span {
  color:#aeb3bb;
  font-size:14px;
}
.career-empty a {
  justify-self:start;
  padding:11px 15px;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  text-decoration:none;
  font-size:13px;
}
@keyframes coreGlow {
  0%,100% {
    opacity:.45;transform:scale(.84)
  }
  50% {
    opacity:1;transform:scale(1.15)
  }
}
@media(max-width:540px) {
  .core-node__logo {
    width:220px;
  }
  .detail-card {
    width:auto;
  }
  .card-section {
    margin-top:18px;
    padding-top:15px;
  }
}
.map-scene {
  --focus-scale:.92;
  transform:translate(calc(-50% + var(--cam-x)),calc(-50% + var(--cam-y))) scale(.84);
}
.map-app.is-focused .map-scene {
  transform:translate(calc(-50% + var(--cam-x)),calc(-50% + var(--cam-y))) scale(var(--focus-scale));
}
.branch-cluster {
  transition:opacity .55s,filter .55s;
}
.map-app.is-branch-focused .map-hub.active .branch-cluster:not(.expanded) {
  opacity:.07;
  filter:blur(1.2px);
  pointer-events:none;
}
.map-app.is-branch-focused .map-hub.active .hub-node {
  opacity:.2;
}
.map-app.is-branch-focused .map-hub.active .hub-summary {
  opacity:0;
  transition-delay:0s;
}
.branch-node {
  width:198px;
  min-height:74px;
  padding:13px 15px 13px 20px;
}
.leaf-node {
  width:158px;
  min-height:48px;
  border-color:rgba(255,255,255,.2);
  background:rgba(3,5,10,.97);
  box-shadow:0 8px 24px rgba(0,0,0,.72);
  font-size:13px;
}
.leaf-node:hover {
  box-shadow:0 0 20px rgba(255,255,255,.12);
}
.warp-intro {
  perspective:700px;
}
.warp-tunnel {
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:1px;
  transform-style:preserve-3d;
}
.warp-tunnel:before,.warp-tunnel:after {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:18vmin;
  height:18vmin;
  border:2px solid rgba(255,255,255,.82);
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 25px rgba(255,255,255,.78),inset 0 0 25px rgba(255,255,255,.48);
  animation:tunnelRing 1.1s var(--ease) forwards;
}
.warp-tunnel:after {
  animation-delay:.16s;
}
.warp-intro .warp-tunnel i {
  position:absolute;
  left:0;
  top:0;
  width:2px;
  height:52px;
  background:linear-gradient(transparent,rgba(255,255,255,.98));
  transform-origin:50% 0;
  transform:rotate(var(--a)) translateY(72px)!important;
  filter:drop-shadow(0 0 5px #fff);
  animation:tunnelStar 1.05s var(--ease) forwards;
}
.warp-tunnel b {
  position:absolute;
  left:0;
  top:0;
  width:9vmin;
  height:9vmin;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:#fff;
  box-shadow:0 0 35px #fff,0 0 100px rgba(255,255,255,.88);
  animation:tunnelCore 1.12s var(--ease) forwards;
}
@keyframes tunnelStar {
  0% {
    opacity:0;scale:.12
  }
  24% {
    opacity:1
  }
  100% {
    opacity:0;scale:16;translate:0 68vh
  }
}
@keyframes tunnelRing {
  0% {
    opacity:0;scale:.12
  }
  35% {
    opacity:1
  }
  100% {
    opacity:0;scale:9
  }
}
@keyframes tunnelCore {
  0% {
    scale:.05;opacity:0
  }
  44% {
    opacity:1
  }
  100% {
    scale:18;opacity:0
  }
}
@keyframes warpTextV2 {
  0% {
    opacity:0;letter-spacing:.5em
  }
  32% {
    opacity:1
  }
  78% {
    opacity:1
  }
  100% {
    opacity:0;letter-spacing:.72em;scale:1.08
  }
}
@keyframes warpOutV2 {
  0%,78% {
    opacity:1
  }
  100% {
    opacity:0;visibility:hidden
  }
}
@media(max-width:900px) {
  .map-scene {
    transform:translate(calc(-50% + var(--cam-x)),calc(-50% + var(--cam-y))) scale(.54);
  }
  .map-app.is-focused .map-scene {
    transform:translate(calc(-50% + var(--cam-x)),calc(-50% + var(--cam-y))) scale(calc(var(--focus-scale)*.76));
  }
}
.site-header {
  transition:opacity .72s var(--ease),transform .72s var(--ease);
}
.map-scene {
  transition:transform 1.05s var(--ease),filter .8s,opacity .8s var(--ease);
}
body.site-loading .site-header {
  opacity:0;
  transform:translateY(-12px);
}
.map-app.is-loading .map-scene {
  opacity:0;
  filter:blur(7px);
}
.warp-intro {
  animation:brandIntroOut 1.62s var(--ease) forwards;
}
.warp-intro>span {
  position:absolute;
  z-index:5;
  top:calc(50% + 112px);
  animation:brandCaption 1.42s var(--ease) forwards;
}
.warp-rays {
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:1px;
}
.warp-intro .warp-rays i {
  position:absolute;
  left:0;
  top:0;
  width:2px;
  height:58vh!important;
  background:linear-gradient(transparent,rgba(255,255,255,.95),transparent);
  transform-origin:50% 0;
  filter:drop-shadow(0 0 7px rgba(255,255,255,.8));
  animation:brandRay 1.18s var(--ease) forwards!important;
}
.warp-intro .warp-rays i:nth-child(1) {
  transform:rotate(0deg)!important;
}
.warp-intro .warp-rays i:nth-child(2) {
  transform:rotate(120deg)!important;
  animation-delay:.06s!important;
}
.warp-intro .warp-rays i:nth-child(3) {
  transform:rotate(240deg)!important;
  animation-delay:.12s!important;
}
.warp-mark {
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:min(360px,62vw);
  transform:translate(-50%,-50%) scale(.72);
  opacity:0;
  filter:drop-shadow(0 0 18px rgba(239,23,69,.35));
  animation:brandMark 1.48s var(--ease) forwards;
}
.warp-mark img {
  display:block;
  width:100%;
}
@keyframes brandRay {
  0% {
    height:2px;opacity:0;scale:.2
  }
  30% {
    opacity:1
  }
  72% {
    height:72vh;opacity:.85;scale:1 1.8
  }
  100% {
    height:100vh;opacity:0;scale:1 3
  }
}
@keyframes brandMark {
  0%,18% {
    opacity:0;scale:.72;filter:blur(8px) drop-shadow(0 0 0 transparent)
  }
  45%,76% {
    opacity:1;scale:1;filter:blur(0) drop-shadow(0 0 22px rgba(239,23,69,.42))
  }
  100% {
    opacity:0;scale:1.08;filter:blur(3px) drop-shadow(0 0 34px rgba(239,23,69,.48))
  }
}
@keyframes brandCaption {
  0%,28% {
    opacity:0;letter-spacing:.48em
  }
  48%,78% {
    opacity:1;letter-spacing:.25em
  }
  100% {
    opacity:0;letter-spacing:.38em
  }
}
@keyframes brandIntroOut {
  0%,78% {
    opacity:1
  }
  100% {
    opacity:0;visibility:hidden
  }
}
@media(prefers-reduced-motion:reduce) {
  body.site-loading .site-header,.map-app.is-loading .map-scene {
    opacity:1;
    transform:none;
    filter:none;
  }
}
.map-viewport {
  inset:0 0 76px;
}
.map-toolbar {
  top:22px;
  left:26px;
}
.core-node {
  width:390px;
  height:390px;
}
.core-node__logo {
  width:292px;
  max-height:104px;
}
.core-node p {
  max-width:310px;
  margin-top:26px;
  font-size:19px;
  line-height:1.35;
}
.detail-card {
  top:78px;
  bottom:auto;
  max-height:calc(100dvh - 170px);
  transform-origin:right center;
  transform:translateX(var(--card-shift,44px)) scale(.965);
}
.detail-card--left {
  transform-origin:left center;
  transform:translateX(calc(var(--card-shift,44px) * -1)) scale(.965);
}
.detail-card.active {
  transform:translateX(0) scale(1);
}
.metric-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:22px;
}
.metric-grid>div {
  min-height:88px;
  padding:14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(239,23,69,.09),rgba(255,255,255,.025));
}
.metric-grid strong {
  display:block;
  color:#fff;
  font-size:24px;
  line-height:1;
  letter-spacing:-.035em;
}
.metric-grid span {
  display:block;
  margin-top:8px;
  color:#9fa5af;
  font-size:12px;
  line-height:1.35;
}
.detail-card>ul {
  display:grid;
  gap:9px;
  margin:22px 0 0;
  padding:0;
  list-style:none;
}
.detail-card>ul li {
  position:relative;
  padding:0 0 0 19px;
  color:#c3c7ce;
  font-size:14px;
  line-height:1.5;
}
.detail-card>ul li:before {
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--red);
  box-shadow:0 0 9px rgba(239,23,69,.65);
}
.bottom-dock {
  position:fixed;
  z-index:110;
  left:50%;
  bottom:14px;
  display:flex;
  align-items:center;
  gap:10px;
  width:min(1050px,calc(100vw - 28px));
  min-height:54px;
  transform:translateX(-50%);
  padding:7px 9px 7px 16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(3,5,10,.82);
  box-shadow:0 18px 65px rgba(0,0,0,.5),inset 0 0 30px rgba(124,159,255,.04);
  backdrop-filter:blur(18px);
}
.dock-hint {
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  margin-right:auto;
  color:#9ca5b4;
  font-size:11px;
  letter-spacing:.035em;
  white-space:nowrap;
}
.dock-hint i {
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  color:#dbe4f6;
  font-style:normal;
}
.dock-status {
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 10px;
  color:#858d9a;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
}
.dock-status i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 13px #fff;
  animation:pulse 2.2s infinite;
}
.dock-contact {
  padding:11px 15px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:12px;
  background:rgba(255,255,255,.045);
  color:#fff;
  font-size:12px;
  white-space:nowrap;
  transition:.3s;
}
.dock-contact:hover {
  border-color:var(--red);
  background:var(--red);
}
.dock-contact b {
  margin-left:12px;
}
.language-switch {
  display:flex;
  padding:3px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:11px;
}
.language-switch button {
  width:38px;
  height:32px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#7f8793;
  font-size:11px;
}
.language-switch button.active {
  background:#fff;
  color:#050505;
}
@media(max-width:900px) {
  .map-viewport {
    inset:0 0 70px;
  }
  .map-toolbar {
    top:14px;
    left:14px;
  }
  .core-node {
    width:360px;
    height:360px;
  }
  .core-node__logo {
    width:270px;
  }
  .core-node p {
    font-size:18px;
  }
  .detail-card {
    top:auto;
    bottom:76px;
    left:8px!important;
    right:8px!important;
    width:auto;
    max-height:52dvh;
    transform-origin:center bottom;
    transform:translateY(min(var(--card-shift,36px),36px)) scale(.97);
  }
  .detail-card.active {
    transform:none;
  }
  .bottom-dock {
    bottom:8px;
    min-height:54px;
    padding:6px 7px 6px 12px;
    border-radius:15px;
  }
  .dock-hint {
    font-size:10px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .dock-contact {
    padding:10px 12px;
  }
  .dock-contact b {
    display:none;
  }
}
@media(max-width:620px) {
  .dock-hint {
    max-width:122px;
    white-space:normal;
    line-height:1.2;
  }
  .dock-hint i {
    display:none;
  }
  .language-switch button {
    width:34px;
  }
  .metric-grid {
    grid-template-columns:1fr 1fr;
  }
  .metric-grid strong {
    font-size:21px;
  }
}
.dock-status {
  position:absolute;
  left:50%;
  transform:translateX(-50%);
}
.solution-flow {
  display:grid;
  gap:10px;
  margin-top:24px;
  counter-reset:solution-step;
}
.solution-flow article {
  position:relative;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:13px;
  min-height:92px;
  padding:15px 16px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:linear-gradient(130deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  overflow:hidden;
  transition:border-color .3s,transform .3s,background .3s;
}
.solution-flow article:after {
  content:"";
  position:absolute;
  right:-32px;
  bottom:-52px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(239,23,69,.13),transparent 68%);
  transition:.35s;
}
.solution-flow article:hover {
  transform:translateX(4px);
  border-color:rgba(239,23,69,.42);
  background:linear-gradient(130deg,rgba(239,23,69,.075),rgba(255,255,255,.015));
}
.solution-flow article:hover:after {
  transform:scale(1.2);
}
.solution-flow article>span {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(239,23,69,.45);
  border-radius:11px;
  background:rgba(239,23,69,.08);
  color:var(--red);
  font-size:11px;
  letter-spacing:.12em;
}
.solution-flow h3 {
  margin:1px 0 7px;
  color:#fff;
  font-size:16px;
  line-height:1.25;
}
.solution-flow p {
  margin:0;
  color:#9fa5af;
  font-size:13px;
  line-height:1.5;
}
@media(max-width:900px) {
  .dock-status {
    display:none;
  }
  .solution-flow article {
    grid-template-columns:38px 1fr;
    padding:13px;
  }
  .solution-flow article>span {
    width:34px;
    height:34px;
  }
  .solution-flow h3 {
    font-size:15px;
  }
}
.solution-note {
  display:grid;
  gap:12px;
  margin-top:22px;
  padding:17px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(239,23,69,.065),rgba(255,255,255,.018));
}
.solution-note p {
  margin:0;
  color:#b7bbc3;
  font-size:14px;
  line-height:1.58;
}
.solution-note p+p {
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.09);
}
.media-gallery {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:126px;
  gap:8px;
  margin-top:22px;
}
.media-gallery figure {
  position:relative;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:#0b0d12;
}
.media-gallery figure:first-child:nth-last-child(odd) {
  grid-column:1/-1;
  grid-row:span 2;
}
.media-gallery[data-count="1"] {
  grid-template-columns:1fr;
  grid-auto-rows:230px;
}
.media-gallery[data-count="2"] {
  grid-auto-rows:178px;
}
.media-gallery img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.82) contrast(1.05);
  transition:transform .65s var(--ease),filter .45s;
}
.media-gallery figure:hover img {
  transform:scale(1.045);
  filter:saturate(1) contrast(1.03);
}
.media-gallery figure:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.52));
  pointer-events:none;
}
.media-gallery figure span {
  position:absolute;
  z-index:2;
  right:10px;
  bottom:8px;
  color:rgba(255,255,255,.76);
  font-size:9px;
  letter-spacing:.14em;
}
.media-gallery--archive {
  grid-auto-rows:105px;
}
.media-gallery--archive figure:nth-child(5n+1) {
  grid-row:span 2;
}
.media-gallery--archive figure:first-child {
  grid-column:auto;
}
@media(max-width:540px) {
  .media-gallery {
    grid-auto-rows:106px;
  }
  .media-gallery[data-count="1"] {
    grid-auto-rows:190px;
  }
  .media-gallery[data-count="2"] {
    grid-auto-rows:135px;
  }
  .media-gallery--archive {
    grid-auto-rows:90px;
  }
}
.team-roster {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:22px;
}
.team-member {
  position:relative;
  overflow:hidden;
  min-height:240px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:#090909;
}
.team-member img {
  display:block;
  width:100%;
  height:100%;
  min-height:240px;
  object-fit:cover;
  object-position:center top;
  filter:saturate(.86) contrast(1.04);
  transition:transform .55s var(--ease),filter .55s var(--ease);
}
.team-member:after {
  content:"";
  position:absolute;
  inset:35% 0 0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.92));
}
.team-member div {
  position:absolute;
  z-index:1;
  right:0;
  bottom:0;
  left:0;
  padding:38px 14px 14px;
}
.team-member strong {
  display:block;
  color:#fff;
  font-size:15px;
  line-height:1.2;
}
.team-member span {
  display:block;
  margin-top:6px;
  color:#c7cad0;
  font-size:11px;
  line-height:1.35;
}
.team-member:hover img {
  transform:scale(1.035);
  filter:saturate(1) contrast(1.02);
}
@media(max-width:540px) {
  .team-roster {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .team-member,.team-member img {
    min-height:210px;
  }
  .team-member div {
    padding:34px 11px 11px;
  }
  .team-member strong {
    font-size:13px;
  }
  .team-member span {
    font-size:10px;
  }
}
.brand-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:20px;
}
.brand-grid figure {
  display:grid;
  place-items:center;
  min-height:94px;
  margin:0;
  padding:14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:#fff;
}
.brand-grid img {
  display:block;
  width:100%;
  height:64px;
  object-fit:contain;
}
@media(max-width:540px) {
  .brand-grid figure {
    min-height:82px;
    padding:11px;
  }
  .brand-grid img {
    height:56px;
  }
}
.mobile-navigator,.mobile-back {
  display:none;
}
@media(max-width:900px) and (orientation:portrait) {
  .map-viewport,.map-toolbar {
    display:none;
  }
  .mobile-navigator {
    position:fixed;
    z-index:35;
    display:block;
    touch-action:none;
    pointer-events:none;
  }
  .mobile-core {
    position:absolute;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    pointer-events:auto;
  }
  .mobile-core__glow {
    position:absolute;
    border-radius:50%;
  }
  .mobile-core img {
    display:block;
    width:116px;
    max-height:40px;
    object-fit:contain;
  }
  .mobile-core p {
    margin:8px 0 0;
    color:#b9c1cf;
    font-size:9px;
    line-height:1.25;
    text-align:center;
    letter-spacing:.04em;
  }
  .mobile-dial {
    position:absolute;
    border-radius:50%;
    pointer-events:auto;
    transition:box-shadow .25s;
  }
  .mobile-dial:active {
    box-shadow:0 8px 24px rgba(0,0,0,.65),0 0 34px rgba(239,23,69,.2),inset 0 0 0 9px #05070a;
  }
  .mobile-dial:before {
    content:"";
    position:absolute;
    border-radius:50%;
  }
  .mobile-dial i {
    position:absolute;
    z-index:2;
    left:50%;
  }
  .mobile-dial span {
    position:absolute;
    z-index:2;
    border:1px solid rgba(255,255,255,.13);
    border-radius:50%;
  }
  .mobile-dial b {
    position:absolute;
    z-index:3;
    left:50%;
    top:50%;
    width:9px;
    height:9px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:#e9edf4;
    box-shadow:0 0 12px rgba(255,255,255,.6);
  }
  .mobile-hubs {
    position:absolute;
    z-index:4;
    bottom:258px;
    left:0;
    height:96px;
    pointer-events:auto;
  }
  .mobile-hub {
    position:absolute;
    left:50%;
    bottom:0;
    width:142px;
    min-height:62px;
    transform:translate(calc(-50% + var(--mobile-x,0px)),var(--mobile-y,0px)) scale(var(--mobile-scale,.78));
    padding:10px 13px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:14px;
    background:rgba(2,4,8,.9);
    box-shadow:0 12px 36px rgba(0,0,0,.35);
    color:#fff;
    opacity:var(--mobile-opacity,.18);
    pointer-events:var(--mobile-pointer,none);
    transition:transform .48s var(--ease),opacity .42s,border-color .35s,box-shadow .35s;
  }
  .mobile-hub span {
    display:block;
    color:var(--red);
    letter-spacing:.15em;
  }
  .mobile-hub strong {
    display:block;
    margin-top:5px;
    font-size:13px;
    line-height:1.18;
  }
  .mobile-hub.is-selected {
    border-color:rgba(255,255,255,.42);
    box-shadow:0 0 28px rgba(128,164,255,.12),0 15px 42px rgba(0,0,0,.5);
  }
  .mobile-rings {
    position:absolute;
    z-index:3;
    bottom:352px;
    left:0;
    pointer-events:none;
  }
  .mobile-branch-ring {
    position:absolute;
    transition:opacity .42s var(--ease),visibility .42s;
  }
  .mobile-branch-ring button {
    position:absolute;
    left:50%;
    bottom:0;
    width:132px;
    min-height:53px;
    transform:translate(calc(-50% + var(--ring-x,0px)),calc(var(--ring-y,0px) + 16px)) scale(.82);
    padding:9px 11px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:12px;
    background:rgba(3,5,9,.94);
    box-shadow:0 12px 34px rgba(0,0,0,.42);
    color:#fff;
    opacity:0;
    transition:transform .48s var(--ease),opacity .42s var(--ease),border-color .3s;
  }
  .mobile-branch-ring button:active {
    border-color:var(--red);
  }
  .mobile-branch-ring strong {
    display:block;
    font-size:12px;
    line-height:1.18;
  }
  .mobile-branch-ring small {
    display:block;
    margin-top:4px;
    color:#969da9;
  }
  .mobile-leaf-ring button {
    width:122px;
    min-height:45px;
  }
  .detail-card {
    z-index:130;
    bottom:auto!important;
    transform-origin:center top;
  }
  .detail-card h2 {
    margin-top:17px;
    font-size:26px;
  }
  .detail-card>p {
    font-size:14px;
    line-height:1.48;
  }
  .detail-card__head {
    font-size:10px;
  }
  .media-gallery {
    grid-auto-rows:102px;
  }
  .media-gallery[data-count="1"] {
    grid-auto-rows:170px;
  }
  .media-gallery--archive {
    grid-auto-rows:84px;
  }
  .bottom-dock {
    right:8px;
    left:8px;
    width:auto;
    min-height:54px;
    transform:none;
    justify-content:space-between;
    border-radius:17px;
  }
  .dock-hint,.dock-status {
    display:none;
  }
  .mobile-back {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid rgba(255,255,255,.14);
    border-radius:12px;
    background:rgba(255,255,255,.045);
    color:#fff;
    font-size:19px;
  }
  .mobile-back:disabled {
    opacity:.28;
  }
  .dock-contact {
    min-width:0;
    padding:11px 15px;
    font-size:11px;
    letter-spacing:.04em;
  }
  .language-switch {
    margin-left:0;
  }
  .language-switch button {
    width:36px;
    height:38px;
  }
}
@media(max-width:430px) and (orientation:portrait) {
  .mobile-rings {
    bottom:345px;
    height:min(29vh,210px);
  }
  .mobile-hubs {
    bottom:252px;
  }
  .mobile-hub {
    width:128px;
    min-height:58px;
  }
  .mobile-branch-ring button {
    width:116px;
  }
  .dock-contact {
    padding-inline:12px;
  }
  .detail-card {
    max-height:42dvh;
  }
}
@keyframes mobileCorePulse {
  50% {
    transform:scale(1.08);opacity:.72
  }
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-navigator {
    inset:0 0 70px;
    overflow:hidden;
  }
  .mobile-orbit {
    position:absolute;
    inset:0;
    pointer-events:none;
  }
  .mobile-core {
    left:50%;
    transform:translateX(-50%);
    border-radius:50%;
  }
  .mobile-core:before,.mobile-core:after {
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
  }
  .mobile-core:before {
    inset:17%;
    border:1px dotted rgba(255,255,255,.19);
  }
  .mobile-core:after {
    inset:30%;
    border:1px solid rgba(239,23,69,.16);
    box-shadow:0 0 28px rgba(239,23,69,.14);
  }
  .mobile-core__home,.mobile-core__selection {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
  }
  .mobile-core__home img {
    object-fit:contain;
  }
  .mobile-core__home p {
    color:#d1d3da;
    text-align:center;
  }
  .mobile-core__selection {
    position:absolute;
    opacity:0;
    transform:scale(.8);
  }
  .mobile-core__selection span {
    color:var(--red);
    font-size:10px;
    letter-spacing:.18em;
  }
  .mobile-core__selection strong {
    display:block;
    margin-top:8px;
    color:#fff;
    text-align:center;
  }
  .mobile-core__selection small {
    display:block;
    color:#aeb5c1;
    line-height:1.35;
    text-align:center;
  }
  .map-app.mobile-depth .mobile-core__home {
    opacity:0;
    transform:scale(.76);
  }
  .map-app.mobile-depth .mobile-core__selection {
    opacity:1;
    transform:scale(1);
  }
  .mobile-dial {
    left:50%;
    background-clip:padding-box;
  }
  .mobile-dial span {
    border-color:rgba(255,255,255,.12);
  }
  .mobile-dial b {
    display:none;
  }
  .mobile-hubs,.mobile-rings,.mobile-branch-ring {
    position:absolute;
    z-index:8;
    left:50%;
    width:0;
    height:0;
    pointer-events:none;
  }
  .mobile-hubs {
    right:auto;
    top:auto;
    opacity:0;
    visibility:hidden;
    transition:opacity .38s;
  }
  .mobile-hubs.active {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .mobile-rings {
    right:auto;
    top:auto;
    height:0;
  }
  .mobile-branch-ring {
    inset:auto;
    opacity:0;
    visibility:hidden;
  }
  .mobile-branch-ring.active {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .mobile-hub,.mobile-branch-ring button {
    position:absolute;
    left:0;
    bottom:0;
    transform:translate(calc(-50% + var(--orbit-x,0px)),calc(-50% + var(--orbit-y,0px))) scale(var(--orbit-scale,.88));
    border:1px solid rgba(255,255,255,.18);
    background:rgba(4,6,10,.94);
    box-shadow:0 14px 40px rgba(0,0,0,.5);
    color:#fff;
    opacity:var(--orbit-opacity,1);
    visibility:var(--orbit-visible,visible);
    pointer-events:var(--orbit-pointer,auto);
    transition:transform .58s var(--ease),opacity .4s,border-color .3s,box-shadow .3s;
  }
  .mobile-branch-ring.active button {
    transform:translate(calc(-50% + var(--orbit-x,0px)),calc(-50% + var(--orbit-y,0px))) scale(var(--orbit-scale,.88));
    opacity:var(--orbit-opacity,1);
  }
  .mobile-hub strong,.mobile-branch-ring strong {
    margin-top:4px;
    text-align:center;
  }
  .mobile-branch-ring small {
    text-align:center;
  }
  .bottom-dock {
    z-index:220;
  }
  .map-app.mobile-card-open .mobile-rings,.map-app.mobile-card-open .mobile-hubs {
    opacity:.08;
    filter:blur(1.4px);
    pointer-events:none;
  }
}
@media(max-width:430px) and (orientation:portrait) {
  .mobile-hub,.mobile-branch-ring button {
    padding:8px;
  }
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-core__selection small {
    max-width:230px;
  }
  .mobile-dial {
    border-width:12px;
  }
  .mobile-dial span {
    inset:18px;
  }
  .bottom-dock {
    display:grid;
    align-items:center;
    padding:6px 8px;
  }
  .mobile-back {
    justify-self:start;
  }
  .dock-contact {
    justify-self:center;
  }
  .language-switch {
    justify-self:end;
  }
  .detail-card {
    top:max(10px,env(safe-area-inset-top))!important;
    right:auto!important;
    left:50%!important;
    width:min(520px,calc(100vw - 24px));
    transform:translateX(-50%) scale(.965);
    border-radius:20px;
  }
  .detail-card.active {
    transform:translateX(-50%);
  }
}
@media(max-width:430px) and (orientation:portrait) {
  .mobile-core {
    padding:44px;
  }
  .mobile-core__home img {
    width:205px;
  }
  .mobile-core__home p {
    font-size:13px;
  }
  .mobile-core__selection {
    padding:46px;
  }
  .mobile-core__selection strong {
    font-size:22px;
  }
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-dial:after {
    content:"";
    position:absolute;
    border-radius:50%;
  }
  .mobile-dial i,.mobile-dial span,.mobile-dial b {
    display:none;
  }
  .mobile-hubs,.mobile-rings,.mobile-branch-ring {
    bottom:calc(-74px + min(45.5vw,195px));
  }
}
@media(max-width:430px) and (orientation:portrait) {
  .mobile-core {
    bottom:-72px;
    width:350px;
    height:350px;
  }
  .mobile-dial {
    bottom:-112px;
    width:430px;
    height:430px;
  }
  .mobile-hubs,.mobile-rings,.mobile-branch-ring {
    bottom:103px;
  }
  .mobile-hub,.mobile-branch-ring button {
    width:164px;
    min-height:66px;
  }
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-core {
    bottom:var(--core-bottom);
    width:var(--core-size);
    height:var(--core-size);
    border:0;
    background:radial-gradient(circle,rgba(239,23,69,.16),rgba(0,0,0,.94) 60%,transparent 74%);
    box-shadow:none;
    overflow:visible;
  }
  .mobile-core:before,.mobile-core:after {
    display:none;
  }
  .mobile-core__glow {
    z-index:0;
    inset:18%;
    background:radial-gradient(circle,rgba(255,255,255,.3),rgba(239,23,69,.22) 28%,transparent 70%);
    filter:blur(14px);
    animation:coreGlow 3.2s ease-in-out infinite;
  }
  .mobile-core__rings,.mobile-core__rings i {
    position:absolute;
    inset:0;
    border:1px solid rgba(239,23,69,.25);
    border-radius:50%;
    pointer-events:none;
  }
  .mobile-core__rings {
    animation:spin 30s linear infinite;
  }
  .mobile-core__rings i:first-child {
    inset:12%;
    border-style:dashed;
    border-color:rgba(255,255,255,.19);
  }
  .mobile-core__rings i:nth-child(2) {
    inset:25%;
    border-color:rgba(255,255,255,.1);
  }
  .mobile-core__home,.mobile-core__selection {
    transform:none!important;
  }
  .mobile-core__home img {
    filter:drop-shadow(0 0 18px rgba(255,255,255,.18));
  }
  .mobile-dial {
    transform:translateX(-50%)!important;
    clip-path:none;
    border:0;
    box-shadow:none!important;
    background:transparent;
    cursor:grab;
  }
  .mobile-dial:active {
    cursor:grabbing;
  }
  .mobile-dial:before {
    border-color:rgba(184,199,229,.35);
  }
  .mobile-hubs,.mobile-rings {
    left:50%;
    bottom:var(--orbit-center);
    width:0;
    height:0;
  }
  .mobile-branch-ring {
    left:0;
    width:0;
    height:0;
  }
  .mobile-hub,.mobile-branch-ring button,.mobile-branch-ring.active button {
    top:0;
    bottom:auto;
    transform:translate(calc(-50% + var(--orbit-x,0px)),calc(-50% + var(--orbit-y,0px)));
    transition:border-color .25s,box-shadow .25s;
    background:linear-gradient(145deg,rgba(21,25,35,.96),rgba(4,5,9,.97));
    border-color:rgba(182,199,228,.25);
    box-shadow:0 12px 30px #0008;
    will-change:transform;
  }
  .mobile-hub span {
    text-align:center;
  }
  .mobile-links {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:2;
    overflow:visible;
    pointer-events:none;
  }
  .mobile-links line {
    stroke:#c4cfe4;
    filter:drop-shadow(0 0 4px #e9406580);
  }
  .mobile-card-open .mobile-links {
    opacity:0;
  }
  .mobile-core__selection small {
    touch-action:pan-y;
  }
  .bottom-dock {
    grid-template-columns:1fr auto 1fr;
    bottom:max(8px,env(safe-area-inset-bottom));
    gap:6px;
  }
  .mobile-navigator {
    bottom:calc(70px + env(safe-area-inset-bottom));
  }
  .detail-card {
    overscroll-behavior:contain;
    touch-action:pan-y;
  }
  .detail-card [data-close-card] {
    min-width:40px;
    min-height:40px;
  }
  .mobile-dial:focus-visible {
    outline:2px solid #ef1745;
    outline-offset:-5px;
  }
}
@media(max-width:430px) and (orientation:portrait) {
  .mobile-orbit {
    --core-size:350px;
    --core-bottom:-72px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .mobile-core__rings,.mobile-core__glow {
    animation:none!important;
  }
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-core {
    z-index:6;
    clip-path:circle(50%);
    cursor:pointer;
  }
  .mobile-core:focus-visible {
    outline:2px solid #ef1745;
    outline-offset:-3px;
  }
  .mobile-core__home,.mobile-core__selection {
    pointer-events:none;
  }
  .mobile-dial {
    z-index:5;
    mask:none;
    -webkit-mask:none;
    touch-action:none;
  }
  .mobile-dial:after {
    transform:rotate(var(--dial-rotation,0deg));
    filter:none;
  }
  .mobile-dial i {
    display:block;
    transform:translateX(-50%);
    pointer-events:none;
  }
  .mobile-hub,.mobile-branch-ring button {
    border-radius:15px;
  }
  .mobile-hub.is-current,.mobile-branch-ring button.is-current {
    border-color:#ed3862b3;
    box-shadow:0 0 0 1px #ef174519,0 0 25px #ef17451c,0 12px 30px #0009;
  }
  .mobile-links line {
    stroke-dasharray:3 6;
    stroke-linecap:round;
    stroke-width:1;
  }
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-hubs:not(.active),.mobile-branch-ring:not(.active),.mobile-hubs:not(.active) *,.mobile-branch-ring:not(.active) * {
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .mobile-dial:before {
    inset:5px;
    border:1px solid #cad5e02b;
    background:radial-gradient(circle,transparent 62%,#07090e 63%,#111621 67%,#202a37 69%,#0c1018 70%);
    box-shadow:inset 0 1px 0 #ffffff25,0 0 22px #8ca9d312;
    mask:radial-gradient(farthest-side,transparent calc(100% - 22px),#000 calc(100% - 21px));
    -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 22px),#000 calc(100% - 21px));
  }
  .mobile-dial:after {
    inset:9px;
    background:repeating-conic-gradient(from 0deg,#b2c4dc99 0 .5deg,transparent .6deg 4deg),conic-gradient(from 220deg,transparent 0 40%,#d3e1f522 52%,transparent 66%);
    opacity:.85;
    mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 11px) calc(100% - 4px),transparent calc(100% - 3px));
    -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 11px) calc(100% - 4px),transparent calc(100% - 3px));
  }
  .mobile-dial i {
    top:6px;
    width:4px;
    height:16px;
    border-radius:4px;
    background:#ff557b;
    box-shadow:0 0 6px #ef1745,0 0 18px #ef174555;
  }
}
@media(prefers-reduced-motion:reduce) {
  .mobile-hubs.active,.mobile-branch-ring.active {
    animation:none!important;
  }
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-orbit {
    --core-size:min(72vw,300px);
    --node-radius:min(260px,max(224px,58vw));
  }
  .mobile-core {
    padding:35px;
  }
  .mobile-core__home img {
    width:min(49vw,198px);
    max-height:65px;
  }
  .mobile-core__home p {
    max-width:205px;
    margin-top:12px;
  }
  .mobile-core__selection strong {
    max-width:222px;
  }
  .mobile-core__selection small {
    margin-top:7px;
  }
  .mobile-dial {
    width:calc(var(--core-size) + 58px);
    height:calc(var(--core-size) + 58px);
    bottom:calc(var(--core-bottom) - 29px);
  }
  .mobile-guidance {
    position:absolute;
    z-index:10;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    white-space:nowrap;
    pointer-events:none;
    color:#b1bed0;
    font-size:12px;
  }
  .mobile-guidance span {
    display:flex;
    align-items:center;
    gap:5px;
  }
  .mobile-guidance em {
    font-style:normal;
    letter-spacing:.09em;
    text-transform:uppercase;
    opacity:.7;
  }
  .mobile-guidance .guide-back {
    display:none;
  }
  .mobile-card-open .guide-open,.mobile-card-open .guide-rotate {
    display:none;
  }
  .mobile-card-open .guide-back {
    display:flex;
    color:#f6b0bf;
  }
  .detail-card {
    height:calc(100dvh - 270px - env(safe-area-inset-bottom));
    max-height:72dvh;
    min-height:220px;
    padding:22px;
  }
}
@media(max-width:900px) and (orientation:portrait) and (max-height:700px) {
  .detail-card {
    padding:18px;
    min-height:180px;
  }
}
.mobile-system-status,.mobile-arc-hint {
  display:none;
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-system-status {
    position:absolute;
    top:calc(20px + env(safe-area-inset-top));
    left:50%;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:8px;
    color:#92a3bd;
    font-size:11px;
    letter-spacing:.17em;
    text-transform:uppercase;
    opacity:.65;
    pointer-events:none;
    z-index:0;
    white-space:nowrap;
  }
  .mobile-system-status i {
    width:5px;
    height:5px;
    border-radius:50%;
    background:#c5d7fa;
    box-shadow:0 0 12px #a7c1f9;
    animation:pulse 3s infinite;
  }
  .mobile-arc-hint {
    display:block;
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    overflow:visible;
    pointer-events:none;
  }
  .mobile-card-open .mobile-arc-hint {
    opacity:.2;
  }
  .mobile-guidance .guide-rotate {
    display:none;
  }
  .mobile-guidance em {
    font-size:10px;
  }
  .mobile-hub,.mobile-branch-ring button {
    touch-action:none;
    user-select:none;
    -webkit-user-select:none;
  }
  .mobile-hub span {
    font-size:10px;
  }
  .mobile-core__home p {
    font-size:14px;
  }
  .mobile-hubs.active,.mobile-branch-ring.active {
    animation:levelReveal .48s cubic-bezier(.16,1,.3,1) both;
  }
}
@keyframes levelReveal {
  from {
    opacity:0;filter:blur(3px)
  }
  to {
    opacity:1;filter:blur(0)
  }
}
@media(prefers-reduced-motion:reduce) {
  .mobile-system-status i {
    animation:none!important;
  }
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-arc-hint {
    z-index:7;
  }
  .mobile-arc-hint text {
    fill:#aebdd5;
  }
  .mobile-card-open .mobile-arc-hint {
    display:none;
  }
  .mobile-layer-exit {
    pointer-events:none!important;
    animation:none!important;
    z-index:7!important;
  }
  .mobile-hubs.active:not(.mobile-layer-exit),.mobile-branch-ring.active:not(.mobile-layer-exit) {
    animation:orbitUnfold .65s cubic-bezier(.16,1,.3,1) both;
    transform-origin:0 0;
  }
  .mobile-core__selection {
    transition:opacity .5s ease;
  }
}
@keyframes orbitUnfold {
  from {
    opacity:0;transform:scale(.87);filter:blur(5px)
  }
  60% {
    opacity:.85;filter:blur(0)
  }
  to {
    opacity:1;transform:scale(1);filter:blur(0)
  }
}
@media(prefers-reduced-motion:reduce) {
  .mobile-hubs.active:not(.mobile-layer-exit),.mobile-branch-ring.active:not(.mobile-layer-exit) {
    animation:none!important;
  }
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-arc-hint {
    width:calc(var(--core-size) + 32px);
    height:auto;
  }
  .mobile-arc-hint text {
    font-size:11px;
    letter-spacing:.7px;
  }
  .mobile-hub,.mobile-branch-ring button {
    width:clamp(150px,41vw,180px);
    min-height:74px;
    height:auto;
    padding:12px 12px;
    box-sizing:border-box;
  }
  .mobile-hub strong,.mobile-branch-ring strong {
    font-size:14px;
    line-height:1.3;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
    text-wrap:balance;
  }
  .mobile-branch-ring small {
    font-size:11px;
    line-height:1.35;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
  }
  .mobile-core__selection strong {
    overflow-wrap:normal;
    word-break:normal;
  }
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-arc-hint {
    bottom:calc(var(--orbit-center) - 39px);
  }
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-orbit {
    --orbit-center:calc(100dvh / 3 - 70px - env(safe-area-inset-bottom));
    --core-bottom:calc(var(--orbit-center) - var(--core-size)/2);
  }
  .map-app.mobile-card-open .mobile-orbit {
    --core-bottom:-56px;
    --orbit-center:calc(var(--core-size)/2 - 56px);
  }
  .mobile-core,.mobile-dial,.mobile-hubs,.mobile-rings,.mobile-arc-hint {
    transition:bottom .7s cubic-bezier(.22,1,.36,1);
  }
  .mobile-core__home,.mobile-core__selection {
    transition:opacity .5s ease;
  }
  .mobile-branch-ring {
    bottom:0!important;
  }
  .mobile-guidance {
    transition:bottom .7s cubic-bezier(.22,1,.36,1);
  }
}
@media(prefers-reduced-motion:reduce) {
  .mobile-core,.mobile-dial,.mobile-hubs,.mobile-rings,.mobile-arc-hint,.mobile-guidance {
    transition:none!important;
  }
}
@media(max-width:900px) and (orientation:portrait) {
  .mobile-core__selection {
    inset:22% 12% 18%;
    width:auto;
    height:auto;
    padding:0;
    display:flex;
    gap:9px;
    justify-content:center;
    align-items:center;
    box-sizing:border-box;
  }
  .mobile-core__selection span,.mobile-core__selection strong,.mobile-core__selection small {
    position:static;
    flex-shrink:0;
    margin:0;
    max-width:100%;
    line-height:1.3;
  }
  .mobile-core__selection span:empty,.mobile-core__selection small:empty {
    display:none;
  }
  .mobile-core__selection strong {
    font-size:22px;
    line-height:1.15;
    text-wrap:balance;
  }
  .mobile-core__selection small {
    max-height:none;
    overflow:visible;
    font-size:12px;
    text-wrap:pretty;
  }
  .mobile-core__home {
    gap:12px;
  }
  .mobile-core__home p {
    margin:0;
    line-height:1.35;
  }
  .mobile-guidance {
    bottom:calc(var(--core-bottom) + 17px);
  }
  .mobile-card-open .mobile-guidance {
    display:none;
  }
  .map-app.mobile-depth .mobile-core__home {
    visibility:hidden;
  }
  .map-app:not(.mobile-depth) .mobile-core__selection {
    visibility:hidden;
  }
}
