.landing-page--contract {
  --contract-bg: #080808;
  --contract-surface: #111111;
  --contract-raised: #171717;
  --contract-text: #f6f3ec;
  --contract-muted: #a9a49a;
  --contract-line: rgba(246, 243, 236, .14);
  --contract-gold: #f7b83f;
  --contract-gold-soft: #ffe09a;
  background: var(--contract-bg);
  color: var(--contract-text);
}
.landing-page--contract .landing-header { background: rgba(8, 8, 8, .9); border-bottom-color: var(--contract-line); color: var(--contract-text); }
.landing-page--contract .landing-brand, .landing-page--contract .landing-menu a { color: var(--contract-text); }
.landing-page--contract .landing-menu a:not(.landing-nav-cta) { color: var(--contract-muted); }
.landing-page--contract .landing-menu a:hover, .landing-page--contract .landing-menu a:focus-visible { color: var(--contract-gold-soft); }
.landing-page--contract .landing-nav-cta { background: linear-gradient(135deg, #ffe08a, var(--contract-gold)); border-color: var(--contract-gold); color: #17120a; }
.landing-page--contract .landing-menu-toggle { background: var(--contract-raised); border-color: var(--contract-line); color: var(--contract-text); }

.catalog-contract-shell { min-height: 720px; overflow: hidden; background: radial-gradient(circle at 78% 3%, rgba(247, 184, 63, .12), transparent 27rem), radial-gradient(circle at 5% 35%, rgba(73, 66, 51, .2), transparent 24rem), var(--contract-bg); }
.catalog-contract-container { margin: 0 auto; width: min(1160px, calc(100% - 48px)); }
.catalog-contract-hero { border-bottom: 1px solid var(--contract-line); padding: clamp(56px, 8vw, 104px) 0 58px; text-align: center; }
.catalog-contract-hero-inner { align-items: center; display: flex; flex-direction: column; }
.catalog-contract-back { align-self: flex-start; color: var(--contract-gold-soft); font-size: .83rem; font-weight: 700; text-decoration: none; }
.catalog-contract-back:hover { text-decoration: underline; }
.catalog-contract-eyebrow, .catalog-contract-label { color: var(--contract-gold); font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.catalog-contract-eyebrow { margin: 28px 0 16px; }
.catalog-contract-hero h1 { color: var(--contract-text); font-family: var(--landing-font-heading, Manrope, sans-serif); font-size: clamp(2.7rem, 7vw, 6.6rem); letter-spacing: -.075em; line-height: .92; margin: 0; max-width: 880px; }
.catalog-contract-intro { color: var(--contract-muted); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.55; margin: 24px 0 0; }
.catalog-contract-hero-demo { color: var(--contract-gold-soft); font-size: .88rem; font-weight: 800; margin-top: 24px; text-decoration: none; }
.catalog-contract-hero-demo:hover { text-decoration: underline; }

.catalog-contract-flow { display: block; }
.catalog-contract-selector { padding: 58px 0 68px; }
.catalog-contract-section-heading { align-items: end; display: flex; gap: 28px; justify-content: space-between; margin-bottom: 30px; }
.catalog-contract-section-heading h2 { color: var(--contract-text); font-size: clamp(1.75rem, 3vw, 2.8rem); letter-spacing: -.055em; line-height: 1; margin: 12px 0 0; max-width: 650px; }
.catalog-contract-billing { border: 0; margin: 0; padding: 0; }
.catalog-contract-billing legend { color: var(--contract-muted); font-size: .78rem; font-weight: 700; margin-bottom: 8px; text-align: right; }
.catalog-contract-billing-switch { background: var(--contract-surface); border: 1px solid var(--contract-line); border-radius: 999px; display: flex; gap: 3px; padding: 4px; }
.catalog-contract-billing-switch label { color: var(--contract-muted); cursor: pointer; font-size: .84rem; font-weight: 700; }
.catalog-contract-billing-switch input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.catalog-contract-billing-switch span { border-radius: 999px; display: block; padding: 10px 15px; transition: background .2s ease, color .2s ease; }
.catalog-contract-billing-switch input:checked + span { background: var(--contract-gold); color: #17120a; }
.catalog-contract-billing-switch input:focus-visible + span { outline: 2px solid var(--contract-gold-soft); outline-offset: 2px; }
.catalog-contract-billing-switch small { font-size: .68rem; margin-left: 2px; }

.catalog-contract-plan-grid { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.catalog-contract-selector .catalog-contract-plan-grid { grid-template-columns: minmax(0, 760px); justify-content: center; }
.catalog-contract-plan-card { background: rgba(17, 17, 17, .88); border: 1px solid var(--contract-line); border-radius: 24px; display: flex; flex-direction: column; min-height: 410px; padding: clamp(24px, 4vw, 38px); position: relative; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.catalog-contract-plan-card--featured { background: linear-gradient(145deg, rgba(35, 29, 18, .95), rgba(17, 17, 17, .95)); border-color: rgba(247, 184, 63, .45); box-shadow: 0 24px 80px rgba(0, 0, 0, .25); }
.catalog-contract-plan-card.is-selected { border-color: var(--contract-gold); transform: translateY(-3px); }
.catalog-contract-recommended { background: var(--contract-gold); border-radius: 999px; color: #17120a; font-size: .65rem; font-weight: 900; letter-spacing: .1em; padding: 7px 11px; position: absolute; right: 24px; top: 24px; }
.catalog-contract-plan-card-head { align-items: center; display: flex; justify-content: space-between; min-height: 20px; }
.catalog-contract-plan-index { color: var(--contract-gold); font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.catalog-contract-plan-state { color: var(--contract-gold-soft); font-size: .75rem; font-weight: 700; }
.catalog-contract-plan-card h3 { color: var(--contract-text); font-size: clamp(1.6rem, 3vw, 2.5rem); letter-spacing: -.06em; line-height: 1; margin: 34px 0 12px; }
.catalog-contract-plan-description { color: var(--contract-muted); line-height: 1.5; margin: 0; max-width: 430px; }
.catalog-contract-plan-price { align-items: baseline; display: flex; gap: 8px; margin-top: 30px; }
.catalog-contract-plan-price strong { color: var(--contract-text); font-size: clamp(2.8rem, 5vw, 4.4rem); letter-spacing: -.08em; line-height: .9; }
.catalog-contract-plan-price span, .catalog-contract-plan-tax { color: var(--contract-muted); font-size: .85rem; }
.catalog-contract-plan-tax { color: var(--contract-gold-soft); font-weight: 700; margin: 9px 0 0; }
.catalog-contract-plan-saving { color: var(--contract-muted); font-size: .78rem; min-height: 18px; }
.catalog-contract-plan-benefits { border-top: 1px solid var(--contract-line); list-style: none; margin: 24px 0 26px; padding: 16px 0 0; }
.catalog-contract-plan-benefits li { color: var(--contract-text); line-height: 1.45; padding: 5px 0 5px 23px; position: relative; }
.catalog-contract-plan-benefits li::before { color: var(--contract-gold); content: "✓"; font-weight: 800; left: 0; position: absolute; }
.catalog-contract-select { background: transparent; border: 1px solid rgba(246, 243, 236, .32); border-radius: 999px; color: var(--contract-text); cursor: pointer; font: inherit; font-weight: 800; margin-top: auto; min-height: 48px; padding: 0 18px; }
.catalog-contract-plan-card--featured .catalog-contract-select, .catalog-contract-plan-card.is-selected .catalog-contract-select { background: var(--contract-gold); border-color: var(--contract-gold); color: #17120a; }
.catalog-contract-select:hover { border-color: var(--contract-gold); }
.catalog-contract-select:focus-visible { box-shadow: 0 0 0 4px rgba(247, 184, 63, .22); outline: 2px solid var(--contract-gold-soft); outline-offset: 2px; }

.catalog-contract-comparison { border-top: 1px solid var(--contract-line); padding: 58px 0 78px; }
.catalog-contract-section-heading--comparison { align-items: end; }
.catalog-contract-section-heading--comparison > p { color: var(--contract-muted); font-size: .88rem; line-height: 1.5; margin: 0; max-width: 260px; }
.catalog-contract-compare-table { border-top: 1px solid var(--contract-line); }
.catalog-contract-compare-row { display: grid; grid-template-columns: minmax(0, 1fr) 150px 150px; min-height: 58px; }
.catalog-contract-compare-row > div { align-items: center; border-bottom: 1px solid rgba(246, 243, 236, .09); color: var(--contract-muted); display: flex; padding: 13px 18px; }
.catalog-contract-compare-row > div:first-child { padding-left: 0; }
.catalog-contract-compare-row .is-featured-column { background: rgba(247, 184, 63, .045); }
.catalog-contract-compare-row--head { min-height: 54px; }
.catalog-contract-compare-row--head > div { color: var(--contract-text); font-size: .75rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.catalog-contract-compare-row--head .is-featured-column { border-top: 2px solid var(--contract-gold); color: var(--contract-gold-soft); }
.catalog-contract-compare-value { justify-content: center; }
.catalog-contract-check { color: var(--contract-gold); font-size: 1.15rem; font-weight: 900; }
.catalog-contract-dash { color: #68635b; font-size: 1.1rem; }
.catalog-contract-mobile-plan { display: none; }

.catalog-contract-form-section { padding: 0 0 100px; }
.catalog-contract-form-panel { background: var(--contract-surface); border: 1px solid var(--contract-line); border-radius: 28px; box-shadow: 0 28px 80px rgba(0, 0, 0, .25); padding: clamp(24px, 5vw, 52px); }
.catalog-contract-form-copy { display: grid; gap: 12px; grid-template-columns: 1fr 1.4fr; }
.catalog-contract-form-copy h2 { color: var(--contract-text); font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.06em; line-height: .95; margin: 0; }
.catalog-contract-form-copy p { color: var(--contract-muted); line-height: 1.55; margin: 0; max-width: 390px; }
.catalog-contract-form-summary { align-items: center; background: var(--contract-raised); border: 1px solid rgba(247, 184, 63, .28); border-radius: 16px; display: flex; gap: 14px; margin: 34px 0 28px; padding: 15px 18px; }
.catalog-contract-form-summary span, .catalog-contract-form-summary small { color: var(--contract-muted); font-size: .78rem; }
.catalog-contract-form-summary strong { color: var(--contract-text); }
.catalog-contract-form-summary strong[data-contract-summary-price] { color: var(--contract-gold-soft); margin-left: auto; }
.catalog-contract-form-fields { display: grid; gap: 18px 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.catalog-contract-form-fields label { color: var(--contract-text); display: grid; font-size: .88rem; font-weight: 700; gap: 8px; }
.catalog-contract-form-fields label span { color: var(--contract-muted); font-size: .78rem; font-weight: 500; }
.catalog-contract-field-wide { grid-column: 1 / -1; }
.catalog-contract-form-fields input, .catalog-contract-form-fields textarea { background: #0d0d0d; border: 1px solid rgba(246, 243, 236, .24); border-radius: 12px; box-sizing: border-box; color: var(--contract-text); font: inherit; min-height: 50px; padding: 13px 14px; width: 100%; }
.catalog-contract-form-fields textarea { min-height: 108px; resize: vertical; }
.catalog-contract-form-fields input:focus, .catalog-contract-form-fields textarea:focus { border-color: var(--contract-gold); box-shadow: 0 0 0 3px rgba(247, 184, 63, .18); outline: none; }
.catalog-contract-form-fields input:-webkit-autofill, .catalog-contract-form-fields input:-webkit-autofill:focus { -webkit-text-fill-color: var(--contract-text); -webkit-box-shadow: 0 0 0 1000px #0d0d0d inset, 0 0 0 3px rgba(247, 184, 63, .18); }
.catalog-contract-submit-row { align-items: end; display: flex; gap: 24px; justify-content: space-between; margin-top: 24px; }
.catalog-contract-submit-row p { color: var(--contract-muted); font-size: .78rem; line-height: 1.5; margin: 0; max-width: 520px; }
.catalog-contract-submit { background: linear-gradient(135deg, #ffe08a, var(--contract-gold)); border: 1px solid #ffd36c; border-radius: 999px; box-shadow: 0 12px 32px rgba(247, 184, 63, .2); color: #17120a; cursor: pointer; font: inherit; font-weight: 800; min-height: 52px; padding: 0 26px; white-space: nowrap; }
.catalog-contract-submit:hover { filter: brightness(1.07); transform: translateY(-1px); }
.catalog-contract-submit:focus-visible { box-shadow: 0 0 0 4px rgba(247, 184, 63, .24); outline: 2px solid var(--contract-gold-soft); outline-offset: 2px; }
.landing-page--contract .landing-messages { background: #2b1b0a; border: 1px solid rgba(247, 184, 63, .5); color: var(--contract-gold-soft); margin: 20px auto 0; max-width: 1160px; width: calc(100% - 48px); }
.catalog-contract-confirmation { margin: 64px auto 96px; max-width: 760px; text-align: center; }
.catalog-contract-confirmation-mark { align-items: center; background: rgba(247, 184, 63, .14); border: 1px solid rgba(247, 184, 63, .4); border-radius: 50%; color: var(--contract-gold-soft); display: flex; font-size: 1.7rem; height: 58px; justify-content: center; margin: 0 auto 24px; width: 58px; }
.catalog-contract-confirmation h2 { color: var(--contract-text); font-size: clamp(2rem, 5vw, 4.2rem); letter-spacing: -.06em; line-height: .98; margin: 0; }
.catalog-contract-confirmation p { color: var(--contract-muted); line-height: 1.6; margin: 18px auto 0; max-width: 590px; }
.catalog-contract-confirmation strong { color: var(--contract-gold-soft); }
.catalog-contract-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 30px; }
.catalog-contract-actions a { border: 1px solid var(--contract-line); border-radius: 999px; color: var(--contract-text); padding: 12px 18px; text-decoration: none; }
.catalog-contract-actions a:first-child { background: var(--contract-gold); border-color: var(--contract-gold); color: #17120a; font-weight: 800; }
.catalog-contract-panel { background: var(--contract-surface); border: 1px solid var(--contract-line); border-radius: 28px; box-shadow: 0 28px 80px rgba(0,0,0,.25); margin: 0 auto 96px; padding: clamp(24px,5vw,52px); text-align: center; }
.catalog-contract-panel h2 { color: var(--contract-text); font-size: clamp(2rem,4vw,3.5rem); letter-spacing: -.06em; line-height: 1; margin: 12px auto 0; max-width: 760px; }
.catalog-contract-panel > p, .catalog-contract-panel > div > p { color: var(--contract-muted); line-height: 1.65; margin: 18px auto 0; max-width: 720px; }
.catalog-contract-panel strong { color: var(--contract-gold-soft); }
.catalog-contract-actions form { display: grid; gap: 10px; justify-items: center; }
.catalog-contract-code-form { min-width: min(100%, 280px); }
.catalog-contract-code-form label { color: var(--contract-muted); font-size: .8rem; font-weight: 700; }
.catalog-contract-code-form input { background: #0d0d0d; border: 1px solid rgba(246,243,236,.24); border-radius: 12px; color: var(--contract-text); font: inherit; font-size: 1.2rem; letter-spacing: .2em; min-height: 50px; padding: 10px 14px; text-align: center; width: 100%; }
.catalog-contract-code-form input:focus-visible { border-color: var(--contract-gold); outline: 2px solid var(--contract-gold-soft); outline-offset: 2px; }
.catalog-contract-errors, .catalog-contract-form-fields .errorlist { color: #ffb0a9; font-size: .82rem; line-height: 1.45; list-style: none; margin: 8px 0 0; padding: 0; }

@media (max-width: 900px) {
  .catalog-contract-section-heading { align-items: start; flex-direction: column; }
  .catalog-contract-billing legend { text-align: left; }
  .catalog-contract-comparison { padding-top: 42px; }
  .catalog-contract-form-copy { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .catalog-contract-container { width: min(100% - 32px, 560px); }
  .catalog-contract-hero { padding: 42px 0 44px; }
  .catalog-contract-hero-inner { align-items: start; text-align: left; }
  .catalog-contract-hero h1 { font-size: clamp(2.8rem, 13vw, 4.5rem); }
  .catalog-contract-selector { padding: 40px 0 50px; }
  .catalog-contract-plan-grid { grid-template-columns: 1fr; }
  .catalog-contract-plan-card { min-height: 0; }
  .catalog-contract-comparison { padding: 42px 0 58px; }
  .catalog-contract-compare-row { display: block; min-height: 0; }
  .catalog-contract-compare-row > div { border-bottom: 0; min-height: 48px; padding: 10px 14px; }
  .catalog-contract-compare-row > div:first-child { padding-left: 0; }
  .catalog-contract-compare-row--head { display: none; }
  .catalog-contract-feature-name { border-bottom: 1px solid var(--contract-line) !important; color: var(--contract-text) !important; font-weight: 800; padding-top: 22px !important; }
  .catalog-contract-compare-value { justify-content: space-between; }
  .catalog-contract-compare-value.is-featured-column { background: rgba(247, 184, 63, .06); }
  .catalog-contract-mobile-plan { color: var(--contract-muted); display: inline; font-size: .78rem; font-weight: 700; }
  .catalog-contract-form-summary { align-items: start; flex-wrap: wrap; gap: 8px 12px; }
  .catalog-contract-form-summary strong[data-contract-summary-price] { margin-left: 0; width: 100%; }
  .catalog-contract-form-fields { grid-template-columns: 1fr; }
  .catalog-contract-field-wide { grid-column: auto; }
  .catalog-contract-submit-row { align-items: stretch; flex-direction: column; }
  .catalog-contract-submit { width: 100%; }
  .landing-page--contract .landing-messages { width: calc(100% - 32px); }
  .catalog-contract-panel { margin-bottom: 48px; text-align: left; }
  .catalog-contract-actions { align-items: stretch; flex-direction: column; }
  .catalog-contract-actions a, .catalog-contract-actions form, .catalog-contract-actions button { width: 100%; }
}
@media (max-height: 460px) and (orientation: landscape) {
  .catalog-contract-hero { padding: 28px 0; }
  .catalog-contract-hero h1 { font-size: clamp(2.2rem,8vw,3.4rem); }
  .catalog-contract-selector { padding: 28px 0 34px; }
  .catalog-contract-plan-card { padding: 22px; }
  .catalog-contract-panel { margin-bottom: 32px; padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-contract-billing-switch span, .catalog-contract-plan-card { transition: none; }
  .catalog-contract-submit:hover { transform: none; }
}
