.contact-main { padding-top: clamp(58px, 6.4vw, 92px); }
.contact-main > .wp-block-post-content,
.contact-form-wrap > .wp-block-post-content {
  margin: 0;
  font-family: var(--sans);
  font-size: 16px;
  line-height: 24px;
}
.contact-main > .wp-block-post-content > * {
  margin-block-start: 0;
  margin-block-end: 0;
}
.contact-main > .wp-block-post-content > .contact-card {
  margin-top: clamp(47px, 5vw, 72px);
}
.contact-intro { padding-inline: clamp(39px, 4.2vw, 61px); }
.contact-intro .eyebrow { line-height: 1.5; }
.contact-intro h1 { margin: 0; font-size: clamp(48px, 6vw, 86px); font-weight: 690; line-height: 1; letter-spacing: -.055em; }
.contact-intro > p:not(.eyebrow) { max-width: 35em; margin: clamp(20px, 2vw, 29px) 0 0; color: #595959; font-size: clamp(15px, 1.5vw, 21.5px); line-height: 1.65; }
.contact-intro > p:last-child { margin-top: clamp(16px, 1.6vw, 23px); }
.contact-card { display: grid; grid-template-columns: minmax(245px, .34fr) minmax(0, 1fr); margin-top: clamp(47px, 5vw, 72px); padding: clamp(50px, 4.4vw, 63px) clamp(39px, 4vw, 58px); }
.contact-guide { display: flex; flex-direction: column; padding-right: clamp(34px, 3.7vw, 53px); border-right: 1px solid var(--line); }
.guide-icon { width: clamp(72px, 7.2vw, 104px); height: clamp(72px, 7.2vw, 104px); color: var(--orange); stroke-width: 1.35; }
.guide-envelope { display: block; }
.contact-main [data-lucide] {
  display: block;
  background: none;
  -webkit-mask: none;
  mask: none;
}
.contact-guide h2, .contact-form-wrap h2 { margin: clamp(25px, 2.5vw, 36px) 0 clamp(14px, 1.45vw, 21px); font-size: clamp(24px, 2.35vw, 34px); line-height: 1.15; letter-spacing: -.04em; }
.contact-form-wrap h2 { margin-top: 0; }
.contact-guide > p { margin: 0; color: #626262; font-size: clamp(13px, 1.2vw, 17px); line-height: 1.65; }
.guide-list { margin: clamp(22px, 2.2vw, 32px) 0 0; }
.guide-list > div { padding: 0 0 clamp(28px, 2.2vw, 32px); }
.guide-list > div + div { padding-top: clamp(24px, 2vw, 29px); border-top: 1px solid var(--line); }
.guide-list dt { display: flex; align-items: center; gap: clamp(12px, 1.2vw, 17px); font-size: clamp(14px, 1.25vw, 18px); font-weight: 700; }
.guide-list dt .icon { width: 8px; height: 8px; flex: 0 0 auto; color: var(--orange); fill: var(--orange); stroke-width: 1.5; }
.guide-list dd { margin: 4px 0 0 clamp(20px, 2vw, 29px); color: #686868; font-size: clamp(12px, 1.12vw, 16px); line-height: 1.55; }
.contact-socials { margin-top: auto; padding-top: clamp(23px, 2.3vw, 33px); border-top: 0; }
.contact-socials > strong { display: block; max-width: 12em; color: #5f5f5f; font-size: clamp(12px, 1.12vw, 16px); line-height: 1.45; }
.contact-socials .hero-socials { margin-top: clamp(16px, 1.6vw, 23px); }
.contact-form-wrap { min-width: 0; padding-left: clamp(42px, 4.4vw, 63px); }
.legacy-contact-content > p:first-child { margin: 0 0 clamp(24px, 2.2vw, 32px); color: #626262; font-size: clamp(13px, 1.2vw, 17px); line-height: 1.65; }
.contact-form-wrap .wpcf7 form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 2.35vw, 34px); color: var(--ink); font-family: var(--sans); font-size: clamp(14px, 1.25vw, 18px); }
.contact-form-wrap .wpcf7 form > p { grid-column: 1 / -1; margin: 0; font-weight: 680; }
.contact-form-wrap .wpcf7 form > p:nth-of-type(1) { grid-column: 1; }
.contact-form-wrap .wpcf7 form > p:nth-of-type(2) { grid-column: 2; }
/* A hidden honeypot remains a successful form control, but must not create a grid row. */
.contact-form-wrap .wpcf7 form > p:has(.wpcf7-form-control-wrap[style*="display:none"]) { display: none; }
/* Keep the real CAPTCHA visible and accessible without wasting a full-width field row. */
.contact-form-wrap .wpcf7 form > p:has(.wpcf7-captchac) { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: clamp(8px, .8vw, 12px); }
.contact-form-wrap .wpcf7 form > p:has(.wpcf7-captchac) > strong { grid-column: 1 / -1; }
.contact-form-wrap .wpcf7 form > p:has(.wpcf7-captchac) > br { display: none; }
.contact-form-wrap .wpcf7 form > p:has(.wpcf7-captchac) > .wpcf7-captchac { grid-column: 1; }
.contact-form-wrap .wpcf7 form > p:has(.wpcf7-captchac) > .wpcf7-form-control-wrap { grid-column: 2; margin-top: 0; }
.contact-form-wrap .wpcf7-form-control-wrap { display: block; margin-top: clamp(8px, .8vw, 12px); }
.contact-form-wrap .wpcf7 input[type="text"],
.contact-form-wrap .wpcf7 input[type="email"],
.contact-form-wrap .wpcf7 textarea,
.contact-form-wrap .wpcf7 .wpcf7-captchar { width: 100%; min-height: clamp(58px, 5.8vw, 84px); padding: clamp(15px, 1.55vw, 22px); border: 1px solid #dcdcd9; border-radius: clamp(7px, .75vw, 11px); outline: none; color: var(--ink); background: #fdfdfc; font: inherit; font-size: clamp(13px, 1.2vw, 17px); }
.contact-form-wrap .wpcf7 textarea { height: clamp(205px, 18.5vw, 266px); min-height: clamp(205px, 18.5vw, 266px); resize: vertical; line-height: 1.6; }
.contact-form-wrap .wpcf7 input.wpcf7-captchar { width: min(9rem, 100%); height: 48px; min-height: 48px; }
.contact-form-wrap .wpcf7 input:focus,
.contact-form-wrap .wpcf7 textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255,101,0,.12); background: #fff; }
.contact-form-wrap .wpcf7 form > p:has(.wpcf7-submit) { position: relative; width: fit-content; }
.contact-form-wrap .wpcf7 form > p:has(.wpcf7-submit)::after { content: "→"; position: absolute; top: 50%; right: clamp(22px, 2.2vw, 32px); color: #fff; font-size: clamp(18px, 1.65vw, 24px); font-weight: 400; line-height: 1; pointer-events: none; transform: translateY(-52%); }
.contact-form-wrap .wpcf7 input[type="submit"] { width: fit-content; min-height: clamp(49px, 4.9vw, 71px); padding: 0 clamp(54px, 5.2vw, 75px) 0 clamp(22px, 2.2vw, 32px); border: 0; border-radius: clamp(6px, .6vw, 9px); color: #fff; background: var(--orange); box-shadow: 0 8px 16px rgba(255,101,0,.14); font: inherit; font-size: clamp(14px, 1.35vw, 19.5px); font-weight: 690; cursor: pointer; }
.contact-form-wrap .wpcf7 input[type="submit"]:hover,
.contact-form-wrap .wpcf7 input[type="submit"]:focus-visible { background: var(--orange-dark); transform: translateY(-1px); }
.contact-form-wrap .wpcf7-response-output { grid-column: 1 / -1; margin-inline: 0; }
.legacy-guide-list { margin: clamp(22px, 2.2vw, 32px) 0 0; padding: 0; list-style: none; }
.legacy-guide-list li { position: relative; padding: 0 0 clamp(22px, 2vw, 29px) clamp(20px, 2vw, 29px); color: #686868; font-size: clamp(12px, 1.12vw, 16px); line-height: 1.55; }
.legacy-guide-list li::before { content: none; }
.legacy-guide-list li > .icon { position: absolute; top: .55em; left: 0; width: 8px; height: 8px; color: var(--orange); stroke-width: 1.65; }
.legacy-guide-list li + li > .icon { top: calc(clamp(20px, 1.8vw, 26px) + .55em); }
.legacy-guide-list li + li { padding-top: clamp(20px, 1.8vw, 26px); border-top: 1px solid var(--line); }
.legacy-guide-list strong { color: var(--ink); font-size: clamp(14px, 1.25vw, 18px); }
.contact-form { display: grid; gap: clamp(28px, 2.35vw, 34px); }
.field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 2.35vw, 34px); }
.field { display: grid; gap: clamp(8px, .8vw, 12px); }
.field label { font-size: clamp(14px, 1.25vw, 18px); font-weight: 680; }
.field input, .field textarea { width: 100%; min-height: clamp(58px, 5.8vw, 84px); padding: clamp(15px, 1.55vw, 22px); border: 1px solid #dcdcd9; border-radius: clamp(7px, .75vw, 11px); outline: none; color: var(--ink); background: #fdfdfc; font: inherit; font-size: clamp(13px, 1.2vw, 17px); transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.field textarea { min-height: clamp(205px, 18.5vw, 266px); resize: vertical; line-height: 1.6; }
.field input::placeholder, .field textarea::placeholder { color: #858585; opacity: 1; }
.field input:focus, .field textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255,101,0,.12); background: #fff; }
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: #bb2a19; }
.consent { display: flex; align-items: flex-start; gap: clamp(11px, 1.05vw, 15px); color: #353535; font-size: clamp(12px, 1.1vw, 15.8px); line-height: 1.55; }
.consent input { width: clamp(19px, 1.7vw, 24px); height: clamp(19px, 1.7vw, 24px); flex: 0 0 auto; margin: 0; accent-color: var(--orange); }
.consent a, .privacy-note a { color: var(--orange-dark); text-underline-offset: 3px; }
.contact-submit { width: fit-content; min-height: clamp(49px, 4.9vw, 71px); display: inline-flex; align-items: center; gap: clamp(25px, 2.5vw, 36px); padding: 0 clamp(22px, 2.2vw, 32px); border: 0; border-radius: clamp(6px, .6vw, 9px); color: #fff; background: var(--orange); box-shadow: 0 8px 16px rgba(255,101,0,.14); font-size: clamp(14px, 1.35vw, 19.5px); font-weight: 690; cursor: pointer; }
.contact-submit:hover, .contact-submit:focus-visible { background: var(--orange-dark); transform: translateY(-1px); }
.contact-submit .icon { width: 1.25em; height: 1.25em; }
.contact-status { min-height: 1.6em; margin: calc(clamp(18px, 1.8vw, 26px) * -1) 0 0; color: #247046; font-size: clamp(12px, 1.05vw, 15px); line-height: 1.5; }
.privacy-note { margin-top: clamp(33px, 3.5vw, 50px); margin-bottom: clamp(44px, 4.5vw, 65px); padding-inline: clamp(39px, 4vw, 58px); color: #686868; font-size: 12px; line-height: 1.55; }
.privacy-note a { display: inline; margin-left: .35em; color: #515151; font-weight: 600; text-underline-offset: 2px; }

@media (max-width: 980px) and (min-width: 701px) {
  .contact-intro { padding-inline: 30px; }
  .contact-card { grid-template-columns: minmax(215px, .34fr) 1fr; padding: 38px 32px; }
  .contact-guide { padding-right: 27px; }
  .contact-form-wrap { padding-left: 31px; }
  .field-row { gap: 18px; }
  .privacy-note { padding-inline: 30px; }
}

@media (max-width: 700px) {
  .contact-main { padding-top: 48px; }
  .contact-intro { padding-inline: 7px; }
  .contact-intro h1 { font-size: 52px; }
  .contact-intro > p:not(.eyebrow) { margin-top: 18px; font-size: 15px; }
  .contact-card { grid-template-columns: 1fr; margin-top: 38px; padding: 0; overflow: hidden; }
  .contact-guide { padding: 28px 18px 30px; border-right: 0; border-bottom: 1px solid var(--line); }
  .contact-socials { margin-top: clamp(4px, .6vw, 9px); }
  .guide-icon { width: 70px; height: 70px; }
  .contact-guide h2, .contact-form-wrap h2 { font-size: 27px; }
  .contact-guide > p { font-size: 14px; }
  .guide-list dt { font-size: 15px; }
  .guide-list dd { font-size: 13px; }
  .contact-form-wrap { padding: 30px 18px 34px; }
  .contact-form-wrap .wpcf7 form { grid-template-columns: 1fr; }
  .contact-form-wrap .wpcf7 form > p:nth-of-type(1),
  .contact-form-wrap .wpcf7 form > p:nth-of-type(2) { grid-column: 1; }
  .contact-form-wrap .wpcf7 input[type="text"],
  .contact-form-wrap .wpcf7 input[type="email"],
  .contact-form-wrap .wpcf7 textarea { min-height: 54px; padding: 14px; font-size: 14px; }
  .contact-form-wrap .wpcf7 textarea { height: 180px; min-height: 180px; }
  .contact-form { gap: 23px; }
  .field-row { grid-template-columns: 1fr; gap: 23px; }
  .field label { font-size: 14px; }
  .field input, .field textarea { min-height: 54px; padding: 14px; font-size: 14px; }
  .field textarea { min-height: 180px; }
  .consent { font-size: 13px; }
  .contact-submit { min-height: 50px; font-size: 14px; }
  .privacy-note { margin: 27px 0 38px; padding-inline: 7px; font-size: 12px; line-height: 1.7; }
  .privacy-note a { display: inline; margin-left: .35em; }
}
