:root {
  --contact-ink:#17191d;
  --contact-muted:#666b72;
  --contact-line:#dfe2e5;
  --contact-paper:#f3f4f5;
}

.contact-page {
  background:var(--contact-paper);
}

.contact-hero {
  position:relative;
  min-height:700px;
  height:88svh;
  max-height:980px;
  overflow:hidden;
  color:#fff;
  background:#0c0e11;
}

.contact-hero>img,
.contact-hero-overlay,
.contact-hero-grid {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.contact-hero>img {
  object-fit:cover;
}

.contact-hero-overlay {
  background:linear-gradient(90deg,#08090bf2 0%,#08090bc9 44%,#08090b3d 80%,#08090b66 100%);
}

.contact-hero-grid {
  opacity:.16;
  background-image:linear-gradient(90deg,transparent calc(100% - 1px),#fff 1px);
  background-size:25% 100%;
  pointer-events:none;
}

.contact-hero-content {
  position:relative;
  z-index:1;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding-top:96px;
}

.contact-hero h1 {
  max-width:1160px;
  margin:clamp(24px,2.6vw,46px) 0 0;
  font-size:clamp(50px,6.2vw,116px);
  line-height:.95;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.contact-hero h1 em,
.contact-section-heading h2 em,
.contact-inquiry-intro h2 em {
  color:var(--red);
  font-style:italic;
}

.contact-hero-content>p:not(.eyebrow) {
  max-width:720px;
  margin-top:clamp(26px,2.8vw,48px);
  color:#d0d3d8;
  font:clamp(15px,1vw,19px)/1.75 Arial,sans-serif;
}

.contact-hero .button {
  margin-top:clamp(30px,3.6vw,62px);
}

.contact-channels {
  padding:clamp(88px,9vw,170px) 0;
}

.contact-section-heading {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);
  gap:clamp(48px,8vw,150px);
  align-items:end;
}

.contact-section-heading h2 {
  max-width:980px;
  margin-top:clamp(22px,2.4vw,42px);
  font-size:clamp(40px,5vw,92px);
  line-height:1;
  letter-spacing:-.05em;
  text-transform:uppercase;
}

.contact-section-heading>p {
  color:var(--contact-muted);
  font:clamp(14px,.95vw,18px)/1.75 Arial,sans-serif;
}

.contact-channel-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:clamp(48px,5vw,90px);
  background:var(--contact-line);
  border:1px solid var(--contact-line);
}

.contact-channel {
  position:relative;
  min-height:290px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(28px,3vw,54px);
  color:var(--contact-ink);
  background:#fff;
  overflow:hidden;
  transition:color .3s,background .3s;
}

.contact-channel-index {
  position:absolute;
  top:clamp(25px,2.6vw,46px);
  left:clamp(28px,3vw,54px);
  color:#a4a8ae;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}

.contact-channel-label {
  color:var(--red);
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.contact-channel strong {
  max-width:85%;
  margin-top:16px;
  font-size:clamp(19px,1.55vw,30px);
  line-height:1.2;
  word-break:break-word;
}

.contact-channel>svg {
  position:absolute;
  right:clamp(24px,2.6vw,46px);
  bottom:clamp(26px,3vw,54px);
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  transition:transform .3s;
}

.contact-channel:hover,
.contact-channel:focus-visible {
  color:#fff;
  background:#17191d;
}

.contact-channel:hover>svg,
.contact-channel:focus-visible>svg {
  transform:rotate(45deg);
}

.contact-channel:first-child:hover>svg,
.contact-channel:first-child:focus-visible>svg,
.contact-channel:last-child:hover>svg,
.contact-channel:last-child:focus-visible>svg {
  transform:translateY(-4px);
}

.contact-inquiry {
  display:grid;
  grid-template-columns:1fr 1fr;
  color:#fff;
  background:#202328;
  border-bottom:4px solid var(--red);
}

.contact-inquiry-intro,
.contact-inquiry-form-wrap {
  min-width:0;
  padding:clamp(70px,7vw,132px) clamp(28px,5.2vw,100px);
}

.contact-inquiry-intro {
  background:#0b0c0f;
}

.contact-inquiry-intro h2 {
  max-width:820px;
  margin-top:clamp(22px,2.4vw,42px);
  font-size:clamp(39px,4.6vw,88px);
  line-height:1;
  letter-spacing:-.05em;
  text-transform:uppercase;
}

.contact-inquiry-intro>p:not(.eyebrow) {
  max-width:650px;
  margin-top:clamp(26px,3vw,50px);
  color:#aaafb7;
  font:clamp(14px,.92vw,18px)/1.75 Arial,sans-serif;
}

.contact-checklist {
  display:grid;
  margin-top:clamp(44px,5vw,90px);
  padding:0;
  list-style:none;
  border-top:1px solid #ffffff17;
}

.contact-checklist li {
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:18px;
  padding:25px 0;
  border-bottom:1px solid #ffffff17;
}

.contact-checklist>li>span {
  color:var(--red);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
}

.contact-checklist strong {
  display:block;
  font-size:14px;
  text-transform:uppercase;
}

.contact-checklist p {
  max-width:550px;
  margin-top:9px;
  color:#878c94;
  font:13px/1.65 Arial,sans-serif;
}

.contact-inquiry-form-wrap {
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.contact-form-watermark {
  position:absolute;
  top:-2vw;
  left:-2vw;
  color:#ffffff04;
  font-size:13vw;
  font-weight:800;
  transform:skew(-12deg);
  pointer-events:none;
}

.contact-inquiry-form {
  position:relative;
  width:100%;
}

.contact-selected-products {
  margin:0 0 24px;
  padding:18px 20px;
  border:1px solid #ffffff18;
  background:#ffffff05;
}

.contact-selected-products[hidden] {
  display:none;
}

.contact-selected-products>div,
.contact-selected-products li {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.contact-selected-products h3 {
  margin:0;
  color:#fff;
  font-size:14px;
}

.contact-selected-products a {
  color:#fff;
  font:11px/1.4 Arial,sans-serif;
  text-decoration:underline;
  text-underline-offset:3px;
}

.contact-selected-products ul {
  display:grid;
  gap:10px;
  margin:14px 0 0;
  padding:14px 0 0;
  border-top:1px solid #ffffff12;
  list-style:none;
}

.contact-selected-products li>div {
  min-width:0;
}

.contact-selected-products strong,
.contact-selected-products small {
  display:block;
}

.contact-selected-products strong {
  overflow:hidden;
  color:#fff;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.contact-selected-products small,
.contact-selected-products li>span {
  color:#aeb2b8;
  font:10px/1.5 Arial,sans-serif;
}

.contact-selected-products li>span {
  flex:0 0 auto;
}

.contact-selected-products b {
  color:#fff;
}

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

.contact-inquiry-form label {
  display:block;
  color:#fff;
  font-size:12px;
  font-weight:700;
}

.contact-inquiry-form label>span {
  color:var(--red);
}

.contact-inquiry-form input,
.contact-inquiry-form select,
.contact-inquiry-form textarea {
  width:100%;
  display:block;
  margin:10px 0 25px;
  padding:13px 14px;
  color:#fff;
  background:#ffffff04;
  border:1px solid #ffffff18;
  border-radius:0;
  box-shadow:none;
  font:13px/1.5 Arial,sans-serif;
}

.contact-inquiry-form input,
.contact-inquiry-form select {
  height:48px;
}

.contact-inquiry-form select {
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#999 50%),linear-gradient(135deg,#999 50%,transparent 50%);
  background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}

.contact-inquiry-form option {
  color:#111;
}

.contact-inquiry-form textarea {
  min-height:158px;
  resize:vertical;
}

.contact-inquiry-form textarea::placeholder {
  color:#92969d;
}

.contact-inquiry-form input:focus,
.contact-inquiry-form select:focus,
.contact-inquiry-form textarea:focus {
  color:#fff;
  background-color:#ffffff04;
  border-color:#ffffff18;
  outline:0;
  box-shadow:none;
}

.contact-inquiry-form .button {
  width:100%;
  min-height:62px;
}

.contact-form-note,
.contact-form-status {
  margin-top:13px;
  color:#aeb2b8;
  font:11px/1.55 Arial,sans-serif;
}

.contact-form-status a {
  color:#fff;
  text-decoration:underline;
}

@media (max-width:991.98px) {
  .contact-section-heading {
    grid-template-columns:1fr;
    gap:28px;
  }
  .contact-channel-grid {
    grid-template-columns:1fr;
  }
  .contact-channel {
    min-height:220px;
  }
  .contact-inquiry {
    grid-template-columns:1fr;
  }
}

@media (max-width:767.98px) {
  .contact-hero {
    min-height:690px;
    height:88svh;
  }
  .contact-hero-overlay {
    background:linear-gradient(180deg,#08090b4a 0%,#08090bd9 58%,#08090bf5 100%);
  }
  .contact-hero-content {
    justify-content:flex-end;
    padding-bottom:70px;
  }
  .contact-hero h1 {
    font-size:clamp(46px,13vw,70px);
  }
  .contact-form-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width:575.98px) {
  .contact-inquiry-intro,
  .contact-inquiry-form-wrap {
    padding-inline:24px;
  }
  .contact-channel {
    padding:28px 24px;
  }
  .contact-channel-index {
    left:24px;
  }
  .contact-channel>svg {
    right:24px;
    bottom:28px;
  }
}

/* The approved Contact layout goes straight to a two-column conversation panel. */
.contact-page {
  background:#0b0c0f;
}

.contact-page .contact-inquiry {
  min-height:min(900px,calc(100svh - 72px));
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
  align-items:stretch;
  background:#202328;
}

.contact-page .contact-inquiry-intro {
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  padding:clamp(72px,7vw,132px) clamp(28px,6vw,110px);
  background:#0b0c0f;
}

.contact-page .contact-inquiry-intro::before,
.contact-page .contact-inquiry-intro::after {
  position:absolute;
  inset:0;
  content:"";
  pointer-events:none;
}

.contact-page .contact-inquiry-intro::before {
  z-index:-2;
  background:var(--contact-factory-image,url('../images/contact-factory.webp')) center/cover no-repeat;
  opacity:.32;
}

.contact-page .contact-inquiry-intro::after {
  z-index:-1;
  background:linear-gradient(90deg,#08090bf4 0%,#08090bcc 55%,#08090b52 100%);
}

.contact-page .contact-inquiry-intro h1 {
  max-width:800px;
  margin-top:clamp(22px,2.4vw,42px);
  color:#fff;
  font-size:clamp(48px,5.4vw,96px);
  line-height:.96;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.contact-page .contact-inquiry-intro h1 em {
  color:var(--red);
  font-style:italic;
}

.contact-page .contact-inquiry-intro>p:not(.eyebrow) {
  max-width:620px;
  margin-top:clamp(24px,2.8vw,46px);
  color:#d0d3d8;
  font-size:clamp(16px,1.1vw,21px);
  line-height:1.7;
}

.contact-detail-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 32px;
  max-width:760px;
  margin-top:clamp(34px,4vw,70px);
  border-top:1px solid #ffffff25;
}

.contact-detail-list>a,
.contact-detail-list>div {
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:8px;
  padding:18px 0;
  border-bottom:1px solid #ffffff25;
}

.contact-detail-list span {
  color:#aeb2b8;
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.contact-detail-list strong {
  color:#fff;
  font-size:clamp(14px,.95vw,18px);
  line-height:1.45;
  overflow-wrap:anywhere;
}

.contact-detail-list a:hover strong,
.contact-detail-list a:focus-visible strong {
  color:var(--red);
}

.contact-vietnam {
  max-width:760px;
  margin-top:clamp(28px,3vw,52px);
}

.contact-vietnam .eyebrow {
  color:#fff;
}

.contact-vietnam>p:last-child {
  margin-top:14px;
  color:#d0d3d8;
  font-size:clamp(14px,.95vw,18px);
  line-height:1.7;
}

.contact-vietnam a {
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

.contact-page .contact-inquiry-form-wrap {
  padding:clamp(52px,5.5vw,100px) clamp(28px,5.2vw,100px);
  background:#202328;
}

.contact-page .contact-inquiry-form label {
  font-size:13px;
}

.contact-page .contact-inquiry-form input,
.contact-page .contact-inquiry-form textarea {
  margin-top:12px;
  margin-bottom:28px;
  padding:15px 16px;
  font-size:15px;
}

.contact-page .contact-inquiry-form input {
  height:54px;
}

.contact-page .contact-inquiry-form textarea {
  min-height:190px;
}

@media(max-width:991.98px) {
  .contact-page .contact-inquiry {
    min-height:0;
    grid-template-columns:1fr;
  }
  .contact-page .contact-inquiry-intro {
    min-height:720px;
  }
}

@media(max-width:575.98px) {
  .contact-detail-list {
    grid-template-columns:1fr;
  }
  .contact-page .contact-inquiry-intro {
    min-height:0;
    padding:90px 24px 64px;
  }
  .contact-page .contact-inquiry-form-wrap {
    padding:64px 24px 76px;
  }
}

/* Keep the Vietnam office card legible at normal reading distance. */
.contact-page .contact-vietnam-card {
  max-width:390px;
  padding:30px 32px;
}
.contact-page .contact-vietnam-card strong {
  font-size:16px;
  line-height:1.4;
}
.contact-page .contact-vietnam-card p {
  margin-top:18px;
  font-size:13px;
  line-height:1.7;
}
.contact-page .contact-vietnam-card a {
  margin-top:16px;
  font-size:12px;
  line-height:1.5;
}
@media(max-width:575.98px) {
  .contact-page .contact-vietnam-card {
    max-width:none;
    padding:26px 24px;
  }
}

/* Final spacing and type scale pass against the supplied Contact reference. */
.contact-page .contact-inquiry-intro,
.contact-page .contact-inquiry-form-wrap {
  padding-top:clamp(82px,6.8vw,126px);
}
.contact-page .contact-inquiry-form-wrap {
  padding-bottom:clamp(64px,5.2vw,96px);
}
.contact-page .contact-inquiry-form label {
  font-size:13px;
}
.contact-page .contact-inquiry-form input,
.contact-page .contact-inquiry-form textarea {
  margin-top:9px;
  margin-bottom:21px;
  padding:12px 14px;
  font-size:15px;
}
.contact-page .contact-inquiry-form input {
  height:46px;
}
.contact-page .contact-inquiry-form textarea {
  min-height:132px;
  line-height:1.55;
}
.contact-page .contact-inquiry-form .form-consent {
  gap:10px;
  font-size:11px;
  line-height:1.5;
}
.contact-page .contact-inquiry-form .form-consent input {
  width:15px;
  height:15px;
}
.contact-page .contact-inquiry-form .button {
  min-height:48px;
  margin-top:21px;
  font-size:12px;
}
.contact-page .contact-form-note,
.contact-page .contact-form-status {
  margin-top:12px;
  font-size:11px;
}
.contact-page .contact-checklist {
  margin-top:38px;
}
.contact-page .contact-checklist li {
  grid-template-columns:34px minmax(0,1fr);
  gap:14px;
  padding:15px 0;
}
.contact-page .contact-checklist>li>span {
  font-size:11px;
}
.contact-page .contact-checklist strong {
  font-size:12px;
  letter-spacing:.11em;
}
@media(max-width:991.98px) {
  .contact-page .contact-inquiry-intro,
  .contact-page .contact-inquiry-form-wrap {
    padding-top:72px;
  }
}
@media(max-width:575.98px) {
  .contact-page .contact-inquiry-intro,
  .contact-page .contact-inquiry-form-wrap {
    padding-top:64px;
  }
  .contact-page .contact-inquiry-form textarea {
    min-height:150px;
  }
}

/* Point 8: simplified Contact composition with a two-column inquiry panel and separate contact blocks. */
.contact-page .contact-inquiry {
  min-height:min(820px,calc(100svh - 72px));
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
  background:#202328;
}

.contact-page .contact-inquiry-intro {
  padding:clamp(72px,7vw,128px) clamp(28px,5.2vw,100px);
}

.contact-page .contact-inquiry-intro::after {
  background:linear-gradient(90deg,#08090bf4 0%,#08090bd9 48%,#08090b7a 78%,#08090b40 100%);
}

.contact-page .contact-checklist {
  max-width:650px;
  margin-top:clamp(36px,4vw,68px);
}

.contact-page .contact-checklist li {
  grid-template-columns:34px minmax(0,1fr);
  gap:14px;
  padding:18px 0;
}

.contact-page .contact-checklist strong {
  font-size:12px;
  letter-spacing:.1em;
}

.contact-page .contact-inquiry-form-wrap {
  align-items:flex-start;
  padding:clamp(72px,7vw,128px) clamp(28px,5.2vw,100px);
}

.contact-page .contact-inquiry-form input,
.contact-page .contact-inquiry-form textarea {
  font-size:16px;
}

.contact-page .contact-inquiry-form textarea {
  min-height:190px;
}

.contact-page .contact-channels {
  padding:clamp(72px,8vw,140px) 0;
  background:#fff;
}

.contact-page .contact-channels .contact-section-heading {
  align-items:center;
}

.contact-page .contact-channels .contact-section-heading h2 {
  color:var(--contact-ink);
}

.contact-page .contact-channels .contact-section-heading h2 em,
.contact-page .contact-vietnam-panel h2 em {
  color:var(--red);
  font-style:italic;
}

.contact-page .contact-channel-grid {
  margin-top:clamp(36px,4vw,64px);
}

.contact-page .contact-channel {
  min-height:220px;
  justify-content:flex-start;
  padding:clamp(28px,3vw,48px);
}

.contact-page .contact-channel strong {
  max-width:100%;
  margin-top:auto;
  font-size:clamp(18px,1.4vw,26px);
}

.contact-secondary-details {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin-top:1px;
  background:var(--contact-line);
  border:1px solid var(--contact-line);
}

.contact-secondary-details>div {
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:120px;
  padding:26px clamp(28px,3vw,48px);
  background:#fff;
}

.contact-secondary-details span {
  color:var(--red);
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.contact-secondary-details strong {
  color:var(--contact-ink);
  font-size:clamp(17px,1.25vw,24px);
}

.contact-vietnam-panel {
  padding:clamp(68px,8vw,132px) 0;
  background:var(--contact-paper);
}

.contact-vietnam-panel__inner {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
  gap:clamp(48px,10vw,180px);
  align-items:center;
}

.contact-vietnam-panel h2 {
  max-width:600px;
  margin-top:clamp(22px,2.4vw,42px);
  color:var(--contact-ink);
  font-size:clamp(42px,5vw,86px);
  line-height:.98;
  letter-spacing:-.05em;
  text-transform:uppercase;
}

.contact-vietnam-card {
  padding:clamp(26px,3vw,44px);
  background:#fff;
  box-shadow:0 18px 50px #17191d12;
}

.contact-vietnam-card strong {
  display:block;
  color:var(--contact-ink);
  font-size:18px;
}

.contact-vietnam-card p {
  margin-top:18px;
  color:var(--contact-muted);
  font:15px/1.7 Arial,sans-serif;
}

.contact-vietnam-card a {
  display:inline-block;
  margin-top:16px;
  color:var(--contact-ink);
  font:13px/1.5 Arial,sans-serif;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:991.98px) {
  .contact-page .contact-inquiry {
    grid-template-columns:1fr;
  }

  .contact-page .contact-inquiry-intro {
    min-height:0;
  }

  .contact-vietnam-panel__inner {
    grid-template-columns:1fr;
    gap:42px;
  }
}

@media(max-width:575.98px) {
  .contact-secondary-details {
    grid-template-columns:1fr;
  }

  .contact-page .contact-inquiry-intro,
  .contact-page .contact-inquiry-form-wrap {
    padding-inline:24px;
  }
}

/* Keep the contact channel index and label readable on the same line. */
.contact-page .contact-channel-label {
  display:block;
  padding-left:28px;
}

/* Contact details: a single, calm row of equal cards. */
.contact-page .contact-channels {
  position:relative;
  overflow:hidden;
  background:#f3f4f5;
}
.contact-page .contact-channels::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,transparent 0 48%,#fff8 48% 49%,transparent 49% 100%);
}
.contact-page .contact-channels .wrap {
  position:relative;
  z-index:1;
}
.contact-page .contact-channels .contact-section-heading {
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
}
.contact-page .contact-channels .contact-section-heading > p {
  max-width:480px;
  justify-self:end;
}
.contact-page .contact-channel-grid {
  gap:16px;
  margin-top:clamp(34px,3.5vw,58px);
  background:transparent;
  border:0;
}
.contact-page .contact-channel {
  min-height:250px;
  padding:clamp(28px,3vw,46px);
  border:1px solid #d8dce1;
  box-shadow:0 14px 34px rgb(20 24 29 / .06);
  transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.contact-page .contact-channel::after {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:var(--red);
  transform:scaleX(.18);
  transform-origin:left;
  transition:transform .25s ease;
}
.contact-page .contact-channel:hover,
.contact-page .contact-channel:focus-visible {
  color:var(--contact-ink);
  background:#fff;
  border-color:#b9bec5;
  box-shadow:0 20px 44px rgb(20 24 29 / .11);
  transform:translateY(-5px);
}
.contact-page .contact-channel:hover::after,
.contact-page .contact-channel:focus-visible::after {
  transform:scaleX(1);
}
.contact-page .contact-channel strong {
  max-width:100%;
  margin-top:auto;
  color:var(--contact-ink);
  font-size:clamp(17px,1.15vw,23px);
  line-height:1.35;
}
.contact-page .contact-channel:first-child strong,
.contact-page .contact-channel:nth-child(2) strong {
  white-space:nowrap;
}

@media(max-width:991.98px) {
  .contact-page .contact-channels .contact-section-heading {
    grid-template-columns:1fr;
    gap:22px;
  }
  .contact-page .contact-channels .contact-section-heading > p {
    justify-self:start;
  }
  .contact-page .contact-channel-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:575.98px) {
  .contact-page .contact-channel-grid {
    grid-template-columns:1fr;
    gap:12px;
  }
  .contact-page .contact-channel {
    min-height:190px;
  }
  .contact-page .contact-channel:first-child strong,
  .contact-page .contact-channel:nth-child(2) strong {
    white-space:normal;
  }
}

/* Contact reference layout: compact dark inquiry panel, editorial contact row, and a quiet Vietnam panel. */
.contact-page .contact-inquiry {
  min-height:0;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  border-bottom:0;
  background:#15181c;
}
.contact-page .contact-inquiry-intro,
.contact-page .contact-inquiry-form-wrap {
  padding:clamp(58px,5.2vw,88px) clamp(28px,6.2vw,104px);
}
.contact-page .contact-inquiry-intro {
  min-height:0;
  background:#15181c;
}
.contact-page .contact-inquiry-intro::before {
  background:none;
  opacity:0;
}
.contact-page .contact-inquiry-intro::after {
  background:linear-gradient(135deg,#ffffff03 0%,transparent 42%);
}
.contact-page .contact-inquiry-intro h1 {
  max-width:620px;
  margin-top:18px;
  font-size:clamp(42px,4.55vw,78px);
  line-height:.95;
}
.contact-page .contact-inquiry-intro>p:not(.eyebrow) {
  max-width:470px;
  margin-top:24px;
  color:#aeb3bb;
  font-size:clamp(13px,.84vw,16px);
  line-height:1.65;
}
.contact-page .contact-checklist {
  max-width:480px;
  margin-top:26px;
}
.contact-page .contact-checklist li {
  grid-template-columns:27px minmax(0,1fr);
  gap:9px;
  padding:11px 0;
}
.contact-page .contact-checklist strong {
  font-size:10px;
  letter-spacing:.12em;
}
.contact-page .contact-inquiry-form-wrap {
  display:flex;
  align-items:flex-start;
  background:#15181c;
}
.contact-page .contact-form-watermark {
  display:none;
}
.contact-page .contact-inquiry-form label {
  color:#fff;
  font-size:10px;
  letter-spacing:.01em;
}
.contact-page .contact-inquiry-form input,
.contact-page .contact-inquiry-form textarea {
  margin-top:7px;
  margin-bottom:15px;
  padding:9px 11px;
  color:#eef0f2;
  background:#1f2328;
  border:1px solid #2e343b;
  font-size:11px;
}
.contact-page .contact-inquiry-form input {
  height:37px;
}
.contact-page .contact-inquiry-form textarea {
  min-height:88px;
  resize:vertical;
}
.contact-page .contact-inquiry-form input:focus,
.contact-page .contact-inquiry-form textarea:focus {
  border-color:#6d737c;
  outline:2px solid rgb(225 6 0 / .24);
  outline-offset:1px;
}
.contact-page .contact-inquiry-form .form-consent {
  gap:8px;
  color:#aeb3bb;
  font-size:9px;
  line-height:1.45;
}
.contact-page .contact-inquiry-form .form-consent input {
  width:12px;
  height:12px;
  margin:0;
  padding:0;
}
.contact-page .contact-inquiry-form .button {
  min-height:35px;
  margin-top:16px;
  font-size:10px;
  letter-spacing:.03em;
}
.contact-page .contact-form-note,
.contact-page .contact-form-status {
  margin-top:9px;
  font-size:9px;
}

.contact-page .contact-channels {
  padding:clamp(40px,4.3vw,68px) 0;
  background:#fff;
}
.contact-page .contact-channels::before {
  display:none;
}
.contact-page .contact-channels .contact-section-heading {
  display:block;
}
.contact-page .contact-channels .contact-section-heading h2,
.contact-page .contact-channels .contact-section-heading > p {
  display:none;
}
.contact-page .contact-channels .contact-section-heading .eyebrow {
  margin:0;
}
.contact-page .contact-channel-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:24px;
  border:0;
  background:transparent;
}
.contact-page .contact-channel {
  min-height:108px;
  justify-content:center;
  padding:18px 28px;
  border:0;
  border-right:1px solid #e2e4e7;
  box-shadow:none;
  background:#fff;
  transform:none;
}
.contact-page .contact-channel:last-child {
  border-right:0;
}
.contact-page .contact-channel::after {
  display:none;
}
.contact-page .contact-channel-index {
  top:19px;
  left:28px;
  font-size:9px;
}
.contact-page .contact-channel-label {
  padding-left:24px;
  font-size:9px;
  letter-spacing:.1em;
}
.contact-page .contact-channel strong {
  margin-top:18px;
  font-size:clamp(15px,1.08vw,20px);
  line-height:1.25;
}
.contact-page .contact-channel:hover,
.contact-page .contact-channel:focus-visible {
  color:var(--contact-ink);
  background:#fff;
  border-color:#e2e4e7;
  box-shadow:none;
  transform:none;
}

.contact-page .contact-vietnam-panel {
  padding:clamp(50px,5.2vw,78px) 0;
  background:#f3f2f0;
}
.contact-page .contact-vietnam-panel__inner {
  grid-template-columns:minmax(0,1fr) minmax(280px,.68fr);
  gap:clamp(40px,9vw,150px);
}
.contact-page .contact-vietnam-panel h2 {
  max-width:320px;
  margin-top:20px;
  font-size:clamp(40px,4.3vw,70px);
  line-height:.9;
}
.contact-page .contact-vietnam-card {
  max-width:340px;
  padding:22px 24px;
  border:1px solid #e0deda;
  box-shadow:none;
}
.contact-page .contact-vietnam-card strong {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
}
.contact-page .contact-vietnam-card p {
  margin-top:15px;
  font-size:11px;
  line-height:1.65;
}
.contact-page .contact-vietnam-card a {
  margin-top:12px;
  font-size:10px;
}
.vietnam-flag {
  display:inline-block;
  width:17px;
  height:11px;
  flex:0 0 auto;
  background:#da251d;
  border-radius:1px;
  position:relative;
}
.vietnam-flag::after {
  content:"★";
  position:absolute;
  inset:0;
  color:#ffeb3b;
  font-size:8px;
  line-height:11px;
  text-align:center;
}

@media(max-width:991.98px) {
  .contact-page .contact-inquiry {
    grid-template-columns:1fr;
  }
  .contact-page .contact-inquiry-intro {
    padding-bottom:48px;
  }
  .contact-page .contact-inquiry-form-wrap {
    padding-top:48px;
  }
  .contact-page .contact-vietnam-panel__inner {
    grid-template-columns:1fr minmax(280px,.75fr);
    gap:40px;
  }
}

@media(max-width:575.98px) {
  .contact-page .contact-inquiry-intro,
  .contact-page .contact-inquiry-form-wrap {
    padding-inline:24px;
  }
  .contact-page .contact-channel-grid {
    grid-template-columns:1fr;
    gap:0;
  }
  .contact-page .contact-channel {
    min-height:98px;
    padding-inline:24px;
    border-right:0;
    border-bottom:1px solid #e2e4e7;
  }
  .contact-page .contact-channel:last-child {
    border-bottom:0;
  }
  .contact-page .contact-channel-index {
    left:24px;
  }
  .contact-page .contact-vietnam-panel__inner {
    grid-template-columns:1fr;
    gap:30px;
  }
  .contact-page .contact-vietnam-card {
    max-width:none;
  }
}

/* Final type and spacing adjustments after the reference layout rules. */
.contact-page .contact-inquiry-intro,
.contact-page .contact-inquiry-form-wrap {
  padding-top:clamp(82px,6.8vw,126px);
}
.contact-page .contact-inquiry-form-wrap {
  padding-bottom:clamp(64px,5.2vw,96px);
}
.contact-page .contact-inquiry-form label {
  font-size:13px;
}
.contact-page .contact-inquiry-form input,
.contact-page .contact-inquiry-form textarea {
  margin-top:9px;
  margin-bottom:21px;
  padding:12px 14px;
  font-size:15px;
}
.contact-page .contact-inquiry-form input {
  height:46px;
}
.contact-page .contact-inquiry-form textarea {
  min-height:132px;
  line-height:1.55;
}
.contact-page .contact-inquiry-form .form-consent {
  gap:10px;
  font-size:11px;
  line-height:1.5;
}
.contact-page .contact-inquiry-form .form-consent input {
  width:15px;
  height:15px;
}
.contact-page .contact-inquiry-form .button {
  min-height:48px;
  margin-top:21px;
  font-size:12px;
}
.contact-page .contact-form-note,
.contact-page .contact-form-status {
  margin-top:12px;
  font-size:11px;
}
.contact-page .contact-checklist {
  margin-top:38px;
}
.contact-page .contact-checklist li {
  grid-template-columns:34px minmax(0,1fr);
  gap:14px;
  padding:15px 0;
}
.contact-page .contact-checklist>li>span {
  font-size:11px;
}
.contact-page .contact-checklist strong {
  font-size:12px;
  letter-spacing:.11em;
}
.contact-page .contact-vietnam-card {
  max-width:390px;
  padding:30px 32px;
}
.contact-page .contact-vietnam-card strong {
  font-size:16px;
  line-height:1.4;
}
.contact-page .contact-vietnam-card p {
  margin-top:18px;
  font-size:13px;
  line-height:1.7;
}
.contact-page .contact-vietnam-card a {
  margin-top:16px;
  font-size:12px;
  line-height:1.5;
}
@media(max-width:991.98px) {
  .contact-page .contact-inquiry-intro,
  .contact-page .contact-inquiry-form-wrap {
    padding-top:72px;
  }
}
@media(max-width:575.98px) {
  .contact-page .contact-inquiry-intro,
  .contact-page .contact-inquiry-form-wrap {
    padding-top:64px;
  }
  .contact-page .contact-inquiry-form textarea {
    min-height:150px;
  }
  .contact-page .contact-vietnam-card {
    max-width:none;
    padding:26px 24px;
  }
}

/* Final office directory layout from 修改项2.docx (cascade last). */
.contact-page .contact-vietnam-panel__inner {
  grid-template-columns:minmax(180px,.28fr) minmax(0,1fr);
  gap:clamp(32px,5vw,84px);
  align-items:start;
}
.contact-page .contact-vietnam-panel__heading .eyebrow { margin:0; }
.contact-page .contact-office-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.contact-page .contact-office-grid .contact-vietnam-card {
  width:100%;
  max-width:none;
  min-height:100%;
  box-sizing:border-box;
}
.contact-page .office-flag {
  display:inline-block;
  width:17px;
  height:11px;
  flex:0 0 auto;
  object-fit:cover;
  border-radius:1px;
}
.contact-page .visually-hidden {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
@media(max-width:991.98px) {
  .contact-page .contact-vietnam-panel__inner { grid-template-columns:1fr; gap:32px; }
}
@media(max-width:575.98px) {
  .contact-page .contact-office-grid { grid-template-columns:1fr; gap:12px; }
}

/* Translated copy is longer than the English reference.  Keep the intro
   below the mobile header and let long words wrap inside the column. */
@media(max-width:767.98px) {
  .contact-page .contact-inquiry,
  .contact-page .contact-inquiry-intro,
  .contact-page .contact-inquiry-form-wrap {
    min-width:0;
  }

  .contact-page .contact-inquiry-intro {
    justify-content:flex-start;
    padding-top:96px;
  }

  .contact-page .contact-inquiry-intro h1,
  .contact-page .contact-inquiry-intro>p:not(.eyebrow),
  .contact-page .contact-checklist,
  .contact-page .contact-checklist strong {
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .contact-page .contact-inquiry-intro h1 {
    width:100%;
    min-width:0;
    max-width:100% !important;
    font-size:clamp(34px,10.5vw,58px);
    line-height:1;
    white-space:normal !important;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  .contact-page .contact-inquiry-intro h1 em {
    display:block !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere;
  }
}
