/* Homepage additions — extends style.css (shared with the WBLE page) */
.hero-contact strong { color: var(--color-text); font-weight: 600; }
.section-heading { margin-bottom: var(--space-10); max-width: 60ch; }
.section-heading h2 { margin-top: var(--space-2); }

/* Services */
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
.service-card { position: relative; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: clamp(var(--space-6), 3vw, var(--space-10)); display: flex; flex-direction: column; gap: var(--space-4); }
.service-number { font-size: var(--text-xs); color: var(--color-orange); font-variant-numeric: tabular-nums; letter-spacing: .1em; }
.service-card h3 { font-family: var(--font-display); font-size: clamp(1.35rem, 1.1rem + .8vw, 1.75rem); font-weight: 400; letter-spacing: -.03em; }
.service-card p { color: var(--color-text-muted); }
.service-proof { margin-top: auto; padding-top: var(--space-4); border-top: 1px solid var(--color-border); font-size: var(--text-sm); font-weight: 500; color: var(--color-text) !important; }

/* Office panel */
.office-panel { display: grid; grid-template-columns: 1.15fr 1fr; background: var(--color-surface-offset); border-radius: var(--radius-md); overflow: hidden; }
.office-image { min-width: 0; min-height: 420px; }
.office-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; background: var(--color-surface-offset); }
.office-copy { padding: clamp(var(--space-8), 4vw, var(--space-16)); }
.office-copy .eyebrow { margin-bottom: var(--space-4); }
.office-copy h2 { margin-bottom: var(--space-6); }
.office-copy p:not(.eyebrow) { color: var(--color-text-muted); margin-bottom: var(--space-4); }
.office-copy .text-link { margin-top: var(--space-2); }

/* Process tweaks */
.process-intro .button { margin-top: var(--space-2); }

/* Mission */
.mission-section { padding-block: 0 clamp(var(--space-16), 7.5vw, var(--space-24)); }
.mission-inner { display: grid; grid-template-columns: 1fr 1.12fr; gap: var(--space-20); padding-top: clamp(var(--space-12), 5vw, var(--space-20)); border-top: 1px solid var(--color-border); }
.mission-copy > p { color: var(--color-text-muted); margin-bottom: var(--space-4); }
.mission-copy > .section-intro { color: var(--color-text); }
.mission-copy a { text-underline-offset: 4px; }
.mission-copy a:hover { color: var(--color-orange); }

/* Contact + form */
.contact-panel { grid-template-columns: 1fr 1.1fr; }
.contact-copy > p { color: var(--color-on-forest-muted); margin-top: var(--space-6); }
.contact-inline { color: var(--color-on-forest); font-weight: 600; text-underline-offset: 4px; }
.contact-details-inline { margin-top: var(--space-6); }
.contact-details-inline .contact-phone { justify-content: flex-start; gap: var(--space-3); }
.contact-tip a { color: var(--color-on-forest); text-underline-offset: 3px; }
.questions-intro a { text-underline-offset: 4px; }
.questions-intro a:hover { color: var(--color-orange); }

.contact-form { background: var(--color-surface); color: var(--color-text); border-radius: var(--radius-md); padding: clamp(var(--space-6), 3vw, var(--space-10)); display: grid; gap: var(--space-4); }
.contact-form h3 { font-family: var(--font-display); font-size: clamp(1.35rem, 1.1rem + .8vw, 1.75rem); font-weight: 400; letter-spacing: -.03em; margin-bottom: var(--space-2); }
.form-row { display: grid; gap: var(--space-2); }
.form-row label { font-size: var(--text-sm); font-weight: 600; }
.form-row .optional { font-weight: 400; color: var(--color-text-muted); }
.form-row input, .form-row select, .form-row textarea { width: 100%; min-height: 48px; padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-bg); color: var(--color-text); }
.form-row textarea { resize: vertical; min-height: 96px; }
.form-row input:focus-visible, .form-row select:focus-visible, .form-row textarea:focus-visible { outline-offset: 2px; border-color: var(--color-primary); }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-form .button-cream { background: var(--color-primary); color: var(--color-button-text); justify-content: space-between; width: 100%; margin-top: var(--space-2); }
.contact-form .button-cream:hover { background: var(--color-primary-hover); }
.form-note { font-size: var(--text-xs); color: var(--color-text-muted); }
.form-note a { text-underline-offset: 3px; }

/* Footer links */
.footer-links { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); padding-bottom: var(--space-6); }
.footer-links a { text-decoration: none; font-size: var(--text-sm); font-weight: 500; display: inline-flex; align-items: center; min-height: 44px; color: var(--color-text-muted); }
.footer-links a:hover { color: var(--color-orange); }

/* Thank-you + privacy pages */
.simple-page { padding-block: clamp(var(--space-16), 8vw, var(--space-24)); max-width: 68ch; }
.simple-page h1 { font-size: clamp(2.25rem, 1.4rem + 2.5vw, 3.5rem); }
.simple-page p, .simple-page li { color: var(--color-text-muted); margin-bottom: var(--space-4); }
.simple-page h2 { margin-block: var(--space-10) var(--space-4); }
.simple-page ul { padding-left: var(--space-6); }
.simple-page .hero-actions { margin-top: var(--space-8); }

@media (max-width: 1100px) {
  .service-grid { gap: var(--space-4); }
  .mission-inner { gap: var(--space-12); }
  .contact-panel { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .service-grid { grid-template-columns: 1fr; }
  .office-panel { grid-template-columns: 1fr; }
  .office-image { min-height: 0; aspect-ratio: 1.65; }
  .office-copy { padding: var(--space-8); }
  .contact-panel { grid-template-columns: 1fr; }
  .contact-details-inline { max-width: 440px; }
}
@media (max-width: 700px) {
  .main-nav { flex-wrap: wrap; }
  .main-nav a { min-height: 40px; }
  .mission-inner { grid-template-columns: 1fr; gap: var(--space-8); }
  .office-copy { padding: var(--space-8) var(--space-6); }
  .contact-form { padding: var(--space-6) var(--space-5); }
  .footer-links { gap: 0 var(--space-5); }
}
.hero h1 { font-size: clamp(2.4rem, 1.1rem + 3vw, 3.9rem); letter-spacing: -.05em; }
@media (max-width: 700px) { .hero h1 { font-size: clamp(2.25rem, 1.6rem + 3vw, 3.25rem); } }

/* Address */
.office-address { font-size: var(--text-sm); color: var(--color-text) !important; }
.office-address strong { font-weight: 600; }
.contact-address { font-size: var(--text-sm); line-height: 1.6; margin-top: var(--space-4); color: var(--color-on-forest); }
.contact-address a { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; color: var(--color-on-forest); text-underline-offset: 4px; }
.contact-address a:hover { color: var(--color-on-forest-muted); }
