

@font-face {
  font-family: "Cormorant";
  src: url("/assets/home/fonts/cormorant-garamond-cyrillic.woff2") format("woff2");
  font-weight: 300 700;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Cormorant";
  src: url("/assets/home/fonts/cormorant-garamond-latin.woff2") format("woff2");
  font-weight: 300 700;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: "Manrope";
  src: url("/assets/home/fonts/manrope-cyrillic.woff2") format("woff2");
  font-weight: 200 800;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Manrope";
  src: url("/assets/home/fonts/manrope-latin.woff2") format("woff2");
  font-weight: 200 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}

:root {
  --bg: #000000;
  --bg2: #050505;
  --bg3: #0c0c0e;
  --ink: #f1ebe3;
  --mute: #8d8881;
  --faint: #5d5953;
  --line: rgba(241, 235, 227, 0.10);
  --line2: rgba(241, 235, 227, 0.18);
  --pink: #fc6299;
  --pk2: #ff8fb8;
  --pkg: rgba(252, 98, 153, 0.45);
  --cyan: #3fd1c1;
  --pad: 120px;
  --max: 1680px;
  --serif: "Cormorant", Georgia, serif;
  --sans: "Manrope", system-ui, -apple-system, sans-serif;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  background: var(--bg);
  color: var(--ink);
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  position: relative;
  overflow-x: hidden;
  background: var(--bg);
  color: var(--ink);
}


body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 99;
  opacity: 0.055;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

button {
  background: none;
  border: none;
  font-family: inherit;
  color: inherit;
  cursor: pointer;
}


:focus-visible {
  outline: 2px solid var(--pink);
  outline-offset: 3px;
}

.skip-link {
  position: absolute;
  top: -60px;
  left: 20px;
  background: var(--pink);
  color: #160a10;
  padding: 10px 18px;
  font-weight: 600;
  z-index: 1000;
  border-radius: 6px;
  transition: top 0.2s;
}
.skip-link:focus {
  top: 16px;
}

.wrap {
  max-width: calc(var(--max) + var(--pad) * 2);
  margin: 0 auto;
  padding: 0 var(--pad);
  position: relative;
}

.w2 {
  max-width: calc(var(--max) + var(--pad) * 2);
  margin: 0 auto;
  padding: 0 var(--pad);
  position: relative;
}

.r-center {
  text-align: center;
}

.label {
  font-family: var(--sans);
  font-size: 13px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--mute);
  display: flex;
  align-items: center;
  gap: 18px;
}
.label::before {
  content: "";
  width: 40px;
  height: 1px;
  background: var(--pink);
}
.label b {
  font-weight: 600;
  color: var(--ink);
  letter-spacing: 0.2em;
}

.kick {
  display: inline-block;
  font-size: 13px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--pink);
  margin-bottom: 22px;
}

.r-h {
  font-family: var(--sans);
  font-weight: 500;
  font-size: clamp(38px, 4.2vw, 64px);
  line-height: 1.08;
  letter-spacing: -0.035em;
  color: #f4f4f4;
}

.r-left {
  text-align: left;
}

