/* Contact — frame 2:1773 (1440) / 45:854 (390). */

/* ── hero (2:1803 / 45:872) ───────────────────────────────────────────── */
.ct-hero { position: relative; overflow: hidden; height: 560px; background: var(--color-bg); color: var(--color-text); }
.ct-hero__wm { position: absolute; left: 80px; top: 40px; color: var(--color-cream); opacity: .04; font-family: var(--font-display); font-weight: 800; font-size: 200px; line-height: 240px; pointer-events: none; }
.ct-hero__star { position: absolute; left: 40px; bottom: 100px; color: var(--color-lime); opacity: .06; font-family: var(--font-display); font-weight: 800; font-size: 120px; line-height: 144px; pointer-events: none; }
.ct-hero__content { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 28px; height: 560px; padding: 80px 60px; }   /* frame FIXED 560: content overruns by 11 */
.ct-hero__title { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; align-self: stretch; font-family: var(--font-display); font-weight: 800; font-size: 96px; line-height: 86px; letter-spacing: -2px; }
.ct-hero__row { display: flex; align-items: flex-start; gap: 16px; height: 101px; padding-top: 7px; }
.ct-hero__panel { padding: 4px 16px 4px 0; line-height: 86px; transform: rotate(-2deg); transform-origin: 0 0; }   /* 2:1813 */
.ct-hero__lead { width: 720px; font-size: 16px; line-height: 26px; color: var(--color-muted); }
.ct-hero__foot { display: flex; justify-content: space-between; align-items: center; align-self: stretch; }
.ct-hero__note { font-family: var(--font-display); font-weight: 600; font-size: 13px; line-height: 16px; letter-spacing: 1px; color: var(--color-muted-3); }
.ct-hero__link { font-family: var(--font-display); font-weight: 700; font-size: 15px; line-height: 18px; letter-spacing: 1px; color: var(--color-lime); text-decoration: none; transition: color var(--dur-fast) var(--ease); }
.ct-hero__link:hover { color: var(--color-text); }

/* ── contact area (15:1420 / 45:903 + 45:919 + 45:923) ────────────────── */
.ct-area { display: flex; flex-direction: column; gap: 40px; padding: 80px 60px; background: var(--color-bg); }
.ct-row { display: flex; gap: 64px; align-items: flex-start; }
.ct-quick { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; width: 420px; flex: none; padding: 32px; border-radius: var(--radius-sm); background: var(--color-lime); color: var(--color-text-dark); font-family: var(--font-display); }
.ct-quick__wm { position: absolute; left: 0; top: -20px; opacity: .06; font-weight: 800; font-size: 180px; line-height: 216px; pointer-events: none; }
.ct-quick__head { position: relative; display: flex; flex-direction: column; gap: 12px; }
.ct-quick__eyebrow .star, .ct-quick__eyebrow span { color: var(--color-text-dark); }
.ct-quick__title { font-weight: 800; font-size: 56px; line-height: 56px; letter-spacing: -1px; }
.ct-quick__list { position: relative; display: flex; flex-direction: column; gap: 24px; align-self: stretch; }
.ct-quick__list li { display: flex; gap: 16px; font-family: var(--font-body); font-size: 15px; line-height: 22px; }
.ct-quick__n { width: 24px; flex: none; font-family: var(--font-display); font-weight: 800; font-size: 18px; line-height: 22px; }
.ct-quick__link { position: relative; font-weight: 700; font-size: 15px; line-height: 18px; letter-spacing: 1px; color: inherit; text-decoration: none; }
.ct-quick__link:hover { text-decoration: underline; }
.ct-quick__rule { align-self: stretch; margin: 0; border: 0; height: 0; box-shadow: 0 1px 0 var(--color-text-dark); }
.ct-support { position: relative; display: flex; flex-direction: column; gap: 12px; align-self: stretch; padding: 16px; border-radius: var(--radius-sm); background: var(--color-bg); color: var(--color-text); box-shadow: inset 0 0 0 2px var(--color-lime); }
.ct-support__t { font-weight: 800; font-size: 13px; line-height: 16px; letter-spacing: 1px; color: var(--color-lime); }
.ct-support__phone { font-weight: 700; font-size: 14px; line-height: 20px; color: var(--color-text); text-decoration: none; }
.ct-support__phone:hover { color: var(--color-lime); }
.ct-support__p { font-family: var(--font-body); font-size: 13px; line-height: 18px; color: var(--color-muted); }
.ct-support__p a { color: var(--color-text); text-decoration-color: var(--color-lime); }
.ct-quick__email { position: relative; font-weight: 700; font-size: 13px; line-height: 16px; letter-spacing: 1px; }   /* TZ: support email */
.ct-quick__email a { color: inherit; text-underline-offset: 2px; }

