/* ═══════════════════════════════════════════════════════════════
   LUNAR — COMPANY PAGES LAYER  (About / Contact / Reviews)
   Extends site-core.css (+ service-editorial.css on About for the
   inspector/prose blocks). Adds contact-method cards, a mailing-
   address block, and a testimonials grid. site-core tokens only.
   ═══════════════════════════════════════════════════════════════ */

/* Original site font restored (editorial serif is reserved for the blog only). */
:root { --font-editorial: var(--font-display); }

/* ─── Shared page hero ──────────────────────────────────────── */
.company-hero { position: relative; padding: clamp(40px, 5vw, 72px) 0 clamp(24px, 3vw, 40px); overflow: hidden; border-bottom: 1px solid var(--border-subtle); }
.company-hero-bg { position: absolute; inset: 0; z-index: 0; background: radial-gradient(circle at 18% 26%, rgba(66,133,244,0.11) 0%, transparent 52%), radial-gradient(circle at 82% 70%, rgba(34,211,238,0.06) 0%, transparent 52%), var(--bg-deep); }
.company-hero > .container { position: relative; z-index: 1; }
.company-hero .eyebrow { display: inline-block; font-family: var(--font-primary); font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--accent-cyan); margin: 16px 0 16px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,0.14); }
.company-hero h1 { font-family: var(--font-editorial); font-size: clamp(2.2rem, 5vw, 3.5rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.03; color: var(--text-primary); margin: 0 0 16px; }
.company-hero h1 em { font-style: italic; font-weight: 400; background: linear-gradient(135deg, #8ab4f8 0%, #22d3ee 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.company-hero .lede { font-family: var(--font-primary); font-size: clamp(1.02rem, 1.6vw, 1.18rem); line-height: 1.68; color: var(--text-secondary); max-width: 720px; margin: 0; }
.company-hero .lede a { color: var(--accent-light); text-decoration: underline; text-underline-offset: 3px; }

/* ─── Contact method cards ──────────────────────────────────── */
.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 820px) { .contact-grid { grid-template-columns: 1fr; } }
.contact-card { display: flex; flex-direction: column; gap: 6px; padding: 26px 24px; background: var(--bg-card); border: 1px solid var(--border-card); border-radius: var(--radius-lg); }
.contact-card .cc-icon { width: 46px; height: 46px; border-radius: var(--radius-md); display: grid; place-items: center; background: var(--bg-glass); color: var(--accent-light); font-size: 19px; margin-bottom: 10px; }
.contact-card h2 { font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; color: var(--text-primary); margin: 0; }
.contact-card p { font-size: 14px; color: var(--text-tertiary); line-height: 1.55; margin: 0; }
.contact-card a.cc-value { font-family: var(--font-display); font-size: 1.12rem; font-weight: 600; color: var(--accent-light); text-decoration: none; margin-top: 4px; }
.contact-card a.cc-value:hover { color: var(--text-primary); }
.contact-card .cc-value-static { font-family: var(--font-display); font-size: 1rem; font-weight: 600; color: var(--text-primary); margin-top: 4px; }

/* Mailing address / details band */
.contact-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; padding: clamp(24px,3vw,36px); background: var(--bg-card); border: 1px solid var(--border-card); border-radius: var(--radius-lg); }
@media (max-width: 720px) { .contact-detail { grid-template-columns: 1fr; gap: 20px; } }
.contact-detail h3 { font-family: var(--font-display); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-tertiary); margin: 0 0 12px; }
.contact-detail address { font-style: normal; font-size: 15px; line-height: 1.7; color: var(--text-secondary); }
.contact-detail .hours-row { display: flex; justify-content: space-between; gap: 16px; font-size: 15px; padding: 7px 0; border-bottom: 1px solid var(--border-subtle); color: var(--text-secondary); }
.contact-detail .hours-row:last-child { border-bottom: 0; }
.contact-detail .hours-row strong { color: var(--text-primary); font-weight: 600; }
.contact-note { margin-top: 16px; font-size: 13px; line-height: 1.6; color: var(--text-muted); }

/* ─── Testimonials ──────────────────────────────────────────── */
.reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 940px) { .reviews-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .reviews-grid { grid-template-columns: 1fr; } }
.review-card { display: flex; flex-direction: column; padding: 26px 24px; background: var(--bg-card); border: 1px solid var(--border-card); border-radius: var(--radius-lg); }
.review-stars { color: #f5b301; font-size: 14px; letter-spacing: 2px; margin-bottom: 14px; }
.review-card blockquote { margin: 0 0 18px; font-family: var(--font-editorial); font-size: 1.05rem; font-style: italic; line-height: 1.5; color: var(--text-primary); }
.review-card .rv-by { margin-top: auto; display: flex; align-items: center; gap: 11px; }
.review-card .rv-avatar { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--accent) 0%, var(--accent-cyan) 100%); color: #fff; font-weight: 700; font-size: 15px; flex-shrink: 0; }
.review-card .rv-name { font-size: 14px; font-weight: 600; color: var(--text-primary); }
.review-card .rv-meta { font-size: 12px; color: var(--text-muted); }
.reviews-note { margin-top: 26px; padding: 18px 20px; background: var(--bg-glass); border: 1px dashed var(--border-light); border-radius: var(--radius-md); font-size: 14px; line-height: 1.6; color: var(--text-tertiary); text-align: center; }
.reviews-note a { color: var(--accent-light); font-weight: 600; text-decoration: none; }

/* ─── Shared bottom CTA ─────────────────────────────────────── */
.company-cta { margin: clamp(34px,5vw,56px) 0 0; padding: clamp(28px,4vw,44px); background: linear-gradient(135deg, rgba(66,133,244,0.14) 0%, rgba(34,211,238,0.06) 100%), var(--bg-card-solid); border: 1px solid var(--border-light); border-radius: var(--radius-lg); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px; }
.company-cta h2 { font-family: var(--font-editorial); font-size: clamp(1.3rem,2.4vw,1.7rem); font-weight: 600; letter-spacing: -0.01em; margin: 0 0 6px; color: var(--text-primary); }
.company-cta p { color: var(--text-secondary); font-size: 15px; margin: 0; max-width: 520px; }
.company-cta .cta-row { display: flex; gap: 12px; flex-wrap: wrap; }

/* About: values grid */
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 8px; }
@media (max-width: 820px) { .values-grid { grid-template-columns: 1fr; } }
.value-card { padding: 24px 22px; background: var(--bg-card); border: 1px solid var(--border-card); border-radius: var(--radius-md); }
.value-card i { font-size: 22px; color: var(--accent-light); margin-bottom: 12px; }
.value-card h3 { font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; color: var(--text-primary); margin: 0 0 8px; }
.value-card p { font-size: 14px; line-height: 1.6; color: var(--text-secondary); margin: 0; }
