/* ZiRi v2 — page styles (company). Builds on site.css tokens. */

/* ---------- Page hero (about / contact) ---------- */
.z-phero { position: relative; color: #fff; background: var(--navy-900); overflow: hidden; }
.z-phero__media { position: absolute; inset: 0; background-size: cover; background-position: 25% 40%; transform: scale(1.12); transform-origin: 20% 20%; }
.z-phero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,22,38,.92) 0%, rgba(10,22,38,.7) 55%, rgba(10,22,38,.45) 100%), linear-gradient(180deg, rgba(10,22,38,.5) 0%, rgba(10,22,38,.2) 40%, rgba(10,22,38,.85) 100%); }
.z-phero__content { position: relative; z-index: 1; padding: calc(var(--header-h) + 88px) 0 88px; }
@media (max-width: 767px) { .z-phero__content { padding: calc(var(--header-h) + 56px) 0 56px; } }
.z-phero .z-eyebrow { color: var(--navy-300); }
.z-phero .z-lead { color: #c9d6e6; }

/* ---------- About ---------- */
.z-prose { max-width: 68ch; }
.z-feature { padding: 28px; height: 100%; border-top: 3px solid var(--navy-700); border-top-left-radius: 0; border-top-right-radius: 0; }
.z-feature p { color: var(--muted); line-height: 1.65; margin-top: 10px; font-size: .95rem; }
.z-feature--muted { border-top-color: var(--navy-300); }
.z-cred__quote { overflow-wrap: anywhere; }

/* ---------- Contact ---------- */
.z-contact { display: grid; gap: 48px; align-items: start; }
@media (min-width: 960px) { .z-contact { grid-template-columns: 1fr 1.1fr; gap: 72px; } }
.z-contact__list { margin-top: 40px; border-top: 1px solid var(--border); }
.z-contact__item { padding: 24px 0; border-bottom: 1px solid var(--border); }
.z-contact__label { font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--navy-500); }
.z-contact__value { margin-top: 8px; font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; color: var(--navy-900); overflow-wrap: anywhere; }
a.z-contact__value { display: inline-block; color: var(--navy-700); }
a.z-contact__value:hover { text-decoration: underline; text-underline-offset: 4px; }
.z-contact__note { margin-top: 8px; font-size: .9rem; color: var(--muted); }
.z-form-card { padding: 32px; box-shadow: var(--shadow-md); }
@media (max-width: 767px) { .z-form-card { padding: 24px 20px; } }
.z-field + .z-field { margin-top: 20px; }
.z-label { display: block; font-size: .875rem; font-weight: 600; color: var(--navy-900); margin-bottom: 8px; }
.z-input { display: block; width: 100%; height: 48px; padding: 0 14px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: var(--fg); font-size: 1rem; transition: border-color .15s, box-shadow .15s; }
textarea.z-input { height: auto; min-height: 140px; padding: 12px 14px; line-height: 1.5; resize: vertical; }
.z-input::placeholder { color: #94a3b8; }
.z-input:focus { outline: none; border-color: var(--navy-700); box-shadow: 0 0 0 3px rgba(30,58,95,.18); }
.z-alert { display: flex; gap: 12px; padding: 14px 16px; margin-bottom: 24px; border-radius: 6px; border: 1px solid; border-left-width: 4px; font-size: .925rem; line-height: 1.5; }
.z-alert strong { font-weight: 600; }
.z-alert--ok { background: #f0fdf4; border-color: #bbf7d0; border-left-color: #15803d; color: #14532d; }
.z-alert--err { background: #fef2f2; border-color: #fecaca; border-left-color: #b91c1c; color: #7f1d1d; }
.z-btn--block { width: 100%; margin-top: 28px; white-space: normal; }
