@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root {
  --bg: #f6f8fc;
  --ink: #10151f;
  --muted: #7c8492;
  --blue: #2687ff;
  --line: #e1e6ee;
  --panel: #fff
}

* {
  box-sizing: border-box
}

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

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: Manrope,Arial,sans-serif;
  transition: background .4s,color .4s
}

button,a {
  -webkit-tap-highlight-color: transparent
}

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

button {
  font: inherit;
  cursor: pointer
}

button:focus-visible,a:focus-visible {
  outline: 3px solid #2687ff;
  outline-offset: 5px
}

button {
  border: 0
}

.wrap {
  max-width: 1320px;
  margin: auto;
  padding: 0 54px
}

header {
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  gap: 30px
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -1px
}

.brand-icon {
  background: var(--blue);
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: white
}

.brand-icon svg {
  width: 22px;
  height: 22px
}

nav {
  display: flex;
  gap: 32px;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted)
}

nav a:hover {
  color: var(--blue)
}

.nav-actions {
  display: flex;
  gap: 12px;
  align-items: center
}

.nav-cta {
  background: var(--ink);
  color: var(--bg);
  padding: 13px 19px;
  border-radius: 11px;
  font-size: 12px;
  font-weight: 700
}

.hero {
  min-height: 660px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  position: relative;
  gap: 15px
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.7px;
  text-transform: uppercase
}

.dot {
  width: 7px;
  height: 7px;
  background: var(--blue);
  border-radius: 100%;
  box-shadow: 0 0 0 5px #2687ff15
}

h1 {
  font-size: clamp(52px,5.7vw,78px);
  line-height: 1.08;
  letter-spacing: -5px;
  margin: 28px 0 23px;
  font-weight: 800
}

h1 span {
  color: var(--blue)
}

.hero p {
  max-width: 355px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--muted)
}

.hero-buttons {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 32px
}

.primary {
  background: var(--blue);
  color: white;
  border-radius: 12px;
  padding: 17px 23px;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 9px 24px #2687ff25;
  transition: transform .25s,box-shadow .25s
}

.primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px #2687ff45
}

.text-link {
  font-size: 12px;
  font-weight: 700;
  display: flex;
  gap: 10px;
  align-items: center
}

.small-note {
  margin-top: 35px;
  font-size: 10px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 9px
}

.small-note i {
  font-style: normal;
  color: var(--blue);
  font-size: 16px
}

.stage {
  height: 545px;
  position: relative;
  display: grid;
  place-items: center;
  isolation: isolate
}

