:root {
  --blue-primary: #0057E7;
  --blue-accent: #087CFA;
  --blue-bright: #0A7BFF;
  --blue-deep: #003B73;
  --blue-heading: #063B68;
  --blue-footer: #062F55;
  --blue-light: #EAF5FF;
  --blue-pale: #F5FAFF;
  --blue-border: #C9E3FA;
  --text-secondary: #526B7C;
  --white: #FFFFFF;
  --whatsapp: #0AAF54;
  --shadow-light: 0 8px 28px rgba(0, 59, 115, .10);
  --shadow-menu: 0 14px 35px rgba(0, 59, 115, .16);
}

.home-page { margin: 0; background: var(--white); color: var(--blue-heading); font-family: Arial, Helvetica, sans-serif; overflow-x: hidden; }
.home-page *, .home-page *::before, .home-page *::after { box-sizing: border-box; }
.home-page a { color: inherit; text-decoration: none; }
.home-page button, .home-page input { font: inherit; }
.home-page svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.eyebrow { margin: 0 0 10px; color: var(--blue-primary); font-size: 11px; font-weight: 700; letter-spacing: 2.1px; line-height: 1.2; }

/* Utility strip and rectangular navigation */
.utility-bar { height: 36px; background: var(--blue-light); color: var(--blue-heading); font-size: 11px; }
.utility-bar__inner { width: min(1340px, calc(100% - 96px)); height: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
.utility-location, .utility-contact, .utility-contact a { display: flex; align-items: center; gap: 7px; }
.utility-location > svg:first-child { width: 15px; height: 15px; }
.utility-chevron { width: 12px !important; height: 12px !important; margin-left: -2px; }
.utility-contact { gap: 12px; }
.utility-contact a { color: var(--blue-heading); }
.utility-contact svg { width: 15px; height: 15px; }
.utility-contact i { width: 1px; height: 16px; background: rgba(6, 59, 104, .35); }
.main-nav { position: sticky; top: 0; z-index: 50; height: 64px; background: var(--white); border-bottom: 1px solid rgba(0, 87, 231, .10); box-shadow: 0 4px 14px rgba(0, 59, 115, .06); }
.main-nav__inner { position: relative; width: min(1340px, calc(100% - 96px)); height: 64px; margin: 0 auto; display: flex; align-items: center; }
.main-nav__logo { display: flex; flex: 0 0 215px; align-items: center; height: 64px; }
.main-nav__logo img { display: block; width: 205px; height: 52px; object-fit: contain; }
.main-nav__links { height: 64px; margin-left: 30px; display: flex; align-items: stretch; gap: 2px; }
.main-nav__links > a, .products-trigger { display: inline-flex; align-items: center; justify-content: center; height: 64px; padding: 0 14px; border: 0; background: transparent; color: var(--blue-heading); font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.main-nav__links > a:hover, .products-trigger:hover { color: var(--blue-primary); }
.main-nav__links > a.is-active { color: var(--blue-primary); }
.products-nav-item { position: static; display: flex; align-items: stretch; }
.products-trigger { gap: 4px; }
.products-trigger svg { width: 13px; height: 13px; }
.products-nav-item.is-open .products-trigger { background: var(--blue-primary); color: var(--white); }
.main-nav__actions { margin-left: auto; height: 64px; display: flex; align-items: center; gap: 18px; }
.search-button { display: grid; place-items: center; width: 38px; height: 28px; padding: 0 12px 0 14px; border: 0; border-left: 1px solid var(--blue-border); background: transparent; color: var(--blue-heading); cursor: pointer; }
.search-button svg { width: 21px; height: 21px; }
.nav-whatsapp { display: inline-flex; align-items: center; gap: 7px; color: var(--whatsapp); font-size: 14px; font-weight: 700; white-space: nowrap; }
.nav-whatsapp svg { width: 23px; height: 23px; }
.nav-quote { width: 135px; height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 5px; background: var(--blue-primary); color: var(--white); font-size: 14px; font-weight: 700; }
.nav-quote:hover, .button--primary:hover { background: var(--blue-deep); }
.nav-quote svg { width: 16px; height: 16px; }
.main-nav__toggle { display: none; }

/* Shared V2 header icon treatment: keep every page on the Home icon language. */
.utility-bar svg,
.main-nav svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}
.utility-bar svg { color: var(--blue-heading); }
.nav-whatsapp svg { color: var(--whatsapp); }
.nav-quote svg { color: currentColor; }

/* Products mega menu */
.mega-menu { position: absolute; z-index: 3; top: 64px; left: 230px; width: 840px; min-height: 300px; padding: 22px 24px; display: none; grid-template-columns: 1fr 1fr 1.05fr; gap: 22px; background: rgba(255, 255, 255, .97); border: 1px solid rgba(0, 87, 231, .08); border-radius: 0 0 6px 6px; box-shadow: var(--shadow-menu); backdrop-filter: blur(8px); }
.mega-menu.is-open { display: grid; animation: menu-in .18s ease both; }
.mega-menu__column { min-width: 0; padding-right: 14px; border-right: 1px solid #DCEBFA; }
.mega-menu__column:last-of-type { border-right: 0; }
.mega-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; color: var(--blue-heading); font-size: 13px; }
.mega-heading svg { width: 22px; height: 22px; color: var(--blue-deep); }
.mega-menu__column > a { display: block; margin: 0 0 7px; color: var(--blue-deep); font-size: 12px; line-height: 1.45; }
.mega-menu__column > a:hover { color: var(--blue-primary); }
.mega-menu hr { height: 1px; margin: 18px 0; border: 0; background: var(--blue-border); }
.product-search { position: relative; display: block; margin-top: 12px; }
.product-search input { width: 100%; height: 34px; padding: 0 34px 0 10px; border: 1px solid var(--blue-border); border-radius: 4px; color: var(--blue-heading); font-size: 11px; outline: 0; }
.product-search svg { position: absolute; top: 8px; right: 9px; width: 17px; height: 17px; color: var(--blue-primary); }
.mega-menu__promo { padding: 0; background: var(--blue-light); border-radius: 6px; overflow: hidden; }
.mega-menu__promo p { margin: 15px 16px 12px; color: var(--blue-heading); font-size: 16px; line-height: 1.08; }
.mega-menu__promo p b { color: var(--blue-primary); }
.mega-menu__promo img { display: block; width: 100%; height: 150px; object-fit: cover; }
@keyframes menu-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

/* Hero */
 .hero-section { position: relative; height: 610px; overflow: hidden; background-color: #d9efff; background-image: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 26%, rgba(255,255,255,.45) 48%, rgba(255,255,255,.06) 70%), url("../assets/hero/amaravati-facility-reference.png"); background-position: center; background-size: cover; }
.hero-section__inner { position: relative; width: min(1340px, calc(100% - 96px)); height: 100%; margin: 0 auto; padding-top: 145px; }
.hero-copy { width: 430px; color: var(--blue-heading); }
.hero-copy h1 { margin: 0; font-size: 62px; font-weight: 800; letter-spacing: -1.5px; line-height: .9; }
.hero-copy h1 span, .hero-copy h1 em { display: block; font-style: normal; }
.hero-copy h1 em { color: var(--blue-primary); }
.hero-description { width: 400px; margin: 22px 0 0; color: var(--blue-heading); font-size: 16px; line-height: 1.45; }
.hero-actions { display: flex; gap: 14px; margin-top: 20px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; height: 44px; border-radius: 5px; font-size: 14px; font-weight: 700; transition: transform .18s ease, background .18s ease; }
.button:hover { transform: translateY(-1px); }
.button svg { width: 17px; height: 17px; }
.button--primary { width: 165px; background: var(--blue-primary); color: var(--white); }
.button--outline { width: 145px; border: 1.5px solid var(--blue-primary); background: rgba(255,255,255,.9); color: var(--blue-primary); }
.button--outline svg { width: 20px; height: 20px; }
.hero-trust { display: flex; gap: 28px; margin-top: 22px; }
.hero-trust span { display: inline-flex; align-items: center; gap: 9px; color: var(--blue-heading); font-size: 12px; white-space: nowrap; }
.hero-trust svg { width: 32px; height: 32px; color: var(--blue-primary); }

/* Process */
.process-section { background: var(--white); }
.content-shell { width: min(1340px, calc(100% - 96px)); margin: 0 auto; padding: 29px 0 19px; }
.process-section h2 { margin: 0; color: var(--blue-heading); font-size: 34px; font-weight: 800; line-height: 1; letter-spacing: -1px; }
.process-section h2 em { color: var(--blue-primary); font-style: normal; }
.process-subtitle { margin: 5px 0 12px; color: var(--text-secondary); font-size: 13px; }
.process-cards { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.process-card { min-width: 0; }
.process-card > img { display: block; width: 100%; height: 158px; border-radius: 4px; object-fit: cover; }
.process-card__info { display: flex; gap: 9px; padding-top: 7px; }
.process-card__info > b { display: grid; flex: 0 0 32px; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--blue-primary); color: var(--white); font-size: 12px; }
.process-card h3 { margin: 2px 0 3px; color: var(--blue-heading); font-size: 12px; line-height: 1.15; }
.process-card p { margin: 0; color: var(--text-secondary); font-size: 11px; line-height: 1.3; }
.process-arrow { position: absolute; top: 66px; display: grid; place-items: center; width: 22px; height: 22px; color: var(--blue-primary); transform: translateX(-50%); }
.process-arrow svg { width: 21px; height: 21px; stroke-width: 2; }
.process-arrow:nth-of-type(1) { left: 25%; }.process-arrow:nth-of-type(2) { left: 50%; }.process-arrow:nth-of-type(3) { left: 75%; }
.capability-row { height: 60px; margin-top: 14px; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--blue-border); border-bottom: 1px solid var(--blue-border); }
.capability-row > div { display: flex; align-items: center; justify-content: center; gap: 10px; border-right: 1px solid var(--blue-border); color: var(--blue-heading); font-size: 11px; font-weight: 700; line-height: 1.15; }
.capability-row > div:last-child { border-right: 0; }
.capability-row svg { flex: 0 0 26px; width: 26px; height: 26px; color: var(--blue-primary); }
.discover-button { width: 185px; height: 40px; margin: 12px auto 0; }

/* Contact CTA */
.contact-section { position: relative; height: 205px; overflow: hidden; background: linear-gradient(100deg, var(--blue-primary) 0%, var(--blue-accent) 58%, #21A4FF 100%); color: var(--white); }
.contact-section__inner { position: relative; width: min(1340px, calc(100% - 96px)); height: 100%; margin: 0 auto; padding: 28px 0; display: grid; grid-template-columns: 52% 20% 28%; }
.contact-copy .eyebrow, .branches-block p { color: var(--white); }
.contact-copy h2 { margin: 0 0 5px; color: var(--white); font-size: 30px; line-height: 1.05; }
.contact-copy > p:not(.eyebrow) { max-width: 460px; margin: 0; color: var(--white); font-size: 12px; line-height: 1.35; }
.contact-actions { display: flex; gap: 9px; margin-top: 10px; }
.contact-actions a { height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 5px; font-size: 11px; font-weight: 700; }
.contact-actions svg { width: 15px; height: 15px; }
.contact-call { width: 96px; background: var(--blue-deep); color: var(--white); }.contact-whatsapp { width: 111px; background: var(--whatsapp); color: var(--white); }.contact-light { width: 115px; background: var(--white); color: var(--blue-primary); }
.branches-block { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.48); }
.branches-block p { margin: 0 0 6px; font-size: 11px; font-weight: 700; letter-spacing: 1.4px; }
.branches-block a { display: flex; align-items: center; gap: 7px; color: var(--white); font-size: 12px; line-height: 1.65; }
.branches-block svg { width: 14px; height: 14px; }
.contact-script { z-index: 1; margin: 7px 0 0 12px; color: rgba(0, 87, 231, .8); font-family: "Segoe Script", "Bradley Hand", cursive; font-size: 23px; font-style: italic; line-height: 1; transform: rotate(-6deg); }
.roof-lines { position: absolute; right: -20px; bottom: -100px; width: 430px; height: 210px; opacity: .65; background: repeating-linear-gradient(-12deg, transparent 0 20px, rgba(255,255,255,.4) 21px 23px); transform: skewY(-8deg); }

/* Footer */
.site-footer { height: 230px; padding: 28px 0 12px; background: var(--blue-footer); color: var(--white); }
.site-footer__grid, .site-footer__bottom { width: min(1340px, calc(100% - 96px)); margin: 0 auto; }
.site-footer__grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr 1.1fr 1.2fr; gap: 28px; }
.site-footer__grid > div { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.site-footer strong { margin-bottom: 6px; font-size: 11px; }
.site-footer a, .site-footer span, .site-footer p { color: rgba(255,255,255,.92); font-size: 10px; line-height: 1.65; }
.footer-brand img { width: 160px; height: 48px; object-fit: contain; object-position: left center; }
.footer-brand p { margin: 2px 0 0; }
.footer-contact a { display: flex; align-items: center; gap: 8px; }
.footer-contact a svg { width: 14px; height: 14px; }
.footer-social { display: flex !important; flex-direction: row !important; gap: 12px; margin-top: 5px; }
.footer-social a svg { width: 17px; height: 17px; }
.footer-jsw img { width: 145px; height: 50px; margin: 3px 0 0; object-fit: contain; object-position: left center; }
.footer-jsw span { margin-top: 1px; }
.site-footer__bottom { height: 39px; margin-top: 15px; padding-top: 8px; display: flex; align-items: flex-start; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.18); }
.site-footer__bottom span { font-size: 9px; line-height: 1.2; }
.site-footer__bottom svg { width: 13px; height: 13px; vertical-align: -2px; }

/* Subtle entrance effect, disabled for reduced motion. */
.reveal { opacity: 1; transform: none; }
.home-motion-ready .reveal { opacity: 0; transform: translateY(18px); transition: opacity .62s cubic-bezier(.22,1,.36,1), transform .62s cubic-bezier(.22,1,.36,1); }
.home-motion-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { .home-motion-ready .reveal { opacity: 1; transform: none; transition: none; } }

@media (max-width: 1100px) and (min-width: 992px) {
  .main-nav__inner, .utility-bar__inner, .hero-section__inner, .content-shell, .contact-section__inner, .site-footer__grid, .site-footer__bottom { width: calc(100% - 48px); }
  .main-nav__logo { flex-basis: 180px; }.main-nav__logo img { width: 175px; }.main-nav__links { margin-left: 12px; }.main-nav__links > a, .products-trigger { padding-inline: 8px; font-size: 12px; }.main-nav__actions { gap: 10px; }.nav-whatsapp { font-size: 12px; }.mega-menu { left: 190px; width: 760px; }
  .hero-copy { width: 390px; }.hero-copy h1 { font-size: 56px; }.hero-description { width: 360px; }
}

@media (max-width: 991px) {
  .utility-bar__inner, .main-nav__inner, .hero-section__inner, .content-shell, .contact-section__inner, .site-footer__grid, .site-footer__bottom { width: calc(100% - 40px); }
  .utility-contact a:nth-of-type(2), .utility-contact i:nth-of-type(2), .utility-contact a:nth-last-child(-n+3) { display: none; }
  .main-nav__inner { height: 64px; }.main-nav__logo { flex-basis: 180px; }.main-nav__logo img { width: 175px; }
  .main-nav__toggle { display: grid; place-items: center; width: 38px; height: 38px; margin-left: auto; border: 1px solid var(--blue-border); background: var(--white); color: var(--blue-heading); cursor: pointer; }.main-nav__toggle svg { width: 22px; height: 22px; }
  .main-nav__links { position: absolute; top: 64px; right: 0; left: 0; height: auto; margin: 0; padding: 8px 0; display: none; flex-direction: column; align-items: stretch; background: var(--white); box-shadow: var(--shadow-menu); }.main-nav__links.is-open { display: flex; }.main-nav__links > a, .products-trigger { height: 46px; justify-content: flex-start; padding-inline: 20px; }.products-nav-item { display: block; }.products-trigger { width: 100%; }.products-nav-item.is-open .products-trigger { background: var(--blue-light); color: var(--blue-primary); }
  .main-nav__actions { margin-left: 12px; height: 64px; gap: 9px; }.search-button { display: none; }.nav-whatsapp { font-size: 12px; }.nav-whatsapp svg { width: 20px; height: 20px; }.nav-quote { width: 112px; height: 40px; font-size: 12px; }
  .mega-menu { position: static; width: auto; min-height: 0; margin: 0 12px 8px; padding: 14px; grid-template-columns: 1fr; gap: 12px; border: 1px solid var(--blue-border); border-radius: 4px; box-shadow: none; }.mega-menu__column { padding: 0 0 10px; border-right: 0; border-bottom: 1px solid var(--blue-border); }.mega-menu__column:last-of-type { border-bottom: 0; }.mega-menu__promo { display: none; }
  .hero-section { height: auto; min-height: 700px; background-position: 62% center; }.hero-section__inner { min-height: 700px; padding: 105px 0 58px; }.hero-copy { width: min(470px, 75%); }.hero-copy h1 { font-size: 58px; }
  .process-cards { gap: 12px; }.process-card > img { height: 145px; }.process-card__info { gap: 6px; }.process-card__info > b { flex-basis: 28px; width: 28px; height: 28px; font-size: 11px; }.process-card h3 { font-size: 11px; }.process-card p { font-size: 10px; }
  .contact-section { height: auto; min-height: 230px; }.contact-section__inner { padding: 25px 0; grid-template-columns: 55% 45%; }.contact-script { display: none; }.roof-lines { right: -120px; }.site-footer { height: auto; min-height: 330px; padding-bottom: 18px; }.site-footer__grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }.site-footer__bottom { margin-top: 20px; }
}

