/* AR Brand New — Option A professional UI polish (v5.0).
   ADDITIVE ONLY. Existing branding, font families, palette, sections, service
   cards, sample dimensions, assets and working behavior remain unchanged. */

/* Readable section introductions without altering approved typography. */
.section-heading > div { min-width: 0; }
.section-heading > p {
  max-width: 42ch;
  line-height: 1.86;
  overflow-wrap: break-word;
}
.section-heading h2,
.contact-heading h2,
.faq-grid h2 { overflow-wrap: break-word; }

/* Clear, deliberate hero CTA hierarchy (the original four links remain). */
.hero .hero-description { line-height: 1.79; }
.hero .hero-actions {
  display: grid;
  grid-template-columns: max-content max-content;
  align-items: center;
  justify-content: start;
  column-gap: 20px;
  row-gap: 15px;
}
.hero .hero-actions > * { min-width: 0; }
.hero .hero-actions .btn-primary { justify-self: start; }
.hero .hero-actions .text-link { width: max-content; max-width: 100%; }
.hero .hero-proof { max-width: 100%; }

/* Service cards keep their exact dimensions, color, icons and placement. */
.services-section .service-card h3,
.services-section .service-card p { overflow-wrap: break-word; }
.services-section .service-card .service-cta { line-height: 1.5; }
.services-section .service-group summary { scroll-margin-top: 115px; }
.services-section .conversion-extension .conversion-ext-item p {
  font-size: 11px;
  line-height: 1.68;
}
.services-section .conversion-extension .conversion-ext-item {
  overflow-wrap: break-word;
}
.services-section .conversion-extension .conversion-ext-textbutton {
  min-height: 32px;
  text-align: left;
}

/* Preserve book cover sizes. Make sample descriptions and evidence easier to scan. */
.work-section .gallery-card .work-details {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.work-section .gallery-card .work-details .compat { line-height: 1.7; }
.work-section .gallery-card .work-links.gal-links {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #dbe4da;
  align-content: flex-start;
  row-gap: 11px;
}
.work-section .gallery-card .gal-links a,
.work-section .gallery-card .gal-links button,
.work-section .gallery-card .gal-links .disabled-action {
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.work-section .gallery-tabs button {
  min-height: 40px;
}
.work-section .gallery-controls input { max-width: 100%; }
.work-section .work-footer { flex-wrap: wrap; }

/* Maintain honest, visible validation statuses and existing report links. */
.quality-section .qc-summary > div,
.quality-section .quality-columns > * { min-width: 0; }
.quality-section .qc-summary small { line-height: 1.65; }
.quality-section .qc-file-list a { overflow-wrap: anywhere; }
.quality-section .portfolio-disclosure { overflow-wrap: anywhere; }

/* PDF/EPUB comparison and browser demos: no change to interactions. */
.compare-section .compare-grid > *,
.interactive-section .panel { min-width: 0; }
.interactive-section .media-player { min-width: 0; }
.interactive-section .media-player video {
  display: block;
  max-width: 100%;
  border: 1px solid #d7e1d7;
}
.interactive-section .media-player video::cue {
  font-size: 13px;
}
.interactive-section .media-player audio { display: block; max-width: 100%; }
.interactive-section .media-caption { line-height: 1.7 !important; }
.interactive-section .demo-controls { flex-wrap: wrap; }

/* Existing process steps retain their grid and numbers; text aligns cleanly. */
.process-section .step { min-width: 0; }
.process-section .step h3,
.process-section .step p { overflow-wrap: break-word; }
.process-section .delivery-strip { flex-wrap: wrap; }

/* Contact and quotation: same fields, same client-side mailto/copy behavior. */
.contact-section .contact-info,
.contact-section .project-form,
.vendor-section .enquiry-form { min-width: 0; }
.contact-section .contact-item a,
.vendor-section .form-privacy,
.contact-section .contact-item strong { overflow-wrap: anywhere; }
.contact-section input,
.contact-section select,
.contact-section textarea,
.vendor-section input,
.vendor-section select,
.vendor-section textarea { max-width: 100%; }
.vendor-section .enquiry-tabs { flex-wrap: wrap; }
.vendor-section .enquiry-tabs button { min-height: 44px; }
.vendor-section .form-actions { flex-wrap: wrap; }
.intake-brief-preview textarea { line-height: 1.65; }

/* Footer and keyboard access use the existing branded tones. */
.footer .footer-bottom,
.footer .footer-bottom > div { flex-wrap: wrap; }
:where(.hero, .services-section, .work-section, .quality-section,
       .compare-section, .interactive-section, .process-section,
       .contact-section, .vendor-section, .faq-section, .footer)
  :is(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid #bc754f;
  outline-offset: 3px;
}

@media (max-width: 920px) {
  .section-heading > p { max-width: 62ch; }
  .hero .hero-actions { column-gap: 18px; }
}
@media (max-width: 600px) {
  .hero .hero-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    row-gap: 16px;
    column-gap: 12px;
  }
  .hero .hero-actions > :first-child,
  .hero .hero-actions > :nth-child(2) { grid-column: 1 / -1; }
  .hero .hero-actions .text-link { width: auto; }
  .hero .hero-actions .btn-primary { max-width: 100%; }
  .hero .hero-proof { margin-top: 26px; }
  .section-heading > p { line-height: 1.8; }
  .work-section .gallery-card .work-links.gal-links { padding-top: 12px; }
  .vendor-section .enquiry-tabs button { max-width: 100%; }
  .interactive-section .media-player video::cue { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .service-card,
  .work-card-visual img { transition-duration: .01ms; }
}