.stage:before {
  content: '';
  position: absolute;
  width: 480px;
  height: 480px;
  background: radial-gradient(ellipse,#a9d0ff85,transparent 68%);
  z-index: -1
}

.orbit {
  position: absolute;
  width: 440px;
  height: 440px;
  border: 1px solid #b8c9dd66;
  border-radius: 50%;
  transform: rotateX(58deg) rotate(-22deg)
}

.orbit.two {
  transform: rotateX(55deg) rotate(50deg);
  width: 540px;
  height: 540px;
  opacity: .4
}

.gift-main {
  width: 360px;
  height: 360px;
  filter: drop-shadow(0 35px 30px #1262c635);
  animation: float 6s ease-in-out infinite;
  will-change: transform
}

.floating-label {
  position: absolute;
  padding: 13px 17px;
  background: #ffffffc9;
  backdrop-filter: blur(14px);
  border: 1px solid #fff;
  border-radius: 13px;
  box-shadow: 0 12px 35px #2542680c;
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 11px;
  font-weight: 700
}

.floating-label small {
  display: block;
  color: #8992a1;
  font-size: 9px;
  font-weight: 500;
  margin-top: 4px
}

.label-one {
  top: 108px;
  right: 4px;
  transform: rotate(7deg)
}

.label-two {
  bottom: 110px;
  left: 5px;
  transform: rotate(-7deg)
}

.mini-icon {
  font-size: 25px
}

.spark {
  position: absolute;
  color: var(--blue);
  font-size: 30px;
  animation: spark 4s ease-in-out infinite
}

.s1 {
  left: 78px;
  top: 105px
}

.s2 {
  right: 34px;
  bottom: 113px;
  font-size: 18px;
  animation-delay: 1s
}

.s3 {
  right: 99px;
  top: 55px;
  font-size: 16px;
  animation-delay: 2s
}

.serial {
  position: absolute;
  bottom: 46px;
  font-size: 10px;
  letter-spacing: 3px;
  color: #8b9db3
}

.strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 25px 0;
  border-top: 1px solid var(--line);
  font-size: 10px;
  color: var(--muted);
  letter-spacing: 1px
}

.strip b {
  color: var(--ink);
  font-size: 12px;
  letter-spacing: 0
}

.strip span {
  display: flex;
  align-items: center;
  gap: 10px
}

.strip svg {
  height: 16px;
  width: 16px
}

.collection {
  background: #0d1119;
  color: #fff;
  border-radius: 28px;
  margin: 8px 18px 0;
  padding: 60px 0 55px;
  position: relative;
  overflow: hidden
}

.collection:before {
  content: '';
  position: absolute;
  right: -100px;
  top: -170px;
  width: 500px;
  height: 500px;
  background: radial-gradient(ellipse,#18345a60,transparent 65%);
  pointer-events: none
}

.section-top {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px
}

.section-kicker {
  font-size: 10px;
  letter-spacing: 2px;
  color: #8190a5;
  font-weight: 700
}

.section-top h2 {
  font-size: 32px;
  letter-spacing: -1.3px;
  margin: 10px 0 0
}

.section-top p {
  font-size: 12px;
  color: #818b9c;
  margin: 14px 0 0
}

.filters {
  display: flex;
  gap: 6px;
  padding: 5px;
  background: #181f2c;
  border: 1px solid #ffffff0b;
  border-radius: 12px
}

.filter {
  padding: 10px 15px;
  background: transparent;
  color: #8290a2;
  border-radius: 8px;
  font-size: 11px
}

.filter.active {
  background: #2d87fa;
  color: white
}

.cards {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 16px;
  margin-top: 32px
}

.card {
  position: relative;
  background: linear-gradient(150deg,#192233,#121926);
  border: 1px solid #ffffff0b;
  border-radius: 16px;
  overflow: hidden;
  transition: transform .3s,border-color .3s;
  text-align: left;
  color: white;
  padding: 0;
  width: 100%
}

.card:hover {
  transform: translateY(-7px);
  border-color: #448eea80
}

.card:before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(240px at var(--mx,50%) var(--my,40%),#58a9ff18,transparent 75%)
}

.art {
  height: 218px;
  display: grid;
  place-items: center;
  position: relative;
  background: radial-gradient(ellipse at center,var(--glow,#2763a53d),transparent 70%)
}

.art svg {
  width: 155px;
  height: 155px;
  filter: drop-shadow(0 15px 15px #0004);
  transition: transform .5s
}

.card:hover .art svg {
  transform: scale(1.09) rotate(-5deg)
}

.tag {
  position: absolute;
  left: 15px;
  top: 15px;
  border: 1px solid #ffffff13;
  background: #ffffff07;
  border-radius: 6px;
  padding: 5px 7px;
  font-size: 8px;
  letter-spacing: .8px;
  color: #a8b6cc
}

.favorite {
  position: absolute;
  right: 12px;
  top: 12px;
  color: #7d8ca2;
  font-size: 16px
}

.card-bottom {
  padding: 18px;
  border-top: 1px solid #ffffff08;
  display: flex;
  justify-content: space-between;
  align-items: center
}

.card-bottom h3 {
  font-size: 13px;
  margin: 0 0 6px
}

.card-bottom small {
  font-size: 9px;
  color: #708197
}

.card-bottom .arrow {
  width: 28px;
  height: 28px;
  background: #ffffff07;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #788ca9;
  font-size: 14px
}

.catalog-note {
  display: flex;
  justify-content: space-between;
  margin-top: 25px;
  font-size: 10px;
  color: #627289
}

.catalog-note a {
  color: #acc9ee
}

.about {
  padding-top: 80px;
  padding-bottom: 80px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start
}

.about h2 {
  font-size: 36px;
  line-height: 1.2;
  letter-spacing: -1.7px;
  margin: 14px 0 20px
}

.about p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.9;
  max-width: 390px
}

.feature {
  display: flex;
  gap: 20px;
  padding: 21px 0;
  border-bottom: 1px solid var(--line)
}

.feature:first-child {
  padding-top: 0
}

.feature-num {
  font-size: 11px;
  color: var(--blue);
  padding-top: 5px
}

.feature h3 {
  font-size: 15px;
  margin: 0 0 7px
}

.feature p {
  font-size: 12px;
  margin: 0
}

.bottom-banner {
  background: #2687ff;
  border-radius: 20px;
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 35px 40px;
  position: relative;
  overflow: hidden
}

.bottom-banner:after {
  content: '✦';
  position: absolute;
  right: 230px;
  top: -60px;
  font-size: 220px;
  color: #ffffff0a;
  transform: rotate(15deg)
}

.bottom-banner h2 {
  font-size: 25px;
  letter-spacing: -.8px;
  margin: 0 0 8px
}

.bottom-banner p {
  font-size: 12px;
  color: #d7e9ff;
  margin: 0
}

.bottom-banner a {
  background: white;
  color: #1872df;
  padding: 14px 22px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 800;
  z-index: 1
}

footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 35px 0;
  font-size: 10px;
  color: var(--muted)
}

footer .brand {
  font-size: 17px;
  color: var(--ink)
}

.js-motion .reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .7s,transform .7s
}

.js-motion .reveal.visible {
  opacity: 1;
  transform: none
}

.modal {
  position: fixed;
  inset: 0;
  background: #050b1899;
  backdrop-filter: blur(10px);
  z-index: 9;
  display: grid;
  place-items: center;
  padding: 20px
}

.modal[hidden] {
  display: none
}

.modal-box {
  background: var(--panel);
  border-radius: 24px;
  padding: 30px;
  max-width: 410px;
  width: 100%;
  position: relative;
  text-align: center
}

.modal-art svg {
  width: 200px;
  height: 200px;
  filter: drop-shadow(0 10px 20px #2687ff22)
}

.close {
  position: absolute;
  top: 15px;
  right: 15px;
  background: transparent;
  color: var(--muted);
  font-size: 24px
}

.modal h2 {
  letter-spacing: -1px
}

.modal p {
  font-size: 13px;
  line-height: 1.8;
  color: var(--muted)
}

.modal .primary {
  display: inline-block;
  margin-top: 10px
}

@keyframes float {
  0%,100% {
    transform: translateY(0) rotate(-5deg)
  }
  50% {
    transform: translateY(-18px) rotate(2deg)
  }
}

@keyframes spark {
  0%,100% {
    opacity: .4;
    transform: scale(.85)
  }
  50% {
    opacity: 1;
    transform: scale(1.15)
  }
}

@media(min-width:1600px) {
  .hero {
    min-height: 740px
  }
}

@media(max-width:1000px) {
  .wrap {
    padding: 0 30px
  }
  .hero {
    min-height: 600px
  }
  h1 {
    font-size: 60px
  }
  .gift-main {
    width: 290px;
    height: 290px
  }
  .stage {
    height: 450px
  }
  .stage:before {
    width: 350px;
    height: 350px
  }
  .orbit {
    width: 320px;
    height: 320px
  }
  .orbit.two {
    width: 380px;
    height: 380px
  }
  .label-one {
    right: -8px;
    top: 70px
  }
  .label-two {
    left: -10px;
    bottom: 85px
  }
  .cards {
    grid-template-columns: repeat(2,1fr)
  }
  .art {
    height: 240px
  }
  .about {
    gap: 40px
  }
  nav {
    gap: 18px
  }
}

@media(max-width:680px) {
  .wrap {
    padding: 0 22px
  }
  header {
    height: 78px
  }
  .brand {
    font-size: 20px
  }
  .brand-icon {
    width: 31px;
    height: 31px
  }
  nav {
    display: none
  }
  .nav-cta {
    font-size: 10px;
    padding: 11px
  }
  .nav-actions {
    gap: 4px
  }
  .hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding-top: 45px;
    gap: 0
  }
  .eyebrow {
    font-size: 9px
  }
  h1 {
    font-size: 56px;
    letter-spacing: -3.6px;
    margin: 23px 0 18px
  }
  .hero p {
    font-size: 13px;
    max-width: 310px
  }
  .hero-buttons {
    margin-top: 25px;
    gap: 20px
  }
  .small-note {
    margin-top: 22px
  }
  .stage {
    height: 360px;
    margin: 0 -10px
  }
  .gift-main {
    width: 280px;
    height: 280px
  }
  .label-one {
    top: 63px;
    right: 0;
    font-size: 9px;
    padding: 10px
  }
  .label-two {
    bottom: 59px;
    left: 0;
    font-size: 9px;
    padding: 10px
  }
  .s1 {
    top: 48px;
    left: 40px
  }
  .serial {
    bottom: 15px;
    font-size: 8px
  }
  .strip {
    flex-wrap: wrap;
    gap: 18px;
    justify-content: center;
    padding: 22px 0
  }
  .strip>span:first-child {
    display: none
  }
  .collection {
    margin: 8px 8px 0;
    padding: 35px 0;
    border-radius: 20px
  }
  .collection .wrap {
    padding: 0 16px
  }
  .section-top {
    display: block
  }
  .section-top h2 {
    font-size: 27px
  }
  .filters {
    margin-top: 23px;
    display: inline-flex
  }
  .cards {
    gap: 10px;
    margin-top: 22px
  }
  .art {
    height: 165px
  }
  .art svg {
    width: 125px;
    height: 125px
  }
  .card-bottom {
    padding: 13px 10px
  }
  .card-bottom h3 {
    font-size: 11px
  }
  .card-bottom small {
    font-size: 8px
  }
  .tag {
    font-size: 7px;
    left: 10px;
    top: 10px
  }
  .catalog-note {
    font-size: 8px;
    gap: 10px
  }
  .about {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 48px;
    padding-bottom: 48px
  }
  .about h2 {
    font-size: 31px
  }
  .bottom-banner {
    padding: 26px;
    display: block
  }
  .bottom-banner h2 {
    font-size: 23px
  }
  .bottom-banner a {
    display: inline-block;
    margin-top: 22px
  }
  footer {
    gap: 15px;
    flex-wrap: wrap
  }
  footer>span {
    font-size: 8px
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto
  }
  *,*:before,*:after {
    animation: none!important;
    transition: none!important
  }
  .reveal {
    opacity: 1;
    transform: none
  }
}

/* Giftwave / electric blue edition */
:root {
  --bg: #0753ed;
  --ink: #fff;
  --muted: #bbd3ff;
  --blue: #8cdbff;
  --line: #ffffff20;
  --panel: #0e3e9f
}

body {
  background: var(--bg);
  background-image: radial-gradient(ellipse at 78% 18%,#3689ff80,transparent 42%);
  overflow-x: hidden
}

body:before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.18' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
  opacity: .1;
  pointer-events: none;
  z-index: 20
}

.wrap {
  max-width: 1420px;
  padding: 0 64px
}

header {
  height: 105px;
  border: 0;
  position: relative;
  z-index: 3
}

.brand {
  font-size: 25px;
  letter-spacing: -1.3px
}

.brand-icon {
  background: #ffffff16;
  border: 1px solid #ffffff35;
  box-shadow: inset 0 1px #ffffff30;
  border-radius: 11px;
  width: 37px;
  height: 37px
}

.brand>span:last-child {
  color: #8cdbff!important
}

nav {
  color: #d4e3ff;
  font-size: 12px;
  gap: 35px
}

nav a:hover {
  color: #fff
}

.nav-cta {
  color: white;
  background: #ffffff14;
  border: 1px solid #ffffff40;
  border-radius: 50px;
  padding: 14px 22px;
  backdrop-filter: blur(15px)
}

.hero {
  min-height: 690px;
  grid-template-columns: 1.05fr 1fr;
  gap: 0;
  padding-bottom: 40px
}

.eyebrow {
  font-size: 9px;
  letter-spacing: 2px;
  color: #d4e5ff
}

.dot {
  background: #99efff;
  box-shadow: 0 0 15px #adf4ff
}

.hero h1 {
  font-size: clamp(64px,6.5vw,94px);
  letter-spacing: -6.2px;
  line-height: 1.01;
  margin: 29px 0 26px;
  position: relative;
  z-index: 2
}

.hero h1 span {
  display: inline-block;
  background: linear-gradient(110deg,#a8eaff,#fff 45%,#99ceff);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent
}

.hero p {
  color: #c3d9ff;
  font-size: 14px;
  max-width: 335px
}

.hero-buttons {
  margin-top: 31px
}

.primary {
  background: #fff;
  color: #0953df;
  border-radius: 50px;
  font-weight: 800;
  padding: 19px 26px;
  box-shadow: 0 10px 30px #00237128
}

.primary:hover {
  box-shadow: 0 12px 40px #c0f5ff40
}

.text-link {
  color: #fff;
  font-size: 11px
}

.text-link span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid #ffffff30;
  border-radius: 50%
}

.small-note {
  color: #9cbfff;
  font-size: 9px;
  margin-top: 34px
}

.small-note i {
  color: #aeefff
}

.stage {
  height: 580px;
  perspective: 1000px
}

.stage:before {
  width: 650px;
  height: 650px;
  background: radial-gradient(ellipse at center,#8bc9ff38,transparent 62%)
}

.stage:after {
  content: '';
  position: absolute;
  width: 280px;
  height: 90px;
  border-radius: 50%;
  bottom: 102px;
  background: radial-gradient(ellipse,#051b6d70,transparent 68%);
  filter: blur(12px);
  z-index: -1
}

.orbit {
  width: 470px;
  height: 470px;
  transform: rotateX(20deg) rotateY(-30deg) rotate(-25deg);
  border: 1px solid #ffffff38;
  box-shadow: inset 0 0 35px #9be0ff0a,0 0 40px #9be0ff10
}

.orbit:before {
  content: '';
  position: absolute;
  width: 9px;
  height: 9px;
  left: 66px;
  top: 53px;
  background: #c3f7ff;
  border-radius: 50%;
  box-shadow: 0 0 20px 5px #b5f8ff88
}

.orbit.two {
  width: 560px;
  height: 560px;
  transform: rotateX(50deg) rotateY(20deg) rotate(35deg);
  opacity: .5;
  border-color: #a3d7ff70
}

.gift-main {
  width: 430px;
  height: 430px;
  filter: drop-shadow(0 30px 18px #00257566) drop-shadow(0 -8px 24px #83dcff33);
  z-index: 1
}

.floating-label {
  color: white;
  background: linear-gradient(120deg,#ffffff24,#ffffff08);
  border: 1px solid #ffffff38;
  border-radius: 16px;
  box-shadow: inset 0 1px #ffffff20,0 20px 50px #002b8730;
  backdrop-filter: blur(20px);
  padding: 14px 18px;
  z-index: 2
}

.floating-label small {
  color: #bad9ff
}

.label-one {
  top: 95px;
  right: -8px;
  transform: rotate(9deg)
}

.label-two {
  bottom: 92px;
  left: -12px;
  transform: rotate(-8deg)
}

.mini-icon {
  color: #caf4ff!important;
  font-size: 27px
}

.spark {
  color: #c0efff
}

.s1 {
  left: 32px;
  top: 113px
}

.s2 {
  right: 34px;
  bottom: 90px
}

.s3 {
  right: 100px;
  top: 19px
}

.serial {
  color: #9cc8ff;
  bottom: 30px;
  font-size: 9px;
  letter-spacing: 5px
}

.strip {
  border-color: #ffffff25;
  color: #a9caff;
  padding: 25px 0 29px;
  font-size: 9px;
  letter-spacing: 1.4px
}

.strip b {
  color: #fff
}

.collection {
  margin: 10px 20px 0;
  border-radius: 32px;
  background: linear-gradient(150deg,#061632,#060c1d 60%);
  padding: 66px 0 56px;
  border: 1px solid #ffffff16;
  box-shadow: 0 25px 100px #00247550
}

.collection:before {
  background: radial-gradient(ellipse,#115cd957,transparent 65%);
  width: 700px;
  height: 700px;
  top: -260px;
  right: -130px
}

.section-kicker {
  font-size: 9px;
  color: #6896ce;
  letter-spacing: 2.5px
}

.section-top h2 {
  font-size: 38px;
  letter-spacing: -1.8px
}

.section-top p {
  font-size: 12px;
  color: #839bbb
}

.filters {
  border-radius: 50px;
  background: #ffffff05;
  border-color: #ffffff14;
  padding: 4px
}

.filter {
  border-radius: 50px;
  padding: 11px 18px;
  color: #8fa9d0;
  font-size: 10px
}

.filter.active {
  background: #317fff;
  box-shadow: 0 0 22px #2065ff38
}

.cards {
  gap: 18px;
  margin-top: 38px
}

.card {
  background: linear-gradient(150deg,#15284399,#0a162ccc);
  border: 1px solid #b9daff18;
  border-radius: 22px;
  box-shadow: inset 0 1px #ffffff07;
  transition: transform .4s,border-color .4s,box-shadow .4s
}

.card:hover {
  transform: translateY(-9px);
  border-color: #7abbffa0;
  box-shadow: 0 18px 50px #0004,0 0 25px #267cff15
}

.art {
  height: 248px;
  background: radial-gradient(ellipse at 50% 60%,var(--glow,#1a78f14d),transparent 68%)
}

.art:after {
  content: '';
  position: absolute;
  width: 125px;
  height: 36px;
  bottom: 35px;
  border: 1px solid #b3d9ff22;
  border-radius: 50%;
  transform: rotate(-12deg);
  pointer-events: none
}

.art svg {
  width: 175px;
  height: 175px;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 22px 16px #0006)
}

.tag {
  top: 18px;
  left: 18px;
  font-size: 7px;
  letter-spacing: 1.3px;
  border-radius: 50px;
  background: #ffffff04;
  color: #9bb8e1;
  padding: 6px 9px
}

.favorite {
  color: #8ab6ed;
  top: 18px;
  right: 18px
}

.card-bottom {
  padding: 20px;
  border-color: #ffffff0d
}

.card-bottom h3 {
  font-size: 14px;
  letter-spacing: -.3px
}

.card-bottom small {
  font-size: 9px;
  color: #7691b7
}

.card-bottom .arrow {
  background: #1e3860;
  color: #a8ceff;
  width: 31px;
  height: 31px
}

.catalog-note {
  color: #6481a8
}

.about {
  padding-top: 96px;
  padding-bottom: 88px;
  gap: 95px
}

.about h2 {
  font-size: 46px;
  letter-spacing: -2.3px;
  line-height: 1.12
}

.about p {
  color: #bdd5ff;
  font-size: 12px
}

.about .eyebrow {
  font-size: 9px
}

.feature {
  padding: 24px;
  border: 1px solid #ffffff22;
  border-radius: 18px;
  background: linear-gradient(120deg,#ffffff0e,#ffffff04);
  margin-bottom: 12px;
  backdrop-filter: blur(12px);
  gap: 23px
}

.feature:first-child {
  padding-top: 24px
}

.feature-num {
  color: #b4eaff;
  font-size: 10px
}

.feature h3 {
  font-size: 14px
}

.feature p {
  font-size: 11px;
  line-height: 1.8;
  color: #a7c8ff
}

.bottom-banner {
  padding: 44px 48px;
  border: 1px solid #b4d9ff45;
  border-radius: 24px;
  background: linear-gradient(110deg,#2b77ff,#125deb);
  box-shadow: inset 0 1px #ffffff28
}

.bottom-banner h2 {
  font-size: 30px;
  letter-spacing: -1.2px
}

.bottom-banner p {
  color: #c0d9ff;
  font-size: 11px
}

.bottom-banner a {
  border-radius: 50px;
  padding: 17px 24px
}

.bottom-banner:after {
  font-size: 270px;
  right: 260px;
  top: -100px;
  color: #ffffff10
}

footer {
  padding: 42px 0;
  color: #9bbbfa;
  font-size: 9px
}

footer .brand {
  color: white;
  font-size: 20px
}

.modal-box {
  border: 1px solid #ffffff30;
  background: linear-gradient(140deg,#16488b,#0a2147);
  box-shadow: 0 40px 100px #0005
}

.modal p {
  color: #bdd5ff
}

.modal .section-kicker {
  color: #9ce5ff!important
}

.modal .close {
  color: #bdd5ff
}

@media(min-width:1600px) {
  .hero {
    min-height: 760px
  }
}

@media(max-width:1150px) {
  .wrap {
    padding: 0 38px
  }
  .hero h1 {
    font-size: 73px;
    letter-spacing: -4.5px
  }
  .gift-main {
    width: 340px;
    height: 340px
  }
  .stage {
    height: 530px
  }
  .orbit {
    width: 370px;
    height: 370px
  }
  .orbit.two {
    width: 430px;
    height: 430px
  }
  .label-one {
    right: -5px
  }
  .label-two {
    left: -18px
  }
  .stage:before {
    width: 480px;
    height: 480px
  }
  .hero {
    min-height: 640px
  }
  .section-top h2 {
    font-size: 31px
  }
  .about {
    gap: 50px
  }
  .about h2 {
    font-size: 38px
  }
  .art {
    height: 225px
  }
}

@media(max-width:680px) {
  .wrap {
    padding: 0 23px
  }
  header {
    height: 82px
  }
  .brand {
    font-size: 21px
  }
  .brand-icon {
    width: 31px;
    height: 31px
  }
  .nav-cta {
    padding: 12px 14px;
    font-size: 9px
  }
  .hero {
    padding-top: 42px;
    padding-bottom: 0;
    min-height: auto
  }
  .hero h1 {
    font-size: clamp(44px,13vw,65px);
    letter-spacing: -3.3px;
    line-height: 1.03;
    margin-top: 25px
  }
  .eyebrow {
    font-size: 8px;
    letter-spacing: 1.3px
  }
  .hero p {
    font-size: 12px;
    max-width: 280px
  }
  .primary {
    padding: 17px 21px;
    font-size: 11px
  }
  .hero-buttons {
    gap: 18px;
    margin-top: 26px
  }
  .text-link {
    font-size: 10px
  }
  .small-note {
    margin-top: 24px;
    font-size: 8px
  }
  .stage {
    height: 410px;
    margin: 0 -7px
  }
  .gift-main {
    width: 320px;
    height: 320px
  }
  .orbit {
    width: 310px;
    height: 310px
  }
  .orbit.two {
    width: 355px;
    height: 355px
  }
  .stage:before {
    width: 400px;
    height: 400px
  }
  .stage:after {
    bottom: 53px
  }
  .label-one {
    top: 61px;
    right: -2px;
    padding: 11px 12px;
    font-size: 9px
  }
  .label-two {
    bottom: 56px;
    left: -2px;
    padding: 11px 12px;
    font-size: 9px
  }
  .floating-label small {
    font-size: 8px
  }
  .mini-icon {
    font-size: 23px
  }
  .s1 {
    left: 23px;
    top: 44px
  }
  .s3 {
    top: 12px;
    right: 90px
  }
  .serial {
    bottom: 14px;
    font-size: 7px;
    letter-spacing: 3px
  }
  .strip {
    gap: 15px;
    font-size: 8px;
    padding: 20px 0 24px
  }
  .strip b {
    font-size: 10px
  }
  .collection {
    margin: 8px 9px 0;
    padding: 37px 0;
    border-radius: 23px
  }
  .collection .wrap {
    padding: 0 14px
  }
  .section-top h2 {
    font-size: 28px;
    letter-spacing: -1.3px;
    max-width: 270px;
    line-height: 1.18
  }
  .section-top p {
    font-size: 10px
  }
  .section-kicker {
    font-size: 8px
  }
  .filters {
    margin-top: 20px
  }
  .filter {
    font-size: 10px;
    padding: 10px 15px
  }
  .cards {
    gap: 10px;
    margin-top: 24px
  }
  .card {
    border-radius: 17px
  }
  .art {
    height: 177px
  }
  .art svg {
    width: 135px;
    height: 135px
  }
  .art:after {
    width: 90px;
    height: 25px;
    bottom: 23px
  }
  .tag {
    font-size: 6px;
    top: 12px;
    left: 10px;
    padding: 5px 6px;
    letter-spacing: .8px
  }
  .favorite {
    top: 12px;
    right: 10px;
    font-size: 13px
  }
  .card-bottom {
    padding: 14px 11px
  }
  .card-bottom h3 {
    font-size: 11px
  }
  .card-bottom small {
    font-size: 7px
  }
  .card-bottom .arrow {
    width: 24px;
    height: 24px;
    font-size: 12px
  }
  .catalog-note {
    font-size: 7px;
    line-height: 1.6
  }
  .about {
    padding-top: 56px;
    padding-bottom: 42px;
    gap: 25px
  }
  .about h2 {
    font-size: 37px;
    letter-spacing: -1.8px
  }
  .about p {
    font-size: 12px
  }
  .feature,.feature:first-child {
    padding: 21px 17px
  }
  .feature h3 {
    font-size: 13px
  }
  .feature p {
    font-size: 10px
  }
  .bottom-banner {
    padding: 28px 24px
  }
  .bottom-banner h2 {
    font-size: 26px;
    line-height: 1.15;
    max-width: 240px
  }
  .bottom-banner p {
    font-size: 10px;
    line-height: 1.8;
    max-width: 230px
  }
  .bottom-banner:after {
    right: -65px;
    top: -10px;
    font-size: 250px
  }
  .bottom-banner a {
    padding: 15px 20px;
    font-size: 11px
  }
  footer {
    padding: 30px 0;
    gap: 18px
  }
  footer>span {
    font-size: 7px
  }
  footer .brand {
    font-size: 18px
  }
}

/* Midnight / one permanent theme */
:root {
  color-scheme: dark;
  --bg: #06132e;
  --ink: #f4f8ff;
  --muted: #91a9cf;
  --line: #ffffff18;
  --panel: #10274b;
  --blue: #78cfff
}

body {
  background: #06132e;
  background-image: radial-gradient(ellipse at 80% 13%,#1256b748,transparent 38%),radial-gradient(ellipse at 0% 40%,#0c2e7226,transparent 40%)
}

header {
  border-bottom: 1px solid #ffffff0d
}

.brand-icon {
  background: linear-gradient(140deg,#1979ef,#0d45a2);
  border-color: #6fc9ff40;
  box-shadow: 0 0 25px #237cff24,inset 0 1px #a5e3ff40
}

.hero p {
  color: #a7bcdc
}

.eyebrow {
  color: #a9c7ef
}

.hero h1 span {
  background-image: linear-gradient(110deg,#67b6ff,#b1edff 40%,#fff 58%,#72bdff);
  background-size: 220% 100%;
  animation: titleLight 12s ease-in-out infinite
}

.primary {
  background: linear-gradient(120deg,#e1f5ff,#fff);
  color: #0a469f;
  box-shadow: 0 8px 40px #67bfff16
}

.primary:hover {
  box-shadow: 0 10px 50px #6ccaff35
}

.small-note {
  color: #6c90c2
}

.strip {
  color: #6e91bf;
  border-color: #5d8bbc25
}

.strip b {
  color: #bfd9fc
}

.stage {
  --light-x: 50%;
  --light-y: 45%;
  transform-style: preserve-3d
}

.stage:before {
  background: radial-gradient(ellipse at var(--light-x) var(--light-y),#2c99ff36,transparent 59%);
  animation: bloom 9s ease-in-out infinite
}

.stage:after {
  background: radial-gradient(ellipse,#020917aa,transparent 68%)
}

.gift-main {
  filter: drop-shadow(0 32px 20px #0006) drop-shadow(0 0 24px #42a8ff2c);
  will-change: translate,transform
}

.orbit {
  border-color: #6fbeff35;
  box-shadow: inset 0 0 30px #428fff0a,0 0 30px #428fff0a;
  animation: orbitMotion 27s linear infinite;
  transform-style: preserve-3d
}

.orbit:before {
  width: 6px;
  height: 6px;
  background: #bcf4ff;
  box-shadow: 0 0 13px 3px #69ceff88
}

.orbit:after {
  content: '';
  position: absolute;
  width: 4px;
  height: 4px;
  right: 66px;
  bottom: 55px;
  background: #4b9eff;
  border-radius: 50%;
  box-shadow: 0 0 15px 3px #2c89ff77
}

.orbit.two {
  animation: orbitMotionTwo 38s linear infinite;
  opacity: .4;
  border-color: #509cff45
}

.floating-label {
  background: linear-gradient(125deg,#365b9a40,#13294c60);
  border-color: #81b9ff30;
  box-shadow: inset 0 1px #c0e5ff12,0 20px 50px #0003;
  will-change: translate
}

.floating-label small {
  color: #7ca5d8
}

.spark {
  color: #98dbff
}

.serial {
  color: #507da9
}

.mote {
  position: absolute;
  left: var(--px);
  top: var(--py);
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background: #bcecff;
  box-shadow: 0 0 8px #71caff;
  opacity: 0;
  pointer-events: none;
  animation: moteRise var(--duration) ease-in-out var(--delay) infinite;
  z-index: -1
}

.collection {
  background: linear-gradient(135deg,#0a1934,#060d1c 65%);
  box-shadow: 0 35px 90px #0003;
  border-color: #5e9ada24
}

.card {
  transform-style: preserve-3d;
  transition: transform .22s ease-out,border-color .35s,box-shadow .35s
}

.card:before {
  background: radial-gradient(230px at var(--mx,50%) var(--my,40%),#79ceff28,transparent 75%);
  z-index: 2;
  mix-blend-mode: screen
}

.card:hover {
  border-color: #80caff75;
  box-shadow: 0 22px 45px #0005,0 0 30px #327dff14
}

.card .art svg {
  transition: transform .6s cubic-bezier(.2,.8,.2,1),filter .6s
}

.card:hover .art svg {
  transform: translateY(-7px) scale(1.09) rotate(-4deg);
  filter: drop-shadow(0 28px 20px #0005) drop-shadow(0 0 14px #70baff22)
}

.card:focus-visible {
  border-color: #8ddcff;
  outline-color: #8ddcff
}

.about p {
  color: #90aad0
}

.feature {
  background: linear-gradient(125deg,#17325b55,#0c203535);
  border-color: #5689c527
}

.feature p {
  color: #89a9d3
}

.bottom-banner {
  background: radial-gradient(ellipse at 85% 10%,#207af95c,transparent 60%),linear-gradient(110deg,#12396f,#0c224a);
  border-color: #6cb4ff40;
  box-shadow: inset 0 1px #aad9ff18,0 20px 55px #0002
}

.bottom-banner:after {
  color: #83c5ff0c;
  animation: bannerSpark 18s ease-in-out infinite
}

.bottom-banner p {
  color: #9cbce6
}

.bottom-banner a {
  color: #104ca9
}

footer {
  color: #6488b9
}

.modal-box {
  background: linear-gradient(145deg,#17365e,#0a172f);
  border-color: #6796d840
}

.modal {
  background: #020815b5
}

@keyframes titleLight {
  0%,100% {
    background-position: 0% 50%
  }
  50% {
    background-position: 100% 50%
  }
}

@keyframes bloom {
  0%,100% {
    opacity: .65;
    scale: .96
  }
  50% {
    opacity: 1;
    scale: 1.06
  }
}

@keyframes orbitMotion {
  from {
    transform: rotateX(20deg) rotateY(-30deg) rotateZ(-25deg)
  }
  to {
    transform: rotateX(20deg) rotateY(-30deg) rotateZ(335deg)
  }
}

@keyframes orbitMotionTwo {
  from {
    transform: rotateX(50deg) rotateY(20deg) rotateZ(35deg)
  }
  to {
    transform: rotateX(50deg) rotateY(20deg) rotateZ(-325deg)
  }
}

@keyframes moteRise {
  0%,100% {
    opacity: 0;
    transform: translateY(15px)
  }
  30% {
    opacity: .5
  }
  70% {
    opacity: .25
  }
  90% {
    opacity: 0;
    transform: translateY(-25px)
  }
}

@keyframes bannerSpark {
  0%,100% {
    transform: rotate(15deg)
  }
  50% {
    transform: rotate(65deg)
  }
}

@media(max-width:680px) {
  .stage:before {
    animation-duration: 12s
  }
  .orbit {
    animation-duration: 34s
  }
  .hero h1 {
    line-height: 1.05
  }
  .mote:nth-of-type(n+9) {
    display: none
  }
}

@media(prefers-reduced-motion:reduce) {
  .mote {
    display: none
  }
  *,*:before,*:after {
    animation: none!important;
    transition: none!important
  }
}

[hidden] {
  display: none!important
}

.catalog-page {
  background-color: #06132e
}

.catalog-page header {
  height: 90px
}

.catalog-hero {
  padding: 42px 0 28px;
  position: relative
}

.catalog-hero:after {
  content: '✦';
  position: absolute;
  right: 48px;
  top: 10px;
  font-size: 190px;
  color: #81caff12;
  transform: rotate(15deg);
  pointer-events: none
}

.breadcrumb {
  font-size: 10px;
  letter-spacing: 1px;
  color: #6b8fbc;
  margin-bottom: 24px
}

.breadcrumb a:hover {
  color: white
}

.catalog-hero h1 {
  font-size: 59px;
  letter-spacing: -3.3px;
  margin: 14px 0;
  line-height: 1.08
}

.catalog-hero h1 span {
  color: #89d8ff
}

.catalog-hero p {
  font-size: 13px;
  line-height: 1.8;
  color: #94b1d6;
  max-width: 430px
}

.catalog-topline {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: end
}

.catalog-edition {
  border: 1px solid #6097d330;
  border-radius: 50px;
  padding: 10px 15px;
  color: #89a9d1;
  font-size: 9px;
  letter-spacing: 1.5px;
  margin-bottom: 8px
}

.catalog-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 21px 0;
  border-top: 1px solid #ffffff12;
  border-bottom: 1px solid #ffffff12
}

.catalog-toolbar .filters {
  margin: 0
}

.search-field {
  width: 320px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #102240;
  border: 1px solid #6097d333;
  border-radius: 50px;
  padding: 13px 18px;
  color: #8dadd6
}

.search-field svg {
  width: 16px;
  height: 16px;
  flex: none
}

.search-field input {
  border: 0;
  outline: 0;
  min-width: 0;
  width: 100%;
  background: transparent;
  color: #ecf6ff;
  font: inherit;
  font-size: 11px
}

.search-field:focus-within {
  border-color: #79c9ff
}

.search-field input::placeholder {
  color: #7091be
}

.catalog-summary {
  display: flex;
  justify-content: space-between;
  margin: 26px 0 0;
  font-size: 10px;
  color: #6d8fb9
}

.catalog-summary strong {
  color: #cae1ff;
  font-weight: 600
}

.catalog-grid {
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 17px;
  margin: 20px 0 35px
}

.catalog-grid .art {
  height: 205px
}

.catalog-grid .art svg {
  width: 153px;
  height: 153px
}

.catalog-grid .card-bottom {
  display: block;
  padding: 16px
}

.catalog-grid .card-bottom h3 {
  font-size: 12px;
  margin-bottom: 6px
}

.price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 15px;
  gap: 8px
}

.ton-price {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #eaf8ff;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.4px;
  padding: 7px 10px;
  border-radius: 9px;
  background: linear-gradient(120deg,#2a87ff28,#3196ff10);
  border: 1px solid #58aeff2b;
  box-shadow: inset 0 1px #c0edff0a
}

.ton-price small {
  color: #81b9ec;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .5px
}

.ton-icon {
  height: 17px;
  width: 17px;
  flex: none;
  color: #52b6ff
}

.card .arrow {
  color: #a4caff;
  background: #ffffff08;
  width: 26px;
  height: 26px
}

.catalog-footer-note {
  padding: 22px 0 38px;
  border-bottom: 1px solid #ffffff10;
  color: #547cae;
  font-size: 9px;
  line-height: 1.8
}

.empty-state {
  padding: 70px 20px;
  text-align: center;
  color: #a0bcdf
}

.empty-state h2 {
  color: white;
  font-size: 24px
}

.reset-search {
  background: #297eff;
  color: #fff;
  padding: 12px 20px;
  border-radius: 40px;
  margin-top: 15px
}

.modal-price {
  justify-content: center;
  margin: 20px 0 0
}

.modal-price .ton-price {
  font-size: 23px;
  padding: 12px 20px
}

.modal-price .ton-icon {
  width: 24px;
  height: 24px
}

.catalog-link {
  color: #a9d8ff!important;
  font-size: 11px!important;
  font-weight: 700
}

.catalog-link:hover {
  color: white!important
}

.catalog-page nav a[aria-current=page] {
  color: white
}

.catalog-page .nav-cta {
  background: #267aff2b;
  border-color: #6ba8ff40
}

@media(max-width:1200px) {
  .catalog-grid {
    grid-template-columns: repeat(4,minmax(0,1fr))
  }
}

@media(max-width:950px) {
  .catalog-grid {
    grid-template-columns: repeat(3,minmax(0,1fr))
  }
  .catalog-grid .art {
    height: 210px
  }
  .catalog-hero h1 {
    font-size: 51px
  }
  .catalog-edition {
    display: none
  }
}

@media(max-width:680px) {
  .catalog-page header {
    height: 74px
  }
  .catalog-hero {
    padding: 28px 0 21px
  }
  .breadcrumb {
    margin-bottom: 19px;
    font-size: 9px
  }
  .catalog-hero h1 {
    font-size: 40px;
    letter-spacing: -2.1px
  }
  .catalog-hero p {
    font-size: 12px
  }
  .catalog-hero:after {
    right: -10px;
    font-size: 145px;
    top: 65px
  }
  .catalog-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
    padding: 17px 0
  }
  .catalog-toolbar .filters {
    align-self: start
  }
  .search-field {
    width: 100%;
    padding: 14px 17px
  }
  .catalog-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 11px;
    margin-top: 18px
  }
  .catalog-grid .art {
    height: 173px
  }
  .catalog-grid .art svg {
    width: 132px;
    height: 132px
  }
  .catalog-grid .card-bottom {
    padding: 13px 12px
  }
  .catalog-grid .card-bottom h3 {
    font-size: 11px
  }
  .price-row {
    margin-top: 13px
  }
  .ton-price {
    padding: 6px 8px;
    font-size: 13px;
    gap: 4px
  }
  .ton-price small {
    font-size: 8px
  }
  .ton-icon {
    width: 15px;
    height: 15px
  }
  .catalog-summary {
    font-size: 9px
  }
  .catalog-footer-note {
    font-size: 8px
  }
  .catalog-summary>span:last-child {
    max-width: 145px;
    text-align: right
  }
}

/* Sale landing and crawlable FAQ */
.brand-text {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.4px;
  line-height: 1.1
}

.brand-tg {
  font-size: 9px;
  letter-spacing: 2px;
  color: #8dd8ff
}

.hero h1 {
  font-size: clamp(62px,6.2vw,89px);
  line-height: 1.08
}

.hero h1 span {
  white-space: nowrap
}

.hero-buttons .primary {
  font-size: 12px
}

.bottom-banner [data-telegram] {
  background: white;
  color: #104ca9;
  padding: 17px 24px;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 800;
  position: relative;
  z-index: 1
}

.sale-faq {
  padding: 0 0 75px;
  max-width: 900px
}

.sale-faq h2 {
  font-size: 35px;
  letter-spacing: -1.5px;
  margin: 17px 0 28px
}

.sale-faq details {
  border-top: 1px solid #729bd028;
  padding: 20px 0
}

.sale-faq details:last-child {
  border-bottom: 1px solid #729bd028
}

.sale-faq summary {
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-right: 40px;
  line-height: 1.6
}

.sale-faq summary::-webkit-details-marker {
  display: none
}

.sale-faq summary:after {
  content: '+';
  position: absolute;
  right: 5px;
  color: #91d4ff;
  font-size: 23px;
  top: -3px
}

.sale-faq details[open] summary:after {
  content: '−'
}

.sale-faq p {
  color: #91acd1;
  font-size: 12px;
  line-height: 1.9;
  max-width: 740px;
  margin: 15px 0 0
}

.modal-sell {
  width: 100%
}

@media(max-width:680px) {
  .brand-text {
    font-size: 11px
  }
  .brand-tg {
    font-size: 8px
  }
  .brand {
    gap: 8px
  }
  .nav-cta {
    padding: 11px 13px;
    font-size: 9px
  }
  .hero h1 {
    font-size: clamp(48px,13.7vw,65px);
    letter-spacing: -2.7px
  }
  .hero-buttons {
    gap: 14px
  }
  .hero-buttons .primary {
    font-size: 10px;
    padding: 17px 16px
  }
  .hero-buttons .text-link {
    font-size: 9px
  }
  .bottom-banner [data-telegram] {
    margin-top: 22px;
    padding: 15px 20px;
    font-size: 11px
  }
  .sale-faq {
    padding-bottom: 42px
  }
  .sale-faq h2 {
    font-size: 28px;
    letter-spacing: -1.1px
  }
  .sale-faq summary {
    font-size: 12px
  }
  .sale-faq p {
    font-size: 11px
  }
  .sale-faq details {
    padding: 17px 0
  }
}

.modal-sell {
  display: inline-flex!important;
  align-items: center;
  justify-content: center;
  width: 100%
}

/* Catalog gift replaces the geometric ornament */
.catalog-hero:after {
  display: none
}

.catalog-topline {
  position: relative;
  z-index: 1;
  padding-right: 270px
}

.catalog-hero-gift {
  position: absolute;
  width: 240px;
  height: 240px;
  right: 20px;
  top: 47px;
  pointer-events: none
}

.catalog-hero-gift svg {
  width: 100%;
  height: 100%;
  position: relative;
  filter: drop-shadow(0 22px 20px #0006) drop-shadow(0 0 25px #329cff2e);
  animation: float 7s ease-in-out infinite
}

.catalog-gift-halo {
  position: absolute;
  inset: -35px;
  background: radial-gradient(ellipse,#459eff29,transparent 65%);
  border-radius: 50%
}

.catalog-gift-halo:before {
  content: '';
  position: absolute;
  inset: 25px;
  border-radius: 50%;
  border: 1px solid #6dbaff30;
  transform: rotateX(58deg) rotate(-25deg)
}

.sale-faq p a {
  color: #94dcff;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: #94dcff60;
  font-weight: 700
}

.sale-faq p a:hover {
  color: #fff;
  text-decoration-color: #fff
}

.catalog-page .sale-faq {
  padding-top: 22px;
  margin-top: 20px
}

.catalog-grid .ton-price {
  font-size: 11px;
  letter-spacing: 0
}

.modal-price .ton-price {
  font-size: 18px
}

@media(max-width:950px) {
  .catalog-topline {
    padding-right: 215px
  }
  .catalog-hero-gift {
    width: 195px;
    height: 195px;
    right: 0;
    top: 66px
  }
}

@media(max-width:680px) {
  .catalog-topline {
    padding-right: 0
  }
  .catalog-hero-gift {
    position: absolute;
    width: 78px;
    height: 78px;
    right: 0;
    top: 8px;
    opacity: .9
  }
  .catalog-hero h1 {
    font-size: 38px
  }
  .catalog-hero p {
    max-width: 340px
  }
  .catalog-hero .eyebrow {
    font-size: 7px;
    letter-spacing: 1px
  }
  .catalog-page .sale-faq {
    padding-top: 10px
  }
  .catalog-grid .ton-price {
    font-size: 10px;
    padding: 7px 8px
  }
  .sale-faq h2 {
    font-size: 27px
  }
}

@media(prefers-reduced-motion:reduce) {
  .catalog-hero-gift svg {
    animation: none
  }
}

/* Editorial pages */
.articles-page .breadcrumb {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 35px 0 0;
  font-size: 10px;
  letter-spacing: 0;
  flex-wrap: wrap
}

.articles-intro {
  padding: 40px 0
}

.articles-intro h1 {
  font-size: 58px;
  line-height: 1.13;
  letter-spacing: -3px;
  margin: 21px 0
}

.articles-intro h1 span {
  color: #99dbff
}

.articles-intro p {
  color: #90afd6;
  font-size: 13px;
  line-height: 1.85;
  max-width: 590px
}

.articles-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px;
  margin: 8px 0 65px
}

.article-card {
  border: 1px solid #84b8ff25;
  border-radius: 23px;
  background: linear-gradient(135deg,#122746,#08172f);
  overflow: hidden;
  transition: transform .3s,border-color .3s;
  display: flex;
  flex-direction: column
}

.article-card:hover {
  transform: translateY(-6px);
  border-color: #85ccff80
}

.article-card-art {
  height: 210px;
  position: relative;
  display: grid;
  place-items: center;
  background: radial-gradient(ellipse,#327dca32,transparent 67%);
  border-bottom: 1px solid #ffffff0a
}

.article-card-art>span {
  position: absolute;
  left: 22px;
  top: 22px;
  color: #74a4d5;
  font-size: 9px;
  letter-spacing: 1.5px
}

.article-card-art svg {
  width: 175px;
  height: 175px;
  filter: drop-shadow(0 18px 15px #0005)
}

.article-card-copy {
  padding: 25px;
  display: flex;
  flex-direction: column;
  flex: 1
}

.article-card-copy .section-kicker {
  font-size: 8px;
  letter-spacing: 1.5px
}

.article-card-copy h2 {
  font-size: 23px;
  letter-spacing: -.9px;
  line-height: 1.32;
  margin: 15px 0
}

.article-card-copy p {
  color: #8aa7cd;
  font-size: 11px;
  line-height: 1.9;
  margin: 0 0 26px
}

.article-card-bottom {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 9px;
  color: #628ab9;
  gap: 10px
}

.article-card-bottom strong {
  color: #a6ddff;
  font-size: 11px
}

.article-hero {
  padding: 39px 0 42px;
  max-width: 950px
}

.article-hero h1 {
  font-size: 58px;
  line-height: 1.1;
  letter-spacing: -2.7px;
  margin: 22px 0
}

.article-hero>p {
  font-size: 15px;
  line-height: 1.9;
  color: #a9c1e3;
  max-width: 810px
}

.article-meta {
  display: flex;
  gap: 12px;
  color: #6188b8;
  font-size: 10px;
  margin-top: 24px
}

.article-layout {
  display: grid;
  grid-template-columns: minmax(0,800px) minmax(210px,1fr);
  gap: 65px;
  align-items: start;
  padding-bottom: 48px
}

.article-content {
  font-size: 14px;
  line-height: 1.95;
  color: #a6bbd9;
  min-width: 0
}

.article-content h2 {
  color: #f3f8ff;
  font-size: 25px;
  line-height: 1.35;
  letter-spacing: -.7px;
  margin: 36px 0 18px;
  scroll-margin-top: 30px
}

.article-content h2:first-child {
  margin-top: 0
}

.article-content p {
  margin: 0 0 18px
}

.article-content a {
  color: #a0ddff;
  text-decoration: underline;
  text-decoration-color: #80cfff50;
  text-underline-offset: 4px;
  overflow-wrap: anywhere
}

.article-content a:hover {
  color: white
}

.article-content ol {
  padding-left: 24px;
  margin: 18px 0 25px
}

.article-content li {
  padding-left: 7px;
  margin-bottom: 10px
}

.article-note {
  border: 1px solid #6ba6f03b;
  border-left: 3px solid #54afff;
  background: #1e4b8b20;
  border-radius: 0 13px 13px 0;
  padding: 20px 24px;
  margin: 26px 0
}

.article-note strong {
  color: #cceaff;
  font-size: 14px
}

.article-note p {
  font-size: 12px;
  margin: 9px 0 0
}

.article-toc {
  position: sticky;
  top: 28px;
  padding: 23px;
  background: #10234488;
  border: 1px solid #79aaff20;
  border-radius: 17px
}

.article-toc>span {
  font-size: 8px;
  letter-spacing: 2px;
  color: #6d9ed0
}

.article-toc ol {
  padding-left: 17px;
  color: #547caa;
  font-size: 11px;
  line-height: 1.7;
  margin: 20px 0
}

.article-toc li {
  padding-left: 5px;
  margin: 13px 0
}

.article-toc a {
  color: #97b6db
}

.article-toc a:hover {
  color: #fff
}

.toc-cta {
  display: block;
  background: #277af226;
  border: 1px solid #4795ff35;
  border-radius: 10px;
  padding: 13px;
  text-align: center;
  font-size: 10px;
  color: #c6e6ff!important
}

.related-articles {
  border-top: 1px solid #ffffff14;
  padding: 27px 0 40px
}

.related-articles h2 {
  font-size: 22px;
  letter-spacing: -.6px
}

.related-articles>div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px
}

.related-articles a {
  background: #1027466b;
  border: 1px solid #ffffff10;
  border-radius: 12px;
  padding: 20px;
  font-size: 12px;
  line-height: 1.7;
  display: flex;
  justify-content: space-between;
  gap: 20px
}

.related-articles a span {
  color: #8bd8ff
}

.articles-page .bottom-banner {
  margin-bottom: 5px
}

@media(max-width:1100px) {
  .article-layout {
    gap: 30px;
    grid-template-columns: minmax(0,1fr) 240px
  }
  .articles-grid {
    gap: 15px
  }
  .article-card-copy {
    padding: 20px
  }
  .article-card-copy h2 {
    font-size: 20px
  }
  .article-hero h1 {
    font-size: 50px
  }
}

@media(max-width:850px) {
  .article-layout {
    grid-template-columns: 1fr
  }
  .article-toc {
    position: static;
    grid-row: 1
  }
  .article-toc ol {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px
  }
  .article-toc .toc-cta {
    max-width: 240px
  }
  .articles-grid {
    grid-template-columns: 1fr
  }
  .article-card {
    display: grid;
    grid-template-columns: 220px 1fr
  }
  .article-card-art {
    height: 100%;
    min-height: 230px;
    border: 0;
    border-right: 1px solid #ffffff0a
  }
  .article-card-copy h2 {
    font-size: 24px
  }
}

@media(max-width:680px) {
  .articles-page .breadcrumb {
    margin-top: 23px;
    font-size: 9px
  }
  .articles-intro {
    padding: 29px 0 24px
  }
  .articles-intro h1 {
    font-size: 37px;
    letter-spacing: -1.9px
  }
  .articles-intro p {
    font-size: 12px
  }
  .articles-grid {
    margin-bottom: 38px
  }
  .article-card {
    display: flex
  }
  .article-card-art {
    height: 175px;
    min-height: 175px;
    border-right: 0;
    border-bottom: 1px solid #ffffff0a
  }
  .article-card-art svg {
    width: 147px;
    height: 147px
  }
  .article-card-copy h2 {
    font-size: 23px
  }
  .article-card-copy {
    padding: 23px
  }
  .article-hero {
    padding: 29px 0
  }
  .article-hero h1 {
    font-size: 38px;
    letter-spacing: -1.8px
  }
  .article-hero>p {
    font-size: 13px
  }
  .article-meta {
    font-size: 9px
  }
  .article-content {
    font-size: 13px;
    line-height: 1.9
  }
  .article-content h2 {
    font-size: 23px;
    margin-top: 30px
  }
  .article-toc ol {
    display: block
  }
  .article-layout {
    gap: 27px;
    padding-bottom: 30px
  }
  .article-note {
    padding: 18px
  }
  .related-articles>div {
    grid-template-columns: 1fr
  }
  .related-articles {
    padding-bottom: 30px
  }
  .article-toc {
    padding: 20px
  }
  .article-toc li {
    margin: 10px 0
  }
}

.footer-links {
  display: flex;
  align-items: center;
  gap: 20px
}

.footer-links a:hover {
  color: #c4e6ff
}

.seo-guides {
  padding: 0 0 65px
}

.seo-guides h2 {
  font-size: 31px;
  letter-spacing: -1.2px;
  margin: 15px 0
}

.seo-guides>p {
  color: #8eadd4;
  font-size: 12px;
  line-height: 1.9
}

.seo-guides>div:last-child {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 15px;
  margin-top: 25px
}

.seo-guides>div:last-child a {
  padding: 22px;
  border: 1px solid #6ca8ef29;
  background: #11274777;
  border-radius: 14px;
  font-size: 13px;
  line-height: 1.7;
  color: #c7e6ff
}

.seo-guides a:hover {
  border-color: #82c9ff77
}

@media(max-width:680px) {
  .seo-guides {
    padding-bottom: 40px
  }
  .seo-guides h2 {
    font-size: 27px
  }
  .seo-guides>div:last-child {
    grid-template-columns: 1fr
  }
  .seo-guides>div:last-child a {
    padding: 19px;
    font-size: 12px
  }
}

/* Consistent site footer and documents */
footer.site-footer {
  display: block;
  padding: 0;
  margin-top: 66px;
  border-top: 1px solid #70a5e329;
  color: #7297c4;
  font-size: 11px
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.25fr .8fr 1fr 1.1fr;
  gap: 40px;
  padding: 44px 0 35px
}

.footer-grid h2 {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: #c2ddff;
  margin: 0 0 19px
}

.footer-about .brand-text {
  font-size: 17px;
  gap: 7px
}

.footer-about p {
  font-size: 11px;
  line-height: 1.9;
  margin: 17px 0;
  color: #6f91bb
}

.footer-contact {
  display: inline-flex;
  gap: 6px;
  padding: 10px 13px;
  border: 1px solid #69b0ff35;
  border-radius: 8px;
  background: #277df313;
  color: #a4d8ff;
  font-size: 10px
}

.footer-nav {
  display: flex;
  flex-direction: column;
  gap: 13px;
  align-items: flex-start;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.8;
  color: #7e9fc9
}

.footer-nav a:hover,.footer-contact:hover {
  color: #fff
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
  border-top: 1px solid #ffffff10;
  padding: 22px 0 27px;
  font-size: 9px;
  color: #5078a9;
  line-height: 1.8
}

.footer-bottom>a {
  color: #8ebce8;
  white-space: nowrap
}

.legal-page .article-hero {
  max-width: 1000px
}

.legal-page .article-hero h1 {
  font-size: 48px;
  overflow-wrap: anywhere
}

.legal-page .article-content>p:first-child {
  color: #c0d7f4
}

.legal-page .article-content ul {
  padding-left: 24px;
  margin: 15px 0 22px
}

.legal-page .article-content li {
  margin-bottom: 8px
}

.legal-page .article-content strong {
  color: #d1e6ff
}

.catalog-grid .ton-price {
  font-size: 14px
}

.modal-price .ton-price {
  font-size: 23px
}

@media(max-width:1000px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px 40px
  }
  .footer-bottom {
    flex-wrap: wrap;
    gap: 12px
  }
  .legal-page .article-hero h1 {
    font-size: 42px
  }
}

@media(max-width:680px) {
  footer.site-footer {
    margin-top: 42px
  }
  .footer-grid {
    padding: 32px 0;
    gap: 27px 20px;
    grid-template-columns: 1fr 1fr
  }
  .footer-about {
    grid-column: 1/-1
  }
  .footer-grid>div:last-child {
    grid-column: 1/-1
  }
  .footer-grid h2 {
    font-size: 9px;
    margin-bottom: 14px
  }
  .footer-nav {
    font-size: 10px;
    gap: 10px
  }
  .footer-bottom {
    display: block;
    font-size: 8px;
    padding: 20px 0 25px
  }
  .footer-bottom>span,.footer-bottom>a {
    display: block;
    margin-bottom: 7px
  }
  .legal-page .article-hero h1 {
    font-size: 34px;
    letter-spacing: -1.4px
  }
  .legal-page .article-toc {
    grid-row: 1
  }
  .catalog-grid .ton-price {
    font-size: 13px
  }
}

/* User-supplied Telegram gift images from img/ */
.catalog-grid .gift-image {
  display: block;
  position: relative;
  z-index: 1;
  width: 165px;
  height: 165px;
  max-width: 88%;
  object-fit: contain;
  filter: drop-shadow(0 18px 16px #0004);
  transition: transform .6s cubic-bezier(.2,.8,.2,1),filter .6s;
  border-radius: 12px
}

.catalog-grid .card:hover .gift-image {
  transform: translateY(-5px) scale(1.06) rotate(-3deg);
  filter: drop-shadow(0 24px 20px #0005)
}

.modal-gift-image {
  width: 240px;
  height: 240px;
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 18px 25px #0004);
  border-radius: 16px
}

.catalog-grid .card-bottom h3 {
  overflow-wrap: anywhere
}

@media(max-width:680px) {
  .catalog-grid .gift-image {
    width: 135px;
    height: 135px
  }
  .modal-gift-image {
    width: 210px;
    height: 210px
  }
}

@media(prefers-reduced-motion:reduce) {
  .catalog-grid .card:hover .gift-image {
    transform: none
  }
}

/* Real JPG collections / market edition */
.market-card {
  background: linear-gradient(145deg,#142439,#0a1425);
  border-radius: 20px
}

.market-card .art {
  overflow: hidden;
  height: 235px;
  background: #11161e
}

.market-card .gift-image {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  border-radius: 0;
  filter: none;
  transition: transform .65s cubic-bezier(.2,.8,.2,1)
}

.market-card .art:after {
  display: none
}

.market-card .art:before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(#02091435,transparent 35%,#02091435);
  z-index: 2;
  pointer-events: none
}

.market-card .tag {
  z-index: 3;
  color: #d2e8ff;
  background: #0b1425b8;
  border-color: #cee9ff23;
  backdrop-filter: blur(10px);
  top: 14px;
  left: 14px;
  font-size: 7px
}

.market-rank {
  position: absolute;
  bottom: 13px;
  right: 15px;
  color: #d6e8ff3d;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -2px;
  z-index: 3
}

.market-card:hover .gift-image,.catalog-grid .market-card:hover .gift-image {
  transform: scale(1.055);
  filter: none
}

.market-card .card-bottom {
  display: block;
  padding: 19px
}

.market-card .card-bottom h3 {
  font-size: 14px;
  letter-spacing: -.3px;
  margin: 0 0 8px
}

.market-card .card-bottom>small {
  font-size: 9px;
  color: #718dac
}

.market-card .price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 15px
}

.market-card .ton-price,.catalog-grid .market-card .ton-price {
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  color: #f0f8ff;
  font-size: 21px;
  gap: 5px;
  letter-spacing: -.8px
}

.market-card .ton-price .price-from {
  font-size: 10px;
  color: #6e96c0;
  letter-spacing: 0;
  font-weight: 500
}

.market-card .ton-price small {
  font-size: 9px;
  font-weight: 600;
  color: #709ecc;
  letter-spacing: 0
}

.market-card .ton-icon {
  width: 18px;
  height: 18px
}

.market-card[data-category=premium] {
  border-color: #6cafff40
}

.market-card[data-category=premium] .tag {
  color: #a7dcff
}

.catalog-grid {
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 21px
}

.catalog-grid .art {
  height: 245px
}

.catalog-grid .market-card .gift-image {
  width: 100%;
  height: 100%;
  max-width: none
}

.hero-real-gift {
  object-fit: cover;
  border-radius: 40px;
  border: 1px solid #a6d4ff29;
  width: 330px;
  height: 330px;
  box-shadow: 0 30px 70px #0005;
  filter: none
}

.catalog-hero-gift img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 25px;
  position: relative;
  border: 1px solid #a8d6ff25;
  box-shadow: 0 20px 50px #0004;
  animation: float 7s ease-in-out infinite
}

.view-all-gifts {
  display: inline-flex;
  align-items: center;
  padding: 13px 19px;
  border: 1px solid #83b8ff33;
  border-radius: 40px;
  font-size: 11px;
  color: #b8ddff;
  background: #2463a214
}

.market-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 24px;
  padding: 17px 20px;
  background: #2267c40a;
  border: 1px solid #7cb4f51b;
  border-radius: 13px;
  color: #88a9ce
}

.market-note strong {
  font-size: 10px;
  font-weight: 600;
  color: #aac6e5
}

.market-note p {
  font-size: 10px;
  line-height: 1.8;
  margin: 7px 0 0;
  max-width: 900px
}

.market-note a {
  color: #92d0ff;
  text-decoration: underline;
  text-underline-offset: 3px
}

.market-dot {
  height: 6px;
  width: 6px;
  flex: none;
  margin-top: 5px;
  background: #6baeff;
  border-radius: 50%;
  box-shadow: 0 0 12px #559aff50
}

.catalog-page .market-note {
  margin-top: 16px
}

.sort-field {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #6b8fb9;
  font-size: 9px
}

.sort-field select {
  appearance: none;
  background: #132643;
  color: #bad8fa;
  font: inherit;
  font-size: 10px;
  outline-offset: 3px;
  border: 1px solid #6d9dd82e;
  border-radius: 9px;
  padding: 10px 25px 10px 12px;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%2397c5f0' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 9px center
}

.sort-field select option {
  background: #132643
}

.catalog-toolbar {
  flex-wrap: wrap
}

.catalog-toolbar .filters {
  flex-wrap: wrap
}

.catalog-toolbar .filter {
  font-size: 9px;
  padding: 11px 14px
}

.modal-gift-image {
  width: 240px;
  height: 240px;
  object-fit: cover;
  border-radius: 21px
}

.modal-price .ton-price {
  font-size: 28px;
  padding: 12px 18px;
  background: #286fbd12
}

.modal-price .price-from {
  font-size: 12px;
  color: #89aed5
}

.modal-price .ton-price small {
  font-size: 11px
}

.catalog-footer-note {
  line-height: 1.9
}

@media(max-width:1100px) {
  .catalog-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 17px
  }
  .catalog-grid .art {
    height: 230px
  }
  .hero-real-gift {
    width: 290px;
    height: 290px
  }
  .catalog-toolbar .search-field {
    width: 260px
  }
}

@media(max-width:680px) {
  .catalog-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px
  }
  .catalog-grid .art,.market-card .art {
    height: 170px
  }
  .market-card .card-bottom,.catalog-grid .card-bottom {
    padding: 14px 12px
  }
  .market-card .card-bottom h3,.catalog-grid .card-bottom h3 {
    font-size: 12px
  }
  .market-card .card-bottom>small {
    font-size: 8px
  }
  .market-card .ton-price,.catalog-grid .market-card .ton-price {
    font-size: 18px;
    gap: 4px
  }
  .market-card .ton-price small {
    font-size: 8px
  }
  .market-card .ton-icon {
    width: 15px;
    height: 15px
  }
  .market-card .tag {
    font-size: 6px;
    padding: 5px 7px;
    left: 9px;
    top: 10px;
    letter-spacing: .7px
  }
  .market-rank {
    font-size: 22px;
    right: 12px;
    bottom: 10px
  }
  .catalog-grid .market-card .gift-image {
    width: 100%;
    height: 100%
  }
  .market-note {
    padding: 14px;
    gap: 10px;
    margin-top: 18px
  }
  .market-note strong {
    font-size: 9px
  }
  .market-note p {
    font-size: 9px
  }
  .catalog-summary {
    align-items: center;
    gap: 10px
  }
  .catalog-summary>span {
    font-size: 9px
  }
  .sort-field {
    font-size: 0;
    gap: 0
  }
  .sort-field select {
    font-size: 9px;
    max-width: 165px
  }
  .catalog-toolbar .search-field {
    width: 100%
  }
  .catalog-toolbar .filter {
    font-size: 8px;
    padding: 10px
  }
  .hero-real-gift {
    width: 260px;
    height: 260px;
    border-radius: 30px
  }
  .view-all-gifts {
    margin-top: 22px;
    font-size: 10px
  }
  .catalog-hero-gift img {
    border-radius: 15px
  }
  .modal-gift-image {
    width: 210px;
    height: 210px
  }
}

@media(prefers-reduced-motion:reduce) {
  .catalog-hero-gift img {
    animation: none
  }
  .market-card:hover .gift-image {
    transform: none
  }
}

/* Search-intent content, visible and responsive */
.sale-context {
  padding: 0 0 65px
}

.sale-context h2 {
  font-size: 33px;
  letter-spacing: -1.3px;
  line-height: 1.25;
  margin: 16px 0 27px
}

.sale-context-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 28px
}

.sale-context-grid>div {
  border-top: 1px solid #72a6e638;
  padding-top: 22px
}

.sale-context h3 {
  font-size: 15px;
  line-height: 1.5;
  color: #d7eaff;
  margin: 0 0 13px
}

.sale-context p {
  font-size: 12px;
  line-height: 1.9;
  color: #8eaad0;
  margin: 0 0 16px
}

.sale-context a {
  font-size: 10px;
  color: #97d6ff;
  line-height: 1.7
}

.sale-context a:hover {
  color: #fff
}

.hero h1 {
  line-height: 1.1
}

.catalog-summary>span {
  color: #7e9ec5
}

@media(max-width:680px) {
  .sale-context {
    padding-bottom: 40px
  }
  .sale-context h2 {
    font-size: 27px;
    letter-spacing: -1px
  }
  .sale-context-grid {
    grid-template-columns: 1fr;
    gap: 24px
  }
  .sale-context-grid>div {
    padding-top: 20px
  }
  .sale-context p {
    font-size: 11px
  }
  .sale-context h3 {
    font-size: 14px
  }
  .catalog-summary>span {
    font-size: 8px;
    max-width: 145px
  }
}
