body.page-contact {
      background: linear-gradient(180deg, #ffffff 0%, #f8fbf9 48%, #eef8f2 100%);
    }

    body.page-contact main {
      max-width: 1280px;
      padding-top: 26px;
      padding-bottom: 26px;
    }

    .contact-page {
      --contact-green: #007a3d;
      --contact-green-dark: #006432;
      --contact-green-soft: #edf8f2;
      --contact-mint: #ccebd9;
      --contact-ink: #101820;
      --contact-muted: #53616d;
      --contact-border: #dbe8e0;
      --contact-red: #d93636;
      --contact-red-soft: #fff1f1;
      display: grid;
      gap: 24px;
      color: var(--contact-ink);
    }

    body.page-contact {
      overflow-x: hidden;
    }

    .contact-page,
    .contact-page * {
      min-width: 0;
    }

    .contact-page h1,
    .contact-page h2,
    .contact-page h3 {
      font-family: "Manrope", "Segoe UI", sans-serif;
      letter-spacing: 0;
    }

    .contact-page h1 {
      max-width: 14ch;
      font-size: clamp(40px, 5.2vw, 66px);
      line-height: 1.1;
      font-weight: 900;
    }

    .contact-page h2 {
      font-size: clamp(26px, 3vw, 38px);
      line-height: 1.14;
      font-weight: 900;
    }

    .contact-page h3 {
      font-size: 21px;
      line-height: 1.2;
      font-weight: 900;
    }

    .contact-page p {
      color: var(--contact-muted);
    }

    .contact-page .lead {
      color: #24323d;
      font-size: clamp(17px, 1.45vw, 20px);
      line-height: 1.68;
    }

    .contact-page .button {
      min-height: 50px;
      border-radius: 8px;
      background: var(--contact-green);
      border-color: var(--contact-green);
      color: #ffffff;
      box-shadow: 0 14px 28px rgba(0, 122, 61, 0.2);
      max-width: 100%;
      text-align: center;
      white-space: normal;
    }

    .contact-page .button:hover {
      background: var(--contact-green-dark);
      border-color: var(--contact-green-dark);
    }

    .contact-page .button.secondary {
      background: #ffffff;
      color: var(--contact-green);
      border-color: rgba(0, 122, 61, 0.42);
      box-shadow: none;
    }

    .contact-icon {
      width: 42px;
      height: 42px;
      color: var(--contact-green);
      fill: none;
      stroke: currentColor;
      flex: 0 0 auto;
    }

    .contact-icon.small {
      width: 28px;
      height: 28px;
    }

    .contact-icon.medium {
      width: 50px;
      height: 50px;
    }

    .contact-icon.large {
      width: 76px;
      height: 76px;
    }

    .contact-icon.red {
      color: var(--contact-red);
    }

    .contact-page .button .contact-icon,
    .contact-form button .contact-icon {
      color: currentColor;
    }

    .contact-eyebrow {
      color: var(--contact-green);
      font-size: 13px;
      font-weight: 900;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    .contact-hero {
      display: grid;
      grid-template-columns: minmax(0, 0.92fr) minmax(440px, 1.08fr);
      gap: 34px;
      align-items: center;
      min-height: 540px;
    }

    .contact-hero-copy {
      display: grid;
      gap: 22px;
      align-content: center;
      padding: 18px 0;
    }

    .contact-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 18px;
      margin-top: 4px;
    }

    .contact-actions .button {
      min-width: 220px;
    }

    .contact-proof-row {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-top: 10px;
      color: #2d3a43;
      font-size: 14px;
      font-weight: 800;
    }

    .contact-proof-item {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 10px;
      align-items: center;
      min-width: 0;
    }

    .contact-proof-item span {
      min-width: 0;
      line-height: 1.35;
    }

    .contact-hero-media {
      position: relative;
      min-height: 540px;
      overflow: hidden;
      border-radius: 18px;
      background: #f5f3ef;
      isolation: isolate;
    }

    .contact-hero-media::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0) 22%),
        linear-gradient(180deg, rgba(255, 255, 255, 0) 72%, #ffffff 100%);
      pointer-events: none;
    }

    .contact-hero-media > img {
      position: relative;
      z-index: 0;
      width: 100%;
      height: 100%;
      min-height: 540px;
      object-fit: cover;
      object-position: center;
    }

    .contact-hero-menu {
      position: absolute;
      top: 58px;
      right: 18px;
      z-index: 3;
      display: grid;
      gap: 12px;
      width: min(225px, calc(100% - 36px));
    }

    .contact-float-card {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 12px;
      align-items: center;
      min-height: 70px;
      padding: 12px 16px;
      border: 1px solid rgba(16, 24, 32, 0.1);
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.96);
      box-shadow: 0 18px 36px rgba(16, 24, 32, 0.14);
    }

    .contact-float-card strong {
      display: block;
      min-width: 0;
      color: #1c2833;
      font-size: 14px;
      line-height: 1.3;
      overflow-wrap: anywhere;
    }

    .contact-float-card.is-guidance {
      background: rgba(237, 248, 242, 0.96);
    }

    .contact-section-title {
      display: grid;
      gap: 8px;
      justify-items: center;
      text-align: center;
    }

    .contact-choice-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 22px;
    }

    .contact-choice-card {
      display: grid;
      gap: 16px;
      min-height: 230px;
      padding: 28px;
      border: 1px solid rgba(16, 24, 32, 0.1);
      border-radius: 8px;
      background: #ffffff;
      box-shadow: 0 16px 34px rgba(16, 24, 32, 0.07);
      text-align: left;
    }

    .contact-choice-card p {
      line-height: 1.55;
      font-size: 14px;
    }

    .contact-card-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: auto;
      color: var(--contact-green);
      font-size: 14px;
      font-weight: 900;
      text-decoration: none;
    }

    .contact-card-link svg {
      width: 18px;
      height: 18px;
    }

    .contact-main-grid {
      display: grid;
      grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr);
      gap: 34px;
      align-items: start;
    }

    .contact-info-panel,
    .contact-form-panel {
      display: grid;
      gap: 22px;
      padding: 30px;
      border: 1px solid rgba(16, 24, 32, 0.1);
      border-radius: 8px;
      background: #ffffff;
      box-shadow: 0 16px 34px rgba(16, 24, 32, 0.07);
    }

    .contact-detail-row {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 14px;
      align-items: center;
      color: var(--contact-green);
    }

    .contact-detail-row strong {
      display: block;
      color: var(--contact-ink);
      font-size: clamp(18px, 1.8vw, 22px);
      line-height: 1.35;
      overflow-wrap: anywhere;
    }

    .contact-response-box {
      display: grid;
      grid-template-columns: 54px minmax(0, 1fr);
      gap: 16px;
      align-items: center;
      padding: 18px;
      border-radius: 8px;
      background: linear-gradient(90deg, #ebf8f1 0%, #ffffff 100%);
    }

    .contact-response-box strong,
    .contact-response-box span {
      display: block;
    }

    .contact-response-box strong {
      color: var(--contact-green);
      font-size: 18px;
      line-height: 1.3;
    }

    .contact-response-box span {
      color: var(--contact-muted);
      font-size: 13px;
      line-height: 1.45;
    }

    .contact-help-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }

    .contact-help-item {
      display: grid;
      grid-template-columns: 36px minmax(0, 1fr);
      gap: 10px;
      min-height: 110px;
      padding: 14px;
      border: 1px solid var(--contact-border);
      border-radius: 8px;
      background: #ffffff;
      text-align: left;
    }

    .contact-help-item strong {
      display: block;
      margin-bottom: 5px;
      color: var(--contact-ink);
      font-size: 13px;
      line-height: 1.3;
    }

    .contact-help-item span {
      color: var(--contact-muted);
      font-size: 11px;
      line-height: 1.4;
    }

    .contact-form {
      display: grid;
      gap: 12px;
    }

    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }

    .contact-field-wrap {
      display: grid;
      gap: 6px;
    }

    .contact-field-wrap.is-wide {
      grid-column: 1 / -1;
    }

    .contact-field {
      position: relative;
      display: grid;
      align-items: center;
    }

    .contact-field .contact-field-icon {
      position: absolute;
      left: 14px;
      z-index: 1;
      width: 18px;
      height: 18px;
      color: #9aa6ae;
      pointer-events: none;
    }

    .contact-field input,
    .contact-field select,
    .contact-field textarea {
      width: 100%;
      min-height: 52px;
      border: 1px solid rgba(16, 24, 32, 0.18);
      border-radius: 8px;
      padding: 13px 14px 13px 44px;
      background: #ffffff;
      color: var(--contact-ink);
      font: inherit;
      box-shadow: none;
    }

    .contact-field input::placeholder,
    .contact-field textarea::placeholder {
      color: #687680;
      opacity: 1;
    }

    .contact-field select {
      appearance: none;
      background:
        linear-gradient(45deg, transparent 50%, #53616d 50%) calc(100% - 18px) 22px / 7px 7px no-repeat,
        linear-gradient(135deg, #53616d 50%, transparent 50%) calc(100% - 13px) 22px / 7px 7px no-repeat,
        #ffffff;
      color: #53616d;
    }

    .contact-field textarea {
      min-height: 122px;
      resize: vertical;
    }

    .contact-field textarea + .contact-field-icon {
      top: 16px;
    }

    .contact-error {
      color: var(--contact-red);
      font-size: 12px;
      line-height: 1.4;
    }

    .contact-form button {
      grid-column: 1 / -1;
      width: 100%;
      border-radius: 8px;
      background: var(--contact-green);
      color: #ffffff;
      border-color: var(--contact-green);
      box-shadow: none;
    }

    .contact-form-note {
      display: grid;
      gap: 4px;
      margin-top: 2px;
      color: var(--contact-muted);
      font-size: 13px;
      line-height: 1.45;
    }

    .contact-form-note span {
      display: grid;
      grid-template-columns: 18px minmax(0, 1fr);
      gap: 8px;
      align-items: start;
    }

    .contact-assurance {
      display: grid;
      gap: 24px;
      padding: 30px;
      border-radius: 8px;
      background: linear-gradient(90deg, #edf8f2 0%, #ffffff 50%, #edf8f2 100%);
      border: 1px solid var(--contact-border);
    }

    .contact-assurance-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0;
    }

    .contact-assurance-item {
      display: grid;
      grid-template-columns: 54px minmax(0, 1fr);
      gap: 14px;
      align-items: center;
      padding: 0 20px;
      border-right: 1px solid var(--contact-border);
      text-align: left;
    }

    .contact-assurance-item:last-child {
      border-right: 0;
    }

    .contact-assurance-item strong,
    .contact-assurance-item span {
      display: block;
    }

    .contact-assurance-item strong {
      color: var(--contact-ink);
      line-height: 1.25;
      font-weight: 900;
    }

    .contact-assurance-item span {
      color: var(--contact-muted);
      font-size: 13px;
      line-height: 1.45;
    }

    .contact-urgent {
      display: grid;
      grid-template-columns: 72px minmax(0, 1fr) 74px;
      gap: 18px;
      align-items: center;
      padding: 22px 26px;
      border: 1px solid #f3c7c7;
      border-radius: 8px;
      background: var(--contact-red-soft);
    }

    .contact-urgent strong {
      display: block;
      margin-bottom: 5px;
      color: var(--contact-ink);
      font-size: 19px;
      line-height: 1.3;
    }

    .contact-urgent p {
      color: #5b3030;
      line-height: 1.55;
    }

    .contact-faq-row {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
      gap: 18px;
      align-items: stretch;
    }

    .contact-faq-card {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr) 18px;
      gap: 12px;
      align-items: center;
      min-height: 88px;
      padding: 18px;
      border: 1px solid rgba(16, 24, 32, 0.1);
      border-radius: 8px;
      background: #ffffff;
      box-shadow: 0 12px 24px rgba(16, 24, 32, 0.06);
      text-decoration: none;
      text-align: left;
    }

    .contact-faq-card strong,
    .contact-faq-card span {
      display: block;
    }

    .contact-faq-card strong {
      color: var(--contact-ink);
      font-size: 14px;
      line-height: 1.3;
    }

    .contact-faq-card span {
      color: var(--contact-muted);
      font-size: 12px;
      line-height: 1.45;
    }

    .contact-faq-row .button {
      align-self: center;
      min-width: 170px;
      box-shadow: none;
    }

    .contact-final-cta {
      display: grid;
      grid-template-columns: 88px minmax(0, 0.95fr) minmax(300px, 0.78fr);
      gap: 26px;
      align-items: center;
      min-height: 190px;
      overflow: hidden;
      padding: 28px;
      border: 1px solid var(--contact-border);
      border-radius: 8px;
      background: linear-gradient(90deg, #edf8f2 0%, #ffffff 52%, #f3f8f5 100%);
    }

    .contact-final-copy {
      display: grid;
      gap: 12px;
    }

    .contact-final-copy h2 {
      max-width: 18ch;
    }

    .contact-final-copy .contact-actions {
      margin-top: 4px;
    }

    .contact-final-media {
      align-self: stretch;
      min-height: 170px;
      overflow: hidden;
      border-radius: 8px;
    }

    .contact-final-media img {
      width: 100%;
      height: 100%;
      min-height: 170px;
      object-fit: cover;
      object-position: center;
    }

    .contact-bottom-trust {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0;
      padding-top: 20px;
      border-top: 1px solid var(--contact-border);
    }

    .contact-bottom-item {
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 12px;
      align-items: center;
      padding: 0 18px;
      border-right: 1px solid var(--contact-border);
      text-align: left;
    }

    .contact-bottom-item:last-child {
      border-right: 0;
    }

    .contact-bottom-item strong,
    .contact-bottom-item span {
      display: block;
    }

    .contact-bottom-item strong {
      color: var(--contact-ink);
      font-size: 14px;
      line-height: 1.3;
      font-weight: 900;
    }

    .contact-bottom-item span {
      color: var(--contact-muted);
      font-size: 12px;
      line-height: 1.4;
    }

    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    @media (max-width: 1120px) {
      .contact-hero,
      .contact-main-grid,
      .contact-final-cta {
        grid-template-columns: 1fr;
      }

      .contact-choice-grid,
      .contact-assurance-grid,
      .contact-bottom-trust {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .contact-assurance-item:nth-child(2),
      .contact-bottom-item:nth-child(2) {
        border-right: 0;
      }

      .contact-assurance-item:nth-child(-n + 2),
      .contact-bottom-item:nth-child(-n + 2) {
        padding-bottom: 16px;
      }

      .contact-assurance-item:nth-child(n + 3),
      .contact-bottom-item:nth-child(n + 3) {
        padding-top: 16px;
        border-top: 1px solid var(--contact-border);
      }

      .contact-faq-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .contact-faq-row .button {
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 760px) {
      body.page-contact main {
        padding: 18px 18px 24px;
      }

      .contact-page {
        gap: 20px;
      }

      .contact-page h1 {
        font-size: clamp(36px, 12vw, 46px);
      }

      .contact-page h2 {
        font-size: clamp(25px, 8vw, 32px);
      }

      .contact-hero {
        min-height: auto;
      }

      .contact-hero-media,
      .contact-hero-media > img {
        min-height: 420px;
      }

      .contact-hero-menu {
        position: relative;
        top: auto;
        right: auto;
        width: auto;
        margin: -88px 12px 14px;
      }

      .contact-hero-media {
        display: grid;
        overflow: visible;
        background: transparent;
      }

      .contact-hero-media::after {
        display: none;
      }

      .contact-hero-media > img {
        border-radius: 14px;
      }

      .contact-proof-row,
      .contact-choice-grid,
      .contact-help-grid,
      .contact-form-grid,
      .contact-assurance-grid,
      .contact-faq-row,
      .contact-bottom-trust {
        grid-template-columns: 1fr;
      }

      .contact-actions,
      .contact-actions .button {
        width: 100%;
        min-width: 0;
      }

      .contact-info-panel,
      .contact-form-panel,
      .contact-assurance,
      .contact-urgent,
      .contact-final-cta {
        padding: 22px;
      }

      .contact-assurance-item,
      .contact-bottom-item {
        border-right: 0;
        border-top: 1px solid var(--contact-border);
        padding: 16px 0;
      }

      .contact-assurance-item:first-child,
      .contact-bottom-item:first-child {
        border-top: 0;
        padding-top: 0;
      }

      .contact-assurance-item:last-child,
      .contact-bottom-item:last-child {
        padding-bottom: 0;
      }

      .contact-urgent {
        grid-template-columns: 56px minmax(0, 1fr);
      }

      .contact-urgent .contact-icon:last-child {
        display: none;
      }

      .contact-final-cta {
        grid-template-columns: 1fr;
      }

      .contact-final-copy h2 {
        max-width: none;
      }
    }
