/* Собрано из miniapp/design/landing — правки вносить туда (node site.mjs). */

@font-face{font-family:"Onest";font-weight:400 800;font-display:swap;
  src:url("/landing/fonts/onest-cyrillic.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-weight:400 800;font-display:swap;
  src:url("/landing/fonts/onest-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Cormorant";font-weight:300 600;font-display:swap;
  src:url("/landing/fonts/cormorant-cyrillic.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant";font-weight:300 600;font-display:swap;
  src:url("/landing/fonts/cormorant-latin.woff2") format("woff2");
  unicode-range:U+20,U+25,U+2b-3b,U+45,U+4e,U+61,U+69,U+72,U+74-75,U+ab,U+bb,U+2013-2014}

*{box-sizing:border-box}
body{margin:0;background:#12100D}
.page{background:#12100D;color:#F4EEE3;font-family:"Onest",system-ui,sans-serif;
  font-size:17px;line-height:1.6;letter-spacing:-0.005em;-webkit-font-smoothing:antialiased}
.serif{font-family:"Cormorant",Georgia,serif;font-variant-numeric:lining-nums tabular-nums}
a{color:#D9A441;text-underline-offset:3px}
a:hover{color:#E8B45C}
.kicker{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:#9B9284;font-weight:600}
.cta{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;
  justify-content:center;gap:10px;padding:17px 30px;border-radius:999px;background:#F4EEE3;
  color:#12100D;font-size:17px;font-weight:600;text-decoration:none;border:0;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease,
  background-color .35s ease}
/* При наведении по кнопке проходит золотой блик, а сама она чуть приподнимается. Цвет
   надписи закреплён: раньше общее a:hover красило её в золото на кремовом, и она пропадала */
.cta::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,rgba(217,164,65,.42) 50%,transparent 70%);
  transform:translateX(-115%);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
a.cta:hover,a.cta:focus-visible{color:#12100D;transform:translateY(-2px);
  box-shadow:0 16px 36px -14px rgba(217,164,65,.75),0 0 0 1px rgba(217,164,65,.5)}
.cta:hover::after,.cta:focus-visible::after{transform:translateX(115%)}
a.cta:active{transform:translateY(0) scale(.98);transition-duration:.12s}
.cta-ghost{background:transparent;border:1px solid rgba(244,238,227,.18);color:#F4EEE3}
a.cta-ghost.cta:hover,a.cta-ghost.cta:focus-visible{color:#F4EEE3;
  background-color:rgba(244,238,227,.05);border-color:rgba(217,164,65,.65)}
@media (prefers-reduced-motion:reduce){.cta{transition:none}.cta::after{display:none}
  a.cta:hover,a.cta:focus-visible,a.cta:active{transform:none}}
.note{color:#9B9284;font-size:14px}
.card{background:#1C1915;border-radius:22px;padding:24px}
.card-gold{background:linear-gradient(180deg,rgba(217,164,65,.14),rgba(217,164,65,.05));
  border:1px solid rgba(217,164,65,.24)}
.dot{width:7px;height:7px;border-radius:99px;flex:none;display:inline-block}
.blank{color:#E0785C;font-style:normal;white-space:nowrap}
.petal{transform-box:view-box;transform-origin:180px 180px;transform:rotate(var(--a));
  animation:open 1.1s cubic-bezier(.16,.9,.25,1) backwards;mix-blend-mode:screen}
@keyframes open{from{transform:rotate(var(--a)) scale(.1);opacity:0}
  to{transform:rotate(var(--a)) scale(1);opacity:1}}
@media (prefers-reduced-motion: reduce){.petal{animation:none}}

body{color:#F4EEE3;font-family:"Onest",system-ui,sans-serif;font-size:17px;line-height:1.6;
  letter-spacing:-0.005em;-webkit-font-smoothing:antialiased}
.wrap{max-width:1120px;margin:0 auto;padding:28px 24px 0}
header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}
.brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:600;letter-spacing:0.01em;
  text-decoration:none;color:#F4EEE3}
nav{display:flex;align-items:center;gap:26px;font-size:15px}
nav a{color:#9B9284;text-decoration:none}
nav a:hover{color:#F4EEE3}
h1{font-family:"Cormorant",Georgia,serif;text-wrap:balance;font-size:clamp(37px,6.4vw,76px);font-weight:300;
  line-height:1.04;letter-spacing:-0.015em;margin:0}
h2{font-family:"Cormorant",Georgia,serif;font-size:clamp(32px,4.2vw,50px);font-weight:300;
  line-height:1.1;margin:12px 0 0}
section{margin-top:96px}
.hero{display:flex;gap:56px;align-items:center;margin-top:48px}
.hero-text{flex:1;min-width:0}
.hero p{font-size:19px;line-height:1.55;color:#9B9284;margin:20px 0 0;max-width:440px}
.hero-cta{display:flex;align-items:center;gap:12px 14px;margin-top:30px;flex-wrap:wrap}
.hero-cta .note{flex-basis:100%;margin-top:4px}
/* Кнопки мессенджеров — в их фирменных цветах и с их знаками: куда ведёт кнопка, видно
   раньше, чем прочитана надпись. Знак MAX — с maxicons.ru (права у VK), Telegram — глиф MDI */
.cta-icon{width:22px;height:22px;flex:none;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.cta.cta-tg{background:linear-gradient(180deg,#2AABEE,#229ED9);color:#fff}
.cta.cta-max{background:linear-gradient(120deg,#44CCFF 0%,#5533EE 62%,#9933DD 100%);color:#fff}
.cta.cta-tg::after,.cta.cta-max::after{
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%)}
a.cta.cta-tg:hover,a.cta.cta-tg:focus-visible{color:#fff;
  box-shadow:0 16px 38px -14px rgba(42,171,238,.9),0 0 0 1px rgba(42,171,238,.6)}
a.cta.cta-max:hover,a.cta.cta-max:focus-visible{color:#fff;
  box-shadow:0 16px 38px -14px rgba(85,51,238,.95),0 0 0 1px rgba(153,51,221,.6)}
/* самолётик взлетает, знак MAX чуть подрастает */
a.cta-tg:hover .cta-icon{transform:translate(3px,-3px) rotate(-8deg)}
a.cta-max:hover .cta-icon{transform:scale(1.12) rotate(-6deg)}
@media (prefers-reduced-motion:reduce){.cta-icon{transition:none}
  a.cta:hover .cta-icon{transform:none}}
.grid{display:grid;gap:14px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.card{display:flex;flex-direction:column;gap:8px}
.card b{font-size:16px;font-weight:600;letter-spacing:-0.01em}
.card span{font-size:15px;line-height:1.6;color:#9B9284}
.card .no{font-family:"Cormorant",Georgia,serif;font-size:32px;font-weight:300;color:#D9A441;line-height:1}
.plan b{display:block;font-family:"Cormorant",Georgia,serif;font-size:44px;font-weight:300;line-height:1.05;
  font-variant-numeric:lining-nums tabular-nums}
.lead{font-size:17px;line-height:1.65;color:#9B9284;margin:20px 0 0}
.phone{width:320px;flex:none;border-radius:34px;background:#12100D;border:1px solid rgba(244,238,227,.18);
  padding:18px 16px 22px;display:flex;flex-direction:column;align-items:center;
  box-shadow:0 30px 80px rgba(0,0,0,.5)}
.phone-top{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:12px;
  color:#9B9284}
.phone-brand{display:flex;align-items:center;gap:7px;color:#F4EEE3;font-weight:600}
.phone-stage{position:relative;display:grid;place-items:center;margin:0 -16px;width:calc(100% + 32px)}
.phone-stage svg{width:296px;height:296px}
.phone-face{position:absolute;display:flex;flex-direction:column;align-items:center;gap:8px}
.phone-macros{display:flex;width:100%;border-top:1px solid rgba(244,238,227,.10);border-bottom:1px solid rgba(244,238,227,.10);
  margin-top:6px}
.phone-macro{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding:9px 8px 9px 0;border-right:1px solid rgba(244,238,227,.10)}
/* отступ от разделителя: без него цифры второй и третьей колонки стояли вплотную к линии */
.phone-macro+.phone-macro{padding-left:10px}
.phone-macro:last-child{border-right:0}
.phone-meal{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid rgba(244,238,227,.10);
  font-size:12px;width:100%}
.phone-meal span:nth-child(3){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* подвал — одной колонкой по центру: логотип, документы, реквизиты, оговорка */
footer{margin-top:88px;border-top:1px solid rgba(244,238,227,.10);padding:30px 24px 44px;color:#9B9284;
  font-size:14px;line-height:1.7;display:flex;flex-direction:column;align-items:center;gap:12px;
  text-align:center}
footer .foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px}
footer > div:not(.foot-links){max-width:760px}
footer a{color:#9B9284}
.doc{max-width:820px;margin:0 auto;padding:28px 24px 56px}
.doc h1{font-size:clamp(32px,5vw,44px);margin-top:22px}
.doc h3{font-size:18px;font-weight:600;letter-spacing:-0.01em;margin:34px 0 0;font-family:inherit}
.doc p,.doc li{font-size:16px;line-height:1.7;margin:10px 0 0}
.doc ul{padding-left:22px;margin:8px 0 0}
.doc li{margin-top:6px;color:#9B9284}
.doc li b{color:#F4EEE3;font-weight:600}
.doc .meta{color:#9B9284;font-size:14px;margin-top:8px}
.draft{background:rgba(224,120,92,.14);border:1px solid rgba(224,120,92,.32);border-radius:16px;
  padding:14px 16px;margin-top:24px;font-size:15px;line-height:1.55}
@media (max-width: 760px){
  .wrap{padding:20px 20px 0}
  nav a:not(.cta){display:none}
  section{margin-top:60px}
  .hero{flex-direction:column;gap:30px;align-items:stretch;margin-top:26px}
  .hero p{max-width:none}
  .hero .cta{justify-content:center}
  .hero-cta{flex-direction:column;align-items:stretch;gap:10px;text-align:center}
  .phone{align-self:center}
  .g4,.g3,.g2{grid-template-columns:minmax(0,1fr);gap:10px}
  .g2{gap:12px}
  footer{margin-top:56px;padding:22px 20px 36px}
}
