body.page-id-50 #main, body.page-id-50 .site-main, body.page-id-50 .entry-content, body.page-id-50 article.page, body.page-id-50 #main > .ct-container, body.page-id-50 [data-content="normal"] { width: 100%; max-width: none; margin: 0; padding: 0; display: block; }
body.page-id-50 .entry-content > * { max-width: none; margin-block: 0; }

.pp-contact-hero { padding: clamp(72px, 9vw, 124px) 0; background: var(--pp-soft); }
.pp-contact-hero__grid { display: grid; grid-template-columns: 1.18fr .82fr; align-items: end; gap: clamp(48px, 8vw, 110px); }
.pp-contact-hero h1 { max-width: 790px; margin: 0; color: var(--pp-ink); font-size: clamp(43px, 5vw, 66px); line-height: 1.04; letter-spacing: -.045em; text-wrap: balance; }
.pp-contact-hero__grid > p { margin: 0 0 6px; font-size: clamp(18px, 1.8vw, 21px); line-height: 1.75; }

.pp-contact-details { background: var(--pp-ground); }
.pp-contact-details__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(52px, 9vw, 126px); }
.pp-contact-details__intro > p:not(.pp-kicker) { font-size: 18px; line-height: 1.8; }
.pp-contact-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pp-contact-cards article { display: flex; min-height: 190px; flex-direction: column; align-items: flex-start; padding: 28px; background: var(--pp-white); border: 1px solid var(--pp-border); border-radius: var(--pp-radius-md); }
.pp-contact-cards article > span { margin-bottom: 22px; color: var(--pp-accent-dark); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pp-contact-cards a { color: var(--pp-ink); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.pp-contact-cards a + a { margin-top: 7px; }
.pp-contact-cards p { margin: 0 0 14px; line-height: 1.65; }
.pp-contact-cards .pp-contact-cards__route { margin-top: auto; color: var(--pp-accent-dark); }

.pp-contact-form-section { padding: clamp(76px, 9vw, 124px) 0; background: var(--pp-white); }
.pp-contact-form-section__grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: clamp(50px, 8vw, 110px); }
.pp-contact-form-copy { position: sticky; top: 118px; }
.pp-contact-form-copy > p:not(.pp-kicker) { max-width: 470px; font-size: 18px; line-height: 1.75; }
.pp-contact-form-copy__note { display: grid; gap: 4px; margin-top: 34px; padding: 20px 22px; background: var(--pp-soft); border-left: 4px solid var(--pp-accent); }
.pp-contact-form-copy__note strong { color: var(--pp-ink); }
.pp-contact-form-copy__note span { font-size: 14px; line-height: 1.55; }
.pp-contact-form { padding: clamp(28px, 4vw, 48px); background: var(--pp-ground); border: 1px solid var(--pp-border); border-radius: var(--pp-radius-lg); }
.pp-contact-form .gform_wrapper { margin: 0; }
.pp-contact-form .gform_fields { row-gap: 22px !important; }
.pp-contact-form .gfield_label { margin-bottom: 8px !important; color: var(--pp-ink) !important; font-family: var(--theme-font-family) !important; font-size: 15px !important; font-weight: 700 !important; }
.pp-contact-form .gfield_required { color: var(--pp-accent-dark) !important; }
.pp-contact-form .gfield_required_text { font-size: 0 !important; }
.pp-contact-form .gfield_required_text::after { content: "*"; font-size: 15px; }
.pp-contact-form input[type="text"],
.pp-contact-form input[type="email"],
.pp-contact-form input[type="tel"],
.pp-contact-form select,
.pp-contact-form textarea { min-height: 52px !important; padding: 12px 15px !important; color: var(--pp-ink) !important; background: var(--pp-white) !important; border: 1px solid var(--pp-border) !important; border-radius: var(--pp-radius-sm) !important; box-shadow: none !important; font-family: var(--theme-font-family) !important; }
.pp-contact-form textarea { min-height: 160px !important; resize: vertical; }
.pp-contact-form input:focus, .pp-contact-form select:focus, .pp-contact-form textarea:focus { border-color: var(--pp-accent) !important; outline: 3px solid color-mix(in srgb, var(--pp-accent) 18%, transparent) !important; outline-offset: 1px; }
.pp-contact-form .gfield--type-checkbox { padding: 18px !important; background: var(--pp-white); border: 1px solid var(--pp-border); border-radius: var(--pp-radius-sm); }
.pp-contact-form .gfield--type-checkbox .gfield_description { margin-top: 8px; font-size: 13px; line-height: 1.55; }
.pp-contact-form .gform_button { min-height: 52px !important; padding: 13px 26px !important; color: var(--pp-white) !important; background: var(--pp-accent) !important; border: 2px solid var(--pp-accent) !important; border-radius: 999px !important; font-weight: 700 !important; }
.pp-contact-form .gform_button:hover { background: var(--pp-accent-dark) !important; border-color: var(--pp-accent-dark) !important; }
.pp-contact-form .gform_validation_errors { color: var(--pp-ink) !important; background: var(--pp-soft) !important; border-color: var(--pp-accent) !important; border-radius: var(--pp-radius-sm) !important; box-shadow: none !important; }
.pp-contact-form .gfield_error input, .pp-contact-form .gfield_error select, .pp-contact-form .gfield_error textarea { border-color: var(--pp-accent-dark) !important; }
.pp-contact-form .gform_confirmation_message { padding: 22px; color: var(--pp-ink); background: var(--pp-soft); border-left: 4px solid var(--pp-accent); border-radius: var(--pp-radius-sm); line-height: 1.7; }

@media (min-width: 641px) { .pp-contact-form .gfield.pp-half { grid-column: span 6 !important; } }
@media (max-width: 860px) {
  .pp-contact-hero__grid, .pp-contact-details__grid, .pp-contact-form-section__grid { grid-template-columns: 1fr; }
  .pp-contact-form-copy { position: static; }
}
@media (max-width: 640px) {
  .pp-contact-hero { padding: 48px 0 72px; }
  .pp-contact-hero h1 { font-size: clamp(40px, 12vw, 54px); }
  .pp-contact-cards { grid-template-columns: 1fr; }
  .pp-contact-cards article { min-height: 165px; }
  .pp-contact-form { padding: 22px 18px; border-radius: var(--pp-radius-md); }
}