.ct-form-wrap { position: relative; display: flex; flex-direction: column; gap: 32px; flex: 1; min-width: 0; padding: 40px; border-radius: var(--radius-sm); background: var(--color-cream-2); color: var(--color-text-dark); box-shadow: inset 0 0 0 2px var(--color-text-dark); }
.ct-form__head { display: flex; flex-direction: column; gap: 12px; }
.ct-form__title { font-family: var(--font-display); font-weight: 800; font-size: 56px; line-height: 56px; letter-spacing: -1px; }
.ct-form__lead { font-size: 15px; line-height: 22px; color: var(--color-muted-cool); }
.ct-form__lead a { color: var(--color-text-dark); text-decoration-color: var(--color-lime-deep); }
.ct-form { display: flex; flex-direction: column; gap: 32px; }
.ct-form__fields { display: flex; flex-direction: column; gap: 24px; }
.ct-form__row { display: flex; gap: 16px; }
.ct-form__row .ct-field { flex: 1; }
.ct-field { gap: 8px; }
.ct-field__label { font-size: 12px; line-height: 14.4px; letter-spacing: 1px; color: var(--color-text-dark); }
.ct-field input:not(.visually-hidden), .ct-field select, .ct-field textarea { height: 48px; border-radius: 0; background: #fff; color: var(--color-text-dark); box-shadow: inset 0 0 0 1px var(--color-text-dark); font-size: 15px; line-height: 18px; }
.ct-field input::placeholder, .ct-field textarea::placeholder { color: var(--color-muted-cool); }
.ct-field textarea { height: 160px; min-height: 160px; padding: 16px; }
.ct-field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230a0a0a' stroke-width='2'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.ct-field input:focus, .ct-field select:focus, .ct-field textarea:focus { box-shadow: inset 0 0 0 2px var(--color-text-dark); }
.ct-field .field__error { color: var(--color-error); }
.ct-form .form__error { color: var(--color-error); }
.ct-form__foot { display: flex; justify-content: space-between; align-items: center; }
.ct-form__check { font-size: 13px; line-height: 16px; color: var(--color-muted-cool); }
.ct-form__send { height: 52px; padding: 0 32px; }
.ct-done { display: flex; flex-direction: column; gap: 12px; padding: 24px; background: #fff; box-shadow: inset 0 0 0 2px var(--color-lime); }
.ct-done__t { font-family: var(--font-display); font-weight: 800; font-size: 28px; line-height: 34px; }
.ct-done__p { font-size: 15px; line-height: 22px; color: var(--color-muted-cool); }
.ct-done__p a { color: var(--color-text-dark); }

@media (max-width: 1199px) {
  .ct-hero { height: auto; }
  .ct-hero__content { height: auto; }
  .ct-hero__content { gap: 24px; padding: 40px 16px; }
  .ct-hero__content .eyebrow { gap: 6px; }
  .ct-hero__title { gap: 4px; font-size: 48px; line-height: 44px; letter-spacing: -1px; }
  .ct-hero__row { gap: 12px; height: 51px; padding-top: 3px; }
  .ct-hero__panel { padding: 2px 10px; line-height: 44px; }
  .ct-hero__lead { width: auto; font-family: var(--font-sans); font-size: 14px; line-height: 20px; }
  .ct-hero__foot { flex-direction: column; align-items: flex-start; gap: 12px; }
  .ct-hero__note { letter-spacing: .5px; color: var(--color-muted); }
  .ct-hero__link { font-size: 14px; line-height: 17px; }
  .deco-arrow--m60 { font-size: 12px; line-height: 14px; }
  .deco-arrow--m60 i { width: 60px; height: 2px; }
  .ct-hero__panel { transform: rotate(-1.5deg); }   /* 45:880 */

  .ct-area { gap: 0; padding: 0; }
  .ct-row { flex-direction: column; gap: 0; }
  .ct-quick { gap: 24px; width: auto; align-self: stretch; padding: 32px 16px; border-radius: 0; overflow: visible; }
  .ct-quick__head { gap: 24px; }
  .ct-quick__title { font-size: 36px; line-height: 36px; }
  .ct-quick__list { gap: 16px; }
  .ct-quick__list li { gap: 12px; padding-bottom: 12px; font-family: var(--font-sans); font-weight: 500; font-size: 13px; line-height: 18px; }
  .ct-quick__n { width: 12px; font-size: 16px; line-height: 19.2px; }
  .ct-quick__link { font-size: 14px; line-height: 17px; }
  .ct-support { order: 1; margin: 8px -16px -32px; padding: 20px; border-radius: 0; box-shadow: inset 0 0 0 1px var(--color-lime); }   /* 390: the box closes the panel; the TZ email line sits above it */
  .ct-support__phone { font-weight: 800; font-size: 20px; line-height: 24px; }
  .ct-support__p { font-family: var(--font-sans); font-size: 12px; line-height: 16px; }
  .ct-quick__email { margin-top: -8px; }

  .ct-form-wrap { gap: 24px; padding: 40px 16px; border-radius: 0; box-shadow: none; }
  .ct-form__head { gap: 10px; }
  .ct-form__title { font-size: 32px; line-height: 32px; }
  .ct-form__lead { font-family: var(--font-sans); font-size: 13px; line-height: 18px; color: var(--color-muted-4); }
  .ct-form { gap: 24px; }
  .ct-form__fields { gap: 16px; }
  .ct-form__row { flex-direction: column; gap: 16px; }
  .ct-field { gap: 6px; }
  .ct-field input:not(.visually-hidden), .ct-field select, .ct-field textarea { height: 44px; padding: 0 12px; font-family: var(--font-sans); font-size: 14px; line-height: 17.08px; }
  .ct-field input::placeholder, .ct-field textarea::placeholder { color: var(--color-muted); }
  .ct-field textarea { height: 120px; min-height: 120px; padding: 12px; }
  .ct-form__foot { flex-direction: column; align-items: stretch; gap: 12px; padding: 8px 0 0; }   /* frame FIXED 81: bottom padding is cut */
  .ct-form__check { font-family: var(--font-sans); font-size: 12px; line-height: 15px; color: var(--color-muted-4); }
  .ct-form__send { height: 46px; padding: 0; border-radius: 0; box-shadow: inset 0 0 0 1px var(--color-text-dark); }
}
