/* Shared main-site visual system, aligned with the «Ивовый берег» chat design. */
@font-face {
  font-family: "Golos Text";
  src: url("/landing/static/fonts/GolosText-cyrillic.woff2") format("woff2");
  font-weight: 400 900;
  font-display: swap;
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Golos Text";
  src: url("/landing/static/fonts/GolosText-cyrillic-ext.woff2") format("woff2");
  font-weight: 400 900;
  font-display: swap;
  unicode-range:
    U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Golos Text";
  src: url("/landing/static/fonts/GolosText-latin.woff2") format("woff2");
  font-weight: 400 900;
  font-display: swap;
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20A0-20AB, U+20AD-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF, U+2190-21FF, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "UNCAGE";
  src: url("/landing/static/fonts/UNCAGE-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}
:root {
  --white: #ecebe0;
  --offwhite: #f2f1ec;
  --cream: #d6d4c9;
  --ink: #33342a;
  --ink2: #414337;
  --ink3: #5c5d47;
  --ink4: #70715d;
  --ink5: #9b9c8b;
  --accent: #5f6f44;
  --accent-light: #dde3d3;
  --accent-dark: #485635;
  --raised: #f7f6f1;
  --charcoal: #121110;
  --dark-panel: #1a1917;
  --dark-raised: #23211f;
  --dark-line: #38352f;
  --dark-text: #eae8de;
  --dark-muted: #aaa59c;
  --willow: #a3b77c;
  --radius: 12px;
  --nav-h: 72px;
}
html {
  scroll-padding-top: calc(var(--nav-h) + 16px);
}
body {
  font-family: "Golos Text", system-ui, sans-serif;
}
h1,
h2,
h3 {
  text-wrap: balance;
}
.hero h1,
.ch-empty h2,
.how-head h2,
.how-step-num,
.feat-header h2,
.feat-image h3,
.pricing-head h2,
.pt-price,
.pt-price small,
.reviews-head h2,
.section-head h2,
.cta h2 {
  font-family: "Golos Text", system-ui, sans-serif;
  font-weight: 500;
  font-style: normal;
}
.nav {
  padding: 0 max(28px, calc((100vw - 1240px) / 2));
  background: #f2f1ecef;
}
.logo,
.logo b,
.landing-demo-logo {
  font-family: "UNCAGE", "Golos Text", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: var(--ink);
}
.logo {
  font-size: 23px;
  letter-spacing: -0.6px;
}
.logo b {
  color: inherit;
}
.nav-links {
  gap: 21px;
}
.nav-links > a,
.nav-drop > .nav-drop-trigger {
  font-size: 12px;
}
.nav-cta,
.btn-dark {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}
.nav-cta:hover,
.btn-dark:hover {
  background: var(--accent-dark);
  color: #fff;
}
.nav-cta {
  border-radius: 8px;
}
.nav-tg {
  background: transparent;
  border-color: var(--cream);
  color: var(--ink3);
}
.nav-drop-menu {
  background: var(--raised);
}
.nav-drop:focus-within .nav-drop-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.btn {
  border-radius: 10px;
  font-size: 13px;
  font-weight: 500;
  min-height: 46px;
}
.btn-ghost {
  border: 1px solid var(--cream);
  background: transparent;
}
.btn-ghost:hover {
  background: var(--raised);
}
.hero {
  max-width: 1304px;
  padding: 144px 32px 72px;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr);
  gap: 48px;
  align-items: center;
}
.hero-content {
  text-align: left;
  margin: 0;
}
.landing-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  color: var(--ink3);
  margin-bottom: 28px;
}
.landing-eyebrow img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.hero-pills {
  justify-content: flex-start;
  gap: 6px;
  margin-bottom: 23px;
}
.hero-pill,
.hero-pill:first-child {
  border: 1px solid var(--cream);
  border-radius: 6px;
  padding: 6px 8px;
  font-size: 10px;
  background: #f2f1ec88;
}
.hero-pill:last-child {
  border-right: 1px solid var(--cream);
}
.hero h1 {
  font-size: clamp(42px, 4.4vw, 62px);
  line-height: 1.09;
  letter-spacing: -2.6px;
  margin-bottom: 24px;
}
.hero-desc {
  font-size: 15px;
  line-height: 1.8;
  max-width: 440px;
  margin: 0 0 29px;
}
.hero-btns {
  justify-content: flex-start;
  gap: 9px;
  margin-bottom: 22px;
}
.hero-btns .btn {
  padding: 12px 18px;
  white-space: nowrap;
}
.hero-note {
  font-size: 10px;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 380px;
  line-height: 1.7;
}
.hero-note svg {
  flex-shrink: 0;
  margin-top: 2px;
}
.chat-stage {
  margin: 0;
  min-width: 0;
}
.landing-chat-window {
  --white: #121110;
  --offwhite: #1a1917;
  --cream: #38352f;
  --ink: #eae8de;
  --ink2: #eae8de;
  --ink3: #c9c7c1;
  --ink4: #aaa59c;
  --accent: #a3b77c;
  --accent-light: #303626;
  display: flex;
  background: var(--white);
  border: 1px solid var(--cream);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 55px #33342a16;
  color: var(--ink);
}
.landing-chat-sidebar {
  width: 146px;
  flex-shrink: 0;
  padding: 23px 12px 15px;
  display: flex;
  flex-direction: column;
  background: var(--offwhite);
  border-right: 1px solid var(--cream);
}
.landing-demo-logo {
  color: var(--ink);
  font-size: 16px;
  margin: 0 6px 27px;
}
.landing-demo-new {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 10px;
  font-size: 10px;
  background: var(--dark-raised);
  border: 1px solid var(--cream);
  border-radius: 8px;
  margin-bottom: 31px;
}
.landing-demo-new > span {
  font-size: 17px;
  font-weight: 400;
  color: var(--ink4);
}
.landing-demo-label {
  color: var(--ink4);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-size: 8px;
  margin: 0 8px 10px;
}
.landing-demo-history {
  font-size: 9px;
  padding: 10px 8px;
  color: var(--ink3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-radius: 6px;
}
.landing-demo-history.active {
  background: #2c2a27;
  color: var(--ink);
}
.landing-demo-profile {
  margin-top: auto;
  padding: 14px 4px 0;
  border-top: 1px solid var(--cream);
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 9px;
}
.landing-demo-profile > span {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: #c6885a24;
  color: #c6885a;
}
.landing-demo-profile small {
  display: block;
  color: var(--ink4);
  font-size: 8px;
  margin-top: 2px;
}
.chat-mock {
  min-width: 0;
  height: 494px;
  flex: 1;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.ch-top {
  background: var(--white);
  border: 0;
  padding: 14px 17px;
}
.ch-brand {
  color: var(--ink4);
  font-size: 10px;
  font-weight: 400;
}
.ch-brand img {
  width: 23px;
  height: 23px;
  padding: 0;
  background: transparent;
  border-radius: 0;
  filter: invert(0.9) sepia(0.1);
}
.ch-model {
  padding: 5px 8px;
  font-size: 10px;
  background: transparent;
  border-radius: 6px;
  font-weight: 400;
}
.ch-model svg {
  width: 12px;
  height: 12px;
}
.ch-body {
  background: var(--white);
  padding: 20px 16px;
}
.ch-empty {
  align-items: flex-start;
  text-align: left;
  padding-left: 10px;
}
.ch-empty img {
  width: 54px;
  height: 54px;
  filter: invert(0.9) sepia(0.1);
  margin-bottom: 21px;
}
.ch-empty h2 {
  font-size: 24px;
  letter-spacing: -0.8px;
  margin-bottom: 9px;
}
.ch-empty p {
  font-size: 11px;
}
.ch-composer {
  padding: 8px 12px 14px;
  border: 0;
}
.ch-input {
  background: var(--dark-raised);
  min-height: 89px;
  border-radius: 15px;
  gap: 7px;
  padding: 13px 10px;
  flex-wrap: wrap;
  align-content: space-between;
}
.ch-in {
  order: -1;
  flex: 0 0 100%;
  min-height: 24px;
  font-size: 11px;
  line-height: 1.5;
  padding: 0 3px;
}
.ch-add {
  width: 24px;
  height: 25px;
  flex-basis: 24px;
}
.ch-add svg {
  width: 17px;
  height: 17px;
}
.landing-demo-mic {
  margin-left: auto;
  color: var(--ink4);
}
.landing-demo-mic svg {
  width: 16px;
  height: 16px;
  display: block;
}
.ch-send {
  width: 28px;
  height: 28px;
  flex-basis: 28px;
  border-radius: 8px;
  background: var(--accent);
  color: #17190f;
}
.ch-send svg {
  width: 16px;
  height: 16px;
}
.demo-message {
  max-width: 100%;
  gap: 7px;
}
.demo-avatar {
  width: 23px;
  height: 23px;
  flex-basis: 23px;
  font-size: 9px;
}
.demo-message-author {
  font-size: 9px;
}
.demo-bubble {
  background: #2c2a27;
  border: 0;
  font-size: 11px;
  line-height: 1.65;
  border-radius: 13px;
}
.demo-message.assistant .demo-bubble {
  background: transparent;
  padding: 4px 0;
}
.demo-source {
  background: var(--offwhite);
  border-radius: 5px;
  font-size: 8px;
}
.demo-phase {
  font-size: 10px;
}
.demo-attachment,
.ch-file {
  font-size: 9px;
}
.landing-demo-caption {
  font-size: 9px;
  color: var(--ink4);
  text-align: center;
  margin-top: 12px;
}
.hero-models {
  justify-content: center;
  margin-top: 21px;
  gap: 13px;
  font-size: 10px;
}
.hero-models > span {
  display: none;
}
.hero-models strong {
  font-size: 12px;
  font-weight: 500;
  color: var(--ink3);
}
.section {
  max-width: 1204px;
  padding: 92px 32px;
}
.how {
  padding: 70px 32px;
  background: var(--offwhite);
}
.how-inner {
  max-width: 1140px;
}
.how-head {
  text-align: left;
  margin-bottom: 32px;
  max-width: 700px;
}
.how-head h2,
.feat-header h2,
.pricing-head h2,
.reviews-head h2,
.section-head h2 {
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1.2;
  letter-spacing: -1.2px;
}
.how-head p {
  font-size: 14px;
}
.how-steps {
  gap: 14px;
  border: 0;
}
.how-step {
  padding: 26px;
  border: 1px solid var(--cream);
  border-radius: 12px;
  background: var(--raised);
}
.how-step + .how-step {
  border: 1px solid var(--cream);
}
.how-step-num {
  font-size: 13px;
  margin-bottom: 24px;
  letter-spacing: 0.03em;
}
.how-step-body h3 {
  font-weight: 500;
  font-size: 17px;
}
.how-step-body p {
  font-size: 13px;
}
.how-action {
  margin-top: 28px;
  justify-content: flex-start;
}
.how-badge {
  justify-content: flex-start;
  font-size: 10px;
  margin-top: 21px;
}
.team {
  padding: 40px 32px;
}
.team-text {
  font-size: 10px;
  letter-spacing: 0.08em;
}
.team-unis {
  font-size: 11px;
}
.tl {
  font-weight: 500;
}
.feat-header,
.reviews-head {
  max-width: 750px;
  margin: 0 0 33px;
  text-align: left;
}
.landing-section-label {
  font-size: 10px !important;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--accent) !important;
  margin-bottom: 14px;
}
.feat-auto,
.feat-product-card,
.review-card {
  background: var(--offwhite);
  border-radius: 12px;
}
.feat-auto {
  padding: 33px;
  gap: 52px;
}
.feat-auto h3,
.feat-product-card h3 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.4px;
}
.feat-auto-label {
  color: var(--accent);
  font-size: 11px;
}
.feat-image {
  padding: 33px;
  background: var(--dark-panel);
  border: 1px solid var(--dark-line);
  color: var(--dark-text);
  border-radius: 12px;
  gap: 52px;
}
.feat-image h3 {
  font-size: 32px;
  letter-spacing: -0.9px;
}
.feat-image-label,
.feat-image-caption {
  color: var(--willow);
}
.feat-image-intro p {
  color: #c9c7c1;
  line-height: 1.8;
}
.feat-image-badge {
  border-color: #a3b77c50;
  border-radius: 5px;
  font-size: 9px;
}
.feat-image-prompt {
  background: var(--dark-raised);
  color: var(--dark-text);
  border-color: var(--dark-line);
  font-size: 11px;
}
.feat-image-prompt svg {
  color: var(--willow);
}
.feat-image-landscape {
  border-radius: 10px;
}
.feat-product-card {
  padding: 28px;
}
.feat-card-topline {
  font-size: 11px;
}
.feat-card-number {
  font-weight: 400;
}
.feat-detail-row strong,
.feat-auto-row strong {
  font-weight: 500;
}
.pricing {
  padding: 88px 32px;
  background: var(--charcoal);
  color: var(--dark-text);
}
.pricing-head {
  margin-bottom: 44px;
}
.pricing-head h2 {
  color: var(--dark-text);
}
.pricing .landing-section-label {
  color: var(--willow) !important;
}
.pricing-head p,
.pt-purpose,
.pt-price small,
.ptable-feature span,
.pricing-model-note,
.pricing-more a,
.pt-pay,
.pt-pay span,
.mob-desc {
  color: var(--dark-muted);
}
.ptable {
  border-color: var(--dark-line);
  background: var(--dark-panel);
}
.ptable-header > div {
  padding: 30px 18px;
  background: var(--dark-raised);
  border-color: var(--dark-line);
}
.pt-name {
  font-size: 15px;
  font-weight: 500;
}
.pt-price {
  font-size: 30px;
  letter-spacing: -1px;
  margin-top: 12px;
  font-variant-numeric: lining-nums;
}
.pt-price small {
  font-size: 11px;
  margin-left: 3px;
  letter-spacing: 0;
  font-weight: 400;
}
.pt-purpose {
  font-size: 11px;
  line-height: 1.6;
}
.ptable-row > div {
  border-color: var(--dark-line);
  padding: 16px 20px;
}
.ptable-row > div:first-child,
.ptable-feature strong {
  color: #c9c7c1;
}
.ptable-text {
  color: var(--dark-muted);
}
.ptable-x {
  color: var(--dark-muted);
}
.ptable-check,
.mob-pop-label,
.mob-feat li.on::before {
  color: var(--willow);
}
.ptable-check {
  font-weight: 500;
}
.pt-pop::before,
.pt-btn-accent {
  background: var(--willow);
  color: #17190f;
}
.pt-pop::before {
  content: "Лучший выбор";
  white-space: nowrap;
  letter-spacing: 0.05em;
  font-size: 9px;
}
.pt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  font-size: 11px;
  font-weight: 500;
  padding: 10px 9px;
  border-radius: 8px;
}
.pt-btn-accent:hover {
  background: #b6c993;
}
.pt-btn-ghost {
  color: var(--dark-text);
  border-color: #555047;
}
.ptable-btns > div {
  padding: 22px 14px;
}
.pricing-more a:hover {
  color: var(--dark-text);
}
.mob-pc {
  background: var(--dark-panel);
  border-color: var(--dark-line);
}
.mob-pc.pop {
  border-color: var(--willow);
}
.mob-feat li.on {
  color: #c9c7c1;
}
.mob-feat li.off,
.mob-feat li.off::before {
  color: var(--dark-muted);
}
.reviews {
  padding: 88px 32px;
}
.reviews-draft {
  text-align: left;
  color: var(--ink4);
  font-size: 11px;
}
.review-card:first-child {
  background: var(--offwhite);
  border-color: var(--cream);
}
.review-card h3 {
  font-size: 21px;
}
.review-card blockquote {
  font-size: 13px;
  line-height: 1.85;
}
.review-avatar {
  color: #98603a;
  background: #c6885a18;
  border: 1px solid #c6885a30;
  font-size: 11px;
}
.review-name {
  font-size: 12px;
}
.review-meta {
  font-size: 10px;
}
#faq {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  gap: 60px;
}
#faq .section-head {
  max-width: 100%;
  margin: 0;
}
.faq-list {
  background: var(--offwhite);
  border-radius: 12px;
}
.faq-q {
  font-size: 13px;
  font-weight: 500;
  padding: 20px;
}
.faq-a {
  font-size: 12px;
  padding: 0 20px;
}
.faq-item.open .faq-a {
  max-height: 800px;
  padding: 0 20px 20px;
}
.faq-q .plus {
  border: 0;
}
.cta {
  padding: 76px 32px 84px;
  background: var(--dark-panel);
  color: var(--dark-text);
  border: 0;
}
.landing-cta-mascot {
  margin: 0 auto 25px;
  filter: invert(0.9) sepia(0.1);
  object-fit: contain;
}
.cta h2 {
  font-size: clamp(30px, 3.5vw, 42px);
  font-weight: 500;
  letter-spacing: -1.3px;
}
.cta .accent-text {
  color: var(--willow);
}
.cta-p {
  color: var(--dark-muted);
  font-size: 13px;
}
.cta .btn-dark {
  background: var(--willow);
  color: #17190f;
  border-color: var(--willow);
}
.cta .btn-dark:hover {
  background: #b6c993;
}
.cta .btn-ghost {
  border-color: var(--dark-line);
  color: var(--dark-text);
}
.cta .btn-ghost:hover {
  background: var(--dark-raised);
}
.footer {
  max-width: 1204px;
  padding: 48px 32px 24px;
  border: 0;
}
.ft-grid {
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 36px;
}
.ft-col a {
  font-size: 12px;
}
.ft-heading {
  font-size: 10px;
  letter-spacing: 0.08em;
}
.ft-bottom {
  font-size: 10px;
}
.mob-menu,
.mob-cta {
  background: #f2f1ecf5;
}
@media (min-width: 901px) and (max-width: 1160px) {
  .nav .nav-tg {
    display: none;
  }
  .nav-links {
    gap: 14px;
  }
  .hero {
    gap: 28px;
  }
  .landing-chat-sidebar {
    display: none;
  }
  .hero-btns {
    flex-wrap: wrap;
  }
}
@media (max-width: 900px) {
  .nav {
    padding: 0 24px;
  }
  .hero {
    padding: 116px 28px 52px;
    grid-template-columns: 1fr;
    gap: 40px;
    max-width: 760px;
  }
  .hero-content {
    max-width: 600px;
  }
  .hero h1 {
    font-size: 56px;
  }
  .hero-desc {
    max-width: 500px;
  }
  .hero-btns {
    flex-wrap: wrap;
  }
  .chat-mock {
    height: 470px;
  }
  .landing-chat-sidebar {
    width: 160px;
  }
  .how,
  .pricing,
  .reviews {
    padding: 64px 28px;
  }
  .section {
    padding: 64px 28px;
  }
  .how-step {
    padding: 22px;
  }
  .how-step-num {
    margin: 3px 0 0;
  }
  .feat-auto,
  .feat-image {
    padding: 27px;
    gap: 28px;
  }
  #faq {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .ft-grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer {
    padding-bottom: 100px;
  }
}
@media (max-width: 600px) {
  :root {
    --nav-h: 64px;
  }
  .nav {
    padding: 0 18px;
  }
  .logo {
    font-size: 21px;
  }
  .hero {
    padding: 98px 20px 45px;
    gap: 30px;
  }
  .landing-eyebrow {
    font-size: 10px;
    margin-bottom: 25px;
    gap: 10px;
  }
  .landing-eyebrow img {
    width: 30px;
    height: 30px;
  }
  .hero-pills {
    margin-bottom: 20px;
    gap: 5px;
  }
  .hero-pill,
  .hero-pill:first-child {
    font-size: 9px;
    padding: 5px 6px;
  }
  .hero h1 {
    font-size: clamp(37px, 10.5vw, 54px);
    line-height: 1.1;
    letter-spacing: -1.8px;
  }
  .hero-desc {
    font-size: 14px;
    margin-bottom: 24px;
  }
  .hero-btns {
    gap: 9px;
  }
  .hero-btns .btn {
    font-size: 13px;
  }
  .hero-note {
    font-size: 10px;
  }
  .landing-chat-sidebar {
    display: none;
  }
  .landing-chat-window {
    border-radius: 14px;
  }
  .chat-mock {
    height: 435px;
  }
  .ch-brand span {
    display: inline;
  }
  .ch-body {
    padding: 18px 14px;
  }
  .ch-empty h2 {
    font-size: 25px;
  }
  .ch-empty img {
    width: 58px;
    height: 58px;
  }
  .ch-composer {
    padding: 10px 12px 13px;
  }
  .ch-top {
    padding: 13px 15px;
  }
  .landing-demo-caption {
    font-size: 8px;
    line-height: 1.6;
  }
  .hero-models {
    gap: 14px;
    margin-top: 18px;
  }
  .hero-models strong {
    font-size: 11px;
  }
  .section,
  .how,
  .reviews,
  .pricing {
    padding: 54px 20px;
  }
  .how-inner {
    padding: 0;
  }
  .how-head h2,
  .feat-header h2,
  .pricing-head h2,
  .reviews-head h2,
  .section-head h2 {
    font-size: 28px;
    letter-spacing: -0.8px;
  }
  .how-head h2 span {
    display: inline;
  }
  .how-head p,
  .feat-header p,
  .reviews-head p,
  .pricing-head p {
    font-size: 13px;
  }
  .how-step {
    padding: 21px 17px;
    gap: 10px;
  }
  .how-badge {
    align-items: flex-start;
    line-height: 1.7;
  }
  .how-badge svg {
    margin-top: 3px;
  }
  .team {
    padding: 32px 20px;
  }
  .team-logos {
    gap: 17px;
  }
  .team-unis {
    font-size: 10px;
  }
  .feat-auto,
  .feat-image {
    padding: 23px 20px;
    grid-template-columns: 1fr;
  }
  .feat-auto h3,
  .feat-product-card h3 {
    font-size: 19px;
  }
  .feat-image h3 {
    font-size: 26px;
  }
  .feat-image-prompt {
    font-size: 10px;
  }
  .feat-product-card {
    padding: 24px 20px;
  }
  .review-card {
    padding: 24px 20px;
  }
  .review-card h3 {
    font-size: 20px;
  }
  .review-card blockquote {
    font-size: 13px;
  }
  .reviews-draft {
    font-size: 10px;
  }
  .cta {
    padding: 55px 20px;
  }
  .landing-cta-mascot {
    width: 58px;
    height: 58px;
  }
  .footer {
    padding: 36px 20px 110px;
  }
  .ft-grid {
    gap: 28px 18px;
  }
  .ft-brand {
    grid-column: 1 / -1;
  }
  .ft-bottom {
    gap: 12px;
    line-height: 1.8;
  }
  .mob-cta {
    padding-bottom: max(10px, env(safe-area-inset-bottom));
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
  .rv {
    opacity: 1;
    transform: none;
  }
}

/* Supporting pages use the same type, surfaces, controls and spacing. */
.pricing-page-hero h1,
.model-page-hero h1,
.legal-page h1,
.pricing-detail h2,
.model-page-section-head h2,
.p-card-price,
.p-card-price small,
.model-task-number {
  font-family: "Golos Text", system-ui, sans-serif;
  font-weight: 500;
}
.pricing-page-hero,
.model-page-hero {
  max-width: 880px;
  padding: calc(var(--nav-h) + 66px) 32px 52px;
}
.pricing-page-hero h1,
.model-page-hero h1 {
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.15;
  letter-spacing: -1.7px;
  margin-bottom: 22px;
}
.pricing-page-hero p,
.model-page-hero > p {
  font-size: 15px;
  line-height: 1.8;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.pricing-page-hero a:not(.btn) {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pricing-detail {
  max-width: 1000px;
  padding: 52px 32px;
}
.pricing-detail h2,
.model-page-section-head h2 {
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.25;
  letter-spacing: -0.8px;
}
.detail-grid {
  gap: 16px;
}
.detail-card {
  background: var(--offwhite);
  border: 1px solid var(--cream);
  border-radius: 12px;
  padding: 27px;
}
.detail-card h3 {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.2px;
}
.detail-card p {
  font-size: 13px;
  line-height: 1.8;
}
.pricing-cards {
  max-width: 1204px;
  gap: 18px;
  padding: 16px 32px 40px;
  align-items: stretch;
}
.p-card {
  display: flex;
  flex-direction: column;
  background: var(--dark-panel);
  color: var(--dark-text);
  border: 1px solid var(--dark-line);
  border-radius: 12px;
  padding: 30px 26px;
}
.p-card.popular {
  border-color: var(--willow);
  box-shadow: 0 0 0 1px var(--willow);
}
.p-card-name {
  font-size: 17px;
  font-weight: 500;
}
.p-card-desc {
  min-height: 42px;
  font-size: 12px;
  line-height: 1.7;
  color: var(--dark-muted);
}
.p-card-price {
  font-size: 36px;
  line-height: 1.4;
  letter-spacing: -1px;
  font-variant-numeric: lining-nums;
}
.p-card-price small {
  font-size: 12px;
  color: var(--dark-muted);
  font-weight: 400;
  letter-spacing: 0;
  margin-left: 4px;
}
.p-card-period {
  color: var(--dark-muted);
  font-size: 11px;
  margin-bottom: 26px;
}
.p-card .btn {
  font-size: 12px;
  padding: 12px 9px;
}
.p-card .btn-ghost {
  color: var(--dark-text);
  border-color: #555047;
}
.p-card .btn-ghost:hover {
  background: var(--dark-raised);
}
.p-card .btn-accent {
  background: var(--willow);
  color: #17190f;
}
.p-card .btn-accent:hover {
  background: #b6c993;
}
.p-card-badge {
  background: var(--willow);
  color: #17190f;
  border-radius: 5px;
  white-space: nowrap;
  font-size: 9px;
  letter-spacing: 0.05em;
  padding: 5px 12px;
}
.p-card-features {
  padding-top: 18px;
  border-top: 1px solid var(--dark-line);
}
.p-card-features li {
  color: #c9c7c1;
  font-size: 12px;
  line-height: 1.65;
}
.p-card-features li::before {
  color: var(--willow);
}
.p-card-features li.disabled,
.p-card-features li.disabled::before {
  color: var(--dark-muted);
}
.tier-table-scroll {
  overflow-x: auto;
  border: 1px solid var(--cream);
  border-radius: 12px;
  margin-bottom: 40px;
  background: var(--offwhite);
}
.tier-table {
  margin-bottom: 0;
}
.tier-table th {
  background: var(--raised);
  font-weight: 500;
}
.tier-table td,
.tier-table th {
  font-size: 13px;
  padding: 17px 20px;
}
.tier-badge {
  color: var(--accent);
  font-size: 12px;
}
.model-page-eyebrow {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--accent);
  margin-bottom: 20px;
}
.model-page-summary {
  max-width: 936px;
  width: calc(100% - 64px);
  padding: 25px 28px;
  margin: 0 auto 45px;
  border: 1px solid var(--cream);
  border-radius: 12px;
}
.model-page-summary p {
  font-size: 14px;
  line-height: 1.8;
}
.model-page-section {
  max-width: 1000px;
  padding: 50px 32px;
}
.model-page-section-head p {
  font-size: 14px;
  line-height: 1.8;
}
.model-task-list {
  border: 1px solid var(--cream);
  border-radius: 12px;
  background: var(--offwhite);
  overflow: hidden;
}
.model-task-row {
  grid-template-columns: 28px minmax(150px, 0.7fr) minmax(0, 1.3fr);
  padding: 25px;
  gap: 18px;
}
.model-task-row:last-child {
  border-bottom: 0;
}
.model-task-number {
  color: var(--accent);
  font-size: 12px;
}
.model-task-row h3 {
  font-size: 16px;
  font-weight: 500;
}
.model-task-row p {
  font-size: 13px;
  line-height: 1.8;
}
.model-current {
  border: 1px solid var(--dark-line);
  border-radius: 12px;
  background: var(--dark-panel);
  color: var(--dark-text);
  padding: 28px;
}
.model-current h3 {
  font-weight: 500;
  font-size: 18px;
}
.model-current > p {
  color: var(--dark-muted);
}
.model-current-list {
  border-color: var(--dark-line);
  gap: 10px;
}
.model-current-list strong {
  font-weight: 400;
  font-size: 12px;
  padding: 6px 9px;
  border: 1px solid var(--dark-line);
  border-radius: 6px;
  background: var(--dark-raised);
}
.model-current-list a {
  color: var(--willow);
  font-size: 12px;
}
.model-why-grid {
  gap: 16px;
}
.model-why-item {
  padding: 24px;
  border: 1px solid var(--cream);
  border-radius: 12px;
  background: var(--offwhite);
}
.model-why-item h3 {
  font-size: 16px;
  font-weight: 500;
}
.model-why-item p {
  font-size: 13px;
  line-height: 1.8;
}
.legal-page {
  max-width: 850px;
  padding-top: calc(var(--nav-h) + 60px);
}
.legal-page h1 {
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.2;
  letter-spacing: -1px;
  overflow-wrap: anywhere;
  hyphens: auto;
}
.legal-page .legal-date {
  font-size: 12px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--cream);
}
.legal-page h2 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.3px;
}
.legal-page h3 {
  font-weight: 500;
}
.legal-page p,
.legal-page li {
  font-size: 14px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.error-page {
  min-height: 72vh;
  padding: calc(var(--nav-h) + 60px) 24px 64px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.error-page h1 {
  font-size: clamp(64px, 9vw, 104px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -4px;
  margin-bottom: 18px;
}
.error-page .cta-btns {
  margin-top: 8px;
}
@media (max-width: 900px) {
  .pricing-cards {
    max-width: 540px;
    grid-template-columns: 1fr;
    gap: 30px;
    padding-bottom: 24px;
  }
  .p-card-desc {
    min-height: 0;
  }
  .model-why-grid {
    grid-template-columns: 1fr;
  }
  .model-current-list a {
    flex-basis: 100%;
    margin: 8px 0 0;
  }
}
@media (max-width: 600px) {
  .pricing-page-hero,
  .model-page-hero {
    padding: calc(var(--nav-h) + 38px) 20px 38px;
  }
  .pricing-page-hero h1,
  .model-page-hero h1 {
    font-size: 34px;
    letter-spacing: -1.1px;
  }
  .pricing-page-hero p,
  .model-page-hero > p {
    font-size: 14px;
  }
  .pricing-detail,
  .model-page-section {
    padding: 40px 20px;
  }
  .pricing-cards {
    padding: 10px 20px 24px;
  }
  .p-card {
    padding: 28px 24px;
  }
  .detail-card {
    padding: 23px;
  }
  .tier-table {
    min-width: 530px;
  }
  .tier-table-scroll {
    scrollbar-width: thin;
  }
  .model-page-summary {
    width: calc(100% - 40px);
    margin: 0 20px 36px;
    padding: 22px;
  }
  .model-page-summary p {
    font-size: 13px;
  }
  .model-task-row {
    grid-template-columns: 26px minmax(0, 1fr);
    padding: 22px 18px;
    gap: 8px 12px;
  }
  .model-task-row p {
    grid-column: 2;
  }
  .model-current {
    padding: 23px;
  }
  .model-why-item {
    padding: 23px;
  }
  .model-page-actions {
    flex-direction: column;
  }
  .model-page-actions .btn {
    width: 100%;
    justify-content: center;
  }
  .legal-page {
    padding: calc(var(--nav-h) + 38px) 20px 48px;
  }
  .legal-page h1 {
    font-size: 28px;
    letter-spacing: -0.7px;
  }
  .legal-page h2 {
    font-size: 18px;
  }
  .legal-page p,
  .legal-page li {
    font-size: 13px;
  }
  .error-page {
    padding-top: calc(var(--nav-h) + 42px);
  }
}