@media (max-width: 767px) {
  .utility-bar { height: 32px; }.utility-bar__inner { width: calc(100% - 28px); }.utility-contact { display: none; }.utility-location { font-size: 10px; }
  .main-nav__inner, .hero-section__inner, .content-shell, .contact-section__inner, .site-footer__grid, .site-footer__bottom { width: calc(100% - 28px); }.main-nav__logo { flex-basis: 145px; }.main-nav__logo img { width: 142px; height: 48px; }.main-nav__actions { margin-left: auto; }.nav-whatsapp { display: none; }.nav-quote { width: 105px; font-size: 11px; }
  .hero-section { min-height: 690px; background-position: 69% center; background-image: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.84) 55%, rgba(255,255,255,.18) 100%), url("../assets/hero/amaravati-facility-reference.png"); }.hero-section__inner { min-height: 690px; padding-top: 86px; }.hero-copy { width: 100%; }.hero-copy h1 { font-size: 47px; }.hero-description { width: min(390px, 100%); font-size: 14px; }.hero-actions { flex-wrap: wrap; }.hero-trust { flex-wrap: wrap; gap: 12px 18px; }
  .content-shell { padding: 25px 0 18px; }.process-section h2 { font-size: 28px; }.process-cards { grid-template-columns: 1fr; gap: 17px; }.process-card > img { height: 190px; }.process-arrow { display: none; }.capability-row { height: auto; grid-template-columns: repeat(2, 1fr); }.capability-row > div { min-height: 55px; font-size: 10px; }.capability-row > div:last-child { grid-column: 1 / -1; border-top: 1px solid var(--blue-border); }.discover-button { margin-top: 14px; }
  .contact-section__inner { grid-template-columns: 1fr; gap: 20px; }.branches-block { padding: 15px 0 0; border-top: 1px solid rgba(255,255,255,.45); border-left: 0; }.roof-lines { opacity: .35; }.site-footer__grid { grid-template-columns: repeat(2, 1fr); }.footer-brand { grid-column: 1 / -1; }.site-footer__bottom { height: auto; gap: 9px; flex-direction: column; }
}