.grad {
  background: linear-gradient(180deg, #f2f2f2 10%, #7c7c7c 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.r-p {
  font-size: 19px;
  line-height: 1.6;
  color: #a1a1a1;
  max-width: 660px;
  margin: 22px auto 0;
}

.btn-g {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 24px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  color: #f4f4f4;
  background: linear-gradient(180deg, #232325, #141416);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 0 0 1px #2a2a2d;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.3s, color 0.3s, background 0.3s;
}
.btn-g:hover, .btn-g:focus-visible {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 0 0 1px rgba(252, 98, 153, 0.6), 0 8px 30px -6px var(--pkg);
  background: linear-gradient(100deg, #3a1526 0%, #5c1f3a 45%, #2a1220 100%);
  color: #ffffff;
}





@media (max-width: 1023px) {
  .desktop-view {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .mobile-view {
    display: none !important;
  }
}


.hdr {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
}
.hdr .wrap {
  height: 104px;
  display: flex;
  align-items: center;
  gap: 40px;
  border-bottom: 1px solid var(--line);
}
.logo {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 32px;
  letter-spacing: 0.08em;
  color: var(--ink);
}
.nav {
  display: flex;
  gap: 32px;
  font-size: 15px;
  color: #d9d3cb;
  margin-left: auto;
}
.nav-item {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.nav span, .nav a {
  position: relative;
  transition: color 0.25s, text-shadow 0.25s;
  display: inline-flex;
  align-items: center;
}
.nav span::before, .nav a::before {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -8px;
  height: 1.5px;
  background: linear-gradient(90deg, transparent, var(--pink), transparent);
  transition: left 0.35s, right 0.35s;
}
.nav span:hover, .nav span:focus-visible,
.nav a:hover, .nav a:focus-visible {
  color: #fff;
  text-shadow: 0 0 18px var(--pkg);
}
.nav span:hover::before, .nav span:focus-visible::before,
.nav a:hover::before, .nav a:focus-visible::before {
  left: -6px;
  right: -6px;
}
.nav .dd::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1.2px solid var(--pink);
  border-bottom: 1.2px solid var(--pink);
  transform: rotate(45deg) translateY(-2px);
  margin-left: 8px;
}


.nav-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: #0d0e12;
  border: 1px solid var(--line2);
  border-radius: 12px;
  padding: 10px 0;
  min-width: 200px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.25s, transform 0.25s, visibility 0.25s;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.8);
  z-index: 30;
}
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nav-dropdown a {
  display: block;
  padding: 10px 18px;
  font-size: 14px;
  color: #cfc9c1;
  white-space: nowrap;
}
.nav-dropdown a:hover, .nav-dropdown a:focus-visible {
  background: rgba(252, 98, 153, 0.12);
  color: #ffffff;
}
.nav-dropdown a::before {
  display: none !important;
}

.phone {
  font-size: 15px;
  color: #d9d3cb;
  margin-left: 10px;
  white-space: nowrap;
}
.pill {
  border: 1px solid var(--line2);
  border-radius: 999px;
  padding: 14px 28px;
  font-size: 15px;
  white-space: nowrap;
  position: relative;
  transition: box-shadow 0.35s, border-color 0.35s;
}
.pill:hover, .pill:focus-visible {
  border-color: transparent;
  background: linear-gradient(#0c0c0e, #0c0c0e) padding-box, conic-gradient(from 210deg, var(--pink), #b48cff, var(--cyan), var(--pink)) border-box;
  border: 1px solid transparent;
  box-shadow: 0 0 0 4px rgba(252, 98, 153, 0.10), 0 10px 40px -8px var(--pkg);
}


.hero {
  position: relative;
  height: 1120px;
  overflow: hidden;
  background: radial-gradient(900px 700px at 74% 42%, rgba(40, 120, 110, 0.14), transparent 70%), var(--bg);
}
.hero__cham {
  position: absolute;
  right: -40px;
  top: 110px;
  height: 900px;
  width: auto;
  filter: saturate(1.05) contrast(1.04);
  -webkit-mask-image: linear-gradient(0deg, transparent 2%, #000 30%), linear-gradient(90deg, transparent, #000 14%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(0deg, transparent 2%, #000 30%);
  pointer-events: none;
  transform-origin: center right;
  will-change: transform;
}
.hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #000 30%, rgba(0, 0, 0, 0) 60%), linear-gradient(0deg, #000 4%, rgba(0, 0, 0, 0) 34%);
  pointer-events: none;
}
.hero__copy {
  position: absolute;
  left: 0;
  right: 0;
  top: 250px;
  z-index: 5;
}
.hero h1 {
  font-family: var(--serif);
  font-weight: 500;
  line-height: 0.8;
  letter-spacing: -0.005em;
  animation: wordmark-rise 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.hero h1 .w {
  display: block;
  font-size: clamp(170px, 16vw, 300px);
}
.hero h1 .s {
  display: block;
  font-family: var(--sans);
  font-weight: 300;
  font-size: clamp(18px, 1.4vw, 24px);
  letter-spacing: 0.62em;
  margin-top: 44px;
  color: #e6e0d8;
}
.hero__city {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 72px;
  font-size: 15px;
  color: var(--mute);
  letter-spacing: 0.08em;
}
.hero__city::before {
  content: "";
  width: 56px;
  height: 1px;
  background: var(--pink);
}
.trust {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 84px;
  z-index: 5;
}
.trust__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 40px;
  gap: 20px;
}
.trust__row img, .trust__row .rts {
  transition: filter 0.35s, transform 0.35s, opacity 0.35s;
  animation: logo-stagger 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.trust__row > :nth-child(1) { animation-delay: 0.10s; }
.trust__row > :nth-child(2) { animation-delay: 0.16s; }
.trust__row > :nth-child(3) { animation-delay: 0.22s; }
.trust__row > :nth-child(4) { animation-delay: 0.28s; }
.trust__row > :nth-child(5) { animation-delay: 0.34s; }
.trust__row > :nth-child(6) { animation-delay: 0.40s; }
.trust__row > :nth-child(7) { animation-delay: 0.46s; }

.trust__row img {
  height: 54px;
  width: auto;
  opacity: 0.95;
}
.trust__row .tall {
  height: 72px;
}
.trust__row img:hover, .trust__row img:focus-visible,
.trust__row .rts:hover, .trust__row .rts:focus-visible {
  transform: translateY(-4px) scale(1.06);
  filter: drop-shadow(0 0 14px rgba(252, 98, 153, 0.75));
}
.rts {
  font-family: var(--sans);
  font-weight: 700;
  font-size: 40px;
  letter-spacing: -0.01em;
  line-height: 1;
}
.rts small {
  display: block;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.32em;
  color: var(--mute);
  margin-top: 6px;
  text-transform: uppercase;
}


.also {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 46px 0;
  background: #000;
  position: relative;
  z-index: 2;
}
.also .wrap {
  display: flex;
  align-items: center;
  gap: 64px;
}
.also__t {
  font-family: var(--serif);
  font-style: italic;
  font-size: 24px;
  color: var(--mute);
  white-space: nowrap;
}
.ticker {
  flex: 1;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 88%, transparent);
}
.ticker__in {
  display: flex;
  align-items: center;
  gap: 72px;
  width: max-content;
  animation: marquee 40s linear infinite;
}
.ticker:hover .ticker__in,
.ticker:focus-within .ticker__in {
  animation-play-state: paused;
}
.ticker img {
  height: 34px;
  width: auto;
  opacity: 0.42;
  transition: opacity 0.3s, filter 0.3s;
}
.ticker img.sq {
  height: 46px;
}
.ticker img:hover, .ticker img:focus-visible {
  opacity: 1 !important;
  filter: drop-shadow(0 0 10px rgba(252, 98, 153, 0.6));
}
.tw {
  font-family: var(--sans);
  font-weight: 700;
  font-size: 26px;
  letter-spacing: 0.08em;
  color: rgba(241, 235, 227, 0.42);
  line-height: 1;
  white-space: nowrap;
  text-align: center;
  transition: opacity 0.3s, filter 0.3s, color 0.3s;
}
.tw small {
  display: block;
  font-weight: 500;
  font-size: 9px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  margin-top: 4px;
}
.tw:hover, .tw:focus-visible {
  opacity: 1 !important;
  color: #fff;
  filter: drop-shadow(0 0 10px rgba(252, 98, 153, 0.6));
}
.also__all {
  font-size: 15px;
  white-space: nowrap;
  border-bottom: 1px solid var(--pink);
  padding-bottom: 4px;
  transition: color 0.25s, text-shadow 0.25s, border-bottom-width 0.25s;
}
.also__all:hover, .also__all:focus-visible {
  color: #fff;
  text-shadow: 0 0 14px var(--pkg);
  border-bottom-width: 2px;
}


.r-sec {
  position: relative;
  z-index: 2;
  padding: 170px 0 40px;
}


.cx__head {
  display: grid;
  grid-template-columns: 1fr 420px;
  align-items: end;
  gap: 60px;
}
.cx__lead {
  font-size: 18px;
  line-height: 1.6;
  color: #a1a1a1;
}

.dsw {
  margin-top: 56px;
  text-align: left;
}
.dsw__top {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #7a7a7a;
  padding: 0 4px 14px;
}
.dsw__cnt b {
  color: #f4f4f4;
  font-weight: 600;
}
.dtabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.dtab {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 22px 22px;
  border-radius: 16px 16px 0 0;
  background: #0b0b0c;
  border: 1px solid #1d1d1f;
  border-bottom: none;
  color: #8f8f8f;
  overflow: hidden;
  cursor: pointer;
  transition: background 0.3s, box-shadow 0.3s, color 0.3s;
  text-align: left;
}
.dtab b {
  display: block;
  font-weight: 500;
  font-size: 18px;
  color: #bdbdbd;
}
.dtab small {
  font-size: 13px;
  color: #6a6a6a;
}
.dtab .ti {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  border: 1px solid #232325;
  background: #0a0a0b;
  display: grid;
  place-items: center;
  flex: none;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.dtab .ti svg {
  width: 22px;
  height: 22px;
  stroke: #9a9a9a;
  transition: stroke 0.3s;
}
.dtab:hover, .dtab:focus-visible {
  background: radial-gradient(260px 90px at 30% 0%, rgba(252, 98, 153, 0.20), transparent 70%), #101012;
}
.dtab:hover::before, .dtab:focus-visible::before {
  content: "";
  position: absolute;
  top: 0;
  left: 12%;
  right: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--pk2), transparent);
}
.dtab.on {
  background: #121214;
  border-color: #2a2a2d;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.dtab.on b {
  color: #fff;
}
.dtab.on small {
  color: var(--cyan);
}
.dtab.on .ti {
  border-color: rgba(63, 209, 193, 0.55);
  box-shadow: 0 0 0 4px rgba(63, 209, 193, 0.08);
}
.dtab.on .ti svg {
  stroke: var(--cyan);
}
.prog {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 0%;
  background: linear-gradient(90deg, var(--cyan), #7ff0e4);
  box-shadow: 0 0 12px var(--cyan);
  transition: width 0.1s linear;
}

.win--tabs {
  margin-top: 0;
  border: 1px solid #2a2a2d;
  border-radius: 0 0 18px 18px;
  background: #050505;
  text-align: left;
  overflow: hidden;
  position: relative;
  box-shadow: 0 40px 120px -40px rgba(0, 0, 0, 0.9);
}
.win__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
  padding: 0 24px;
  border-bottom: 1px solid #1a1a1c;
  background: linear-gradient(180deg, #0e0e10, #070708);
}
.dots {
  display: flex;
  gap: 8px;
}
.dots i {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #2a2a2c;
  display: block;
}
.win__title {
  font-size: 14px;
  color: #a1a1a1;
}
.win__link {
  font-size: 14px;
  color: #e6e6e6;
  border-bottom: 1px solid transparent;
  transition: color 0.25s, border-color 0.25s;
}
.win__link:hover, .win__link:focus-visible {
  color: #ffffff;
  border-color: var(--pink);
}

.win__body {
  display: grid;
  grid-template-columns: 330px 1fr;
  min-height: 480px;
}
.svc {
  list-style: none;
  border-right: 1px solid #1a1a1c;
  padding: 18px 12px;
}
.svc li {
  font-size: 15px;
  color: #9a9a9a;
  padding: 12px 14px;
  border-radius: 9px;
  cursor: pointer;
  position: relative;
  transition: background 0.25s, color 0.25s, padding 0.25s;
}
.svc li:hover, .svc li:focus-visible {
  color: #fff;
  padding-left: 24px;
  background: linear-gradient(90deg, rgba(252, 98, 153, 0.16), transparent 80%);
}
.svc li:hover::before, .svc li:focus-visible::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 2px;
  border-radius: 2px;
  background: var(--pink);
  box-shadow: 0 0 10px var(--pink);
}
.svc li.on {
  background: #141416;
  color: #f4f4f4;
  box-shadow: inset 0 0 0 1px #232325;
}

.svc__card {
  padding: 44px 52px;
  display: flex;
  flex-direction: column;
}
.pill-s {
  display: inline-block;
  font-size: 12px;
  padding: 5px 11px;
  border-radius: 7px;
  background: rgba(63, 209, 193, 0.12);
  color: var(--cyan);
  letter-spacing: 0.02em;
  align-self: flex-start;
}
.svc__card h3 {
  font-weight: 500;
  font-size: 40px;
  letter-spacing: -0.03em;
  margin: 20px 0 14px;
  color: #f4f4f4;
}
.svc__card p {
  font-size: 17px;
  color: #a1a1a1;
  line-height: 1.6;
  max-width: 600px;
}
.svc__inc {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
  max-width: 640px;
}
.svc__inc span {
  font-size: 13px;
  color: #d6d6d6;
  padding: 7px 12px;
  border-radius: 8px;
  background: #111113;
  border: 1px solid #1f1f21;
}
.svc__foot {
  display: flex;
  align-items: flex-end;
  gap: 56px;
  margin-top: auto;
  padding-top: 36px;
  border-top: 1px solid #1a1a1c;
}
.svc__foot small {
  display: block;
  font-size: 12px;
  color: #6f6f6f;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.svc__foot b {
  font-weight: 500;
  font-size: 18px;
  color: #f4f4f4;
}
.svc__foot .btn-g {
  margin-left: auto;
}


.cx {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 72px;
  border-top: 1px solid #1d1d1f;
  border-left: 1px solid #1d1d1f;
}
.cx article {
  padding: 40px 36px 46px;
  border-right: 1px solid #1d1d1f;
  border-bottom: 1px solid #1d1d1f;
  position: relative;
  transition: background 0.4s;
}
.cx article:first-child::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 60%;
  height: 1px;
  background: linear-gradient(90deg, var(--pink), transparent);
}
.cx article:hover, .cx article:focus-visible {
  background: radial-gradient(360px 240px at 70% 30%, rgba(252, 98, 153, 0.16), transparent 70%);
}
.cx article:hover .cx__n, .cx article:focus-visible .cx__n {
  background: linear-gradient(180deg, #ffd3e3, var(--pink));
  -webkit-background-clip: text;
  background-clip: text;
}
.cx article:hover::after, .cx article:focus-visible::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--pink), transparent);
}
.cx__n {
  font-family: var(--serif);
  font-size: 44px;
  line-height: 1;
  background: linear-gradient(180deg, #fff, #6d6d6d);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  transition: background 0.3s;
}
.cx h4 {
  font-weight: 500;
  font-size: 22px;
  color: #f4f4f4;
  margin: 28px 0 12px;
  letter-spacing: -0.01em;
}
.cx p {
  font-size: 15px;
  line-height: 1.65;
  color: #8f8f8f;
}


.st--mid {
  position: relative;
  z-index: 2;
  padding: 200px 0 60px;
}
.st__k {
  font-size: 13px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #7a7a7a;
}
.st__h {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(60px, 6.8vw, 116px);
  line-height: 0.98;
  letter-spacing: -0.015em;
  margin-top: 28px;
  background: linear-gradient(180deg, #fff 25%, #8a8a8a 115%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}


.jc {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 64px;
}
.jcard {
  border: 1px solid #1d1d1f;
  border-radius: 18px;
  overflow: hidden;
  background: #050505;
  display: block;
  transition: transform 0.35s, box-shadow 0.35s, border-color 0.35s;
}
.jcard__img {
  aspect-ratio: 16/10;
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid #1a1a1c;
  transition: background-size 0.5s;
}
.jcard:hover, .jcard:focus-visible {
  transform: translateY(-8px);
  border-color: transparent;
  background: linear-gradient(#050505, #050505) padding-box, linear-gradient(160deg, var(--pink), rgba(252, 98, 153, 0.05) 45%, rgba(180, 140, 255, 0.4)) border-box;
  border: 1px solid transparent;
  box-shadow: 0 30px 60px -24px rgba(252, 98, 153, 0.45);
}
.jcard:hover .jcard__img, .jcard:focus-visible .jcard__img {
  background-size: 114%;
}
.jcard:hover em, .jcard:focus-visible em {
  color: var(--pink);
}
.jcard__b {
  padding: 26px 28px 30px;
}
.jcard__b span {
  font-size: 13px;
  color: #7a7a7a;
}
.jcard__b h4 {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.3;
  margin: 12px 0 18px;
  letter-spacing: -0.01em;
  color: #f4f4f4;
}
.jcard__b em {
  font-style: normal;
  font-size: 15px;
  color: #e6e6e6;
  transition: color 0.25s;
}


.bf {
  background: #000;
  color: var(--ink);
  padding: 170px 0 150px;
  position: relative;
  z-index: 2;
}
.bf__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bf__hint {
  font-size: 14px;
  color: #7a7a7a;
  letter-spacing: 0.04em;
}
.bf h2.bf__h {
  font-family: var(--sans);
  font-weight: 500;
  font-size: clamp(38px, 4.2vw, 64px);
  letter-spacing: -0.035em;
  line-height: 1.08;
  color: #f4f4f4;
  margin-top: 40px;
}
.bf__sheet {
  background: linear-gradient(180deg, #0c0c0e, #070708);
  border: 1px solid #1f1f21;
  border-radius: 18px;
  box-shadow: 0 40px 120px -40px rgba(0, 0, 0, 0.9);
  position: relative;
  padding: 64px 72px 56px;
  margin-top: 60px;
}
.bf__sheet::before {
  content: "";
  position: absolute;
  top: 0;
  left: 25%;
  right: 25%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
}
.bf p.bf__s {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(32px, 3.2vw, 54px);
  line-height: 1.5;
  color: #f4f4f4;
}

.in {
  display: inline-block;
  border-bottom: 2px solid rgba(241, 235, 227, 0.55);
  line-height: 1.15;
  padding: 0 4px;
  margin: 0 2px;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  vertical-align: baseline;
}
.in::placeholder {
  color: #5c5c60;
  font-style: italic;
}
.in--name {
  min-width: 280px;
}
.in--tel {
  min-width: 420px;
}
.in--sel {
  position: relative;
  padding-right: 44px;
  cursor: pointer;
  text-align: left;
}
.in--sel::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  width: 13px;
  height: 13px;
  border-right: 2px solid var(--pink);
  border-bottom: 2px solid var(--pink);
  transform: translateY(-75%) rotate(45deg);
}
.in--empty {
  border-bottom: 2px dashed var(--pink);
  background: linear-gradient(180deg, rgba(252, 98, 153, 0) 55%, rgba(252, 98, 153, 0.12) 55%);
  border-radius: 4px 4px 0 0;
  padding: 0 10px;
  animation: pink-pulse 2.8s ease-in-out infinite;
  transition: box-shadow 0.3s, background 0.3s;
}
.in--empty::placeholder {
  color: #d98aa8;
}
.in--empty:hover, .in--empty:focus-visible {
  background: rgba(252, 98, 153, 0.20);
  box-shadow: 0 0 0 1px rgba(252, 98, 153, 0.7), 0 0 30px rgba(252, 98, 153, 0.4);
}


.select-wrapper {
  position: relative;
  display: inline-block;
  vertical-align: baseline;
}
.listbox-popup {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 50;
  background: #0f0f12;
  border: 1px solid #2a2a2d;
  border-radius: 12px;
  padding: 8px 0;
  margin-top: 8px;
  min-width: 260px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(255, 255, 255, 0.05);
  display: none;
}
.listbox-popup.is-open {
  display: block;
}
.listbox-option {
  padding: 12px 18px;
  font-size: 16px;
  color: #bdbdbd;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: background 0.2s, color 0.2s;
}
.listbox-option:hover, .listbox-option[aria-selected="true"], .listbox-option.is-focused {
  background: rgba(252, 98, 153, 0.15);
  color: #ffffff;
}
.listbox-option i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex: none;
}

.bf__drop {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 34px;
  padding-top: 30px;
  border-top: 1px dashed #232325;
}
.bf__dk {
  font-size: 12px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #7a7a7a;
  margin-right: 14px;
}
.bf__drop span:not(.bf__dk) {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 16px;
  border: 1px solid #232325;
  border-radius: 999px;
  font-size: 15px;
  color: #bdbdbd;
  background: #0b0b0c;
  cursor: pointer;
  transition: box-shadow 0.25s, border-color 0.25s, color 0.25s, background 0.25s;
}
.bf__drop span:not(.bf__dk) i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}
.bf__drop span:not(.bf__dk):hover, .bf__drop span:not(.bf__dk):focus-visible {
  border-color: var(--pink) !important;
  color: #fff !important;
  box-shadow: 0 0 0 4px rgba(252, 98, 153, 0.14), 0 0 22px rgba(252, 98, 153, 0.35);
}
.bf__drop .on {
  background: #1b2537 !important;
  border-color: #34507f !important;
  color: #fff !important;
}

.bf__foot {
  display: grid;
  grid-template-columns: 1fr;
  gap: 34px;
  margin-top: 56px;
  padding-top: 44px;
  border-top: 1px solid #1d1d1f;
}
.bf__pk {
  display: block;
  font-size: 12px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #7a7a7a;
}
.bf__wait {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  font-size: 16px;
  color: #8f8f8f;
}
.bf__wait i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--pink);
  box-shadow: 0 0 0 6px rgba(252, 98, 153, 0.15);
}

