html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body { width: 100%; min-width: 0; letter-spacing: 0; }
.wrap {
  width: 100%;
  min-width: 0;
  container-type: inline-size;
  padding-top: calc(22px + max(env(safe-area-inset-top, 0px), var(--safe-top, 0px)) + var(--content-top, 0px));
  padding-right: calc(16px + max(env(safe-area-inset-right, 0px), var(--safe-right, 0px)) + var(--content-right, 0px));
  padding-bottom: calc(44px + max(env(safe-area-inset-bottom, 0px), var(--safe-bottom, 0px)) + var(--content-bottom, 0px));
  padding-left: calc(16px + max(env(safe-area-inset-left, 0px), var(--safe-left, 0px)) + var(--content-left, 0px));
}
.hero, .card, .grid, .tariff, .tariff .head,
.lead > span, .li > p, .step > p, .tfeat > span {
  min-width: 0;
}
.grid { grid-template-columns: minmax(0, 1fr); }
.brandtitle, h1, h2, p, .hint, .footer, .btn, .trial-badge {
  overflow-wrap: anywhere;
}
.tariff .head { flex-wrap: wrap; }
.tariff .price { white-space: normal; }
.trial-badge { max-width: 100%; line-height: 1.3; }
.btn { width: 100%; min-height: 44px; white-space: normal; }
.btn .arr { flex: 0 0 auto; }
.btn:focus-visible { outline: 3px solid #1f79ff; outline-offset: 3px; }
.tg-toast { max-width: calc(100% - 32px); overflow-wrap: anywhere; }
html[data-miniapp="telegram"] .wrap { max-width: 560px; }
html[data-miniapp="telegram"] .grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 920px) {
  .grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
}
@container (min-width: 680px) {
  .brandtitle { font-size: 32px; }
  h1 { font-size: 38px; }
  .card h2 { font-size: 30px; }
}
@media (max-width: 340px) {
  .brandtitle { font-size: 20px; }
  h1 { font-size: 24px; }
  .card h2 { font-size: 18px; }
}
