@font-face {
  font-family:Helvetica Neue;
  src:url('assets/fonts/helvetica-neue-300.woff2') format('woff2');
  font-weight:300;
  font-display:swap
}
@font-face {
  font-family:Helvetica Neue;
  src:url('assets/fonts/helvetica-neue-400.woff2') format('woff2');
  font-weight:400;
  font-display:swap
}
@font-face {
  font-family:Helvetica Neue;
  src:url('assets/fonts/helvetica-neue-500.woff2') format('woff2');
  font-weight:500;
  font-display:swap
}
@font-face {
  font-family:Helvetica Neue;
  src:url('assets/fonts/helvetica-neue-700.woff2') format('woff2');
  font-weight:700;
  font-display:swap
}
:root {
  --orange:#ff7f00;
  --peach:#fff1e3;
  --container:1112px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px
}
body {
  margin:0;
  color:#000;
  background:#fff;
  font-family:Helvetica Neue,Helvetica,Arial,sans-serif;
  font-size:18px;
  -webkit-font-smoothing:antialiased
}
h1,h2,h3,p {
  margin:0
}
h2 {
  font-size:40px;
  line-height:1;
  font-weight:400
}
h3 {
  font-size:24px;
  line-height:26px;
  font-weight:500
}
p {
  line-height:20px
}
button,input,a {
  -webkit-tap-highlight-color:transparent
}
button,input {
  font:inherit;
  color:inherit
}
button {
  cursor:pointer;
  background:none;
  border:0;
  padding:0
}
a {
  color:inherit;
  text-decoration:none
}
img {
  display:block;
  max-width:100%;
  height:auto
}
button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:5px
}
.container {
  width:min(var(--container),calc(100% - 64px));
  margin-inline:auto
}
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap
}
.header {
  background:#fcfaf8
}
.header-inner {
  height:132px;
  display:flex;
  align-items:center;
  gap:42px;
  padding-left:5px
}
.brand {
  display:block;
  flex:none;
  width:273px
}
.location {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:24px;
  font-weight:500;
  white-space:nowrap
}
.location svg {
  width:18px;
  height:24px;
  fill:var(--orange);
  flex:none
}
.account-nav {
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:37px;
  font-size:24px;
  font-weight:500
}
.register {
  border:.5px solid #a7a7a7;
  border-radius:30px;
  height:59px;
  min-width:228px;
  display:flex;
  gap:22px;
  align-items:center;
  justify-content:center
}
.arrow {
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:38px;
  line-height:1
}
.register .arrow {
  font-size:24px
}
.menu-toggle,.mobile-menu {
  display:none
}
.hero {
  padding-top:60px;
  display:grid;
  grid-template-columns:1fr 476px;
  column-gap:48px;
  row-gap:61px
}
.hero-copy {
  margin-top:-11px
}
.hero h1 {
  font-size:70px;
  line-height:70px;
  font-weight:500;
  letter-spacing:-1.4px
}
.hero-stat {
  font-size:32px;
  line-height:35px;
  margin-top:33px
}
.hero-promo {
  position:relative;
  height:326px;
  border-radius:58px;
  overflow:hidden;
  background:#fff0e2
}
.hero-glow {
  position:absolute;
  inset:0;
  width:100%;
  height:100%
}
.hero-promo .hero-contract {
  position:absolute;
  width:327px;
  height:auto;
  max-width:none;
  left:50%;
  top:60px;
  transform:rotate(20.5deg);
  transform-origin:top left
}
.hero-promo>div {
  position:relative;
  padding:34px 44px
}
.hero-promo h2 {
  font-size:32px;
  line-height:35px;
  font-weight:500
}
.hero-promo p {
  font-size:22px;
  line-height:26px;
  margin-top:16px
}
.light {
  font-weight:300
}
.search-form {
  grid-column:1/-1;
  display:flex;
  gap:37px
}
.search-form input {
  min-width:0;
  flex:1;
  border:0;
  border-radius:30px;
  background:#f8efe9;
  padding:0 41px;
  font-size:22px;
  font-weight:400;
  height:86px
}
.search-form input::placeholder {
  color:#59514c;
  opacity:1
}
.button {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 39px;
  height:86px;
  border-radius:43px;
  font-size:28px;
  line-height:1;
  font-weight:500;
  white-space:nowrap
}
.search-form .button {
  width:345px;
  flex:none
}
.orange {
  background:var(--orange);
  color:#fff
}
.orange:hover {
  background:#e87100
}
.white {
  background:#fff
}
.white:hover {
  background:#fff8f2
}
.benefits {
  padding-top:66px
}
.benefits>h2 {
  padding-left:5px;
  line-height:35px
}
.benefit-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:52px;
  padding-left:5px
}
.benefit-art {
  height:146px;
  display:flex;
  align-items:flex-end;
  margin-bottom:28px
}
.benefit-grid article:nth-child(1) .benefit-art {
  padding-left:6px
}
.benefit-grid article:nth-child(2) .benefit-art {
  padding-left:29px
}
.benefit-grid article:nth-child(3) .benefit-art {
  padding-left:9px
}
.benefit-grid p {
  margin-top:14px;
  font-size:18px;
  line-height:20px
}
.business-pairs {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 23px;
  margin-top:68px
}
.pair {
  height:90px;
  border-radius:30px;
  background:var(--peach);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  font-size:24px;
  font-weight:500;
  white-space:nowrap
}
.pair span {
  font-weight:400
}
.pair-outline {
  background:#fff;
  border:1px solid #000
}
.city {
  padding-top:74px
}
.city>h2 {
  padding-left:5px;
  white-space:nowrap
}
.wordmark>span {
  font-weight:300
}
.wordmark b {
  font-weight:700
}
.city-banner {
  height:442px;
  border-radius:58px;
  background:#f4dfd0;
  margin-top:43px;
  position:relative;
  overflow:hidden
}
.city-art {
  position:absolute;
  width:658px;
  height:auto;
  max-width:none;
  right:0;
  top:-148px
}
.city-copy {
  position:relative;
  padding:59px;
  z-index:1
}
.city-copy h3 {
  font-size:32px;
  line-height:32px
}
.city-copy p {
  font-size:24px;
  line-height:26px;
  margin-top:32px
}
.city-copy .button {
  width:349px;
  height:79px;
  border-radius:30px;
  margin-top:48px;
  font-size:22px;
  padding:0 25px
}
.city-copy .arrow {
  font-size:37px
}
.city-signature {
  display:flex;
  align-items:center;
  gap:27px;
  margin-top:25px;
  font-size:24px
}
.small-location {
  font-size:18px;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:4px
}
.small-location svg {
  width:12px;
  height:16px;
  fill:#000
}
.city-offers {
  position:absolute;
  width:379px;
  height:258px;
  right:53px;
  top:92px;
  z-index:1
}
.how {
  padding-top:70px
}
.how>h2,.reviews>h2 {
  padding-left:8px
}
.card-track {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  padding-left:6px
}
.steps {
  margin-top:49px
}
.step-art {
  width:100%;
  aspect-ratio:351/387
}
.steps h3 {
  margin-top:25px;
  padding-left:2px
}
.steps p {
  font-size:18px;
  line-height:20px;
  margin-top:14px
}
.reviews {
  padding-top:77px
}
.review-track {
  margin-top:42px
}
.review-card {
  height:519px;
  background:var(--peach);
  border-radius:45px;
  padding:18px 26px 26px;
  overflow:hidden
}
.review-photo {
  width:100%;
  aspect-ratio:299/332;
  object-fit:cover;
  border-radius:45px
}
.review-author {
  display:flex;
  gap:7px;
  align-items:center;
  margin-top:16px
}
.review-author img {
  border-radius:50%;
  width:32px;
  height:32px
}
.review-author h3 {
  font-size:14px;
  line-height:16px
}
.review-author small {
  font-size:10px;
  line-height:12px;
  display:block
}
.review-card>p {
  font-size:16px;
  line-height:20px;
  margin-top:16px
}
.review-cta {
  background:#fcddc8;
  display:flex;
  flex-direction:column;
  padding:39px 24px 31px
}
.review-cta h3 {
  font-size:32px;
  line-height:32px;
  padding-left:8px
}
.review-cta>p {
  font-size:24px;
  line-height:26px;
  margin-top:32px;
  padding-left:8px
}
.review-cta .button {
  font-size:26px;
  height:78px;
  padding:0 29px;
  margin-top:auto;
  flex:none
}
.review-cta .arrow {
  font-size:28px
}
.categories {
  padding-top:83px
}
.categories>h2 {
  padding-left:9px;
  white-space:nowrap
}
.category-track {
  margin-top:48px;
  gap:39px
}
.category-art {
  height:153px;
  display:flex;
  align-items:center;
  margin-bottom:20px
}
.category-track article:nth-child(2) .category-art {
  padding-left:9px
}
.category-track article:nth-child(3) .category-art {
  padding-left:8px
}
.category-track ul {
  padding:0;
  list-style:none;
  margin:16px 0 0;
  font-size:18px;
  line-height:28px
}
.category-track li::before {
  content:'• '
}
.final-cta {
  padding-top:131px;
  padding-bottom:151px
}
.final-cta h2 {
  font-size:70px;
  line-height:70px;
  letter-spacing:-1.1px;
  white-space:nowrap
}
.final-cta h2 b {
  font-weight:700
}
.final-cta .search-form {
  margin-top:52px
}
.footer {
  background:#fcfaf8
}
.footer-inner {
  min-height:395px;
  padding:57px 5px;
  display:grid;
  grid-template-columns:1fr 140px 239px;
  gap:39px
}
.footer-about p {
  font-size:18px;
  line-height:26px;
  margin-top:33px
}
.footer-location {
  margin-top:65px;
  text-decoration:underline;
  gap:12px
}
.legal {
  font-size:12px;
  line-height:14px;
  display:block;
  margin-top:29px;
  padding-left:18px
}
.footer-links {
  padding-top:18px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
  font-size:16px
}
.footer-links h2 {
  font-size:18px;
  line-height:22px;
  margin-bottom:12px
}
.footer-links button,.footer-links a {
  line-height:16px;
  text-align:left
}
.footer-links a:hover,.footer-links button:hover {
  text-decoration:underline
}
@media(min-width:1200px) {
  .container {
    position:relative;
    left:-5px
  }
}
@media(max-width:1199px) and (min-width:701px) {
  .header-inner { gap:24px }
  .brand { width:220px }
  .header-location { font-size:20px }
  .account-nav { font-size:20px; gap:24px }
  .register { min-width:180px }
  .hero { grid-template-columns:minmax(0,1fr) 42%; gap:48px 26px }
  .hero h1 { font-size:clamp(60px,5.4vw,64px); line-height:1; letter-spacing:-1px }
  .hero-stat { font-size:28px; line-height:31px }
  .hero-promo>div { padding:34px 28px }
  .hero-promo h2 { font-size:28px; line-height:30px }
  .hero-promo p { font-size:20px; line-height:24px }
  .hero-promo .hero-contract { left:50%; right:auto; top:60px; width:70% }
  .pair { font-size:clamp(18px,1.85vw,22px); gap:14px }
  .benefit-grid h3,.steps h3,.category-track h3 { font-size:24px; line-height:26px }
  .benefit-grid p,.steps p { font-size:18px; line-height:22px }
  .benefit-grid p br,.steps p br { display:none }
  .search-form { gap:24px }
  .search-form input { font-size:20px; padding-inline:28px }
  .search-form .button { width:300px; font-size:26px; padding-inline:30px }
  .city>h2 { font-size:36px; white-space:normal; line-height:1.1 }
  .city-copy { padding:44px 35px }
  .city-copy h3 { font-size:30px; line-height:32px }
  .city-copy p { font-size:22px; line-height:26px }
  .city-copy .button { width:310px; margin-top:38px }
  .city-art { width:460px; top:auto; bottom:-18px; right:-10px }
  .city-offers { right:26px; width:36%; height:auto; top:100px }
  .review-card { padding:18px; height:auto; min-height:490px }
  .review-card>p { font-size:16px; line-height:20px }
  .review-cta { padding:32px 20px 26px }
  .review-cta h3 { font-size:30px; line-height:32px; padding-left:0 }
  .review-cta>p { font-size:22px; line-height:25px; padding-left:0 }
  .review-cta .button { font-size:22px; padding-inline:22px; margin-top:auto; height:72px }
  .categories>h2 { white-space:normal; line-height:1.1 }
  .category-track { gap:28px }
  .category-track ul { font-size:18px; line-height:28px }
  .final-cta h2 { font-size:clamp(48px,5.4vw,64px); line-height:1.05; white-space:normal }
  .footer-inner { grid-template-columns:1fr 130px 220px; gap:24px }
  .footer-about p { font-size:18px; line-height:26px }
  .legal { padding-left:0 }
}
@media(min-width:701px) and (max-width:900px) {
  .header-inner { height:100px; gap:20px }
  .brand { width:200px }
  .header-location { font-size:18px }
  .account-nav { font-size:18px; gap:16px }
  .register { min-width:160px; height:52px; gap:12px }
  .hero { grid-template-columns:1fr; padding-top:46px; gap:36px }
  .hero-copy { text-align:center; margin-top:0 }
  .hero h1 { font-size:58px; line-height:60px }
  .hero-stat { margin-top:26px }
  .hero-promo { height:250px }
  .hero-promo>div { padding:38px }
  .hero-promo h2 { font-size:32px; line-height:35px }
  .hero-promo .hero-contract { left:auto; right:18px; top:24px; width:250px; transform-origin:center }
  .hero-glow { width:476px; left:auto; right:0 }
  .search-form input { font-size:18px; padding-inline:24px }
  .search-form .button { width:260px; font-size:24px; padding-inline:26px }
  .benefit-grid { gap:20px }
  .benefit-grid h3 { font-size:22px; line-height:25px }
  .pair { font-size:17px; gap:10px; height:76px }
  .city-banner { height:480px }
  .city-copy { padding:36px 28px }
  .city-copy h3 { font-size:28px; line-height:30px }
  .city-copy p { font-size:20px; line-height:24px }
  .city-copy .button { width:280px }
  .city-offers { width:38%; right:20px; top:130px }
  .city-art { width:400px; right:-30px; bottom:-12px }
  .footer-inner { grid-template-columns:1fr 1fr }
  .footer-about { grid-column:1/-1 }
  .footer-location { margin-top:28px }
  .footer-links { padding-top:0 }
}
@media(max-width:700px) {
  .container {
    width:calc(100% - 40px)
  }
  h2 {
    font-size:30px;
    line-height:30px
  }
  h3 {
    font-size:24px;
    line-height:26px
  }
  .header-inner {
    height:66px;
    gap:0;
    padding:0;
    justify-content:space-between
  }
  .brand {
    width:140px
  }
  .header-location {
    font-size:12px;
    gap:3px;
    order:-1
  }
  .header-location svg {
    width:8px;
    height:12px
  }
  .header-inner .brand {
    order:0
  }
  .account-nav {
    display:none
  }
  .menu-toggle {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:24px;
    height:32px
  }
  .menu-toggle span {
    display:block;
    height:2px;
    width:20px;
    background:#000
  }
  .mobile-menu:not([hidden]) {
    display:flex;
    justify-content:center;
    gap:40px;
    padding:20px;
    border-top:1px solid #eee;
    font-size:18px
  }
  .hero {
    padding-top:0;
    display:flex;
    flex-direction:column;
    gap:0
  }
  .hero-promo {
    order:-1;
    border-radius:0;
    height:111px;
    width:calc(100% + 40px);
    margin-left:-20px
  }
  .hero-glow {
    width:360px;
    height:228px;
    max-width:none;
    left:auto;
    right:-65px;
    top:-104px
  }
  .hero-promo .hero-contract {
    width:clamp(160px,47vw,190px);
    left:auto;
    right:-19px;
    top:-13px;
    transform-origin:center
  }
  .hero-promo>div {
    padding:18px 20px
  }
  .hero-promo h2 {
    font-size:22px;
    line-height:22px
  }
  .hero-promo p {
    font-size:12px;
    line-height:14px;
    margin-top:8px
  }
  .hero-copy {
    text-align:center;
    padding-top:43px
  }
  .hero h1 {
    font-size:40px;
    line-height:40px;
    letter-spacing:-.6px
  }
  .hero-stat {
    font-size:22px;
    line-height:23px;
    margin-top:25px
  }
  .search-form {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
    margin-top:42px
  }
  .search-form input {
    flex:none;
    width:100%;
    height:72px;
    padding:0 25px;
    border-radius:30px;
    font-size:17px
  }
  .search-form .button {
    width:244px;
    height:60px;
    font-size:22px;
    padding:0 29px;
    border-radius:30px
  }
  .search-form .arrow {
    font-size:29px
  }
  .benefits {
    padding-top:75px
  }
  .benefits>h2 {
    padding-left:6px;
    line-height:30px
  }
  .benefit-grid {
    display:flex;
    flex-direction:column;
    margin-top:55px;
    gap:52px;
    padding-left:6px
  }
  .benefit-art {
    height:130px;
    margin-bottom:23px
  }
  .benefit-art img {
    max-height:130px;
    width:auto
  }
  .benefit-grid article:nth-child(n) .benefit-art {
    padding-left:0
  }
  .benefit-grid p {
    font-size:18px;
    line-height:20px;
    margin-top:14px
  }
  .business-pairs {
    display:flex;
    flex-direction:column;
    gap:14px;
    margin-top:43px
  }
  .desktop-pair {
    display:none
  }
  .pair {
    font-size:16px;
    height:54px;
    gap:16px;
    border-radius:27px
  }
  .city {
    padding-top:66px
  }
  .city>h2 {
    font-size:30px;
    line-height:30px;
    padding-left:5px;
    white-space:normal
  }
  .city-heading {
    display:block
  }
  .city-banner {
    height:656px;
    border-radius:45px;
    margin-top:28px
  }
  .city-copy {
    padding:34px 26px;
    height:100%
  }
  .city-copy h3 {
    font-size:28px;
    line-height:30px;
    max-width:290px
  }
  .city-copy h3 br {
    display:none
  }
  .city-copy p {
    font-size:18px;
    line-height:20px;
    margin-top:15px
  }
  .city-art {
    width:min(360px,100%);
    height:auto;
    left:auto;
    right:0;
    top:auto;
    bottom:-8px
  }
  .city-offers {
    top:231px;
    left:16px;
    right:auto;
    width:calc(100% - 32px);
    height:auto
  }
  .city-copy .button {
    position:absolute;
    bottom:57px;
    left:26px;
    right:26px;
    width:auto;
    font-size:20px;
    height:77px;
    margin:0;
    z-index:2;
    border-radius:24px;
    padding-inline:24px
  }
  .city-copy .arrow {
    font-size:30px
  }
  .city-signature {
    display:none
  }
  .how {
    padding-top:83px
  }
  .how>h2,.reviews>h2 {
    font-size:30px;
    padding-left:6px
  }
  .card-track {
    display:flex;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    gap:24px;
    margin-right:-20px;
    padding-left:6px;
    padding-right:20px
  }
  .card-track::-webkit-scrollbar {
    display:none
  }
  .card-track>article {
    flex:0 0 318px;
    scroll-snap-align:start
  }
  .steps {
    margin-top:28px
  }
  .steps h3 {
    margin-top:25px;
    padding:0
  }
  .steps p {
    margin-top:14px;
    font-size:17px;
    line-height:20px
  }
  .reviews {
    padding-top:76px
  }
  .review-track {
    margin-top:29px
  }
  .review-card {
    height:477px;
    padding:16px 23px 23px;
    border-radius:40px
  }
  .review-photo {
    border-radius:40px
  }
  .review-author {
    margin-top:14px
  }
  .review-card>p {
    font-size:14px;
    line-height:18px;
    margin-top:12px
  }
  .review-cta {
    padding:32px 22px 27px
  }
  .review-cta h3 {
    font-size:30px;
    line-height:30px
  }
  .review-cta>p {
    font-size:22px;
    line-height:24px;
    margin-top:24px
  }
  .review-cta .button {
    font-size:23px;
    height:69px;
    padding-inline:24px
  }
  .categories {
    padding-top:74px
  }
  .categories>h2 {
    font-size:30px;
    line-height:30px;
    white-space:normal;
    padding-left:6px;
    max-width:335px
  }
  .category-track {
    margin-top:39px
  }
  .category-art {
    height:153px;
    margin-bottom:20px
  }
  .category-track ul {
    font-size:18px;
    line-height:28px;
    margin-top:24px
  }
  .final-cta {
    padding-top:97px;
    padding-bottom:89px
  }
  .final-cta h2 {
    font-size:36px;
    line-height:38px;
    letter-spacing:-.4px;
    white-space:normal;
    text-align:center
  }
  .final-cta h2 br {
    display:none
  }
  .final-cta .search-form {
    margin-top:31px
  }
  .footer-inner {
    display:flex;
    flex-wrap:wrap;
    padding:39px 6px 37px;
    gap:37px 27px
  }
  .footer-about {
    width:100%
  }
  .footer .brand {
    width:190px
  }
  .footer-about p {
    font-size:14px;
    line-height:20px;
    margin-top:23px
  }
  .footer-about p br {
    display:none
  }
  .footer-location {
    font-size:18px;
    margin-top:29px;
    gap:8px
  }
  .footer-location svg {
    width:13px;
    height:18px
  }
  .legal {
    font-size:10px;
    line-height:13px;
    margin-top:19px;
    padding-left:0
  }
  .footer-links {
    padding-top:0;
    font-size:13px;
    gap:14px
  }
  .footer-links h2 {
    font-size:15px;
    line-height:18px;
    margin-bottom:5px
  }
  .support {
    flex:1;
    min-width:180px
  }
}
@media(max-width:360px) {
  .container {
    width:calc(100% - 32px)
  }
  .hero-promo {
    width:calc(100% + 32px);
    margin-left:-16px
  }
  .hero-promo h2 {
    font-size:20px
  }
  .header .brand {
    width:115px
  }
  .hero h1 {
    font-size:36px;
    line-height:36px
  }
  .search-form input {
    font-size:14px;
    padding-inline:20px
  }
  .pair {
    font-size:14px;
    gap:12px
  }
  .card-track>article {
    flex-basis:286px
  }
  .city-copy h3 {
    font-size:25px
  }
  .city-copy p {
    font-size:16px
  }
  .city-copy .button {
    font-size:17px
  }
  .city-offers {
    top:226px
  }
  .final-cta h2 {
    font-size:32px;
    line-height:34px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
}
@media(min-width:1200px) {
  .benefit-grid {
    grid-template-columns:333px 345px 1fr;
    gap:26px
  }
  .card-track {
    grid-template-columns:repeat(3,351px);
    gap:27px
  }
  .category-track {
    grid-template-columns:350px 382px 1fr;
    gap:39px
  }
}
.arrow {
  display:block;
  width:19px;
  height:20px;
  font-size:0;
  background:url(assets/images/arrow.svg) center/contain no-repeat;
  align-self:center;
  transform:translateY(1px);
  flex:none
}
.register .arrow {
  width:15px;
  height:15px;
  filter:brightness(0)
}
.white .arrow {
  filter:brightness(0)
}
@media(max-width:700px) {
  .hero-copy {
    margin-top:0
  }
  .card-track {
    grid-template-columns:none
  }
}
@font-face {
  font-family:Helvetica Neue;
  src:url('assets/fonts/helvetica-neue-200.woff2') format('woff2');
  font-weight:200;
  font-display:swap;
  unicode-range:U+0430,U+0431,U+0435,U+0440,U+0442
}
.wordmark>span {
  font-weight:200
}
.header-location span {
  text-decoration:underline
}
@media(max-width:700px) {
  .hero-copy {
    padding-top:27px
  }
  .hero-promo h2 {
    font-size:20px;
    line-height:21px
  }
  .hero-promo>div {
    padding-top:19px
  }
  .benefit-grid {
    margin-top:72px
  }
  .benefit-art {
    height:110px;
    margin-bottom:20px
  }
  .benefit-art img {
    max-height:110px
  }
  .benefit-grid {
    gap:43px
  }
  .benefits {
    padding-top:73px
  }
  .benefit-grid h3 {
    font-size:22px;
    line-height:24px
  }
  .benefit-grid p {
    font-size:17px;
    line-height:19px
  }
  .city-copy h3 {
    max-width:290px
  }
  .arrow {
    font-size:0!important
  }
  .final-cta h2 {
    font-size:34px;
    line-height:36px
  }
}
@media(max-width:360px) {
  .card-track {
    margin-right:-16px;
    padding-right:16px
  }
}
@media(max-width:700px) {
  .categories>h2 {
    max-width:none
  }
}

.register,.mobile-menu button[data-account="register"] { line-height:1 }
.mobile-menu button[data-account="register"] { display:flex; align-items:center; gap:12px }
.mobile-menu .arrow { width:15px; height:16px; filter:brightness(0) }
.carousel-indicators { display:none }
@media(max-width:900px) {
  .card-track {
    display:flex;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    gap:24px;
    margin-right:-20px;
    padding:0 20px 0 6px
  }
  .card-track::-webkit-scrollbar { display:none }
  .card-track>article { flex:0 0 318px; scroll-snap-align:start }
  .review-card { height:477px; min-height:0; padding:16px 23px 22px }
  .review-cta { padding:34px 23px 26px }
  .review-cta .button { margin-top:auto }
  .carousel-indicators { display:flex; justify-content:center; gap:4px; margin-top:18px }
  .carousel-indicators button { width:40px; height:28px; display:grid; place-items:center }
  .carousel-indicators button::before { content:''; width:24px; height:3px; border-radius:3px; background:#d2ccc7; transition:background .2s }
  .carousel-indicators button[aria-current="true"]::before { background:#000 }
}
@media(max-width:360px) {
  .card-track { margin-right:-16px; padding-right:16px }
  .card-track>article { flex-basis:286px }
  .hero-promo .hero-contract { right:-28px }
}
.carousel-indicators button[hidden] { display:none }

.cookie-notice { position:fixed; z-index:20; left:16px; right:16px; bottom:max(16px,env(safe-area-inset-bottom)); max-width:1360px; max-height:calc(100dvh - 32px); overflow-y:auto; margin:0 auto; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; background:#fff1e3; border-radius:20px; box-shadow:0 8px 32px rgb(0 0 0 / 12%); font-size:16px; line-height:1.5; }
.cookie-notice p { margin:0; }
.cookie-notice a { text-decoration:underline; text-underline-offset:3px; }
.cookie-notice button { flex-shrink:0; padding:12px 22px; border:0; border-radius:999px; background:#ff7f00; color:white; font:inherit; cursor:pointer; }
.cookie-notice button:focus-visible,.cookie-notice a:focus-visible { outline:2px solid #000; outline-offset:4px; }
@media(max-width:700px) {
  .cookie-notice { padding:16px; gap:12px; flex-wrap:wrap; font-size:14px; border-radius:16px; }
  .cookie-notice button { padding:9px 18px; }
}

@media(min-width:701px) and (max-width:900px) {
  .review-card { height:520px }
}

.footer-inner { position:relative; }
.footer-inner>.legal { position:absolute; bottom:58px; left:23px; margin:0; padding:0; }
@media(max-width:700px) {
  .footer-inner>.legal { position:static; order:99; flex-basis:100%; width:100%; margin-top:12px; padding:0; }
}

/* Shared city picker for the landing, public pages and cabinet. */
.city-picker { position:relative; font-size:24px; z-index:21; flex:none; }
.city-picker>summary { font-size:inherit; list-style:none; cursor:pointer; width:fit-content; }
.city-picker>summary::-webkit-details-marker { display:none; }
.city-picker>summary:focus-visible { outline:2px solid var(--orange); outline-offset:6px; border-radius:6px; }
.city-chevron { width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin:0 4px 4px; }
.city-choices { position:absolute; top:calc(100% + 14px); left:0; width:284px; max-width:calc(100vw - 40px); padding:12px; border:1px solid #eadfD5; border-radius:20px; background:#fff; box-shadow:0 8px 28px rgb(0 0 0 / 12%); font-size:16px; }
.city-choices p { margin:4px 10px 12px; color:#777; font-size:14px; }
.city-choices button { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; padding:12px 10px; border-radius:12px; text-align:left; }
.city-choices button:hover,.city-choices button[aria-current] { background:#fff1e3; }
.city-choices button span { color:var(--orange); }
.footer-location .city-choices { top:auto; bottom:calc(100% + 14px); }
html[data-city=moscow] .city-art { width:440px; top:auto; bottom:-180px; right:20px; }
@media(max-width:1200px) { html[data-city=moscow] .city-art { width:420px; bottom:-170px; } }
@media(max-width:700px) {
  .city-picker.header-location { font-size:12px; }
  .cabinet-header .city-choices { left:auto; right:0; }
  html[data-city=moscow] .city-art { width:min(240px,70%); right:8px; bottom:-35px; }
  .city-choices { font-size:15px; }
}
@media(max-width:380px) { .header-inner .brand { width:124px; } .city-picker.header-location { font-size:11px; } }

@media(max-width:900px) and (min-width:701px) { html[data-city=moscow] .city-art { width:380px; bottom:-85px; right:0; } }
@media(max-width:1200px) { .city-picker.header-location { font-size:20px; } }
@media(max-width:1000px) and (min-width:701px) { .city-picker.header-location { font-size:18px; } }
@media(max-width:700px) { .city-picker.header-location { font-size:12px; } .city-picker.footer-location { font-size:18px; } }
@media(max-width:380px) { .city-picker.header-location { font-size:11px; } }
