body[data-page="home"] { background: #fff; color: #34465a; }
body[data-page="home"] main { overflow: hidden; }
body[data-page="home"] .reveal { opacity: 1; transform: none; }
.text-link, .home-text-link { color: var(--color-title-navy); font-weight: 800; }
.text-link:hover, .home-text-link:hover { color: var(--color-brand-red); }
.home-block { padding-block: clamp(3.5rem, 6vw, 6.2rem); }
.home-kicker { margin-bottom: .35rem; color: var(--color-brand-red); font-size: .74rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.home-kicker--light { color: #fff; opacity: .82; }
.home-heading { display: flex; gap: 2rem; align-items: end; margin-bottom: 2rem; }
.home-heading > div { flex: 0 1 42rem; }
.home-heading h2 { margin-bottom: .35rem; color: var(--color-title-navy); font-size: clamp(2rem, 3vw, 3.1rem); font-weight: 900; }
.home-heading p:last-child { max-width: 42rem; margin: 0; color: #718096; }
.home-heading > p { flex: 1; padding-bottom: .5rem; }
.home-heading--action { justify-content: space-between; }
.home-heading--action .home-text-link, .home-outline-link { flex: 0 0 auto; align-self: center; }
.home-outline-link { padding: .55rem 1rem; border: 1px solid var(--color-brand-red); color: var(--color-brand-red); font-weight: 800; }
.home-outline-link:hover { background: var(--color-brand-red); color: #fff; }

.home-hero { position: relative; min-height: clamp(34rem, 50vw, 47rem); background: var(--color-navy-deep); color: #fff; overflow: hidden; }
.home-hero__media, .home-hero__shade { position: absolute; inset: 0; }
.home-hero__image { width: 100%; height: 100%; object-fit: cover; }
.home-hero__shade { background: linear-gradient(90deg, rgba(3,31,59,.98) 0%, rgba(4,43,80,.9) 39%, rgba(4,37,68,.34) 69%, rgba(4,31,57,.04) 100%); }
.home-hero__content { position: relative; z-index: 1; display: flex; min-height: clamp(34rem, 50vw, 47rem); flex-direction: column; justify-content: center; align-items: flex-start; padding-block: 4.5rem 3.5rem; }
.home-hero__eyebrow { margin-bottom: .8rem; font-size: .95rem; font-weight: 800; letter-spacing: .08em; }
.home-hero h1 { max-width: 11em; margin-bottom: 1rem; color: #fff; font-size: clamp(3rem, 5vw, 4.6rem); font-weight: 900; letter-spacing: -.055em; }
.home-hero__description { max-width: 33rem; color: #dce7f1; font-size: clamp(1rem, 1.5vw, 1.28rem); line-height: 1.75; }
.home-hero__actions { display: flex; gap: .85rem; margin-top: .5rem; }
.home-button--light { border-color: rgba(255,255,255,.8); color: #fff; }
.home-button--light:hover { background: #fff; color: var(--color-navy); }
.home-hero__strengths { display: flex; gap: 0; margin: 2.4rem 0 0; padding: 0; list-style: none; }
.home-hero__strengths li { padding: 0 1.4rem; border-right: 1px solid rgba(255,255,255,.35); font-size: .92rem; font-weight: 700; }
.home-hero__strengths li:first-child { padding-left: 0; }
.home-hero__strengths li:last-child { border: 0; }

.home-finder { position: relative; z-index: 2; margin-top: -1.5rem; padding: 1.4rem 1.6rem 1.55rem; background: #fff; box-shadow: 0 16px 40px rgba(8,39,70,.13); }
.home-finder__title { display: flex; gap: .75rem; align-items: baseline; margin-bottom: .9rem; }
.home-finder__title > span { width: 4px; height: 1.55rem; align-self: center; background: var(--color-brand-red); }
.home-finder__title h2 { margin: 0; color: var(--color-title-navy); font-size: 1.5rem; }
.home-finder__title p { margin: 0; color: #718096; font-size: .83rem; }
.home-finder__form { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)) auto; gap: .8rem; align-items: end; }
.home-finder__form label { display: grid; gap: .35rem; color: var(--color-title-navy); font-size: .78rem; font-weight: 800; }
.home-finder__form select { width: 100%; min-height: 2.85rem; padding: .55rem .7rem; border: 1px solid #d9e2eb; background: #fff; color: #718096; }
.home-finder__form .button { min-height: 2.85rem; padding-inline: 1.3rem; }

.home-core { padding-top: clamp(3rem, 5vw, 5rem); }
.home-core__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem; }
.home-product-card { display: grid; grid-template-columns: 43% 1fr; border: 1px solid #e4ebf1; background: #fff; box-shadow: 0 10px 30px rgba(8,39,70,.05); }
.home-product-card__image { min-height: 23rem; overflow: hidden; background: #dce6ed; }
.home-product-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.home-product-card:hover .home-product-card__image img { transform: scale(1.025); }
.home-product-card__body { display: flex; flex-direction: column; padding: 1.5rem; }
.home-product-card h3 { margin-bottom: 1rem; color: var(--color-title-navy); font-size: 1.35rem; }
.home-product-card dl { display: grid; gap: .4rem; margin: 0; }
.home-product-card dl div { display: grid; grid-template-columns: 5.2rem 1fr; gap: .5rem; font-size: .82rem; }
.home-product-card dt { color: #718096; }
.home-product-card dd { margin: 0; color: var(--color-title-navy); font-weight: 700; }
.home-product-card__actions { display: flex; gap: .65rem; margin-top: auto; padding-top: 1rem; }
.home-product-card__actions > a:first-child { display: inline-flex; min-height: 3.25rem; flex: 1; align-items: center; justify-content: center; background: #edf4f8; color: var(--color-title-navy); font-weight: 800; }
.home-product-card__actions .button { flex: 1; padding-inline: .7rem; }

.home-parameters { position: relative; overflow: hidden; background: linear-gradient(110deg, #073b72, #041e38); color: #fff; }
.home-parameters__layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(22rem,.65fr); min-height: 31rem; }
.home-parameters__copy { position: relative; z-index: 1; padding-block: clamp(3rem, 5vw, 5rem); }
.home-parameters h2 { margin-bottom: .5rem; color: #fff; font-size: clamp(2rem, 3.2vw, 3.3rem); }
.home-parameters__copy > p { color: #c7d8e7; }
.home-table-wrap { max-width: 50rem; overflow-x: auto; }
.home-parameters table { width: 100%; border-collapse: collapse; background: rgba(255,255,255,.97); color: var(--color-title-navy); font-size: .8rem; text-align: center; }
.home-parameters th { padding: .65rem .45rem; background: #0b4d89; color: #fff; font-weight: 700; }
.home-parameters td { padding: .6rem .45rem; border: 1px solid #dce6ee; }
.home-parameters small { display: block; max-width: 50rem; margin: .75rem 0 1rem; color: #b9cada; font-size: .74rem; }
.home-parameters__media { position: absolute; right: 0; top: 0; width: 44%; height: 100%; }
.home-parameters__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #073b72 0%, rgba(7,59,114,.3) 45%, transparent 100%); }
.home-parameters__media img { width: 100%; height: 100%; object-fit: cover; }

.home-manufacturing__grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr; gap: 1rem; }
.home-manufacturing__item { position: relative; min-height: 25rem; margin: 0; overflow: hidden; background: #dce6ed; }
.home-manufacturing__item img { width: 100%; height: 100%; object-fit: cover; }
.home-manufacturing__item figcaption { position: absolute; inset: auto 0 0; display: grid; padding: 3.5rem 1.3rem 1.2rem; background: linear-gradient(transparent, rgba(3,34,64,.9)); color: #fff; }
.home-manufacturing__item figcaption strong { font-size: 1.05rem; }
.home-manufacturing__item figcaption span { color: #dce7f0; font-size: .8rem; }

.home-process { padding-block: clamp(3.5rem, 6vw, 5.5rem); background: #f2f7fa; }
.home-process__steps { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.home-process__steps li { position: relative; display: grid; justify-items: center; gap: .5rem; padding: 0 .75rem; text-align: center; }
.home-process__steps li:not(:last-child)::after { content: ""; position: absolute; top: 1.25rem; left: calc(50% + 1.6rem); width: calc(100% - 3.2rem); border-top: 1px solid #b9c9d8; }
.home-process__steps li > span { position: relative; z-index: 1; display: grid; width: 2.55rem; height: 2.55rem; place-items: center; border: 1px solid #c7d7e5; border-radius: 50%; background: #fff; color: var(--color-brand-red); font-weight: 900; }
.home-process__steps strong { color: var(--color-title-navy); font-size: .88rem; }
.home-process__steps small { color: #718096; font-size: .72rem; line-height: 1.5; }

.home-trace__layout { display: grid; grid-template-columns: minmax(20rem,.78fr) minmax(0,1.22fr); gap: 2rem; }
.home-trace__media { position: relative; min-height: 24rem; overflow: hidden; }
.home-trace__media img { width: 100%; height: 100%; object-fit: cover; }
.home-trace__media span { position: absolute; left: 1rem; bottom: 1rem; padding: .5rem .8rem; background: rgba(4,37,69,.9); color: #fff; font-size: .8rem; font-weight: 700; }
.home-trace__content ol { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.home-trace__content li { display: flex; gap: .8rem; min-height: 7rem; padding: 1.1rem; background: #f2f7fa; }
.home-trace__content li > span { color: var(--color-brand-red); font-size: 1.2rem; font-weight: 900; }
.home-trace__content li div { display: grid; align-content: start; }
.home-trace__content strong { color: var(--color-title-navy); }
.home-trace__content small { color: #718096; }
.home-trace__actions { display: flex; gap: .75rem; margin-top: 1.3rem; }
.home-button--navy-outline { border-color: var(--color-navy); color: var(--color-navy); }
.home-button--navy-outline:hover { background: var(--color-navy); color: #fff; }

.home-applications__grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .8rem; }
.home-application { position: relative; min-height: 15.5rem; overflow: hidden; background: #082746; color: #fff; }
.home-application img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.home-application:hover img { transform: scale(1.03); }
.home-application > span { position: absolute; inset: auto 0 0; display: grid; padding: 3.2rem .85rem .85rem; background: linear-gradient(transparent, rgba(3,32,59,.94)); }
.home-application strong { font-size: .98rem; }
.home-application small { color: #d7e3ed; font-size: .7rem; line-height: 1.45; }

.home-delivery { padding-block: clamp(3.5rem, 6vw, 5.5rem); background: #f2f7fa; }
.home-delivery__layout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 1rem; }
.home-delivery__media { min-height: 25rem; }
.home-delivery__media img { width: 100%; height: 100%; object-fit: cover; }
.home-delivery__items { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }
.home-delivery__items article { padding: 1.35rem 1rem; background: #fff; }
.home-delivery__items span { color: var(--color-brand-red); font-size: 1.4rem; font-weight: 900; }
.home-delivery__items h3 { margin: .7rem 0 .5rem; color: var(--color-title-navy); font-size: 1rem; }
.home-delivery__items p { margin: 0; color: #718096; font-size: .78rem; }

.home-cases__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.home-case { position: relative; min-height: 19rem; margin: 0; overflow: hidden; background: #082746; }
.home-case img { width: 100%; height: 100%; object-fit: cover; }
.home-case figcaption { position: absolute; inset: auto 0 0; display: grid; padding: 3rem 1.1rem 1rem; background: linear-gradient(transparent, rgba(3,32,59,.92)); color: #fff; }
.home-case small { color: #d8e4ed; }
.home-cases__note { margin: .9rem 0 0; color: #718096; font-size: .75rem; }

.home-inquiry { padding-block: clamp(3.5rem,6vw,5.5rem); background: linear-gradient(105deg,#062b50,#08477d); color: #fff; }
.home-inquiry__layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 2.5rem; align-items: center; }
.home-inquiry__intro { position: relative; min-height: 30rem; overflow: hidden; }
.home-inquiry__intro img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .44; }
.home-inquiry__intro::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(3,30,55,.15),rgba(3,30,55,.92)); }
.home-inquiry__intro > div { position: absolute; z-index: 1; inset: auto 0 0; padding: 2rem; }
.home-inquiry h2 { margin-bottom: .65rem; color: #fff; font-size: clamp(2rem,3vw,3.2rem); }
.home-inquiry__intro p:last-child { margin: 0; color: #d5e3ee; }
.home-inquiry__form { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; padding: 1.8rem; background: rgba(255,255,255,.98); color: var(--color-title-navy); }
.home-inquiry__form label { display: grid; gap: .3rem; font-size: .78rem; font-weight: 800; }
.home-inquiry__form label b { color: var(--color-brand-red); }
.home-inquiry__form input, .home-inquiry__form select, .home-inquiry__form textarea { width: 100%; min-height: 2.9rem; padding: .6rem .75rem; border: 1px solid #d8e2eb; background: #fff; color: #34465a; }
.home-inquiry__form small { min-height: .8rem; color: var(--color-brand-red); font-size: .68rem; }
.home-inquiry__requirements, .home-inquiry__submit { grid-column: 1 / -1; }
.home-inquiry__submit { display: flex; gap: 1rem; align-items: center; }
.home-inquiry__submit p { margin: 0; color: #718096; font-size: .78rem; }
.home-inquiry__submit p.is-error { color: var(--color-brand-red); }
.home-inquiry__submit p.is-success { color: #13734d; }

.trace-page { min-height: 68vh; padding-block: clamp(5rem,10vw,9rem); background: #f2f7fa; }
.trace-page h1 { color: var(--color-title-navy); font-size: clamp(2.4rem,5vw,4.5rem); }
.trace-page > .shell > p { max-width: 48rem; color: #5f6b78; }
.trace-page__form { max-width: 42rem; margin: 2rem 0; padding: 1.5rem; background: #fff; border-left: 4px solid var(--color-brand-red); }
.trace-page__form label { color: var(--color-title-navy); font-weight: 800; }
.trace-page__form > div { display: flex; gap: .7rem; margin-top: .6rem; }
.trace-page__form input { min-width: 0; flex: 1; padding: .65rem .8rem; border: 1px solid #d7e1ea; }
.trace-page__form p { margin: .8rem 0 0; color: #718096; font-size: .82rem; }

@media (max-width: 76rem) {
  .home-finder__form { grid-template-columns: repeat(3,1fr); }
  .home-core__grid { gap: 1rem; }
  .home-product-card { grid-template-columns: 1fr; }
  .home-product-card__image { min-height: 16rem; }
  .home-manufacturing__grid { grid-template-columns: 1.4fr 1fr; }
  .home-manufacturing__item--3 { grid-column: 1 / -1; min-height: 18rem; }
  .home-process__steps { grid-template-columns: repeat(4,1fr); gap: 1.5rem 0; }
  .home-applications__grid { grid-template-columns: repeat(3,1fr); }
  .home-delivery__layout { grid-template-columns: 1fr; }
}
@media (max-width: 64rem) {
  .home-parameters__layout { grid-template-columns: 1fr; }
  .home-parameters__copy { padding-right: 0; }
  .home-parameters__media { opacity: .22; width: 60%; }
  .home-trace__layout { grid-template-columns: 1fr; }
  .home-trace__media { min-height: 19rem; }
  .home-inquiry__layout { grid-template-columns: 1fr; }
  .home-inquiry__intro { min-height: 20rem; }
}
@media (max-width: 48rem) {
  .home-block { padding-block: 3rem; }
  .home-heading { display: block; margin-bottom: 1.4rem; }
  .home-heading > p { padding: .4rem 0 0; }
  .home-heading--action .home-text-link, .home-outline-link { display: inline-flex; margin-top: .7rem; }
  .home-hero { min-height: 42rem; }
  .home-hero__content { min-height: 42rem; justify-content: flex-end; padding-bottom: 3rem; }
  .home-hero__media { inset: 0 0 17rem; }
  .home-hero__shade { background: linear-gradient(180deg,rgba(4,35,64,.08) 0%,rgba(4,35,64,.55) 34%,#062b50 62%,#062b50 100%); }
  .home-hero h1 { max-width: 100%; font-size: clamp(2.7rem,13vw,4.5rem); }
  .home-hero__description { font-size: .98rem; }
  .home-hero__strengths { flex-wrap: wrap; margin-top: 1.7rem; }
  .home-finder { width: calc(100% - 2rem); margin-top: 0; padding: 1rem; }
  .home-finder__title { display: grid; grid-template-columns: auto 1fr; }
  .home-finder__title p { grid-column: 2; }
  .home-finder__form { grid-template-columns: 1fr 1fr; }
  .home-finder__form .button { grid-column: 1 / -1; }
  .home-core__grid, .home-manufacturing__grid, .home-cases__grid { grid-template-columns: 1fr; }
  .home-manufacturing__item, .home-manufacturing__item--3 { grid-column: auto; min-height: 18rem; }
  .home-product-card__image { min-height: 15rem; }
  .home-process__steps { grid-template-columns: repeat(2,1fr); }
  .home-process__steps li:nth-child(even)::after { display: none; }
  .home-trace__content ol { grid-template-columns: 1fr 1fr; }
  .home-applications__grid { grid-template-columns: 1fr 1fr; }
  .home-delivery__items { grid-template-columns: 1fr; }
  .home-delivery__items article { min-height: 0; }
  .home-inquiry__form { grid-template-columns: 1fr; padding: 1.2rem; }
  .home-inquiry__form label, .home-inquiry__requirements, .home-inquiry__submit { grid-column: 1; }
}
@media (max-width: 28rem) {
  .home-hero__actions { width: 100%; }
  .home-hero__actions .button { flex: 1; padding-inline: .8rem; }
  .home-hero__strengths li { padding-inline: .65rem; font-size: .78rem; }
  .home-finder__form { grid-template-columns: 1fr; }
  .home-finder__form .button { grid-column: 1; }
  .home-product-card__actions { display: grid; }
  .home-trace__content ol, .home-applications__grid { grid-template-columns: 1fr; }
  .home-application { min-height: 13rem; }
  .home-trace__actions, .home-inquiry__submit { display: grid; }
  .trace-page__form > div { display: grid; }
}