.bf__plan ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 36px;
  margin-top: 20px;
}
.bf__plan li {
  font-family: var(--serif);
  font-size: 26px;
  color: var(--ink);
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.bf__plan li span.n {
  color: var(--pink);
  font-size: 20px;
  font-weight: 600;
}
.bf__case {
  display: block;
  margin-top: 24px;
  font-size: 15px;
  color: #8f8f8f;
}
.bf__case a {
  color: #f4f4f4;
  border-bottom: 1px solid var(--pink);
  padding-bottom: 2px;
  margin-right: 28px;
  display: inline-block;
  margin-top: 6px;
}

.bf__send {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 20px;
}
.bf__btn {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  min-width: 380px;
  background: #fff;
  color: #000;
  border-radius: 999px;
  padding: 24px 36px;
  font-weight: 600;
  font-size: 18px;
  transition: box-shadow 0.3s, background 0.3s, color 0.3s;
  cursor: pointer;
}
.bf__btn b {
  color: var(--pink);
  font-size: 22px;
  transition: transform 0.25s;
}
.bf__btn:hover, .bf__btn:focus-visible {
  background: linear-gradient(100deg, var(--pink), var(--pk2));
  color: #16090f;
  box-shadow: 0 0 0 6px rgba(252, 98, 153, 0.16), 0 16px 50px -8px rgba(252, 98, 153, 0.7);
}
.bf__btn:hover b, .bf__btn:focus-visible b {
  color: #16090f;
  transform: translateX(6px);
}
.bf__btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  box-shadow: none !important;
}

.bf__send small {
  display: block;
  font-size: 13px;
  color: #6f6f6f;
  line-height: 1.5;
  max-width: 360px;
}
.form-status {
  margin-top: 16px;
  font-size: 15px;
  color: var(--pink);
  min-height: 24px;
}
.form-status.success {
  color: var(--cyan);
}

.bf__alt {
  display: flex;
  flex-wrap: wrap;
  gap: 44px;
  align-items: center;
  margin-top: 56px;
  font-size: 16px;
}
.bf__alt span {
  font-size: 12px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #7a7a7a;
}
.bf__alt a {
  border-bottom: 1px solid #2a2a2d;
  color: #e6e6e6;
  padding-bottom: 3px;
  transition: color 0.25s, border-color 0.25s, text-shadow 0.25s;
}
.bf__alt a:hover, .bf__alt a:focus-visible {
  color: #fff;
  border-color: var(--pink) !important;
  text-shadow: 0 0 12px var(--pkg);
}


.r-ft {
  position: relative;
  z-index: 2;
  border-top: 1px solid #161618;
  padding-top: 110px;
  background: var(--bg);
}
.r-ft::before {
  content: "";
  position: absolute;
  top: 0;
  left: 15%;
  right: 15%;
  height: 140px;
  background: radial-gradient(closest-side, rgba(255, 255, 255, 0.05), transparent);
  pointer-events: none;
}
.r-ft__in {
  display: grid;
  grid-template-columns: 330px 1fr;
  gap: 60px;
}
.r-ft__brand p {
  font-size: 14px;
  color: #8f8f8f;
  line-height: 1.6;
  margin-top: 22px;
}
.soc {
  display: flex;
  gap: 10px;
  margin-top: 22px;
}
.soc a, .soc span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #0e0e10;
  border: 1px solid #1f1f21;
  display: grid;
  place-items: center;
  font-size: 11px;
  color: #bdbdbd;
  transition: border-color 0.25s, color 0.25s, box-shadow 0.25s;
}
.soc a:hover, .soc a:focus-visible {
  border-color: var(--pink);
  color: #fff;
  box-shadow: 0 0 16px var(--pkg);
}
.status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 22px;
  font-size: 13px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #0e0e10;
  border: 1px solid #1f1f21;
  color: #e6e6e6;
}
.status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2ecc71;
  box-shadow: 0 0 8px #2ecc71;
}

.r-ft__cols {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 30px;
}
.r-ft__cols h5 {
  font-weight: 500;
  font-size: 15px;
  color: #f4f4f4;
  margin-bottom: 20px;
}
.r-ft__cols a {
  display: block;
  font-size: 15px;
  color: #8f8f8f;
  margin-bottom: 14px;
  transition: color 0.25s, transform 0.25s;
}
.r-ft__cols a:hover, .r-ft__cols a:focus-visible {
  color: #fff;
  transform: translateX(6px);
}
.r-ft__cols a:hover::before, .r-ft__cols a:focus-visible::before {
  content: "→ ";
  color: var(--pink);
}

