/* About */
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.about-img { border-radius: var(--radius-lg); width: 100%; height: 480px; object-fit: cover; object-position: center 20%; }
.about-image-wrap { position: relative; }
.about-location { position: absolute; bottom: 20px; left: 20px; background: rgba(15,23,42,.75); backdrop-filter: blur(8px); color: #fff; font-size: 13px; font-weight: 500; padding: 8px 14px; border-radius: 8px; }
.about-text .eyebrow { display: block; margin-bottom: 12px; }
.about-text p { font-size: 16px; color: var(--slate); line-height: 1.8; margin-bottom: 18px; font-weight: 300; }
.about-quote { border-left: 3px solid var(--sky); padding-left: 20px; margin-top: 28px; font-size: 16px; color: var(--navy-mid); font-style: italic; line-height: 1.7; }

.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.value-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 32px; }
.value-ico { font-size: 32px; margin-bottom: 14px; }
.value-card h3 { font-family: var(--font-display); font-size: 20px; font-weight: 700; color: var(--navy); margin-bottom: 10px; }
.value-card p { font-size: 14px; color: var(--slate); line-height: 1.7; font-weight: 300; }

.about-bottom { max-width: 600px; margin: 0 auto; text-align: center; }

/* Contact */
.contact-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; align-items: start; }
.contact-info { position: sticky; top: 100px; }
.contact-info .eyebrow { display: block; margin-bottom: 12px; }
.contact-info p { font-size: 16px; color: var(--slate); line-height: 1.8; margin-bottom: 24px; font-weight: 300; }
.contact-detail { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 20px; }
.contact-detail-ico { width: 40px; height: 40px; border-radius: 10px; background: var(--sky-pale); display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
.contact-detail-text strong { display: block; font-size: 13px; font-weight: 700; color: var(--navy); margin-bottom: 2px; }
.contact-detail-text span { font-size: 14px; color: var(--slate); font-weight: 300; }

.contact-form { background: var(--off-white); border-radius: var(--radius-lg); padding: 40px; }
.form-row { margin-bottom: 20px; }
.form-row label { display: block; font-size: 13px; font-weight: 600; color: var(--navy); margin-bottom: 8px; }
.form-row input, .form-row select, .form-row textarea {
  width: 100%; padding: 12px 16px; border: 1.5px solid var(--border); border-radius: var(--radius);
  font-size: 15px; font-family: var(--font-body); color: var(--navy); background: var(--white);
  transition: border-color .15s, box-shadow .15s; outline: none;
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus {
  border-color: var(--sky); box-shadow: 0 0 0 3px rgba(14,165,233,.12);
}
.form-row textarea { resize: vertical; min-height: 140px; }
.form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-submit { width: 100%; padding: 16px; margin-top: 8px; font-size: 16px; font-weight: 600; }
.form-note { font-size: 12px; color: var(--slate-light); text-align: center; margin-top: 12px; }

@media (max-width: 860px) {
  .about-grid, .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .values-grid { grid-template-columns: 1fr; }
  .contact-info { position: static; }
  .about-img { height: 320px; }
}
@media (max-width: 480px) { .form-grid-2 { grid-template-columns: 1fr; } }

/* About full-width image */
.about-full-img { position:relative; height:420px; overflow:hidden; }
.about-full-img img { width:100%; height:100%; object-fit:cover; object-position:center 25%; }
.about-full-overlay { position:absolute; inset:0; background:rgba(15,23,42,.55); display:flex; align-items:center; justify-content:center; text-align:center; }
.about-full-overlay p { font-family:var(--font-display); font-size:clamp(28px,5vw,52px); font-weight:800; color:var(--white); line-height:1.15; }
