/* Contact: a compact editorial introduction and an inquiry workspace.
   Scoped to this page so equipment, about and the original footer stay intact. */
.contact-refined { --contact-ink:#202427; --contact-muted:#53616b; --contact-line:#d5dcdf; --contact-red:#bb252e; }
.contact-refined.brand-page .c2-hero {
  min-height:440px; background:#222b30; isolation:isolate;
}
.contact-refined.brand-page .c2-hero::before {
  display:block; left:30%; z-index:0; background:url("../../CONTACT.png") center 8% / cover no-repeat;
  transform:scaleX(-1);
}
.contact-refined.brand-page .c2-hero::after {
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg,#222b30 0%,#222b30 31%,rgba(34,43,48,.94) 42%,rgba(34,43,48,.42) 60%,rgba(34,43,48,.08) 80%);
}
.contact-refined.brand-page .c2-hero__inner {
  display:block; z-index:2; padding-block:60px;
}
.contact-refined.brand-page .c2-hero__kicker {
  grid-column:1 / -1; margin:0 0 20px; color:#d7dde0;
  font-size:12px; font-weight:600; letter-spacing:.12em;
  display:flex; align-items:center; gap:12px;
}
.contact-refined .c2-hero__kicker::before { content:""; width:24px; height:2px; background:var(--contact-red); }
.contact-refined.brand-page .c2-hero__title {
  color:#fff; font-size:clamp(36px,3vw,50px); line-height:1.25;
  font-weight:600; margin:0; letter-spacing:-.04em;
}
.contact-refined.brand-page .c2-hero__sub {
  color:#e0e5e8; font-size:16px; line-height:1.9; margin:20px 0 0;
  max-width:470px;
}
.contact-refined.brand-page .c2-main { background:#f1f3f3; padding-block:48px 64px; }
.contact-refined.brand-page .c2-grid {
  grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr); gap:32px; align-items:stretch;
}
.contact-refined.brand-page .c2-formwrap {
  padding:36px 40px 28px; background:#fff; border:1px solid #e0e5e6;
  border-radius:6px; box-shadow:0 8px 30px #20242704;
}
.contact-refined.brand-page .c2-panel__title {
  font-size:25px; font-weight:600; line-height:1.4; margin:0 0 28px;
  letter-spacing:-.025em; padding:0;
}
.contact-refined.brand-page .c2-panel__title::after { display:none; }
.contact-refined .c2-form { gap:20px; }
.contact-refined .c2-form__row { gap:20px; }
.contact-refined.brand-page .brand-field { gap:8px; color:#364149; font-size:15px; font-weight:500; }
.contact-refined.brand-page .c2-form input:not([type="checkbox"]),
.contact-refined.brand-page .c2-form select,
.contact-refined.brand-page .c2-form textarea {
  background-color:#fff; border:1px solid #bcc6cb; border-radius:4px;
  color:var(--contact-ink); font-size:16px; min-height:50px; padding:12px 14px;
  box-shadow:none; transition:border-color .15s, background-color .15s;
}
.contact-refined.brand-page .c2-form select {
  padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2353616b' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:18px;
}
.contact-refined.brand-page .c2-form textarea { min-height:130px; line-height:1.7; }
.contact-refined.brand-page .c2-form input:hover,
.contact-refined.brand-page .c2-form select:hover,
.contact-refined.brand-page .c2-form textarea:hover { border-color:#77858e; }
.contact-refined.brand-page .c2-form input:focus-visible,
.contact-refined.brand-page .c2-form select:focus-visible,
.contact-refined.brand-page .c2-form textarea:focus-visible {
  outline:2px solid var(--contact-red); outline-offset:3px; border-color:var(--contact-red);
}
.contact-refined.brand-page .c2-submit {
  display:flex; align-items:center; justify-content:space-between; gap:36px;
  width:auto; min-width:200px; min-height:52px; border-radius:4px;
  background:var(--contact-red); padding:14px 20px; margin-top:4px;
  font-size:16px; font-weight:600; box-shadow:none; transform:none;
}
.contact-refined .c2-submit::after { content:"↗"; font-size:20px; font-weight:400; }
.contact-refined.brand-page .c2-submit:hover { background:#9e1f27; box-shadow:none; transform:none; }
.contact-refined .c2-submit:focus-visible { outline:2px solid var(--contact-red); outline-offset:4px; }
.contact-refined .c2-submit:disabled { opacity:.6; cursor:wait; }
.contact-refined .c2-form__status { margin:0; font-size:14px; }
.contact-refined .c2-form__status:empty { display:none; }
.contact-refined.brand-page .c2-info {
  padding:0; background:#222b30; color:#fff; border-radius:6px; overflow:hidden; align-self:stretch;
}
/* Match the map surround to the contact directory above. */
.contact-refined .c2-info__map { display:flex; flex:1 0 242px; min-height:242px; min-width:0; margin:16px 32px 20px; background:#e8ecec; border:1px solid #ffffff24; border-radius:4px; overflow:hidden; line-height:0; }
.contact-refined .c2-info__map iframe { display:block; flex:1; width:100%; height:auto; min-height:240px; border:0; }
/* Contact directory: paired numbers above an uncluttered visiting-information block. */
.contact-refined .c2-info__content { padding:38px 32px 0; background:#222b30; flex:0 0 auto; display:flex; flex-direction:column; }
.contact-refined .c2-info__content::after { content:""; display:block; height:1px; flex:none; margin-top:18px; background:#ffffff18; }
.contact-refined .c2-info .c2-panel__title { color:#f4f6f7; font-size:23px; font-weight:500; letter-spacing:-.025em; margin-bottom:36px; }
.contact-refined .c2-info__list { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:24px; row-gap:0; flex:0 0 auto; }
.contact-refined .c2-info__item { display:block; min-width:0; padding:0; border:0; }
.contact-refined .c2-info__body { min-width:0; }
.contact-refined.brand-page .c2-info__label { color:#b4c0c6; font-size:14px; font-weight:400; letter-spacing:0; line-height:1.5; margin-bottom:12px; }
.contact-refined.brand-page .c2-info__text { color:#eef2f4; font-family:var(--font-sans); font-size:17px; font-weight:400; line-height:1.8; letter-spacing:0; }
.contact-refined .c2-info__item--phone,
.contact-refined .c2-info__item--fax { padding:0 0 30px; }
.contact-refined .c2-info__country { display:block; color:#9eafb7; font-size:14px; font-weight:400; line-height:1.4; margin-bottom:5px; }
.contact-refined .c2-info__number { display:block; color:#f4f6f7; font-size:clamp(23px,1.8vw,31px); font-weight:400; line-height:1.3; letter-spacing:-.035em; white-space:nowrap; }
.contact-refined .c2-info__item--address,
.contact-refined .c2-info__item--hours { grid-column:1 / -1; }
.contact-refined .c2-info__item--address { border-top:1px solid #ffffff18; padding-top:26px; }
.contact-refined .c2-info__item--hours { padding-top:26px; }
.contact-refined .c2-info__item--address .c2-info__body,
.contact-refined .c2-info__item--hours .c2-info__body { display:grid; grid-template-columns:72px minmax(0,1fr); column-gap:18px; align-items:start; }
.contact-refined .c2-info__item--address .c2-info__label,
.contact-refined .c2-info__item--hours .c2-info__label { margin:0; padding-top:3px; }
.contact-refined .c2-info__item--hours .c2-info__text { color:#dbe3e7; font-size:16px; line-height:1.85; }
.contact-refined .c2-info__text a { display:block; color:inherit; text-decoration:none; }
.contact-refined .c2-info__text a:hover .c2-info__number { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; }
.contact-refined .c2-info__location { display:flex; justify-content:space-between; gap:12px; align-items:start; text-decoration:none; }
.contact-refined .c2-info__location span:first-child { max-width:26em; }
.contact-refined .c2-info__location span:last-child { flex-shrink:0; color:#b4c0c6; }
.contact-refined .c2-info__location:hover span:first-child { text-decoration:underline; text-underline-offset:4px; }
.contact-refined .c2-info a:focus-visible { outline:2px solid #fff; outline-offset:5px; border-radius:2px; }
@media (max-width:1100px) {
  .contact-refined.brand-page .c2-grid { grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:24px; }
  .contact-refined.brand-page .c2-formwrap { padding:28px; }
  .contact-refined .c2-info__content { padding:28px 24px 0; }
  .contact-refined .c2-info__map { margin:14px 24px 16px; }
  .contact-refined.brand-page .c2-hero__inner { column-gap:40px; }
}
@media (max-width:980px) {
  .contact-refined.brand-page .c2-hero { min-height:390px; }
}
@media (max-width:800px) {
  .contact-refined.brand-page .c2-hero::before { left:0; background-position:center 8%; }
  .contact-refined.brand-page .c2-hero::after { background:linear-gradient(90deg,rgba(34,43,48,.94),rgba(34,43,48,.78) 55%,rgba(34,43,48,.5)); }
  .contact-refined.brand-page .c2-hero__inner { padding-block:32px; }
  .contact-refined.brand-page .c2-hero__kicker { margin:0 0 18px; }
  .contact-refined.brand-page .c2-hero__title { font-size:36px; }
  .contact-refined.brand-page .c2-hero__sub { max-width:620px; }
  .contact-refined.brand-page .c2-main { padding-block:28px 40px; }
  .contact-refined.brand-page .c2-grid { grid-template-columns:1fr; gap:24px; }
  .contact-refined.brand-page .c2-formwrap,
  .contact-refined.brand-page .c2-info { grid-column:1; grid-row:auto; }
  .contact-refined .c2-info__map { flex-basis:262px; min-height:262px; }
  .contact-refined .c2-info__map iframe { min-height:260px; }
}
@media (max-width:600px) {
  .contact-refined.brand-page .c2-hero { min-height:300px; }
  .contact-refined.brand-page .c2-hero__inner { padding-block:20px; }
  .contact-refined.brand-page .c2-hero__kicker { margin-bottom:14px; }
  .contact-refined.brand-page .c2-hero__title { font-size:32px; }
  .contact-refined.brand-page .c2-hero__sub { font-size:14px; line-height:1.8; margin-top:16px; }
  .contact-refined.brand-page .c2-formwrap { padding:24px 20px; }
  .contact-refined.brand-page .c2-panel__title { font-size:23px; margin-bottom:24px; }
  .contact-refined .c2-form__row { grid-template-columns:1fr; gap:18px; }
  .contact-refined .c2-form { gap:18px; }
  .contact-refined.brand-page .c2-submit { width:100%; }
  .contact-refined .c2-info__content { padding:26px 24px 0; }
}
@media (max-width:340px) {
  .contact-refined .c2-info__number { font-size:21px; }
}
@media (prefers-reduced-motion:reduce) {
  .contact-refined .c2-form input, .contact-refined .c2-form select,
  .contact-refined .c2-form textarea { transition:none; }
}

.c2-privacy-notice{margin:0;font-size:13px;line-height:1.8;color:#526169}.c2-privacy-notice a{color:#a71d2b;text-decoration:underline;text-underline-offset:3px}
