/* Shared reading scale, loaded after component and responsive styles. */
:root { --text-body: 16px; --text-small: 14px; --text-label: 12px; }
body { font-size: var(--text-body); line-height: 1.75; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
h1, h2, h3, h4 { text-wrap: balance; }
h1, h2 { letter-spacing: -.035em; }
h3, h4 { letter-spacing: -.02em; }
.heading-description, .section-copy > p, .section-heading > p,
.page-hero p, .mission p, .guide-grid > div > p, .calc-copy > p,
.feature-item p, .tile-copy p, .process-step p, .values-grid p,
.about-page .values-grid p, .service-card p, .services-page .service-card p,
.energy-steps p, .india-card p, .benefit-card p, .benefit-wide p,
.guide-cards article p, .system-grid p, .faq-intro p, .faq-item p,
.contact-copy > p, .office-section .heading-row > div > p,
.form-heading p, .contact-next li > span, .group-company-card p,
.certification-layout > div > p, .quality-summary-copy p,
.certification-scope p, .solar-promo-copy p {
  font-size: var(--text-body); line-height: 1.8; letter-spacing: 0;
}
.section-label, .eyebrow, .mini-label, .india-card .mini-label,
.guide-tag, .benefit-photo span, .system-grid article > span,
.tile-copy > span, .values-grid article > span, .about-page .values-grid article > span,
.group-company-card > span, .quality-standard span,
.footer-certifications-heading > span, .diagram-caption, .diagram-footnote,
.energy-strip .container > span, .visual-tab {
  font-size: var(--text-label); line-height: 1.6; letter-spacing: .09em;
}
.nav-links { font-size: 15px; gap: clamp(18px, 2.3vw, 32px); }
.nav-cta { margin-left: 0; }
.topbar, .topbar-inner > a { font-size: 12px; line-height: 1.6; letter-spacing: .04em; }
.topbar-inner { padding-block: 8px; flex-wrap: wrap; }
.btn, .hero-actions .btn, .contact-form .btn,
.text-link, .page-actions .hero-secondary, .card-link, .service-card a,
.services-page .service-card > a, .guide-cards article a, .benefit-card a,
.service-jump a { font-size: 14px; line-height: 1.5; font-weight: 700; }
.btn { white-space: normal; }
.dark-link { white-space: normal; }
.feature-item h4, .process-step h3, .contact-next strong,
.certification-scope h4, .certification-scope-title { font-size: 18px; line-height: 1.4; }
.energy-steps h3, .india-card h3, .guide-cards h3,
.system-grid h3, .service-card h3 { font-size: clamp(22px, 2vw, 26px); line-height: 1.35; }
.service-includes li, .system-grid strong, .floating-badge span,
.hero-facts span, .photo-caption > span:last-child, .group-company-card strong,
.contact-cards span, .breadcrumb, .inner-page .breadcrumb,
.section-footnote, .guide-cards > .section-footnote, .calc-note, .calc-card small,
.contact-form .form-note, .form-status, .calc-results span,
.certificate-card > p, .certificate-card dt, .certificate-card dd,
.certificate-address > span, .certificate-address p,
.footer-certifications-heading > a { font-size: 14px; line-height: 1.7; }
.calc-card label, .contact-form label { font-size: 14px; line-height: 1.6; font-weight: 700; }
.contact-form input, .contact-form select, .contact-form textarea { font-size: 16px; line-height: 1.5; }
.contact-cards strong { font-size: 16px; overflow-wrap: anywhere; }
.faq-item summary { font-size: 17px; line-height: 1.55; }
.direct-call > span:not(.call-orbit) { font-size: 12px; line-height: 1.6; }
.promo-benefits strong { font-size: 15px; line-height: 1.5; }
.promo-benefits p { font-size: 14px; line-height: 1.65; }
.footer-grid h4 { font-size: 16px; line-height: 1.5; }
.footer-grid > div > a:not(.brand), .footer-grid > div > p,
.footer-brand p, .group-companies { font-size: 14px; line-height: 1.8; }
.footer-bottom { font-size: 12px; line-height: 1.8; flex-wrap: wrap; }
.iso-footer { font-size: 12px !important; }
.energy-strip .container > span { max-width: 140px; flex-shrink: 0; }
.energy-strip .container > div { flex-wrap: wrap; font-size: 17px; }
.india-card-top > span:last-child, .service-num { font-size: 12px; }
.mobile-bottom-nav a { font-size: 12px; }
@media (min-width: 801px) and (max-width: 1100px) {
  .nav-wrap { gap: 18px; }
  .nav-links { gap: 18px; }
  .nav-cta { padding: 12px 16px; }
  .nav-cta span { margin-left: 8px; }
  .process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .nav-links { font-size: 16px; }
  .promo-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { gap: 32px 24px; }
}
@media (max-width: 600px) {
  .home-page h2, .section-copy h2, .section-heading h2, .faq-intro h2,
  .calc-copy h2, .cta-inner h2, .mission h2 { font-size: clamp(30px, 8vw, 38px); line-height: 1.2; }
  .topbar-inner { justify-content: center; text-align: center; gap: 6px; }
  .energy-strip .container > span { max-width: none; }
  .energy-strip .container > div { font-size: 16px; }
  .floating-badge { max-width: calc(100% - 20px); }
  .quality-summary .text-link { white-space: normal; }
  .diagram-caption, .diagram-footnote { letter-spacing: .02em; }
}