.r-ft__legal {
  display: flex;
  justify-content: space-between;
  padding: 80px 0 50px;
  font-size: 13px;
  color: #5f5f5f;
  border-top: 1px solid #141416;
  margin-top: 80px;
}






@media (min-width: 1024px) and (max-width: 1279px) {
  :root {
    --pad: 40px;
    --max: 1200px;
  }
  .hdr .wrap {
    gap: 20px;
  }
  .nav {
    gap: 16px;
    font-size: 14px;
  }
  .hero {
    height: 980px;
  }
  .hero h1 .w {
    font-size: 170px;
  }
  .hero__cham {
    height: 640px;
    right: -100px;
    top: 160px;
  }
  .win__body {
    grid-template-columns: 260px 1fr;
  }
  .cx {
    grid-template-columns: repeat(2, 1fr);
  }
  .jc {
    gap: 16px;
  }
  .jcard__b {
    padding: 20px;
  }
  .jcard__b h4 {
    font-size: 19px;
  }
  .r-ft__in {
    grid-template-columns: 240px 1fr;
    gap: 30px;
  }
  .r-ft__cols {
    gap: 16px;
  }
}


@media (max-width: 1179px) {
  .hdr .phone {
    display: none;
  }
}


@media (min-width: 1280px) and (max-width: 1599px) {
  :root {
    --max: 1440px;
    --pad: 60px;
  }
  .hero h1 .w {
    font-size: 240px;
  }
  .hero__cham {
    height: 780px;
    right: -60px;
  }
}


@media (min-width: 1600px) and (max-width: 2199px) {
  :root {
    --max: 1680px;
    --pad: 120px;
  }
  .hero h1 .w {
    font-size: 300px;
  }
}


@media (min-width: 2200px) {
  :root {
    --max: 1880px;
    --pad: 140px;
  }
  body {
    font-size: 18px;
  }
  .hero {
    height: 100svh;
    min-height: 900px;
  }
  .hero h1 .w {
    font-size: 340px;
  }
  .hero__cham {
    height: 1050px;
    right: -20px;
  }
}





@keyframes wordmark-rise {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes logo-stagger {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 0.95;
    transform: translateY(0);
  }
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes pink-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(252, 98, 153, 0);
  }
  50% {
    box-shadow: 0 0 0 4px rgba(252, 98, 153, 0.22), 0 0 16px rgba(252, 98, 153, 0.35);
  }
}


.reveal-item {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-item.is-revealed {
  opacity: 1;
  transform: translateY(0);
}

.st-reveal .st__l1 {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-block;
}
.st-reveal .st__l2 {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.15s, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.15s;
  display: inline-block;
}
.st-reveal.is-revealed .st__l1,
.st-reveal.is-revealed .st__l2 {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
  .reveal-item {
    opacity: 1 !important;
    transform: none !important;
  }
  .st-reveal .st__l1, .st-reveal .st__l2 {
    opacity: 1 !important;
    transform: none !important;
  }
  .hero__cham {
    transform: none !important;
  }
}





.mobile-view {
  background: #000000;
  color: #f1ebe3;
  padding-bottom: calc(100px + env(safe-area-inset-bottom));
  position: relative;
}


.m-container {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  padding: 0 20px;
}


.m-tabbar {
  position: fixed;
  bottom: max(16px, env(safe-area-inset-bottom));
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 32px);
  max-width: 440px;
  height: 64px;
  background: rgba(14, 14, 16, 0.88);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 0 8px;
  z-index: 100;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.85);
}
.m-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 11px;
  color: #8f8f8f;
  min-width: 54px;
  min-height: 48px;
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
  text-decoration: none;
}
.m-tab svg {
  width: 22px;
  height: 22px;
  stroke: #8f8f8f;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.2s, transform 0.2s;
}
.m-tab.is-active {
  color: var(--pink);
}
.m-tab.is-active svg {
  stroke: var(--pink);
}
.m-tab.is-active::after {
  content: "";
  position: absolute;
  bottom: 4px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--pink);
}
.m-tab--action {
  padding-bottom: 2px;
}
.m-tab--action .m-action-circle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--pink);
  display: grid;
  place-items: center;
  box-shadow: 0 0 16px rgba(252, 98, 153, 0.4);
}
.m-tab--action .m-action-circle svg {
  width: 18px;
  height: 18px;
  stroke: #160a10;
  stroke-width: 2.5;
}
.m-tab--action.is-active {
  color: var(--pink);
}


.m-hdr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 60px;
  padding-top: 10px;
}
.m-hdr__logo {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 28px;
  letter-spacing: 0.08em;
  color: #fff;
}
.m-hdr__tag {
  font-size: 14px;
  color: #8f8f8f;
}
.m-hdr__tag.pink {
  color: var(--pink);
}


.m-sec-home {
  padding: 24px 0 60px;
  text-align: center;
}
.m-city-pill {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  letter-spacing: 0.16em;
  color: #cfc9c1;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.pink-dash {
  display: inline-block;
  width: 34px;
  height: 2px;
  background: var(--pink);
  vertical-align: middle;
}
.m-sec-home h1 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(72px, 18vw, 110px);
  line-height: 0.85;
  letter-spacing: -0.01em;
  color: #f1ebe3;
}
.m-sec-home .m-sub {
  font-family: var(--sans);
  font-weight: 300;
  font-size: 14px;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: #e6e0d8;
  margin-top: 18px;
  display: block;
}
.m-hero-cham {
  width: 100%;
  max-width: 380px;
  height: auto;
  margin: 20px auto 30px;
}
.m-trust-h {
  font-size: 22px;
  line-height: 1.25;
  color: #f1ebe3;
  margin-bottom: 28px;
  text-align: left;
}
.m-trust-h b {
  font-weight: 600;
}
.m-trust-logos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px 16px;
  align-items: center;
  justify-items: center;
}
.m-trust-logos img {
  max-height: 44px;
  width: auto;
  opacity: 0.95;
}
.m-trust-logos .rts-item {
  grid-column: 1 / -1;
  margin-top: 6px;
}
.m-trust-logos .rts-item img {
  max-height: 26px;
}

.m-home-cta {
  margin-top: 48px;
  text-align: left;
}
.m-home-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  letter-spacing: 0.2em;
  color: var(--pink);
  text-transform: uppercase;
  margin-bottom: 14px;
}
.m-home-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-radius: 16px;
  border: 1px solid #1f1f21;
  background: #09090b;
  cursor: pointer;
}
.m-home-card .left {
  display: flex;
  align-items: center;
  gap: 16px;
  font-weight: 500;
  font-size: 17px;
  color: #fff;
}
.m-home-card .icon-box {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #141416;
  border: 1px solid #232325;
  display: grid;
  place-items: center;
}
.m-home-card .icon-box svg {
  width: 20px;
  height: 20px;
  stroke: #9a9a9a;
}
.m-home-card .arr {
  color: var(--pink);
  font-size: 20px;
}


.m-sec-services {
  padding: 40px 0 60px;
}
.m-sec-title {
  font-weight: 600;
  font-size: 36px;
  letter-spacing: -0.02em;
  color: #f4f4f4;
  margin: 12px 0 28px;
}
.m-dir-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.m-dir-tile {
  background: #09090b;
  border: 1px solid #1f1f21;
  border-radius: 16px;
  padding: 20px 16px;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.25s, box-shadow 0.25s;
  min-height: 124px;
  display: flex;
  flex-direction: column;
}
.m-dir-tile.is-active {
  border-color: rgba(63, 209, 193, 0.7);
  box-shadow: 0 0 16px rgba(63, 209, 193, 0.15);
}
.m-dir-tile .icon-box {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #121214;
  border: 1px solid #232325;
  display: grid;
  place-items: center;
  margin-bottom: 14px;
}
.m-dir-tile .icon-box svg {
  width: 20px;
  height: 20px;
  stroke: #bdbdbd;
}
.m-dir-tile.is-active .icon-box {
  border-color: var(--cyan);
}
.m-dir-tile.is-active .icon-box svg {
  stroke: var(--cyan);
}
.m-dir-tile b {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: #f4f4f4;
  line-height: 1.3;
}
.m-dir-tile small {
  font-size: 13px;
  color: #7a7a7a;
  margin-top: 4px;
  display: block;
}
.m-dir-tile.is-active small {
  color: var(--cyan);
}


.m-sheet {
  position: fixed;
  inset: 0;
  z-index: 150;
  display: none;
  align-items: flex-end;
}
.m-sheet.is-open {
  display: flex;
}
.m-sheet-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(8px);
}
.m-sheet-body {
  position: relative;
  z-index: 2;
  width: 100%;
  max-height: 85vh;
  background: #0d0d10;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px 24px 0 0;
  padding: 16px 20px 40px;
  overflow-y: auto;
  box-shadow: 0 -20px 60px rgba(0, 0, 0, 0.95);
  animation: sheet-up 0.35s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes sheet-up {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
.m-sheet-handle {
  width: 44px;
  height: 4px;
  border-radius: 2px;
  background: #3a3a3d;
  margin: 0 auto 20px;
}
.m-sheet-title {
  font-weight: 600;
  font-size: 26px;
  color: #f4f4f4;
}
.m-sheet-sub {
  font-size: 14px;
  color: #8f8f8f;
  margin: 4px 0 20px;
}
.m-sheet-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.m-sheet-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-radius: 12px;
  border: 1px solid #1d1d20;
  background: #080809;
  font-size: 15px;
  color: #cfc9c1;
  text-decoration: none;
  min-height: 52px;
}
.m-sheet-item:active, .m-sheet-item:hover {
  background: #141416;
  color: #fff;
  border-color: var(--pink);
}
.m-sheet-item .arr {
  color: #7a7a7a;
  font-size: 16px;
}


.m-sec-codex {
  padding: 50px 0 60px;
}
.m-codex-kicker {
  font-size: 13px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--pink);
  margin-bottom: 8px;
  display: block;
}
.m-codex-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 24px;
}
.m-codex-card {
  border: 1px solid #1f1f21;
  border-radius: 14px;
  background: #09090b;
  overflow: hidden;
}
.m-codex-head {
  display: flex;
  align-items: center;
  padding: 18px 20px;
  cursor: pointer;
  min-height: 60px;
}
.m-codex-n {
  font-family: var(--serif);
  font-size: 26px;
  width: 44px;
  color: #e6e0d8;
  border-right: 1px solid #232325;
  margin-right: 16px;
  flex: none;
}
.m-codex-t {
  font-size: 16px;
  font-weight: 500;
  color: #f4f4f4;
  flex: 1;
  line-height: 1.3;
}
.m-codex-arr {
  color: #7a7a7a;
  font-size: 18px;
  margin-left: 12px;
  transition: transform 0.25s, color 0.25s;
}
.m-codex-card.is-open .m-codex-arr {
  transform: rotate(90deg);
  color: var(--pink);
}
.m-codex-body {
  padding: 0 20px 20px 80px;
  font-size: 14px;
  line-height: 1.6;
  color: #a1a1a1;
  display: none;
}
.m-codex-card.is-open .m-codex-body {
  display: block;
}

