/* company.css */
.message-block { max-width:760px; }
.message-block__text p { font-size:.95rem; color:var(--text-light); line-height:2.1; margin-bottom:22px; }
.message-block__sig { margin-top:36px; padding-top:28px; border-top:1px solid var(--gray-light); display:flex; flex-direction:column; gap:4px; }
.sig-title { font-size:.73rem; color:var(--text-light); letter-spacing:.08em; }
.sig-name  { font-family:var(--font-display); font-size:2rem; font-weight:400; color:var(--navy); letter-spacing:.04em; }
.sig-read  { font-family:var(--font-mono); font-size:.73rem; color:var(--gray-mid); letter-spacing:.1em; }

.company-table { max-width:760px; }
.company-table dl { width:100%; }
.company-table__row {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--gray-light);
  align-items: start;
}
.company-table__row:first-child { border-top:1px solid var(--gray-light); }
.company-table dt { font-size:.82rem; font-weight:700; color:var(--navy); letter-spacing:.03em; padding-top:2px; }
.company-table dd { font-size:.88rem; color:var(--text-light); line-height:1.8; }

.philosophy-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:44px; }
.philosophy-item h3 { font-size:1.15rem; color:var(--navy); margin-bottom:14px; }
.philosophy-item p  { font-size:.88rem; color:var(--text-light); line-height:2; }

@media (max-width:1023px) {
  .philosophy-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .company-table__row { grid-template-columns:140px 1fr; }
}

@media (max-width:767px) {
  .message-block { max-width:100%; }
  .message-block__text p { font-size:.875rem; }
  .sig-name { font-size:1.6rem; }

  .company-table__row { grid-template-columns:1fr; gap:4px; padding:14px 0; }
  .company-table dt { font-size:.8rem; color:var(--accent); }
  .company-table dd { font-size:.85rem; }

  .philosophy-grid { grid-template-columns:1fr; gap:28px; }
  .philosophy-item h3 { font-size:1.05rem; }
}

/* ── Offices Section ── */
.offices-section { background: var(--white); }

.offices-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 32px;
  align-items: center;
  margin-bottom: 40px;
}

.office-card {
  background: var(--white);
  border: 1px solid var(--gray-light);
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.3s, transform 0.3s;
}
.office-card:hover {
  box-shadow: 0 12px 40px rgba(0,170,221,0.10);
  transform: translateY(-4px);
}

.office-card__flag {
  font-size: 2.2rem;
  padding: 24px 28px 0;
  line-height: 1;
}

.office-card__body {
  padding: 16px 28px 20px;
}

.office-card__country {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 6px;
}

.office-card__city {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 8px;
  line-height: 1.2;
}

.office-card__role {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--navy-mid);
  margin-bottom: 12px;
  letter-spacing: 0.02em;
}

.office-card__desc {
  font-size: 0.85rem;
  color: var(--text-light);
  line-height: 1.85;
}





/* Bridge */
.office-bridge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 0 8px;
}

.bridge-line {
  width: 1px;
  height: 40px;
  background: linear-gradient(to bottom, transparent, var(--accent), transparent);
}

.bridge-icon {
  width: 48px;
  height: 48px;
  background: var(--off-white);
  border: 1px solid var(--accent);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.bridge-label {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent);
  text-align: center;
  line-height: 1.5;
}

/* Collaboration message */
.offices-collab {
  background: var(--navy);
  border-radius: 8px;
  padding: 32px 40px;
}

.offices-collab__inner {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.offices-collab__icon {
  flex-shrink: 0;
  margin-top: 4px;
}

.offices-collab p {
  font-size: 0.95rem;
  color: rgba(255,255,255,0.8);
  line-height: 1.9;
}

/* Responsive */
@media (max-width: 1023px) {
  .offices-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .office-bridge {
    flex-direction: row;
    justify-content: center;
    padding: 8px 0;
  }
  .bridge-line {
    width: 40px;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--accent), transparent);
  }
  .offices-collab { padding: 24px 28px; }
}

@media (max-width: 767px) {
  .office-card__flag { padding: 20px 20px 0; font-size: 1.8rem; }
  .office-card__body { padding: 12px 20px 16px; }
  .office-card__city { font-size: 1.5rem; }
  
  .offices-collab { padding: 20px; }
  .offices-collab__inner { flex-direction: column; gap: 16px; }
  .offices-collab p { font-size: 0.875rem; }
}
