/* V10: Watermelon UI-inspired typography and component polish.
   Keeps Lakshmy Transport's navy/orange identity, existing copy and images. */
:root {
  --lt-type-ink: #172b43;
  --lt-type-muted: #52647a;
  --lt-type-line: #dce5ef;
  --lt-type-surface: #ffffff;
  --lt-type-soft: #f4f7fb;
  --lt-type-radius: 22px;
}

/* Crisp, predictable rendering: avoid thin weights and blur effects on content text. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  color: var(--lt-type-ink);
  font-family: "DM Sans", "Segoe UI", Arial, sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  text-rendering: auto;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}
button, input, select, textarea { font-family: "DM Sans", "Segoe UI", Arial, sans-serif; }
h1, h2, h3, h4, h5, h6 {
  color: #102b50;
  font-family: "Manrope", "DM Sans", "Segoe UI", Arial, sans-serif;
  font-weight: 750;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

/* Desktop type scale: larger, but still restrained and easy to scan. */
@media (min-width: 1024px) {
  body { font-size: 18px; line-height: 1.72; }
  .section-heading h2,
  .process-heading h2,
  .faq-intro h2,
  .contact-copy h2,
  .reasons-heading h2,
  .rapid-quote-intro h2,
  .about-copy h2 {
    font-size: clamp(2.35rem, 3.1vw, 3.25rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -.045em !important;
    margin-bottom: 18px;
  }
  .section-heading p,
  .process-heading p,
  .faq-intro p,
  .contact-copy p,
  .reasons-heading p,
  .rapid-quote-intro p,
  .about-copy p {
    font-size: clamp(1.08rem, 1.18vw, 1.22rem) !important;
    line-height: 1.78 !important;
    color: var(--lt-type-muted);
    max-width: 68ch;
  }
  .service-card h3,
  .process-grid h3,
  .reasons-grid h3,
  .quote-card h3 { font-size: clamp(1.28rem, 1.35vw, 1.5rem) !important; line-height: 1.3 !important; }
  .service-card p,
  .process-grid p,
  .reasons-grid p,
  .review-card p,
  .about-copy li,
  .contact-details,
  .faq-list,
  .review-note { font-size: 1.06rem !important; line-height: 1.75 !important; }
  .eyebrow, .eyebrow-dark { font-size: .88rem !important; letter-spacing: .12em; font-weight: 750; }
  .service-card, .review-card, .process-grid article, .reasons-grid article {
    border-radius: var(--lt-type-radius);
    border-color: var(--lt-type-line);
  }
  .service-card, .review-card, .process-grid article, .reasons-grid article {
    box-shadow: 0 8px 26px rgba(16,43,80,.055);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  }
  .service-card:hover, .review-card:hover, .process-grid article:hover, .reasons-grid article:hover {
    transform: translateY(-4px);
    border-color: #c7d5e6;
    box-shadow: 0 16px 36px rgba(16,43,80,.11);
  }
  .rapid-quote-card { border-radius: 26px; box-shadow: 0 18px 52px rgba(16,43,80,.10); }
  .rapid-quote-form label, .rapid-quote-form .quote-label,
  #quote-form label { font-size: .98rem !important; font-weight: 700; color: #233b57; }
  .rapid-quote-form input, .rapid-quote-form select, .rapid-quote-form textarea,
  #quote-form input, #quote-form select, #quote-form textarea {
    font-size: 1.02rem !important;
    line-height: 1.45;
    color: #172b43;
    border-color: #cbd7e5;
    border-radius: 13px;
  }
  .button, .nav-cta { font-size: 1.02rem; }
  .site-footer { font-size: 1rem; }
}

/* Clean section rhythm and high-contrast surfaces, inspired by modern component libraries. */
.section,
.about-section,
.process-section,
.reasons-section,
.reviews-section,
.faq-section,
.contact-section,
.rapid-quote-section { scroll-margin-top: 100px; }
.section-heading, .process-heading, .reasons-heading, .reviews-heading { margin-bottom: clamp(28px, 3vw, 44px); }
.service-card, .review-card, .process-grid article, .reasons-grid article {
  background: var(--lt-type-surface);
  border: 1px solid var(--lt-type-line);
}
.faq-list details, .faq-list .faq-item {
  border-color: var(--lt-type-line);
  border-radius: 14px;
}
.faq-list summary, .faq-list button { font-weight: 700; }
.text-link { font-weight: 700; text-underline-offset: 4px; }
.button, .nav-cta { font-weight: 750; }

/* Keep the improved hierarchy responsive without making mobile layouts oversized. */
@media (max-width: 1023px) {
  body { font-size: 16.5px; line-height: 1.68; }
  .section-heading h2, .process-heading h2, .faq-intro h2,
  .contact-copy h2, .reasons-heading h2, .rapid-quote-intro h2,
  .about-copy h2 { line-height: 1.15; letter-spacing: -.04em; }
  .service-card p, .process-grid p, .reasons-grid p, .review-card p,
  .about-copy p, .contact-copy p, .faq-list { line-height: 1.7; }
}
@media (max-width: 760px) {
  body { font-size: 16px; }
  .service-card:hover, .review-card:hover, .process-grid article:hover, .reasons-grid article:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .service-card, .review-card, .process-grid article, .reasons-grid article { transition: none !important; }
}