.m-statement-box {
  margin-top: 60px;
  text-align: left;
}
.m-statement-h {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(38px, 9vw, 54px);
  line-height: 1.05;
  color: #f4f4f4;
  margin-top: 18px;
}


.m-sec-journal {
  padding: 50px 0 60px;
}
.m-feat-card {
  border: 1px solid #1f1f21;
  border-radius: 18px;
  overflow: hidden;
  background: #09090b;
  display: block;
  text-decoration: none;
  margin-bottom: 16px;
}
.m-feat-img {
  aspect-ratio: 16/10;
  background-size: cover;
  background-position: center;
}
.m-feat-body {
  padding: 22px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.m-feat-body h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.35;
  color: #f4f4f4;
}
.m-feat-body .arr {
  color: var(--pink);
  font-size: 22px;
  flex: none;
}

.m-compact-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.m-compact-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid #1f1f21;
  border-radius: 14px;
  background: #09090b;
  text-decoration: none;
  min-height: 84px;
}
.m-compact-thumb {
  width: 90px;
  height: 60px;
  border-radius: 8px;
  background-size: cover;
  background-position: center;
  flex: none;
}
.m-compact-t {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  color: #e6e0d8;
  flex: 1;
}
.m-compact-bm {
  color: #6a6a6a;
  flex: none;
}
.m-compact-bm svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
}

.m-all-articles {
  margin-top: 24px;
  text-align: center;
}
.m-all-articles a {
  display: inline-block;
  font-size: 14px;
  color: #cfc9c1;
  border-bottom: 1px solid var(--pink);
  padding-bottom: 4px;
}


.m-sec-request {
  padding: 50px 0 60px;
}
.m-req-title {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(44px, 12vw, 64px);
  line-height: 1;
  letter-spacing: -0.01em;
  color: #f4f4f4;
  margin-bottom: 28px;
}
.m-form-card {
  background: #09090b;
  border: 1px solid #1f1f21;
  border-radius: 18px;
  padding: 26px 20px;
}
.m-sentence {
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.6;
  color: #f4f4f4;
}
.m-in {
  display: inline-block;
  background: transparent;
  font-family: inherit;
  font-size: 16px;
  color: inherit;
  border: none;
  border-bottom: 1.5px dashed var(--pink);
  padding: 2px 6px;
  margin: 0 2px;
  vertical-align: baseline;
  text-align: left;
}
.m-in::placeholder {
  color: #d98aa8;
  font-style: italic;
}
.m-in--sel {
  color: #d98aa8;
  cursor: pointer;
  position: relative;
  font-style: italic;
}
.m-in--sel.has-val {
  color: #ffffff;
  font-style: normal;
  border-bottom-style: solid;
}
.m-in--name {
  width: 130px;
}
.m-in--tel {
  width: 170px;
}

.m-task-chips-sec {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px dashed #232325;
}
.m-task-lbl {
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #7a7a7a;
  display: block;
  margin-bottom: 12px;
}
.m-chips-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.m-chip {
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #232325;
  background: #0f0f12;
  font-size: 13px;
  color: #bdbdbd;
  cursor: pointer;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.m-chip.is-active {
  background: #2a1520;
  border-color: #7a2f4f;
  color: #fff;
}

.m-submit-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 56px;
  padding: 0 24px;
  border-radius: 999px;
  background: #ffffff;
  color: #000000;
  font-weight: 600;
  font-size: 16px;
  margin-top: 24px;
  cursor: pointer;
}
.m-submit-btn .arr {
  color: var(--pink);
  font-size: 20px;
}
.m-submit-btn:disabled {
  opacity: 0.6;
}

.m-contacts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 20px;
  margin-top: 32px;
  font-size: 14px;
}
.m-contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #cfc9c1;
}
.m-contact-item svg {
  width: 16px;
  height: 16px;
  stroke: #7a7a7a;
  flex: none;
}


.m-spheres-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}
.m-sphere-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid #1f1f21;
  background: #080809;
  font-size: 15px;
  color: #d6d6d6;
  cursor: pointer;
  min-height: 52px;
}
.m-sphere-card .left {
  display: flex;
  align-items: center;
  gap: 10px;
}
.m-sphere-card svg {
  width: 18px;
  height: 18px;
  stroke: #8f8f8f;
}
.m-sphere-card.is-active {
  border-color: var(--cyan);
  background: #091316;
  color: #fff;
}
.m-sphere-card.is-active svg {
  stroke: var(--cyan);
}
.m-sphere-check {
  color: var(--cyan);
  display: none;
}
.m-sphere-card.is-active .m-sphere-check {
  display: block;
}


.m-footer {
  padding-top: 30px;
  border-top: 1px solid #161618;
  font-size: 12px;
  color: #5f5f5f;
  text-align: center;
}



