/* A2S Solution — final Phase 1 alignment and location polish */
:root {
  --a2s-warm-paper: #F7F1E7;
  --a2s-warm-light: #FFFBF4;
  --a2s-warm-mid: #EFE5D7;
  --a2s-warm-deep: #E8DCCB;
  --a2s-warm-line: rgba(21, 59, 104, .14);
}
html, body { background: var(--a2s-warm-paper); }
body.home-page, body.inner-page { background: var(--a2s-warm-paper); }
.home-page .site-shell,
.inner-page .site-shell {
  background:
    radial-gradient(ellipse at 91% 7%, rgba(255,178,13,.075), transparent 31%),
    radial-gradient(ellipse at 5% 58%, rgba(33,159,75,.045), transparent 34%),
    linear-gradient(180deg, #FBF7EF 0%, #F6EFE4 52%, #F8F3EA 100%);
}
/* Consistent horizontal rails for the full-width content bands. */
.home-page .master-capabilities,
.home-page .solar-grid-showcase,
.home-page .master-about,
.home-page .master-approach {
  box-sizing: border-box;
}
.home-page .master-capabilities {
  padding-left: max(22px, calc((100vw - 1320px) / 2));
  padding-right: max(22px, calc((100vw - 1320px) / 2));
}
.home-page .solar-grid-showcase {
  padding-left: max(22px, calc((100vw - 1320px) / 2));
  padding-right: max(22px, calc((100vw - 1320px) / 2));
  background: linear-gradient(180deg, #F1E8DB 0%, #FBF7EF 54%, #F2EBDD 100%);
}
.home-page .master-about {
  padding-left: max(22px, calc((100vw - 1320px) / 2));
  padding-right: max(22px, calc((100vw - 1320px) / 2));
}
.home-page .master-approach {
  padding-left: max(22px, calc((100vw - 1320px) / 2));
  padding-right: max(22px, calc((100vw - 1320px) / 2));
}
/* Service rows: consistent number, copy, image and arrow alignment. */
.home-page .master-service-row {
  grid-template-columns: 52px minmax(0, 1.15fr) minmax(230px, .72fr) 42px;
  align-items: center;
  gap: clamp(15px, 2.2vw, 30px);
  min-height: 174px;
  padding: 20px 0;
}
.home-page .service-row-number { align-self: start; padding-top: 9px; text-align: left; }
.home-page .service-row-copy { min-width: 0; align-self: center; }
.home-page .service-row-title { line-height: 1.12; text-wrap: balance; }
.home-page .service-row-description { max-width: 560px; line-height: 1.65; }
.home-page .service-row-image { height: 132px; min-height: 132px; overflow: hidden; }
.home-page .service-row-image img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.home-page .service-row-arrow { justify-self: end; align-self: center; }
/* About section: align the intro, capability cards and credential columns to a shared grid. */
.home-page .master-about__top,
.home-page .master-about__intro,
.home-page .master-about__body,
.home-page .master-about__pillar-head,
.home-page .master-about__pillars,
.home-page .master-about__sectors,
.home-page .master-about__credentials,
.home-page .master-about__coverage {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}
.home-page .master-about__intro { grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); align-items: stretch; }
.home-page .master-about__brand-panel { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 270px; }
.home-page .master-about__pillars { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 14px; }
.home-page .master-about-card { display: flex; flex-direction: column; min-width: 0; min-height: 244px; padding: 22px 20px 20px; }
.home-page .master-about-card h3 { min-height: 2.45em; text-wrap: balance; }
.home-page .master-about-card p { line-height: 1.72; }
.home-page .master-about__sectors { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, auto); align-items: center; gap: 24px; }
.home-page .master-about__credentials { align-items: start; }
.home-page .master-about__credential-list { align-items: stretch; }
.home-page .master-about-credential { align-items: flex-start; min-width: 0; }
.home-page .master-about__coverage {
  display: grid;
  grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr);
  align-items: center;
  gap: 22px;
  padding-top: 22px;
}
.home-page .master-about__coverage-copy { display: grid; gap: 8px; }
.home-page .master-about__coverage-copy strong { color: #153B68; font-size: clamp(15px, 1.7vw, 21px); font-weight: 650; line-height: 1.35; letter-spacing: -.02em; }
.home-page .master-branch-list { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 9px; }
.home-page .master-branch-chip {
  display: inline-flex; align-items: center; gap: 9px; min-height: 40px; padding: 9px 14px;
  border: 1px solid rgba(21,59,104,.15); border-radius: 999px; color: #234C7B;
  background: linear-gradient(145deg, rgba(255,252,246,.97), rgba(240,232,220,.94));
  box-shadow: 0 7px 18px rgba(64,49,25,.045); font-size: 12px; line-height: 1.2;
  animation: branchChipIn .5s both; animation-delay: calc(var(--branch-index, 0) * 70ms);
}
.home-page .master-branch-chip i { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #219F4B; box-shadow: 0 0 0 4px rgba(33,159,75,.09); }
.home-page .master-branch-chip strong { font-weight: 700; }
@keyframes branchChipIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
/* Footer branch text is intentionally non-clickable until Siliguri contact details are confirmed. */
.footer-contacts { align-items: center; }
.footer-contacts a, .footer-branch-label { display: inline-flex; align-items: center; min-height: 28px; line-height: 1.45; }
.footer-branch-label { color: #596D83; font-size: 10px; }
.inner-page .footer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; }
.inner-page .footer-branch-label { color: #596D83; font-size: 10px; }
/* Fix common baseline drift in headings and cards. */
.capabilities-heading, .solar-grid-showcase__copy, .master-about__intro, .approach-main, .master-cta-body { min-width: 0; }
.capabilities-heading > *, .solar-grid-showcase__copy > *, .master-cta-body > * { min-width: 0; }
.home-page .master-contact-cta { box-sizing: border-box; }
.inner-page .inner-main { width: min(1200px, calc(100% - 80px)); }
.inner-page .landing-hero { align-items: center; gap: clamp(28px, 5vw, 76px); }
.inner-page .landing-hero-copy, .inner-page .landing-hero-media { min-width: 0; }
.inner-page .landing-hero-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.inner-page .landing-feature { height: 100%; box-sizing: border-box; }
.inner-page .process-steps { align-items: stretch; }
.inner-page .process-steps article { height: 100%; box-sizing: border-box; }
/* Tablet alignment. */
@media (max-width: 1050px) {
  .home-page .master-service-row { grid-template-columns: 42px minmax(0, 1fr) minmax(190px, .58fr) 36px; gap: 16px; }
  .home-page .master-about__pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .master-about-card { min-height: 210px; }
  .home-page .master-about__coverage { grid-template-columns: 1fr; }
  .home-page .master-branch-list { justify-content: flex-start; }
}
@media (max-width: 760px) {
  .home-page .master-capabilities,
  .home-page .solar-grid-showcase,
  .home-page .master-about,
  .home-page .master-approach { padding-left: 18px; padding-right: 18px; }
  .home-page .master-service-row { grid-template-columns: 30px minmax(0, 1fr) 30px; align-items: start; gap: 10px 12px; }
  .home-page .service-row-number { grid-column: 1; grid-row: 1; padding-top: 7px; }
  .home-page .service-row-copy { grid-column: 2; grid-row: 1; }
  .home-page .service-row-arrow { grid-column: 3; grid-row: 1; justify-self: end; }
  .home-page .service-row-image { grid-column: 2 / 4; grid-row: 2; width: 100%; height: 164px; min-height: 164px; margin-top: 4px; }
  .home-page .master-about__intro { grid-template-columns: 1fr; gap: 24px; }
  .home-page .master-about__pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .master-about-card { min-height: 0; }
  .home-page .master-about-card h3 { min-height: 0; }
  .home-page .master-about__sectors { grid-template-columns: 1fr; align-items: start; }
  .home-page .master-about__sector-tags { justify-content: flex-start; }
  .home-page .master-about__credentials { grid-template-columns: 1fr; gap: 20px; }
  .home-page .master-about__coverage { grid-template-columns: 1fr; align-items: start; gap: 14px; }
  .home-page .master-branch-list { justify-content: flex-start; }
  .home-page .master-about__coverage-copy strong { text-align: left; }
  .home-page .approach-steps article { min-height: 0; }
  .footer-contacts { align-items: flex-start; }
  .inner-page .inner-main { width: calc(100% - 40px); padding-top: 48px; }
  .inner-page .inner-content-grid { grid-template-columns: 1fr; gap: 24px; }
  .inner-page .landing-feature { height: auto; }
  .inner-page .process-steps article { height: auto; }
  .inner-page .footer-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
}
@media (max-width: 420px) {
  .home-page .master-about__pillars,
  .home-page .master-about__credential-list { grid-template-columns: 1fr; }
  .home-page .master-about-card { padding: 20px; }
  .home-page .master-about__brand-panel { min-height: 205px; }
  .home-page .master-branch-chip { font-size: 11px; padding: 9px 12px; }
  .inner-page .inner-main { width: calc(100% - 32px); }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .master-branch-chip { animation: none !important; }
}

/* Release polish: optically align the serif accent with the sans-serif hero line. */
.home-page .master-hero-fluid .hero-title-line:nth-child(2) em {
  vertical-align: 0.03em;
}
