/*  Landing pricing and CTA layout · source-order-preserving landing stylesheet.  */.pricing .section-intro,
      .cta .section-intro {
        position: relative;
        z-index: 2;
        width: min(100%, 1160px);
        margin: 0 auto 40px;
        display: grid;
        grid-template-columns: minmax(0, 650px) minmax(280px, 420px);
        gap: 54px;
        align-items: end;
      }.pricing .section-intro h3,
      .cta .section-intro h3 {
        margin: 0;
        font-family: var(--serif);
        font-size: clamp(2.65rem, 4.3vw, 4.65rem);
        line-height: 1.14;
        letter-spacing: -0.05em;
        text-wrap: balance;
      }.pricing .section-intro p,
      .cta .section-intro p {
        margin: 0 0 6px;
        color: #858078;
        font-size: 13px;
        line-height: 1.95;
      }.pricing .chapter-body {
        padding-bottom: 92px;
      }.pricing::after {
        content: none;
      }.pricing .price-layout {
        width: min(100%, 1160px);
        margin: 0 auto;
        display: grid;
        grid-template-columns: 0.86fr 1.14fr;
        gap: 18px;
      }.pricing .price-list {
        display: grid;
        align-content: start;
        gap: 0;
        border-top: 1px solid var(--line-dark);
        background: transparent;
      }.pricing .price-row,
      .pricing .price-row.is-featured {
        min-height: 148px;
        padding: 22px 6px;
        display: grid;
        grid-template-columns: 50px minmax(0, 1fr) auto;
        gap: 16px;
        align-items: center;
        overflow: visible;
        border: 0;
        border-bottom: 1px solid var(--line-dark);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
      }.pricing .price-row > img {
        width: 40px;
        height: 40px;
        margin: 0;
        object-fit: contain;
      }.pricing .price-row h4 {
        margin: 0;
        font-family: var(--serif);
        font-size: 27px;
        line-height: 1.25;
      }.pricing .price-row strong {
        display: block;
        margin-top: 5px;
        color: var(--amber);
        font-size: 12px;
      }.pricing .price-row p {
        margin: 7px 0 0;
        color: #817d75;
        font-size: 11px;
        line-height: 1.75;
      }.pricing .price-row a {
        width: 40px;
        height: 40px;
        margin: 0;
        align-self: center;
        display: grid;
        place-items: center;
        border: 1px solid rgba(241, 237, 229, 0.15);
        border-radius: 10px;
        color: var(--amber);
        background: transparent;
      }.pricing .price-row a:hover {
        color: var(--night);
        border-color: var(--amber);
        background: var(--amber);
      }.pricing .price-focus {
        min-height: 314px;
        padding: 32px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 120px;
        gap: 26px;
        align-items: center;
        overflow: hidden;
        border: 1px solid rgba(237, 185, 76, 0.38);
        border-radius: var(--radius-lg);
        background: linear-gradient(145deg, #19170f, #121318 72%);
      }.pricing .price-focus > img {
        width: 110px;
        height: 110px;
        object-fit: contain;
      }.pricing .price-focus h4 {
        margin: 0;
        font-family: var(--serif);
        font-size: 38px;
        line-height: 1.2;
      }.pricing .price-focus strong {
        display: block;
        margin-top: 9px;
        color: var(--amber);
        font-size: 14px;
      }.pricing .price-focus p {
        max-width: 500px;
        margin: 14px 0 0;
        color: #918d85;
        font-size: 12px;
        line-height: 1.9;
      }.pricing .price-focus ul {
        margin: 18px 0 0;
        padding: 0;
        list-style: none;
        display: grid;
        gap: 7px;
        color: #c6c0b7;
        font-size: 11px;
      }.pricing .price-focus li::before {
        content: "✓";
        margin-right: 8px;
        color: var(--teal);
      }.pricing .price-focus .button-primary {
        width: auto;
        margin-top: 22px;
      }.cta::after {
        content: none;
      }.cta .chapter-body {
        min-height: auto;
        padding: 82px clamp(34px, 5vw, 88px) 84px;
        display: block;
      }.cta .cta-band {
        position: relative;
        width: min(100%, 1160px);
        min-height: 300px;
        margin: 0 auto;
        padding: 46px 50px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 260px;
        gap: 36px;
        align-items: center;
        overflow: hidden;
        border: 0;
        border-top: 1px solid rgba(241, 237, 229, 0.15);
        border-bottom: 1px solid rgba(241, 237, 229, 0.15);
        border-radius: 0;
        background: #111218;
        box-shadow: none;
      }.cta .cta-band::before {
        content: "";
        position: absolute;
        z-index: 0;
        inset: -30% -4% -36% 62%;
        background: linear-gradient(
          145deg,
          rgba(237, 185, 76, 0.24),
          rgba(212, 122, 107, 0.05)
        );
        clip-path: polygon(28% 0, 100% 12%, 100% 100%, 0 84%);
        pointer-events: none;
      }.cta .cta-copy,
      .cta .cta-visual {
        position: relative;
        z-index: 1;
      }.cta .cta-copy {
        display: block;
        padding: 0;
        text-align: left;
      }.cta .cta-copy h3 {
        margin: 0;
        font-family: var(--serif);
        font-size: clamp(3.1rem, 5vw, 5rem);
        line-height: 1.08;
        letter-spacing: -0.055em;
      }.cta .cta-copy p {
        max-width: 620px;
        margin: 18px 0 0;
        color: #918c84;
        font-size: 13px;
        line-height: 1.9;
      }.cta .cta-actions {
        margin-top: 24px;
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
      }.cta .cta-visual {
        text-align: center;
      }.cta .cta-visual img {
        width: 106px;
        height: 106px;
        margin: 0 auto 18px;
        object-fit: contain;
      }.cta .cta-visual strong {
        display: block;
        font-family: var(--serif);
        font-size: 20px;
      }.cta .cta-visual span {
        display: block;
        margin-top: 5px;
        color: #837f77;
        font-size: 11px;
      }@media (max-width: 1120px) {
        .pricing .section-intro,
        .cta .section-intro {
          grid-template-columns: 1fr;
          gap: 18px;
        }

        .pricing .section-intro p,
        .cta .section-intro p {
          max-width: 650px;
        }

        .pricing .price-layout {
          grid-template-columns: 1fr;
        }

        .pricing .price-focus {
          min-height: 270px;
        }
      }@media (max-width: 820px) {
        .pricing .section-intro,
        .cta .section-intro {
          width: calc(100% - 34px);
          margin-bottom: 30px;
          padding-top: 0;
        }

        .pricing .section-intro h3,
        .cta .section-intro h3 {
          font-size: clamp(2.25rem, 10.8vw, 4rem);
        }

        .pricing .price-layout {
          width: calc(100% - 34px);
        }

        .pricing .price-focus {
          grid-template-columns: 1fr;
        }

        .pricing .price-focus > img {
          width: 80px;
          height: 80px;
        }

        .cta .chapter-body {
          padding: 52px 0 72px;
        }

        .cta .cta-band {
          width: calc(100% - 34px);
          min-height: 0;
          padding: 38px 24px;
          grid-template-columns: 1fr;
        }

        .cta .cta-copy h3 {
          font-size: clamp(3rem, 13vw, 4.8rem);
        }

        .cta .cta-visual {
          display: none;
        }
      }.pricing .price-layout {
        width: min(100%, 1160px);
        margin: 0 auto;
        display: grid;
        grid-template-columns: minmax(470px, 0.9fr) minmax(560px, 1.1fr);
        gap: 22px;
        align-items: stretch;
      }.pricing .price-list {
        min-width: 0;
        display: grid;
        grid-template-columns: 1fr !important;
        grid-auto-flow: row;
        align-content: stretch;
        gap: 0;
        border-top: 1px solid var(--line-dark);
        background: transparent;
      }.pricing .price-row,
      .pricing .price-row.is-featured {
        width: 100%;
        min-width: 0;
        min-height: 148px;
        padding: 22px 8px;
        display: grid;
        grid-template-columns: 52px minmax(240px, 1fr) 42px;
        gap: 18px;
        align-items: center;
        border: 0;
        border-bottom: 1px solid var(--line-dark);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
      }.pricing .price-row > div {
        min-width: 0;
      }.pricing .price-row h4,
      .pricing .price-row strong,
      .pricing .price-row p {
        max-width: 100%;
        word-break: keep-all;
        overflow-wrap: normal;
        writing-mode: horizontal-tb;
      }.pricing .price-row h4 {
        white-space: nowrap;
      }.pricing .price-row p {
        max-width: 360px;
      }.pricing .price-focus {
        width: 100%;
        min-width: 0;
        min-height: 318px;
        padding: 34px 36px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 126px;
        gap: 28px;
        align-items: center;
      }.pricing .price-focus > div {
        min-width: 0;
      }.pricing .price-focus h4,
      .pricing .price-focus strong,
      .pricing .price-focus p,
      .pricing .price-focus li {
        writing-mode: horizontal-tb;
        word-break: keep-all;
      }@media (max-width: 1260px) {
        .pricing .price-layout {
          grid-template-columns: minmax(390px, 0.86fr) minmax(500px, 1.14fr);
        }

        .pricing .price-row {
          grid-template-columns: 46px minmax(210px, 1fr) 40px;
          gap: 14px;
        }
      }@media (max-width: 1040px) {
        .pricing .price-layout {
          grid-template-columns: 1fr;
        }

        .pricing .price-list {
          width: 100%;
        }

        .pricing .price-row {
          grid-template-columns: 50px minmax(0, 1fr) 42px;
        }

        .pricing .price-focus {
          min-height: 286px;
        }
      }@media (max-width: 620px) {
        .pricing .price-row {
          min-height: 132px;
          padding: 18px 2px;
          grid-template-columns: 42px minmax(0, 1fr) 38px;
          gap: 12px;
        }

        .pricing .price-row h4 {
          white-space: normal;
          font-size: 23px;
        }

        .pricing .price-focus {
          padding: 27px 24px;
          grid-template-columns: 1fr;
        }

        .pricing .price-focus > img {
          width: 76px;
          height: 76px;
          justify-self: start;
        }
      }