.st__h .st__l1,.st__h .st__l2{background:linear-gradient(180deg,#fff 25%,#8a8a8a 115%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.r-ft__legal{padding-top:80px;padding-bottom:50px}
.bf p.bf__s .select-wrapper{font-size:inherit}
@media (max-width:1023px){
  .m-hdr{display:none}
  .m-sec-home{text-align:left;padding:28px 0 40px;position:relative;overflow:hidden}
  .m-city-pill{text-transform:none;letter-spacing:.08em;font-size:13px;margin-bottom:14px}
  .m-wordmark{position:relative;z-index:2}
  .m-wordmark .w{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(88px,26vw,128px);line-height:.82;letter-spacing:-.01em;color:#f1ebe3}
  .m-wordmark .m-sub{font-family:var(--sans);font-weight:300;font-size:12px;letter-spacing:.5em;text-transform:none;color:#e6e0d8;margin-top:16px;display:block}
  .m-hero-cham{display:block;width:118%;max-width:none;margin:-10px -8% 8px auto;position:relative;z-index:1}
  .m-trust-h{font-weight:500;font-size:24px;letter-spacing:-.02em}
  .m-trust-h b{font-weight:500;color:#fff}
}
.r-ft__legal{max-width:calc(var(--max) + var(--pad) * 2);margin-left:auto;margin-right:auto;padding-left:var(--pad);padding-right:var(--pad)}
.nav span,.nav a{white-space:nowrap}
@media (min-width:1024px) and (max-width:1279px){
  .hdr .wrap{gap:24px}
  .nav{gap:16px;font-size:13px}
  .nav span.dd::after{margin-left:6px}
  .pill{padding:11px 18px;font-size:13px}
}


@media (min-width:1024px){
  .hero{height:100svh;min-height:660px;max-height:1240px}
  .hero__copy{top:calc(70px + 11vh)}
  .hero h1 .w{font-size:min(var(--wm,300px),25vh)}
  .hero h1 .s{margin-top:min(44px,4vh)}
  .hero__city{margin-top:min(72px,6vh)}
  .hero__cham{height:min(900px,82vh);top:max(90px,12vh)}
  .trust{bottom:max(40px,6vh)}
  .trust__row{margin-top:min(40px,3.5vh)}
  .trust__row img{max-height:min(80px,7vh);width:auto}
}
@media (min-width:1024px) and (max-width:1279px){:root{--wm:170px}}
@media (min-width:1280px) and (max-width:1599px){:root{--wm:240px}}
@media (min-width:1600px) and (max-width:2199px){:root{--wm:300px}}
@media (min-width:2200px){
  :root{--wm:340px}
  .hero__cham{height:min(1100px,84vh)}
  .hdr .wrap{height:120px}
  .hdr .logo{font-size:40px}
  .hdr .nav{gap:46px}
  .hdr .nav span,.hdr .nav a{font-size:18px}
  .hdr .phone{font-size:18px}
  .hdr .pill{font-size:18px;padding:17px 32px}
  .label{font-size:15px}
}
@media (min-width:1024px) and (max-width:1439px){
  .hdr .phone{display:none}
  .hdr .wrap{gap:22px}
  .nav{gap:14px;font-size:13px}
  .pill{padding:10px 16px;font-size:13px}
}
@media (max-width:1023px){
  .m-sec-title{line-height:1.08}
  .m-sentence{font-size:26px;line-height:1.75}
  .m-in{font-size:22px;background:rgba(252,98,153,.12);border-radius:6px 6px 0 0;padding:0 8px}
  .m-in--sel.has-val{background:transparent}
  .m-in--name{width:160px}
  .m-in--tel{width:230px}
}






.hero__cham{max-height:978px}
.hero__cham-img{display:block;height:100%;width:auto}
.cham-eye{position:absolute;left:27.885%;top:32.72%;width:17.692%;aspect-ratio:1;border-radius:50%;overflow:hidden;
  -webkit-mask-image:radial-gradient(circle,#000 58%,transparent 71%);mask-image:radial-gradient(circle,#000 58%,transparent 71%);pointer-events:none}
.cham-eye img{position:absolute;left:-20.65%;top:-20.65%;width:141.3%;height:auto;max-width:none;will-change:transform}
.hero h1 .w i{font-style:normal;display:inline-block;animation:wm-in 1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 70ms + .1s)}
@keyframes wm-in{from{opacity:0;transform:translateY(38%);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}


.dsw__hint{display:inline-flex;align-items:center;gap:10px}
.dsw__hint i{width:7px;height:7px;border-radius:50%;background:var(--pink);animation:hint-dot 1.8s ease-out infinite}
@keyframes hint-dot{0%{box-shadow:0 0 0 0 rgba(252,98,153,.55)}100%{box-shadow:0 0 0 10px rgba(252,98,153,0)}}
#directions.is-manual .dsw__hint i{animation:none;background:#3a3a3d}
.dtab{transition:background .3s,box-shadow .3s,color .3s,transform .3s cubic-bezier(.2,.8,.2,1)}
.dtab:not(.on){background-image:linear-gradient(110deg,transparent 35%,rgba(252,98,153,.13) 50%,transparent 65%);background-size:260% 100%;background-repeat:no-repeat;
  animation:tab-sheen 6s ease-in-out infinite}
.dtab:not(.on):nth-child(2){animation-delay:.25s}
.dtab:not(.on):nth-child(3){animation-delay:.5s}
.dtab:not(.on):nth-child(4){animation-delay:.75s}
@keyframes tab-sheen{0%,70%{background-position:130% 0}100%{background-position:-30% 0}}
#directions.is-manual .dtab:not(.on){animation:none;background-image:none}
.dtab:not(.on):hover{transform:translateY(-3px)}
.dtab__go{margin-left:auto;font-size:18px;color:#5a5a5e;transition:transform .3s,color .3s,opacity .3s}
.dtab:hover .dtab__go{transform:translateX(5px);color:var(--pink)}
.dtab.on .dtab__go{opacity:0}
.svc li{cursor:pointer}
.svc__card.is-swap{animation:card-swap .45s cubic-bezier(.2,.8,.2,1)}
@keyframes card-swap{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}


.spot{position:relative}
.spot-glow{position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .35s;z-index:0;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(252,98,153,.14),rgba(252,98,153,.04) 35%,transparent 60%)}
.spot:hover .spot-glow{opacity:1}
.spot > *:not(.spot-glow):not(.prog){position:relative;z-index:1}
.win.spot:hover,.jcard.spot:hover,.bf__sheet.spot:hover{border-color:rgba(252,98,153,.35)}
.pill,.btn-g,.bf__btn{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background .3s,color .3s,border-color .3s}


.st--mid{overflow:hidden;min-height:620px;display:flex;align-items:center}
.st--mid > .w2{position:relative;z-index:2;width:100%}
.gecko-run{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.gecko{position:absolute;left:0;top:0;width:170px;aspect-ratio:360/810;opacity:.92;
  animation:gk-path 15s linear infinite paused;filter:drop-shadow(0 18px 30px rgba(0,0,0,.8))}
.gk{position:absolute;inset:0;width:100%;height:100%}
.gk-body{transform-origin:50% 40%;animation:gk-wiggle .36s ease-in-out infinite paused}
.gk-fl{transform-origin:42.2% 26.2%;animation:gk-leg-a .36s ease-in-out infinite paused}
.gk-hr{transform-origin:47.8% 59.9%;animation:gk-leg-a .36s ease-in-out infinite paused}
.gk-fr{transform-origin:64.4% 25.7%;animation:gk-leg-b .36s ease-in-out infinite paused}
.gk-hl{transform-origin:40.3% 52.5%;animation:gk-leg-b .36s ease-in-out infinite paused}
.gk-tail{transform-origin:36.1% 61.1%;animation:gk-tail .36s ease-in-out infinite paused}
.gecko-run.is-running .gecko,.gecko-run.is-running .gk{animation-play-state:running}
@keyframes gk-leg-a{0%,100%{transform:rotate(-22deg)}50%{transform:rotate(20deg)}}
@keyframes gk-leg-b{0%,100%{transform:rotate(20deg)}50%{transform:rotate(-22deg)}}
@keyframes gk-wiggle{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes gk-tail{0%,100%{transform:rotate(9deg)}50%{transform:rotate(-9deg)}}
@keyframes gk-path{
  0%{transform:translate(-18vw,700px) rotate(52deg)}
  22%{transform:translate(18vw,430px) rotate(58deg)}
  30%{transform:translate(28vw,380px) rotate(76deg)}
  40%{transform:translate(46vw,330px) rotate(70deg)}
  52%{transform:translate(70vw,190px) rotate(48deg)}
  66%{transform:translate(112vw,-160px) rotate(54deg)}
  100%{transform:translate(112vw,-160px) rotate(54deg)}
}


.bf .listbox-popup{background:#f4f1ec;border:none;border-radius:14px;padding:6px;min-width:300px;
  box-shadow:0 24px 60px -10px rgba(0,0,0,.85),0 0 0 1px rgba(0,0,0,.06)}
.bf .listbox-head{display:block;padding:10px 14px 6px;font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8a837a}
.bf .listbox-option{font-family:var(--sans);font-size:16px;font-weight:500;color:#141210;padding:11px 14px;border-radius:9px;justify-content:space-between}
.bf .listbox-option:hover,.bf .listbox-option.is-focused,.bf .listbox-option:focus{background:#e7e1d7;color:#000;outline:none}
.bf .listbox-option[aria-selected="true"]{background:transparent;color:#000;font-weight:700}
.bf .listbox-option[aria-selected="true"]::after{content:"\2713";color:var(--pink);font-weight:700}
.bf .bf__drop span:not(.bf__dk){font-family:var(--sans)}
.bf .in--opt{font-style:normal}


.soc a{width:42px;height:42px;background:#fff;color:#000;border:none}
.soc a svg{width:21px;height:21px}
.soc a:hover,.soc a:focus-visible{background:#fff;color:#000;box-shadow:0 0 0 4px rgba(252,98,153,.25),0 0 22px rgba(252,98,153,.5)}
.status{display:none!important}


.wa-float{position:fixed;right:28px;bottom:28px;z-index:90;width:62px;height:62px;border-radius:50%;background:#fff;color:#000;
  display:grid;place-items:center;box-shadow:0 14px 34px -8px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.2)}
.wa-float svg{width:32px;height:32px}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.55);animation:wa-ring 2.6s ease-out infinite}
@keyframes wa-ring{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.55);opacity:0}}
.wa-float:hover{box-shadow:0 0 0 5px rgba(252,98,153,.25),0 14px 40px -6px rgba(252,98,153,.55)}


@keyframes m-cham-in{from{opacity:0;transform:translateX(12%) scale(1.04)}to{opacity:1;transform:none}}
@keyframes chip-nudge{0%{transform:none}40%{transform:translateY(-6px);border-color:var(--pink)}100%{transform:none}}
@keyframes gk-path-m{
  0%{transform:translate(-30vw,420px) rotate(46deg)}
  30%{transform:translate(30vw,250px) rotate(56deg)}
  40%{transform:translate(42vw,220px) rotate(74deg)}
  62%{transform:translate(118vw,-120px) rotate(52deg)}
  100%{transform:translate(118vw,-120px) rotate(52deg)}
}
@media (max-width:1023px){
  .wa-float{right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 104px);width:54px;height:54px}
  .wa-float svg{width:28px;height:28px}
  .m-sec-home{padding-top:calc(env(safe-area-inset-top,0px) + 64px)}
  .m-hero-cham{display:block;position:relative;width:118%;margin:-10px -8% 8px auto;z-index:1;will-change:transform}
  .m-hero-cham-img{display:block;width:100%;height:auto;animation:m-cham-in 1.1s cubic-bezier(.2,.8,.2,1) both .15s}
  .m-wordmark .w{animation:wm-in 1s cubic-bezier(.2,.8,.2,1) both}
  .m-wordmark .m-sub{animation:wm-in 1s cubic-bezier(.2,.8,.2,1) both .25s}
  .m-city-pill{animation:wm-in .8s cubic-bezier(.2,.8,.2,1) both}
  .m-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.8,.2,1) var(--d,0ms),transform .7s cubic-bezier(.2,.8,.2,1) var(--d,0ms)}
  .m-reveal.is-in{opacity:1;transform:none}
  .m-dir-tile,.m-codex-head,.m-chip,.m-sheet-item,.m-feat-card,.m-compact-card{transition:transform .18s,border-color .25s,background .25s}
  .m-dir-tile:active,.m-chip:active,.m-feat-card:active,.m-compact-card:active,.m-codex-head:active{transform:scale(.97)}
  .m-dir-tile.is-active{box-shadow:0 0 0 4px rgba(63,209,193,.08),0 0 30px -6px rgba(63,209,193,.45)}
  .m-chips-wrap.is-nudged .m-chip{animation:chip-nudge .6s cubic-bezier(.2,.8,.2,1) both}
  .m-chips-wrap.is-nudged .m-chip:nth-child(2){animation-delay:.05s}
  .m-chips-wrap.is-nudged .m-chip:nth-child(3){animation-delay:.1s}
  .m-chips-wrap.is-nudged .m-chip:nth-child(4){animation-delay:.15s}
  .m-chips-wrap.is-nudged .m-chip:nth-child(5){animation-delay:.2s}
  .m-statement-box{position:relative;overflow:hidden;padding:30px 20px 150px;margin-left:-20px;margin-right:-20px}
  .m-statement-box > :not(.gecko-run){position:relative;z-index:2}
  .m-statement-box .gecko{width:96px;animation-name:gk-path-m;animation-duration:11s}
}
@media (min-width:1024px){.m-hero-cham{display:none}}
@media (prefers-reduced-motion:reduce){
  .gecko-run,.wa-float::before{display:none}
  .hero h1 .w i,.m-wordmark .w,.m-wordmark .m-sub,.m-city-pill,.m-hero-cham-img{animation:none}
  .m-reveal{opacity:1;transform:none}
}
.bf__sheet.spot > .bf__s{z-index:6}
.bf .select-wrapper{z-index:7}


.bf input.in{border:0;border-bottom:2px dashed var(--pink);border-radius:4px 4px 0 0;outline:none;-webkit-appearance:none;appearance:none}
.bf input.in:not(.in--empty){border-bottom:2px solid rgba(241,235,227,.55)}
.bf input.in:focus-visible{box-shadow:0 0 0 1px rgba(252,98,153,.7),0 0 26px rgba(252,98,153,.35)}
.bf button.in--sel{padding-right:54px!important}
.bf button.in--sel::after{right:14px!important}
@keyframes gk-path-m2{
  0%{transform:translate(-45vw,305px) rotate(84deg)}
  40%{transform:translate(40vw,285px) rotate(97deg)}
  50%{transform:translate(56vw,280px) rotate(82deg)}
  78%{transform:translate(125vw,295px) rotate(90deg)}
  100%{transform:translate(125vw,295px) rotate(90deg)}
}
@media (max-width:1023px){
  .m-statement-box{padding-bottom:210px}
  .m-statement-box .gecko{animation-name:gk-path-m2;animation-duration:10s}
  .m-in{border:0;border-bottom:1.5px dashed var(--pink);outline:none;-webkit-appearance:none;appearance:none}
}


:root{--ease-out:cubic-bezier(.16,1,.3,1)}
.rv{opacity:0;transition:opacity 1s var(--ease-out) var(--d,0ms),transform 1.15s var(--ease-out) var(--d,0ms),filter 1s var(--ease-out) var(--d,0ms)!important;will-change:transform,opacity}
.rv--up{transform:translateY(46px)}
.rv--left{transform:translateX(-36px)}
.rv--blur{transform:translateY(60px) scale(.96);filter:blur(10px)}
.rv--rise{transform:perspective(1600px) translateY(110px) rotateX(14deg) scale(.97);transform-origin:50% 0}
.rv.is-in{opacity:1;transform:none;filter:none}
.rv-lines .ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.rv-lines .ln > span{display:inline-block;transform:translateY(110%) rotate(2deg);transform-origin:0 100%;
  transition:transform 1.2s var(--ease-out) calc(var(--li,0) * 120ms + 80ms)}
.rv-lines.is-in .ln > span{transform:none}
.st__h.rv-lines .ln{text-align:center}
.hdr{animation:hdr-in 1s var(--ease-out) both .2s}
@keyframes hdr-in{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}
.hero__copy .s,.hero__city{animation:wm-in 1.1s var(--ease-out) both .75s}
.hero__city{animation-delay:.95s}
.hero__cham-img{animation:cham-in 1.6s var(--ease-out) both .2s}
@keyframes cham-in{from{opacity:0;transform:translateX(6%) scale(1.06);filter:blur(14px) saturate(.4)}to{opacity:1;transform:none;filter:none}}
.trust .label{animation:wm-in 1s var(--ease-out) both 1.1s}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1!important;transform:none!important;filter:none!important}
  .rv-lines .ln > span{transform:none}
  .hdr,.hero__copy .s,.hero__city,.hero__cham-img,.trust .label{animation:none}
}


.cham-eye{left:17.5%;top:21.677%;width:38.462%;aspect-ratio:1;border-radius:0;overflow:visible;
  -webkit-mask-image:radial-gradient(circle closest-side at 47.5% 50%,#000 50%,transparent 62%);
          mask-image:radial-gradient(circle closest-side at 47.5% 50%,#000 50%,transparent 62%)}
.cham-eye img{position:absolute;inset:0;left:0;top:0;width:100%;height:100%;max-width:none;transform:none!important;opacity:0;transition:none}
.cham-eye img[data-d="c"]{opacity:1;z-index:0}
.gecko-run .gecko{display:none}
.gecko2{position:absolute;left:0;top:0;width:150px;aspect-ratio:300/675;opacity:0;will-change:transform;transition:opacity .4s;
  filter:drop-shadow(0 16px 26px rgba(0,0,0,.85))}
.gk-sprite{position:absolute;inset:0;background:url(img/gecko-sprite.webp) 0 0/900% 100% no-repeat}
@media (max-width:1023px){.gecko2{width:84px}}
@media (min-width:2200px){.gecko2{width:190px}}


.st__h.rv-lines > br{display:none}
.st__h.rv-lines .ln{margin-bottom:0;padding-bottom:.08em}
@media (min-width:1024px){
  .r-sec{padding-top:110px;padding-bottom:26px}
  .st--mid{padding:130px 0 40px;min-height:470px}
  .bf{padding:110px 0 70px}
  .bf__alt{margin-top:36px}
  .r-ft{padding-top:72px}
  .r-ft__legal{margin-top:52px;padding-top:52px;padding-bottom:40px}
  .jc{margin-top:48px}
  .cx{margin-top:56px}
  .dsw{margin-top:44px}
}
@media (min-width:2200px){
  .r-sec{padding-top:130px}
  .st--mid{padding:150px 0 50px}
}


.hero__cham{transform:none!important}
.hero__cham-img{animation:cham-in 1.6s var(--ease-out) both .2s}

@keyframes m-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:1023px){
  .m-sec-home{
    min-height:100svh;height:100svh;
    display:flex;flex-direction:column;
    padding:calc(env(safe-area-inset-top,0px) + 58px) 0 calc(env(safe-area-inset-bottom,0px) + 104px);
    overflow:hidden;text-align:left;box-sizing:border-box}
  .m-sec-home > .m-container{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding-left:20px;padding-right:20px}
  .m-top{flex:none;position:relative;z-index:3}
  .m-city-pill{margin-bottom:10px;font-size:12px}
  .m-wordmark .w{font-size:min(27vw,15svh,128px);line-height:.84}
  .m-wordmark .m-sub{font-size:min(3.1vw,11px);letter-spacing:.46em;margin-top:min(14px,1.6svh)}
  .m-cham-stage{position:relative;flex:1 1 auto;min-height:0;margin:0 -20px;overflow:hidden}
  .m-hero-cham{position:absolute;right:-9%;bottom:0;height:106%;aspect-ratio:1040/978;width:auto;margin:0;z-index:1;
    -webkit-mask-image:linear-gradient(180deg,#000 74%,transparent 100%);mask-image:linear-gradient(180deg,#000 74%,transparent 100%);
    transform:none!important}
  .m-hero-cham-img{display:block;width:100%;height:100%;object-fit:contain}
  .m-trust{flex:none;position:relative;z-index:3;margin-top:min(10px,1.2svh)}
  .m-trust-h{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#bdb7ae;margin:0 0 12px;line-height:1.4;text-align:left}
  .m-marq{overflow:hidden;margin:0 -20px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
  .m-marq__in{display:flex;align-items:center;width:max-content;animation:m-marq 34s linear infinite}
  .m-marq--main .m-marq__in{gap:38px;padding-right:38px}
  .m-marq--main img{height:calc(var(--h) * .5px);width:auto;opacity:.96;flex:none}
  .m-marq--other{margin-top:14px}
  .m-marq--other .m-marq__in{gap:30px;padding-right:30px;animation-duration:46s;animation-direction:reverse}
  .m-marq--other img{height:20px;width:auto;opacity:.5;flex:none}
  .m-marq--other .tw{font-size:15px;opacity:.5;flex:none}
  .m-marq--other .tw small{font-size:7px}
  .m-trust-logos,.m-home-cta{display:none}
  .wa-float{bottom:calc(env(safe-area-inset-bottom,0px) + 112px)}
}
@media (max-width:1023px) and (max-height:700px){
  .m-wordmark .w{font-size:min(24vw,13svh)}
  .m-trust-h{margin-bottom:8px}
}
@media (prefers-reduced-motion:reduce){.m-marq__in{animation:none}}


@media (max-width:1023px){
  .m-hero-cham{left:-9%;right:auto;height:128%;bottom:-5%}
  .wa-float{transition:opacity .35s,transform .35s}
  body.m-at-home .wa-float{opacity:0;transform:scale(.6);pointer-events:none}
}


@media (max-width:1023px){
  .m-cham-stage{-webkit-mask-image:linear-gradient(180deg,#000 76%,transparent 100%);mask-image:linear-gradient(180deg,#000 76%,transparent 100%)}
  .m-hero-cham{--cw:min(112vw,640px);width:var(--cw);height:auto;aspect-ratio:1040/978;left:-9vw;right:auto;bottom:auto;top:calc(var(--cw) * -0.115);
    -webkit-mask-image:none;mask-image:none}
}


.cham-eye img{opacity:0;transition:none}
.cham-eye img.on{opacity:1}


@keyframes gk-path-m3 {
  0% { transform: translate(-45vw, 40px) rotate(84deg); }
  45% { transform: translate(38vw, 30px) rotate(94deg); }
  55% { transform: translate(52vw, 36px) rotate(82deg); }
  80%, 100% { transform: translate(125vw, 34px) rotate(90deg); }
}

@media (max-width: 1023px) {

  .m-sec-home {
    padding: calc(env(safe-area-inset-top, 0px) + 30px) 0 calc(env(safe-area-inset-bottom, 0px) + 104px);
  }
  .m-hero-cham {
    --cw: min(96vw, 540px);
    left: -4vw;
    top: calc(var(--cw) * -0.06);
  }


  #m-services,
  .m-sec-services {
    margin-top: -70px;
    padding-top: 16px;
  }
  #m-services .m-sec-title,
  .m-sec-services .m-sec-title {
    margin-top: 10px;
  }


  .m-statement-box {
    padding-bottom: 40px;
    overflow: visible;
  }
  .m-statement-box .gecko-run {
    top: auto;
    bottom: -30px;
    height: 150px;
  }
  .m-statement-box .gecko {
    animation-name: gk-path-m3;
  }
  .gecko2 {
    width: 70px;
  }
  #m-journal,
  .m-sec-journal {
    padding-top: 36px;
  }


  #m-request,
  .m-sec-request {
    padding-top: 10px;
    padding-bottom: 0;
  }


  .mobile-view {
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 100px);
  }
}

@media (max-width: 1023px) {
  .m-statement-box .gecko-run { height: 118px; bottom: -22px; }
  #m-journal, .m-sec-journal { padding-top: 26px; }
}


.hero__cham,.m-hero-cham{opacity:0}
.hero__cham.is-ready,.m-hero-cham.is-ready{animation:cham-fade 1.3s var(--ease-out) both}
@keyframes cham-fade{from{opacity:0;filter:blur(14px) saturate(.4)}to{opacity:1;filter:none}}
.hero__cham-img,.m-hero-cham-img{animation:none!important}
@media (scripting:none){.hero__cham,.m-hero-cham{opacity:1}}
@media (prefers-reduced-motion:reduce){.hero__cham,.m-hero-cham{opacity:1;animation:none!important}}
.m-sheet-body{overscroll-behavior:contain;touch-action:pan-y}
.m-sheet-handle{cursor:grab}




@media (max-width: 1023px) {
  .m-tabbar {
    height: 72px;
    padding-bottom: 8px;
  }
  .m-tab {
    padding-bottom: 8px;
  }
  .m-tab--action {
    padding-bottom: 2px;
  }
  .m-tab.is-active::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #fc6299;
    box-shadow: 0 0 6px rgba(252, 98, 153, 0.8), 0 0 10px rgba(252, 98, 153, 0.45);
  }
  .m-tab--action.is-active::after {
    display: none;
  }
}


@media (min-width: 1024px) {
  .cx-item {
    cursor: pointer;
    position: relative;
    outline: none;
  }
  .cx-item:focus-visible {
    outline: 2px solid #fc6299;
    outline-offset: -2px;
  }
  .cx__pm {
    position: absolute;
    top: 44px;
    right: 36px;
    width: 14px;
    height: 14px;
    display: block;
    pointer-events: none;
  }
  .cx__pm::before,
  .cx__pm::after {
    content: "";
    position: absolute;
    background: #8f8f8f;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.25s, opacity 0.25s;
  }

  .cx__pm::before {
    top: 50%;
    left: 0;
    right: 0;
    height: 1.5px;
    transform: translateY(-50%);
  }

  .cx__pm::after {
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1.5px;
    transform: translateX(-50%);
  }
  .cx-item:hover .cx__pm::before,
  .cx-item:hover .cx__pm::after {
    background: #fc6299;
  }
  .cx-item.is-open .cx__pm::before {
    background: #fc6299;
  }
  .cx-item.is-open .cx__pm::after {
    background: #fc6299;
    transform: translateX(-50%) rotate(90deg);
    opacity: 0;
  }
  .cx__more {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s;
    opacity: 0;
  }
  .cx__more > div {
    overflow: hidden;
  }
  .cx-item.is-open .cx__more {
    grid-template-rows: 1fr;
    opacity: 1;
  }
  .cx-item.is-open .cx__n {
    background: linear-gradient(180deg, #ffd3e3, #fc6299);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  .cx-item.is-open::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #fc6299, transparent);
  }
}


@media (max-width: 1023px) {
  .m-codex-body {
    display: block;
  }
  .m-codex-more {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
    opacity: 0;
  }
  .m-codex-more > div {
    overflow: hidden;
  }
  .m-codex-card.is-open .m-codex-more {
    grid-template-rows: 1fr;
    opacity: 1;
  }
  .m-codex-card.is-open .m-codex-arr {
    transform: rotate(90deg);
    color: #fc6299;
  }
}


@media (max-width: 1023px) {
  .m-dir-tile {
    position: relative;
    overflow: hidden;
  }
  .m-dir-tile > * {
    position: relative;
    z-index: 1;
  }

  .m-dir-tile::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 35%, rgba(252, 98, 153, 0.16) 50%, transparent 65%);
    transform: translateX(-120%);
    animation: m-dir-shimmer 5s ease-in-out infinite;
    pointer-events: none;
    z-index: 0;
  }
  @keyframes m-dir-shimmer {
    0% {
      transform: translateX(-120%);
    }
    50%, 100% {
      transform: translateX(120%);
    }
  }
  .m-dir-tile:nth-child(1)::before { animation-delay: 0s; }
  .m-dir-tile:nth-child(2)::before { animation-delay: 0.5s; }
  .m-dir-tile:nth-child(3)::before { animation-delay: 1.0s; }
  .m-dir-tile:nth-child(4)::before { animation-delay: 1.5s; }


  .m-dir-go {
    position: absolute;
    bottom: 14px;
    right: 14px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: #121214;
    color: #7a7a7a;
    font-size: 14px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    pointer-events: none;
    animation: m-go-nudge 1.8s ease-in-out infinite;
  }
  @keyframes m-go-nudge {
    0%, 100% {
      transform: translateX(0);
      color: #7a7a7a;
      border-color: rgba(255, 255, 255, 0.12);
    }
    50% {
      transform: translateX(4px);
      color: #fc6299;
      border-color: rgba(252, 98, 153, 0.5);
    }
  }
  .m-dir-tile:nth-child(1) .m-dir-go { animation-delay: 0s; }
  .m-dir-tile:nth-child(2) .m-dir-go { animation-delay: 0.25s; }
  .m-dir-tile:nth-child(3) .m-dir-go { animation-delay: 0.5s; }
  .m-dir-tile:nth-child(4) .m-dir-go { animation-delay: 0.75s; }


  .m-dir-hint {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #8f8f8f;
    text-align: left;
    margin-top: 14px;
    line-height: 1.4;
  }
  .m-dir-hint i {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fc6299;
    flex: none;
    animation: m-hint-dot 1.8s ease-out infinite;
  }
  @keyframes m-hint-dot {
    0% {
      box-shadow: 0 0 0 0 rgba(252, 98, 153, 0.55);
    }
    100% {
      box-shadow: 0 0 0 10px rgba(252, 98, 153, 0);
    }
  }


  body.m-dirs-touched .m-dir-tile::before {
    animation: none;
    opacity: 0;
  }
  body.m-dirs-touched .m-dir-go {
    animation: none;
  }
  body.m-dirs-touched .m-dir-hint i {
    animation: none;
    background: #3a3a3d;
  }
}


@media (prefers-reduced-motion: reduce) {
  .cx__more,
  .cx__pm::before,
  .cx__pm::after,
  .m-codex-more,
  .m-codex-arr {
    transition: none !important;
  }
  .m-dir-tile::before {
    animation: none !important;
    opacity: 0 !important;
  }
  .m-dir-go {
    animation: none !important;
  }
  .m-dir-hint i {
    animation: none !important;
  }
}


@media (min-width: 1024px) {
  .cx .cx-item > .cx__pm { position: absolute !important; top: 44px; right: 36px; z-index: 2; }
}


@media (max-width: 1023px) {
  .m-hero-cham { --cw: min(100vw, 560px); left: auto; right: calc(var(--cw) * -0.06); }
}


@media (max-width: 1023px) {
  .m-dir-hint { display: none !important; }

  .m-dir-tile::before {
    background: linear-gradient(115deg, transparent 32%, rgba(252, 98, 153, 0.34) 50%, transparent 68%);
    animation: m-dir-shimmer2 3.6s ease-in-out infinite;
  }
  @keyframes m-dir-shimmer2 { 0% { transform: translateX(-130%); } 55%, 100% { transform: translateX(130%); } }
  .m-dir-tile:nth-child(1)::before { animation-delay: 0s; }
  .m-dir-tile:nth-child(2)::before { animation-delay: .45s; }
  .m-dir-tile:nth-child(3)::before { animation-delay: .9s; }
  .m-dir-tile:nth-child(4)::before { animation-delay: 1.35s; }

  .m-dir-tile { animation: m-tile-glow 6.4s ease-in-out infinite; }
  .m-dir-tile:nth-child(1) { animation-delay: 0s; }
  .m-dir-tile:nth-child(2) { animation-delay: 1.6s; }
  .m-dir-tile:nth-child(3) { animation-delay: 4.8s; }
  .m-dir-tile:nth-child(4) { animation-delay: 3.2s; }
  @keyframes m-tile-glow {
    0%, 30%, 100% { border-color: #1d1d1f; box-shadow: 0 0 0 0 rgba(252, 98, 153, 0); }
    10%, 20% { border-color: rgba(252, 98, 153, 0.75); box-shadow: 0 0 0 4px rgba(252, 98, 153, 0.12), 0 0 28px -4px rgba(252, 98, 153, 0.6); }
  }

  .m-dir-go {
    width: 34px; height: 34px; font-size: 16px;
    border-color: rgba(252, 98, 153, 0.55); color: #fc6299;
    background: rgba(252, 98, 153, 0.10);
    animation: m-go-nudge2 1.6s ease-in-out infinite;
  }
  @keyframes m-go-nudge2 {
    0%, 100% { transform: translateX(0); box-shadow: 0 0 0 0 rgba(252, 98, 153, 0.5); }
    50% { transform: translateX(4px); box-shadow: 0 0 0 9px rgba(252, 98, 153, 0); }
  }
  body.m-dirs-touched .m-dir-tile { animation: none; }
  body.m-dirs-touched .m-dir-tile::before { animation: none; opacity: 0; }
  body.m-dirs-touched .m-dir-go { animation: none; border-color: rgba(255, 255, 255, 0.14); color: #7a7a7a; background: #121214; }
  body.m-dirs-touched .m-dir-tile.is-active { border-color: rgba(63, 209, 193, 0.6); }
}
@media (max-width: 1023px) and (prefers-reduced-motion: reduce) {
  .m-dir-tile, .m-dir-tile::before, .m-dir-go { animation: none !important; }
}


@media (max-width: 1023px) {
  .m-cham-stage { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
}