/* Motion-only polish: entrance, reveal, hover, and focus states. */
@keyframes hero-background-in {
  from { opacity: 1; transform: scale(1); }
  to { opacity: 1; transform: scale(1.02); }
}

@keyframes motion-fade-up {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes motion-fade-left {
  from { opacity: 0; transform: translateX(-18px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes motion-fade-right {
  from { opacity: 0; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes motion-arrow-in {
  from { opacity: 0; transform: translateX(calc(-50% - 5px)); }
  to { opacity: 1; transform: translateX(-50%); }
}

.hero-section {
  background: #d9efff;
}

.hero-section::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 26%, rgba(255,255,255,.45) 48%, rgba(255,255,255,.06) 70%), url("../assets/hero/amaravati-facility-reference.png");
  background-position: center;
  background-size: cover;
  content: "";
  animation: hero-background-in .9s ease-out both;
}

.hero-section__inner {
  z-index: 1;
}

.hero-section.is-visible .hero-section__eyebrow {
  animation: motion-fade-up .6s cubic-bezier(.22,1,.36,1) both;
  animation-delay: .08s;
}

.hero-section.is-visible .hero-section h1 {
  animation: motion-fade-up .6s cubic-bezier(.22,1,.36,1) both;
  animation-delay: .14s;
}

.hero-section.is-visible .hero-section__applications {
  animation: motion-fade-up .6s cubic-bezier(.22,1,.36,1) both;
  animation-delay: .22s;
}

.hero-section.is-visible .hero-section__description {
  animation: motion-fade-up .6s cubic-bezier(.22,1,.36,1) both;
  animation-delay: .31s;
}

.hero-section.is-visible .hero-section__actions a {
  animation: motion-fade-up .6s cubic-bezier(.22,1,.36,1) both;
}

.hero-section.is-visible .hero-section__actions a:nth-child(1) { animation-delay: .4s; }
.hero-section.is-visible .hero-section__actions a:nth-child(2) { animation-delay: .5s; }

.hero-section.is-visible .hero-section__ap-message {
  animation: motion-fade-right .6s cubic-bezier(.22,1,.36,1) both;
}

.hero-section.is-visible .hero-section__ap-message { animation-delay: .2s; }

.hero-section__factory img {
  transform-origin: center center;
  animation: hero-background-in 7.5s cubic-bezier(.22,1,.36,1) both;
  will-change: transform;
}

.process-section.is-visible .content-shell > .eyebrow,
.process-section.is-visible .content-shell > h2,
.process-section.is-visible .content-shell > .process-subtitle {
  animation: motion-fade-up .6s cubic-bezier(.22,1,.36,1) both;
}
.process-section.is-visible .content-shell > .eyebrow { animation-delay: .04s; }
.process-section.is-visible .content-shell > h2 { animation-delay: .1s; }
.process-section.is-visible .content-shell > .process-subtitle { animation-delay: .16s; }

.home-motion-ready .process-card {
  opacity: 0;
  outline: 1px solid transparent;
  transition: transform .22s ease, box-shadow .22s ease, outline-color .22s ease;
}

.process-card:nth-of-type(1) { transform: translateX(-18px); }
.process-card:nth-of-type(2), .process-card:nth-of-type(3) { transform: translateY(18px); }
.process-card:nth-of-type(4) { transform: translateX(18px); }

.process-section.is-visible .process-card {
  animation: motion-fade-up .5s ease both;
}

.process-section.is-visible .process-card:nth-of-type(1) { animation-name: motion-fade-left; animation-delay: .08s; }
.process-section.is-visible .process-card:nth-of-type(2) { animation-delay: .18s; }
.process-section.is-visible .process-card:nth-of-type(3) { animation-delay: .26s; }
.process-section.is-visible .process-card:nth-of-type(4) { animation-name: motion-fade-right; animation-delay: .34s; }

.process-card > img {
  transition: transform .26s ease;
  will-change: transform;
}

.process-card__info > b {
  transition: transform .2s ease, background-color .2s ease;
}

.process-section.is-visible .process-arrow {
  animation: motion-arrow-in .32s ease both;
}

.process-section.is-visible .process-arrow:nth-of-type(1) { animation-delay: .5s; }
.process-section.is-visible .process-arrow:nth-of-type(2) { animation-delay: .58s; }
.process-section.is-visible .process-arrow:nth-of-type(3) { animation-delay: .66s; }

.home-motion-ready .capability-row > div {
  opacity: 0;
  transform: translateY(10px);
  transition: color .18s ease;
}

.process-section.is-visible .capability-row > div {
  animation: motion-fade-up .35s ease both;
}

.process-section.is-visible .capability-row > div:nth-child(1) { animation-delay: .72s; }
.process-section.is-visible .capability-row > div:nth-child(2) { animation-delay: .78s; }
.process-section.is-visible .capability-row > div:nth-child(3) { animation-delay: .84s; }
.process-section.is-visible .capability-row > div:nth-child(4) { animation-delay: .9s; }
.process-section.is-visible .capability-row > div:nth-child(5) { animation-delay: .96s; }

.capability-row svg { transition: transform .18s ease, color .18s ease; }

.discover-button {
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.discover-button svg { transition: transform .2s ease; }

.home-motion-ready .contact-copy,
.home-motion-ready .branches-block,
.home-motion-ready .contact-script,
.home-motion-ready .roof-lines,
.home-motion-ready .contact-actions a {
  opacity: 0;
}

.contact-section.is-visible .contact-copy {
  animation: motion-fade-up .45s ease both;
}

.contact-section.is-visible .contact-actions a {
  animation: motion-fade-up .4s ease both;
}

.contact-section.is-visible .contact-actions a:nth-child(1) { animation-delay: .12s; }
.contact-section.is-visible .contact-actions a:nth-child(2) { animation-delay: .18s; }
.contact-section.is-visible .contact-actions a:nth-child(3) { animation-delay: .24s; }
.contact-section.is-visible .contact-actions a:nth-child(4) { animation-delay: .3s; }

.contact-section.is-visible .branches-block {
  animation: motion-fade-right .45s ease both;
  animation-delay: .16s;
}

.contact-section.is-visible .contact-script {
  animation: motion-fade-up .4s ease both;
  animation-delay: .42s;
}

.contact-section.is-visible .roof-lines {
  animation: motion-fade-right .6s ease both;
  animation-delay: .2s;
}

.contact-light { outline: 1px solid transparent; }

@media (hover: hover) and (pointer: fine) {
  .process-card:hover {
    outline-color: var(--blue-primary);
    box-shadow: 0 10px 26px rgba(0, 87, 231, .10);
    transform: translateY(-5px);
  }

  .process-card:hover > img { transform: scale(1.025); }
  .process-card:hover .process-card__info > b { transform: scale(1.06); background-color: var(--blue-accent); }

  .capability-row > div:hover svg { color: var(--blue-bright); transform: translateY(-2px); }

  .discover-button:hover {
    box-shadow: 0 6px 16px rgba(0, 87, 231, .12);
    transform: translateY(-2px);
  }

  .discover-button:hover svg { transform: translateX(3px); }

  .contact-actions a:hover {
    box-shadow: 0 6px 16px rgba(0, 87, 231, .12);
    transform: translateY(-2px);
  }

  .contact-whatsapp:hover { background: #079947; }
  .contact-light:hover { outline-color: var(--blue-primary); }

  .main-nav__links > a {
    position: relative;
    transition: color .18s ease;
  }

  .main-nav__links > a::after {
    position: absolute;
    right: 14px;
    bottom: 13px;
    left: 14px;
    height: 2px;
    background: var(--blue-primary);
    content: "";
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .18s ease;
  }

  .main-nav__links > a:hover::after { transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-section.is-visible,
  .hero-section.is-visible .hero-section__eyebrow,
  .hero-section.is-visible .hero-section h1,
  .hero-section.is-visible .hero-section__applications,
  .hero-section.is-visible .hero-section__description,
  .hero-section.is-visible .hero-section__actions a,
  .hero-section.is-visible .hero-section__ap-message,
  .process-section.is-visible .process-card,
  .process-section.is-visible .process-arrow,
  .process-section.is-visible .capability-row > div,
  .contact-section.is-visible .contact-copy,
  .contact-section.is-visible .contact-actions a,
  .contact-section.is-visible .branches-block,
  .contact-section.is-visible .contact-script,
  .contact-section.is-visible .roof-lines {
    animation: none;
  }

  .process-card,
  .capability-row > div,
  .contact-copy,
  .branches-block,
  .contact-script,
  .roof-lines,
  .contact-actions a {
    opacity: 1;
    transform: none;
  }

  .process-card > img,
  .process-card__info > b,
  .capability-row svg,
  .discover-button,
  .discover-button svg,
  .contact-actions a,
  .main-nav__links > a::after {
    transition: none;
  }

  .discover-button,
  .discover-button svg,
  .contact-actions a,
  .main-nav__links > a::after {
    transform: none;
  }

  .hero-section::before,
  .hero-section__factory img { animation: none; transform: none; }
}

/* Final Home alignment pass. */
.hero-section { height: 540px; }
.hero-copy { margin-left: 12px; }
.hero-copy h1 { font-size: 61px; font-weight: 800; line-height: .9; letter-spacing: -1.5px; }
.hero-description { max-width: 405px; margin-bottom: 19px; }
.hero-actions { margin-top: 0; }
.hero-actions .button { white-space: nowrap; align-items: center; justify-content: center; border-radius: 5px; }
.button--primary { width: 172px; }
.button--outline { width: 152px; }
.hero-trust { gap: 32px; margin-top: 22px; }
.hero-trust span { font-size: 12px; font-weight: 700; }
.hero-trust svg { width: 28px; height: 28px; }

.hero-script { position: absolute; z-index: 2; top: 188px; right: 48px; color: #0057E7; opacity: .94; font-family: "Segoe Script", "Bradley Hand", cursive; font-size: 23px; font-style: italic; line-height: 1.05; text-align: center; transform: rotate(-5deg); }
.hero-script span { display: block; width: 128px; height: 2px; margin: 10px 0 0 6px; background: #0057E7; transform: rotate(-8deg); }

.content-shell { padding-top: 28px; padding-bottom: 18px; }
.process-section h2 { max-width: 720px; font-size: 33px; line-height: 1; font-weight: 800; }
.process-cards { gap: 16px; }
.process-card > img { height: 153px; border-radius: 5px; object-fit: cover; }
.process-card__info { padding-top: 7px; }
.process-card__info > b { width: 31px; height: 31px; flex-basis: 31px; }
.process-card h3 { min-height: 28px; font-size: 12px; font-weight: 700; line-height: 1.2; }
.process-card p { min-height: 28px; font-size: 11px; line-height: 1.25; }
.process-arrow { width: 20px; height: 20px; color: #0057E7; }
.process-arrow svg { width: 19px; height: 19px; }
.capability-row { height: 59px; }
.capability-row svg { width: 24px; height: 24px; flex-basis: 24px; }
.capability-row > div { font-size: 10.5px; }
.discover-button { display: flex; width: 188px; height: 40px; margin: 12px auto 18px; border-radius: 5px; background: #0057E7; color: #FFFFFF; font-size: 12px; }

.contact-section { height: 205px; }
.contact-section__inner { padding: 27px 0; }
.contact-copy h2 { font-size: 29px; font-weight: 800; }
.contact-copy > p:not(.eyebrow) { max-width: 450px; line-height: 1.4; }
.contact-actions { gap: 9px; }
.contact-actions a { white-space: nowrap; }
.branches-block { padding-left: 24px; }
.contact-script { margin: 2px 0 0 18px; opacity: .85; font-size: 23px; }
.roof-lines { opacity: .55; }

.site-footer { height: 225px; }
.site-footer__grid { gap: 26px; }
.footer-brand img { width: 160px; }
.footer-jsw img { width: 140px; }
.footer-social { gap: 10px; }
.footer-social a svg { width: 18px; height: 18px; }
.site-footer__bottom { height: 38px; margin-top: 10px; }
.site-footer__bottom span { font-size: 9px; }

@media (max-width: 991px) {
  .hero-section { height: auto; min-height: 700px; }
  .hero-copy { margin-left: 0; }
  .hero-script { top: 130px; right: 8%; font-size: 20px; }
}

@media (max-width: 767px) {
  .hero-section { min-height: 690px; }
  .hero-script { top: auto; right: 12px; bottom: 28px; font-size: 18px; }
  .process-card > img { height: 190px; }
  .site-footer { height: auto; min-height: 330px; }
}

/* Small targeted correction pass. */
.discover-button,
.discover-button span,
.discover-button svg,
.discover-button i,
.discover-button::before,
.discover-button::after {
  color: #FFFFFF !important;
}

.discover-button {
  width: 190px;
  min-width: 190px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #0563E8;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  border: none;
  border-radius: 5px;
}

.discover-button svg { stroke: currentColor; fill: none; }
.discover-button:hover { background: #004FC7; transform: translateY(-2px); }

.contact-actions .contact-light {
  min-width: 118px;
  height: 38px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  color: #0563E8 !important;
  -webkit-text-fill-color: #0563E8 !important;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 5px;
  opacity: 1 !important;
  visibility: visible;
  overflow: visible;
  z-index: 2;
  mix-blend-mode: normal;
}

.contact-actions .contact-light:hover { background: #F2F7FF; color: #004FC7 !important; -webkit-text-fill-color: #004FC7 !important; }

.roof-lines {
  z-index: 1;
  right: 0;
  bottom: -2px;
  width: 380px;
  height: 125px;
  opacity: .78;
  pointer-events: none;
  background-image: url("../assets/decorations/contact-roofing.png");
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 380px auto;
  transform: none;
}

.contact-copy,
.branches-block,
.contact-actions,
.contact-script {
  position: relative;
  z-index: 2;
}

.contact-script { right: 0; top: 0; }
.contact-section__inner { padding-top: 29px; padding-bottom: 29px; }
.site-footer { padding-top: 30px; padding-bottom: 14px; }
.site-footer__bottom { margin-top: 20px; height: 38px; }
.footer-jsw img { width: 150px; }

.hero-script { top: 173px; right: 73px; font-size: 21px; }

@media (max-width: 991px) {
  .roof-lines { width: 300px; height: 105px; background-size: 300px auto; }
  .hero-script { top: 120px; right: 9%; font-size: 19px; }
}

@media (max-width: 767px) {
  .roof-lines { display: none; }
  .hero-script { top: auto; right: 12px; bottom: 28px; font-size: 18px; }
  .contact-actions .contact-light { min-width: 0; }
}

/* Targeted final reference alignment. */
.hero-section::before { background-position: center right; }

.content-shell { padding-top: 30px; padding-bottom: 30px; }
.process-section .eyebrow { margin-bottom: 7px; }
.process-subtitle { margin: 6px 0 18px; }
.process-card__info { padding-top: 8px; }
.capability-row { height: 64px; margin-top: 18px; }
.capability-row svg { width: 24px; height: 24px; flex-basis: 24px; }
.discover-button { margin-top: 14px; margin-bottom: 20px; }

.contact-section { height: 220px; }
.contact-section__inner { padding: 29px 0; }
.contact-copy h2 { margin-bottom: 8px; }
.contact-copy > p:not(.eyebrow) { margin-bottom: 16px; }
.contact-actions { margin-top: 0; }
.contact-actions .contact-light {
  height: 38px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 5px;
  background: #FFFFFF;
  color: #0057E7 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  overflow: visible;
  white-space: nowrap;
  -webkit-text-fill-color: #0057E7;
  mix-blend-mode: normal;
}

.roof-lines {
  right: 0;
  bottom: 0;
  width: 390px;
  height: 115px;
  opacity: .65;
  background: url("../assets/decorations/contact-roofing.png") right bottom / 390px auto no-repeat;
  transform: none;
}

.contact-section.is-visible .roof-lines {
  animation: motion-fade-right .6s ease;
  opacity: .65;
}

.site-footer { height: 238px; padding: 30px 0 12px; }
.site-footer__grid { grid-template-columns: 1.15fr .8fr .8fr 1.15fr 1.25fr; gap: 30px; }
.footer-brand p { margin-top: 8px; font-size: 10px; }
.footer-jsw img { width: 145px; }
.site-footer__bottom { margin-top: 18px; height: 38px; }

@media (max-width: 991px) {
  .roof-lines { width: 310px; height: 105px; background-size: 310px auto; }
}

@media (max-width: 767px) {
  .hero-section::before { background-position: 69% center; }
  .contact-section { height: auto; min-height: 250px; }
  .contact-section__inner { padding: 29px 0; }
  .roof-lines { display: none; }
  .site-footer { height: auto; min-height: 330px; }
}
.hero-script { top: 155px; right: 105px; font-size: 19px; }
.roof-lines { opacity: .68; }
.contact-section.is-visible .roof-lines { opacity: .68; }

.nav-quote,
.nav-quote:hover,
.nav-quote:focus-visible,
.nav-quote svg,
.nav-quote::before,
.nav-quote::after {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF;
}

.nav-quote svg { stroke: currentColor; fill: none; }

@media (max-width: 991px) {
  .hero-script { top: 102px; right: 12%; font-size: 18px; }
}

@media (max-width: 767px) {
  .hero-script { top: auto; right: 12px; bottom: 28px; font-size: 18px; }
}

/* Home hero rebuild: scoped only to the Home hero section. */
.home-page .hero-section { position:relative; isolation:isolate; display:grid; grid-template-columns:57% 43%; min-height:calc(100vh - 100px); height:680px; overflow:hidden; background:#f4faff; }
.home-page .hero-section::before { display:none; }
.home-page .hero-section__factory { position:relative; min-width:0; overflow:hidden; }
.home-page .hero-section__factory::after { position:absolute; z-index:1; inset:0 -1px 0 auto; width:38%; background:linear-gradient(90deg,transparent 0%,rgba(244,250,255,.13) 25%,rgba(244,250,255,.72) 72%,#f4faff 100%); content:""; pointer-events:none; }
.home-page .hero-section__factory img { display:block; width:100%; height:100%; object-fit:cover; object-position:68% center; }
.home-page .hero-section__factory-copy { position:absolute; z-index:2; top:82px; left:clamp(28px,5vw,76px); color:#fff; font-size:clamp(17px,1.35vw,22px); font-weight:700; line-height:1.18; text-shadow:0 1px 4px rgba(0,39,91,.25); }
.home-page .hero-section__factory-copy span { display:block; width:58px; height:3px; margin-top:16px; background:#e52d2d; }
.home-page .hero-section__content { position:relative; min-width:0; overflow:hidden; background:linear-gradient(125deg,#f4faff 0%,#fff 58%,#eef8ff 100%); }
.home-page .hero-section__content::after { position:absolute; right:-12%; bottom:-8%; width:84%; height:26%; background:linear-gradient(160deg,transparent 0 35%,rgba(202,231,255,.42) 36% 38%,transparent 39% 52%,rgba(202,231,255,.28) 53% 56%,transparent 57%); content:""; pointer-events:none; }
.home-page .hero-section__content-inner { position:relative; z-index:2; width:min(760px,100%); padding:94px clamp(34px,4.3vw,78px) 40px clamp(32px,4vw,68px); }
.home-page .hero-section__eyebrow { margin:0 0 28px; color:#084fe2; font-size:clamp(11px,1vw,16px); font-weight:800; letter-spacing:clamp(3px,.45vw,7px); line-height:1.2; white-space:nowrap; }
.home-page .hero-section__headline-row { display:flex; align-items:flex-start; gap:20px; }
.home-page .hero-section h1 { flex:0 1 auto; margin:0; color:#082c6e; font-size:clamp(54px,5.55vw,100px); font-weight:900; letter-spacing:-4px; line-height:.82; }
.home-page .hero-section h1 span,.home-page .hero-section h1 em { display:block; font-style:normal; }
.home-page .hero-section h1 em { color:#075eea; }
.home-page .hero-section__ap-message { display:flex; flex:0 0 min(220px,29%); flex-direction:column; align-items:center; margin-top:-22px; }
.home-page .hero-section__ap-message img { display:block; width:100%; height:150px; object-fit:contain; opacity:.62; filter:saturate(1.25) hue-rotate(5deg); }
.home-page .hero-section__ap-message p { align-self:flex-end; margin:-20px 0 0; color:#082c6e; font-size:clamp(14px,1.15vw,21px); font-weight:700; line-height:1.15; }
.home-page .hero-section__ap-message p span { display:block; width:52px; height:3px; margin-top:12px; background:#ed3030; }
.home-page .hero-section__applications { display:grid; grid-template-columns:repeat(4,auto); align-items:center; justify-content:space-between; gap:14px; margin-top:34px; color:#082c6e; font-size:clamp(11px,1vw,17px); font-weight:700; white-space:nowrap; }
.home-page .hero-section__applications span { display:inline-flex; align-items:center; gap:9px; }
.home-page .hero-section__applications svg { width:34px; height:34px; color:#064fd4; stroke-width:1.7; }
.home-page .hero-section__description { margin:28px 0 0; color:#555; font-size:clamp(15px,1.35vw,23px); line-height:1.35; }
.home-page .hero-section__actions { display:flex; gap:18px; margin-top:28px; }
.home-page .hero-section__button { display:inline-flex; width:255px; height:62px; align-items:center; justify-content:center; gap:12px; border-radius:10px; font-size:clamp(15px,1.2vw,21px); font-weight:700; }
.home-page .hero-section__button svg { width:25px; height:25px; }
.home-page .hero-section__button--primary { background:#075eea; color:#fff; }
.home-page .hero-section__button--outline { border:2px solid #075eea; background:rgba(255,255,255,.8); color:#075eea; }
.home-page .hero-section__roof-decoration { position:absolute; z-index:1; right:-8%; bottom:-3%; width:49%; height:auto; opacity:.95; pointer-events:none; }

@media (max-width:1250px) and (min-width:768px) {
  .home-page .hero-section { grid-template-columns:53% 47%; }
  .home-page .hero-section__content-inner { padding-top:68px; padding-left:34px; padding-right:30px; }
  .home-page .hero-section h1 { font-size:clamp(48px,5.2vw,72px); letter-spacing:-3px; }
  .home-page .hero-section__ap-message { flex-basis:175px; }
  .home-page .hero-section__applications { gap:7px; }
  .home-page .hero-section__applications svg { width:28px; height:28px; }
  .home-page .hero-section__button { width:205px; }
}

@media (max-width:767px) {
  .home-page .hero-section { display:block; height:auto; min-height:0; background:#f4faff; }
  .home-page .hero-section__factory { height:360px; }
  .home-page .hero-section__factory::after { inset:auto 0 0; width:100%; height:34%; background:linear-gradient(0deg,#f4faff 0%,rgba(244,250,255,.7) 42%,transparent 100%); }
  .home-page .hero-section__factory-copy { top:30px; left:24px; font-size:17px; }
  .home-page .hero-section__content-inner { padding:35px 24px 100px; }
  .home-page .hero-section__eyebrow { margin-bottom:20px; font-size:11px; letter-spacing:2.8px; white-space:normal; }
  .home-page .hero-section__headline-row { display:block; }
  .home-page .hero-section h1 { font-size:clamp(54px,15vw,78px); letter-spacing:-3px; }
  .home-page .hero-section__ap-message { position:absolute; top:30px; right:15px; width:145px; margin:0; }
  .home-page .hero-section__ap-message img { height:115px; }
  .home-page .hero-section__ap-message p { margin:-8px 0 0; font-size:13px; }
  .home-page .hero-section__applications { grid-template-columns:repeat(2,auto); justify-content:start; gap:16px 24px; margin-top:32px; font-size:13px; }
  .home-page .hero-section__applications svg { width:28px; height:28px; }
  .home-page .hero-section__description { margin-top:25px; font-size:16px; }
  .home-page .hero-section__desktop-break { display:none; }
  .home-page .hero-section__actions { flex-direction:column; gap:12px; margin-top:23px; }
  .home-page .hero-section__button { width:min(100%,300px); height:54px; font-size:16px; }
  .home-page .hero-section__roof-decoration { right:-20%; bottom:-3%; width:72%; opacity:.75; }
}

/*
  Obsolete Home-only overrides retained below for history only. The active Home
  layout is consolidated in css/home-hero.css, which is loaded after this file.
*/
/*
Final Home-only visual polish: reduce scale and excess vertical space.
.home-page .hero-section { height:630px; min-height:calc(100vh - 100px); }
.home-page .hero-section__content-inner { width:min(700px,100%); padding-top:82px; }
.home-page .hero-section__eyebrow { margin-bottom:25px; letter-spacing:clamp(2.5px,.34vw,5px); }
.home-page .hero-section__factory-copy { font-size:clamp(16px,1.2vw,20px); }
.home-page .hero-section h1 { font-size:clamp(50px,4.85vw,88px); line-height:.91; }
.home-page .hero-section__ap-message { flex-basis:min(200px,28%); margin-top:-18px; }
.home-page .hero-section__ap-message img { height:138px; }
.home-page .hero-section__ap-message p { font-size:clamp(13px,1.05vw,19px); }
.home-page .hero-section__applications { gap:10px; margin-top:29px; font-size:clamp(10px,.9vw,15px); }
.home-page .hero-section__applications svg { width:30px; height:30px; }
.home-page .hero-section__description { margin-top:24px; font-size:clamp(14px,1.2vw,20px); line-height:1.38; }
.home-page .hero-section__actions { margin-top:24px; }
.home-page .hero-section__button { width:238px; height:56px; padding-inline:14px; }

.home-page .content-shell { padding-top:20px; padding-bottom:22px; }
.home-page .process-section .eyebrow { margin-bottom:6px; }
.home-page .process-section h2 { font-size:30px; }
.home-page .process-subtitle { margin:5px 0 16px; font-size:12px; color:#667887; }
.home-page .process-cards { gap:16px; }
.home-page .process-card > img { height:138px; border-radius:9px; }
.home-page .process-card__info { gap:8px; padding-top:6px; }
.home-page .process-card__info > b { width:28px; height:28px; flex-basis:28px; font-size:11px; }
.home-page .process-card h3 { min-height:25px; margin:2px 0 2px; font-size:11px; }
.home-page .process-card p { min-height:27px; font-size:10px; line-height:1.24; }
.home-page .process-arrow { top:59px; }
.home-page .capability-row { height:56px; margin-top:16px; }
.home-page .capability-row > div { gap:8px; font-size:10px; }
.home-page .capability-row svg { width:22px; height:22px; flex-basis:22px; }
.home-page .discover-button { height:37px; min-height:37px; margin-top:18px; margin-bottom:12px; }

.home-page .contact-section { height:195px; }
.home-page .contact-section__inner { padding-top:24px; padding-bottom:24px; }
.home-page .contact-copy .eyebrow,.home-page .branches-block p { font-size:10px; }
.home-page .contact-copy h2 { margin-bottom:6px; font-size:27px; }
.home-page .contact-copy > p:not(.eyebrow) { margin-bottom:12px; font-size:11px; }
.home-page .contact-actions a { height:34px; font-size:10px; }
.home-page .branches-block { padding-left:22px; }
.home-page .branches-block a { gap:6px; font-size:11px; line-height:1.5; }
.home-page .branches-block svg { width:13px; height:13px; }
.home-page .contact-script { opacity:.95; font-size:22px; }

.home-page .site-footer { height:210px; padding-top:26px; padding-bottom:10px; }
.home-page .site-footer__grid { gap:24px; }
.home-page .site-footer a,.home-page .site-footer span,.home-page .site-footer p { font-size:11px; }
.home-page .site-footer__bottom { height:34px; margin-top:14px; padding-top:7px; }
.home-page .site-footer__bottom span { font-size:10px; }
.home-page .footer-brand img { align-self:flex-start; }

@media (max-width:1250px) and (min-width:768px) {
  .home-page .hero-section { height:590px; }
  .home-page .hero-section__content-inner { padding-top:60px; }
  .home-page .hero-section h1 { font-size:clamp(45px,4.5vw,66px); }
  .home-page .hero-section__ap-message { flex-basis:160px; }
  .home-page .hero-section__ap-message img { height:120px; }
  .home-page .hero-section__button { width:190px; height:53px; }
}

@media (max-width:767px) {
  .home-page .hero-section { height:auto; }
  .home-page .hero-section__content-inner { width:100%; padding-top:35px; }
  .home-page .hero-section h1 { font-size:clamp(52px,14vw,72px); line-height:.9; }
  .home-page .hero-section__applications { gap:14px 20px; font-size:12px; }
  .home-page .hero-section__applications svg { width:27px; height:27px; }
  .home-page .hero-section__description { font-size:15px; }
  .home-page .hero-section__button { height:52px; }
  .home-page .content-shell { padding-top:18px; padding-bottom:18px; }
  .home-page .process-section h2 { font-size:27px; }
  .home-page .process-card > img { height:175px; }
  .home-page .capability-row { height:auto; }
  .home-page .discover-button { height:38px; }
  .home-page .contact-section { height:auto; min-height:225px; }
  .home-page .site-footer { height:auto; min-height:305px; padding-top:24px; }
}

/* Reference correction pass: Home-only floating navigation and final scale. */
@media (min-width:992px) {
  .home-page .main-nav { position:absolute; top:36px; right:0; left:0; z-index:50; height:86px; background:transparent; border:0; box-shadow:none; }
  .home-page .main-nav__inner { width:min(1700px,calc(100% - 96px)); height:86px; }
  .home-page .main-nav__inner::before { position:absolute; z-index:0; top:10px; right:0; left:31%; height:64px; border-radius:34px; background:#fff; box-shadow:0 8px 24px rgba(0,59,115,.16); content:""; }
  .home-page .main-nav__logo,.home-page .main-nav__links,.home-page .main-nav__actions { position:relative; z-index:1; }
  .home-page .main-nav__logo { flex-basis:230px; height:86px; }
  .home-page .main-nav__logo img { width:215px; height:54px; }
  .home-page .main-nav__links { height:64px; margin-left:auto; gap:0; align-items:center; }
  .home-page .main-nav__links > a { height:46px; padding:0 15px; border-radius:24px; font-size:16px; font-weight:700; }
  .home-page .main-nav__links > a:first-child { width:90px; background:#075eea; color:#fff; }
  .home-page .main-nav__links > a:first-child::after { display:none; }
  .home-page .main-nav__actions { height:64px; gap:18px; }
  .home-page .search-button { height:30px; padding-left:16px; }
  .home-page .nav-whatsapp { font-size:16px; }
  .home-page .nav-whatsapp svg { width:24px; height:24px; }
  .home-page .nav-quote { width:155px; height:48px; border-radius:25px; font-size:16px; }

  .home-page .hero-section { height:740px; min-height:740px; }
  .home-page .hero-section__factory img { object-position:center center; }
  .home-page .hero-section__factory::after { width:46%; background:linear-gradient(90deg,transparent 0%,rgba(244,250,255,.08) 18%,rgba(244,250,255,.56) 67%,#f4faff 100%); }
  .home-page .hero-section__factory-copy { top:94px; left:52px; font-size:19px; line-height:1.2; }
  .home-page .hero-section__content-inner { width:min(680px,100%); padding-top:122px; padding-left:48px; padding-right:28px; }
  .home-page .hero-section__eyebrow { margin-bottom:25px; font-size:15px; letter-spacing:5px; }
  .home-page .hero-section h1 { max-width:440px; font-size:82px; line-height:.89; letter-spacing:-3.5px; }
  .home-page .hero-section__ap-message { flex-basis:190px; margin-top:-18px; }
  .home-page .hero-section__ap-message img { height:190px; }
  .home-page .hero-section__ap-message p { margin:-18px 0 0; font-size:18px; }
  .home-page .hero-section__applications { justify-content:flex-start; gap:34px; margin-top:30px; font-size:16px; }
  .home-page .hero-section__applications svg { width:31px; height:31px; }
  .home-page .hero-section__description { max-width:570px; margin-top:25px; font-size:19px; line-height:1.4; }
  .home-page .hero-section__actions { gap:20px; margin-top:25px; }
  .home-page .hero-section__button { height:55px; border-radius:12px; font-size:17px; }
  .home-page .hero-section__button--primary { width:240px; }
  .home-page .hero-section__button--outline { width:225px; }
  .home-page .hero-section__roof-decoration { right:-10%; bottom:-4%; width:54%; }

  .home-page .content-shell { padding-top:28px; padding-bottom:20px; }
  .home-page .process-section h2 { font-size:36px; }
  .home-page .process-subtitle { margin:6px 0 18px; font-size:14px; }
  .home-page .process-card > img { height:165px; }
  .home-page .process-card__info > b { width:36px; height:36px; flex-basis:36px; font-size:13px; }
  .home-page .process-card h3 { min-height:30px; font-size:16px; }
  .home-page .process-card p { min-height:34px; font-size:13px; line-height:1.3; }
  .home-page .capability-row { height:54px; margin-top:18px; }
  .home-page .capability-row > div { font-size:13px; }
  .home-page .capability-row svg { width:24px; height:24px; flex-basis:24px; }
  .home-page .discover-button { height:48px; min-height:48px; margin-top:20px; font-size:15px; }
  .home-page .contact-section { height:185px; }
  .home-page .contact-section__inner { padding-top:23px; padding-bottom:23px; }
  .home-page .contact-copy .eyebrow,.home-page .branches-block p { font-size:12px; }
  .home-page .contact-copy h2 { font-size:36px; }
  .home-page .contact-copy > p:not(.eyebrow) { font-size:15px; }
  .home-page .contact-actions a { height:44px; font-size:14px; }
  .home-page .branches-block a { font-size:14px; line-height:1.45; }
  .home-page .site-footer { height:198px; padding-top:24px; padding-bottom:9px; }
  .home-page .site-footer a,.home-page .site-footer span,.home-page .site-footer p { font-size:13px; }
  .home-page .site-footer__bottom { margin-top:12px; padding-top:6px; }
  .home-page .site-footer__bottom span { font-size:12px; }
}

@media (min-width:992px) and (max-width:1250px) {
  .home-page .main-nav__inner { width:calc(100% - 48px); }
  .home-page .main-nav__inner::before { left:24%; }
  .home-page .main-nav__logo { flex-basis:185px; }
  .home-page .main-nav__logo img { width:175px; }
  .home-page .main-nav__links > a { padding-inline:8px; font-size:13px; }
  .home-page .main-nav__actions { gap:9px; }
  .home-page .nav-whatsapp { font-size:13px; }
  .home-page .nav-quote { width:125px; font-size:13px; }
  .home-page .hero-section { height:650px; min-height:650px; }
  .home-page .hero-section__content-inner { padding-top:96px; padding-left:30px; }
  .home-page .hero-section h1 { font-size:clamp(58px,5vw,72px); }
  .home-page .hero-section__ap-message { flex-basis:155px; }
  .home-page .hero-section__ap-message img { height:155px; }
  .home-page .hero-section__applications { gap:16px; font-size:13px; }
  .home-page .hero-section__applications svg { width:27px; height:27px; }
  .home-page .hero-section__description { font-size:17px; }
  .home-page .hero-section__button { height:52px; font-size:15px; }
  .home-page .hero-section__button--primary { width:210px; }
  .home-page .hero-section__button--outline { width:195px; }
}

/* Keep the verified local factory image available as the panel background fallback. */
.home-page .hero-section__factory {
  background: #bfe2f8 url("../assets/hero/amaravati-facility-reference.png") center center / cover no-repeat;
}

/* Second-reference target: full-screen Home hero composition. */
@media (min-width:1260px) {
  .home-page .utility-bar { display:none; }
  .home-page .main-nav { top:0; height:112px; }
  .home-page .main-nav__inner { width:min(1840px,calc(100% - 72px)); height:112px; }
  .home-page .main-nav__inner::before { top:20px; left:34%; height:78px; border-radius:39px; box-shadow:0 10px 28px rgba(0,59,115,.17); }
  .home-page .main-nav__logo { flex-basis:420px; height:112px; }
  .home-page .main-nav__logo img { width:400px; height:96px; }
  .home-page .main-nav__links { height:78px; }
  .home-page .main-nav__links > a { height:56px; padding-inline:17px; font-size:16px; }
  .home-page .main-nav__links > a:first-child { width:105px; }
  .home-page .main-nav__actions { height:78px; gap:22px; }
  .home-page .search-button { width:40px; height:34px; }
  .home-page .search-button svg { width:23px; height:23px; }
  .home-page .nav-whatsapp { font-size:17px; }
  .home-page .nav-whatsapp svg { width:25px; height:25px; }
  .home-page .nav-quote { width:170px; height:56px; border-radius:28px; font-size:16px; }

  .home-page .hero-section { height:min(900px,100vh); min-height:820px; grid-template-columns:57% 43%; }
  .home-page .hero-section__factory img { object-position:center center; }
  .home-page .hero-section__factory-copy { top:150px; left:58px; font-size:24px; line-height:1.18; }
  .home-page .hero-section__factory-copy span { width:68px; height:4px; margin-top:18px; }
  .home-page .hero-section__factory::after { width:44%; background:linear-gradient(90deg,transparent 0%,rgba(244,250,255,.1) 18%,rgba(244,250,255,.62) 68%,#f4faff 100%); }
  .home-page .hero-section__content-inner { width:min(820px,100%); padding:178px 40px 45px 54px; }
  .home-page .hero-section__eyebrow { margin-bottom:31px; font-size:16px; letter-spacing:6px; }
  .home-page .hero-section__headline-row { gap:28px; }
  .home-page .hero-section h1 { max-width:480px; font-size:96px; line-height:.9; letter-spacing:-4px; }
  .home-page .hero-section__ap-message { flex-basis:250px; margin-top:-22px; }
  .home-page .hero-section__ap-message img { height:250px; }
  .home-page .hero-section__ap-message p { margin:-25px 0 0; font-size:24px; line-height:1.15; }
  .home-page .hero-section__ap-message p span { width:60px; height:3px; margin-top:15px; }
  .home-page .hero-section__applications { gap:44px; margin-top:38px; font-size:18px; }
  .home-page .hero-section__applications svg { width:38px; height:38px; }
  .home-page .hero-section__description { max-width:630px; margin-top:31px; font-size:23px; line-height:1.4; }
  .home-page .hero-section__actions { gap:25px; margin-top:30px; }
  .home-page .hero-section__button { height:64px; border-radius:12px; font-size:20px; }
  .home-page .hero-section__button--primary { width:290px; }
  .home-page .hero-section__button--outline { width:265px; }
  .home-page .hero-section__roof-decoration { right:-12%; bottom:-5%; width:61%; }
}

@media (min-width:992px) and (max-width:1259px) {
  .home-page .hero-section { height:820px; min-height:820px; }
}
*/
