.agreements-page { min-height: 100svh; color: var(--ivory); background: var(--obsidian); }
.agreements-page .site-header { position: fixed; }
.agreements-page .mobile-menu:not(.is-open) { display: none; }
.agreements-page .desktop-nav a[aria-current="page"], .agreements-page .mobile-menu a[aria-current="page"] { color: var(--champagne-light); }
.agreements-hero { position: relative; display: grid; min-height: 100svh; align-items: center; overflow: hidden; padding: 112px 0 28px; background: radial-gradient(circle at 76% 18%, rgba(107,74,121,.29), transparent 32%), linear-gradient(132deg, #0e0914 0%, #171020 58%, #0b0710 100%); }
.agreements-hero::before { position: absolute; inset: 0; opacity: .11; background-image: linear-gradient(rgba(228,210,173,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(228,210,173,.1) 1px, transparent 1px); background-size: 72px 72px; content: ""; }
.agreements-hero__halo { position: absolute; bottom: -28%; left: -12%; width: 50vw; height: 50vw; background: radial-gradient(circle, rgba(199,168,107,.13), transparent 66%); pointer-events: none; }
.agreements-layout { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(410px, .75fr); gap: clamp(24px, 4.2vw, 64px); align-items: center; }
.agreements-story { display: grid; grid-template-columns: minmax(190px, .68fr) minmax(300px, 1.12fr); gap: clamp(24px, 3.5vw, 48px); align-items: center; }
.agreements-story__visual { position: relative; min-height: min(63vh, 560px); margin: 0; overflow: hidden; border: 1px solid rgba(228,210,173,.2); border-radius: 100px 24px 100px 24px; box-shadow: 0 28px 70px rgba(0,0,0,.32); }
.agreements-story__visual::after { position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgba(14,9,20,.9)); content: ""; }
.agreements-story__visual img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center; }
.agreements-story__visual figcaption { position: absolute; z-index: 1; right: 22px; bottom: 24px; left: 22px; display: grid; color: rgba(252,249,244,.75); font-size: .67rem; }
.agreements-story__visual figcaption span { color: var(--champagne-light); font-size: .58rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.agreements-story__copy h1 { max-width: 12ch; margin: 16px 0 22px; font: 500 clamp(2.55rem, 3.7vw, 4.1rem)/1 var(--font-display); letter-spacing: -.045em; }
.agreements-story__copy > p:not(.eyebrow) { max-width: 49ch; margin: 0; color: rgba(252,249,244,.69); font-size: clamp(.79rem, 1vw, .92rem); }
.agreements-benefits { display: grid; gap: 0; margin: 30px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(228,210,173,.18); }
.agreements-benefits li { display: grid; grid-template-columns: 34px 1fr; gap: 13px; padding: 14px 0; border-bottom: 1px solid rgba(228,210,173,.18); color: rgba(252,249,244,.66); font-size: .68rem; }
.agreements-benefits svg { width: 27px; fill: none; stroke: var(--champagne-light); stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.agreements-benefits span, .agreements-benefits strong { display: block; }
.agreements-benefits strong { margin-bottom: 3px; color: var(--ivory); font-size: .78rem; }
.agreements-form-card { padding: clamp(25px, 3vw, 38px); color: var(--ink); background: rgba(247,243,237,.98); border: 1px solid rgba(255,255,255,.22); border-radius: 28px; box-shadow: 0 32px 90px rgba(0,0,0,.35); }
.agreements-form-card header > p { margin: 0 0 8px; color: var(--violet); font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.agreements-form-card h2 { margin: 0 0 12px; font: 500 clamp(1.9rem, 2.6vw, 2.9rem)/1 var(--font-display); letter-spacing: -.045em; }
.agreements-form-card header > span { display: block; max-width: 50ch; color: var(--muted); font-size: .68rem; }
.agreements-form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; margin-top: 20px; }
.field { display: grid; gap: 5px; }
.field--wide { grid-column: 1 / -1; }
.field label { font-size: .62rem; font-weight: 800; }
.field label span { color: var(--muted); font-weight: 500; }
.field input, .field textarea { width: 100%; min-width: 0; padding: 10px 12px; color: var(--ink); background: #fff; border: 1px solid #d8d0c5; border-radius: 11px; font: 500 .72rem/1.35 var(--font-body); transition: border-color 160ms ease, box-shadow 160ms ease; }
.field input { min-height: 43px; }
.field textarea { resize: vertical; }
.field input:focus, .field textarea:focus { border-color: var(--champagne); box-shadow: 0 0 0 3px rgba(199,168,107,.17); outline: 0; }
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: #9f3636; }
.field--trap { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.field small, .agreements-consent-error { min-height: 0; color: #8b2929; font-size: .55rem; }
.agreements-consent { display: grid; grid-template-columns: 18px 1fr; gap: 8px; align-items: start; margin-top: 2px; color: var(--muted); font-size: .56rem; line-height: 1.45; }
.agreements-consent input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--violet); }
.agreements-consent a { color: var(--ink); font-weight: 700; }
.agreements-consent-error { margin-top: -8px; }
.agreements-submit { width: 100%; min-height: 48px; color: var(--ink); background: var(--champagne-light); border-color: var(--champagne-light); box-shadow: none; }
.agreements-submit:hover { color: var(--ink); background: var(--champagne); border-color: var(--champagne); }
.agreements-submit[disabled] { cursor: wait; opacity: .72; }
.agreements-form__status { min-height: 1em; margin: -4px 0 0; color: var(--sage); font-size: .58rem; text-align: center; }
.agreements-form__status.is-error { color: #8b2929; }
.agreements-form-card__privacy { margin: 7px 0 0; color: var(--muted); font-size: .52rem; text-align: center; }
.agreements-success { min-height: min(61vh, 560px); align-content: center; text-align: center; }
.agreements-success:not([hidden]) { display: grid; }
.agreements-success__mark { display: grid; width: 62px; height: 62px; margin: 0 auto 24px; place-items: center; color: var(--ivory); background: var(--violet); border-radius: 50%; box-shadow: 0 16px 34px rgba(75,44,96,.2); }
.agreements-success__mark svg { width: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.agreements-success > p:first-of-type { margin: 0 0 12px; color: var(--violet); font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.agreements-success h2 { max-width: 12ch; margin: 0 auto 17px; }
.agreements-success > p:last-of-type { max-width: 45ch; margin: 0 auto; color: var(--muted); font-size: .74rem; }
.agreements-success__contacts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 30px; }
.agreements-success__contacts a { display: grid; gap: 4px; min-width: 0; padding: 15px 12px; color: var(--ink); background: #fff; border: 1px solid #d8d0c5; border-radius: 13px; text-decoration: none; transition: border-color 180ms ease, transform 180ms ease; }
.agreements-success__contacts a:hover { border-color: var(--champagne); transform: translateY(-2px); }
.agreements-success__contacts span { color: var(--muted); font-size: .56rem; font-weight: 700; }
.agreements-success__contacts strong { overflow-wrap: anywhere; font-size: .67rem; }
@media (max-width: 1100px) {
  .agreements-layout { grid-template-columns: minmax(0, 1fr) minmax(390px, .8fr); gap: 24px; }
  .agreements-story { grid-template-columns: 1fr; }
  .agreements-story__visual { min-height: 210px; border-radius: 24px 80px 24px 24px; }
  .agreements-story__visual img { position: absolute; inset: 0; object-position: center 58%; }
  .agreements-story__copy h1 { max-width: 13ch; font-size: clamp(2.5rem, 5vw, 3.75rem); }
}
@media (max-width: 820px) {
  .agreements-hero { display: block; min-height: 100svh; padding: 96px 0 30px; overflow: hidden; }
  .agreements-layout { grid-template-columns: 1fr; }
  .agreements-story { gap: 20px; }
  .agreements-story__visual { min-height: 235px; }
  .agreements-story__copy h1 { font-size: clamp(2.35rem, 9vw, 3.4rem); }
}
@media (max-width: 520px) {
  .agreements-hero { padding-top: 92px; }
  .agreements-layout { width: min(100% - 28px, var(--container)); gap: 22px; }
  .agreements-story__visual { min-height: 190px; border-radius: 20px 65px 20px 20px; }
  .agreements-story__copy h1 { margin-block: 13px 18px; font-size: clamp(2.15rem, 9.8vw, 2.9rem); }
  .agreements-benefits { margin-top: 23px; }
  .agreements-form-card { padding: 24px 18px; border-radius: 22px; }
  .agreements-form { grid-template-columns: 1fr; }
  .field--wide { grid-column: auto; }
  .agreements-consent-error { margin-top: -7px; }
  .agreements-success { min-height: 440px; }
  .agreements-success__contacts { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .agreements-page *, .agreements-page *::before, .agreements-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
