/* Homepage only: technology is the offer; samples demonstrate its application. */
.home-technology main section[id], .home-technology .home-tech-row { scroll-margin-top: 110px; }
.home-technology .hero-grid { grid-template-columns: minmax(0, 720px); min-height: 640px; gap: 48px; padding-block: 72px 100px; }
.home-technology .hero { isolation: isolate; touch-action: pan-y pinch-zoom; }
.home-technology .hero::before { display: none; }
.home-technology .hero::after { background: linear-gradient(90deg, rgba(3,19,41,.95), rgba(3,19,41,.82) 48%, rgba(3,19,41,.26)); }
.home-technology .home-hero-slides { position: absolute; inset: 0; z-index: 0; }
.home-technology .home-hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 900ms ease; }
.home-technology .home-hero-slide.is-active { opacity: 1; }
.home-technology .home-hero-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.home-technology .home-tech-index[hidden] { display: none; }
.home-technology .home-tech-variants { color: #53667e; line-height: 1.8; padding-left: 20px; }
.home-technology .hero h1 { font-size: clamp(34px, 4.1vw, 58px); line-height: 1.1; letter-spacing: -.035em; }
.home-technology .hero-copy > p:not(.eyebrow) { font-size: 17px; line-height: 1.75; }
.home-technology .hero-copy .home-hero-process { margin-top: 28px; font-size: 13px; color: #c7d5e7; }
.home-technology .section-heading { max-width: 790px; margin-inline: auto; }
.home-technology .section-heading > p:not(.eyebrow) { line-height: 1.8; }
.home-technology .home-tech-index { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; padding: 20px 0; border-block: 1px solid #dce4ef; margin-bottom: 40px; }
.home-technology .home-tech-anchor { color: #183b63; font-size: 14px; font-weight: 700; padding: 5px 0; }
.home-technology .home-technologies > .container { width: min(1480px, calc(100% - 48px)); }
.home-technology .home-tech-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.home-technology .home-tech-row { position: relative; min-width: 0; isolation: isolate; background: #e8edf3; }
.home-technology .home-tech-media { display: block; width: 100%; overflow: hidden; }
.home-technology .home-tech-media > img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; transition: transform 650ms cubic-bezier(.2,.65,.3,1); }
.home-technology .home-tech-copy { position: absolute; inset-inline: 0; bottom: 0; padding: 72px 28px 28px; pointer-events: none; background: linear-gradient(transparent, rgba(3,19,41,.72) 62%, rgba(3,19,41,.92)); }
.home-technology .home-tech-copy h3 { position: relative; padding-right: 36px; font-size: clamp(22px, 2.4vw, 32px); line-height: 1.3; margin: 0; transition: transform 350ms ease; }
.home-technology .home-tech-copy h3::after { content: ''; position: absolute; right: 0; bottom: .2em; width: 23px; height: 18px; background: #fff; clip-path: polygon(0 43%, 72% 43%, 46% 10%, 55% 0, 100% 50%, 55% 100%, 46% 90%, 72% 57%, 0 57%); opacity: 0; transform: translateX(-8px); transition: opacity 350ms ease, transform 350ms ease; }
.home-technology .home-tech-copy h3 a { color: #fff; pointer-events: auto; text-shadow: 0 1px 4px rgba(0,0,0,.35); }
.home-technology .home-tech-copy h3 a:hover { text-decoration: underline; text-underline-offset: .18em; }
.home-technology .home-tech-row:focus-within .home-tech-media > img { transform: scale(1.06); }
.home-technology .home-tech-row:focus-within .home-tech-copy h3 { transform: translateY(-6px); }
.home-technology .home-tech-row:focus-within .home-tech-copy h3::after { opacity: 1; transform: translateX(0); }
@media (hover: hover) and (pointer: fine) {
  .home-technology .home-tech-row:hover .home-tech-media > img { transform: scale(1.06); }
  .home-technology .home-tech-row:hover .home-tech-copy h3 { transform: translateY(-6px); }
  .home-technology .home-tech-row:hover .home-tech-copy h3::after { opacity: 1; transform: translateX(0); }
}
@media (hover: none) {
  .home-technology .home-tech-copy h3::after { opacity: 1; transform: none; }
  .home-technology .home-tech-row:focus-within .home-tech-media > img,
  .home-technology .home-tech-row:focus-within .home-tech-copy h3 { transform: none; }
}
.home-technology .home-tech-copy dl, .home-technology .home-solution dl { display: grid; gap: 20px; margin: 24px 0; }
.home-technology .home-tech-copy dt, .home-technology .home-solution dt { font-weight: 800; font-size: 14px; margin-bottom: 6px; }
.home-technology .home-tech-copy dd, .home-technology .home-solution dd { margin: 0; color: #53667e; font-size: 15px; line-height: 1.8; }
.home-technology .home-tech-actions { display: flex; flex-wrap: wrap; gap: 14px 24px; }
.home-technology .home-source-note { margin-top: 22px; color: #63758b; font-size: 12px; line-height: 1.75; }
.home-technology .home-solutions { background: #f3f6fa; }
.home-technology .home-solution-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.home-technology .home-solution { display: flex; flex-direction: column; min-width: 0; border: 1px solid #dbe4ef; border-radius: 16px; background: #fff; }
.home-technology .home-solution-image { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 15px 15px 0 0; }
.home-technology .home-solution-body { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: 32px; }
.home-technology .home-solution-body > .home-index { color: #c27a00; font-size: 16px; font-weight: 800; letter-spacing: .12em; }
.home-technology .home-solution h3 { margin: 14px 0; font-size: 27px; }
.home-technology .home-solution-body > p { color: #53667e; line-height: 1.8; }
.home-technology .home-solution-body > a { margin-top: auto; }
.home-technology .home-delivery { display: grid; grid-template-columns: minmax(0, 13fr) minmax(0, 7fr); width: min(1480px, calc(100% - 48px)); align-items: start; gap: 48px; }
.home-technology .home-delivery-media { min-width: 0; padding-top: 8px; }
.home-technology .home-delivery-media video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #071a30; border-radius: 12px; }
.home-technology .home-delivery-copy h2 { margin-top: 12px; font-size: clamp(32px, 3vw, 42px); line-height: 1.18; }
.home-technology .home-delivery-copy > p:not(.eyebrow) { color: #53667e; line-height: 1.8; }
.home-technology .home-delivery-steps { list-style: none; padding: 0; margin: 26px 0 0; }
.home-technology .home-delivery-steps li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 16px; border-top: 1px solid #dde5ef; padding: 22px 0; }
.home-technology .home-delivery-steps li > span { color: #c27a00; font-weight: 800; }
.home-technology .home-delivery-steps h3 { margin: 0 0 6px; font-size: 18px; }
.home-technology .home-delivery-steps p { margin: 0; font-size: 14px; line-height: 1.8; color: #53667e; }
.home-technology .home-applications { background: #f3f6fa; }
.home-technology .home-application-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; }
.home-technology .home-application-link { display: flex; align-items: center; justify-content: space-between; padding: 23px 0; border-bottom: 1px solid #d6e0ed; font-weight: 700; gap: 12px; }
.home-technology a:focus-visible { outline: 3px solid #ed9d16; outline-offset: 5px; border-radius: 3px; }
.home-technology .home-tech-copy, .home-technology .home-solution, .home-technology .home-delivery-copy { overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .home-technology .hero-grid, .home-technology .home-delivery { gap: 32px; }
}
@media (max-width: 1000px) {
  .home-technology .home-tech-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-technology .home-delivery { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 800px) {
  .home-technology .hero-grid, .home-technology .home-delivery { grid-template-columns: minmax(0, 1fr); }
  .home-technology .hero-grid { padding-block: 56px 36px; gap: 24px; min-height: 520px; }
  .home-technology .hero::after { background: linear-gradient(90deg,rgba(3,19,41,.83),rgba(3,19,41,.62)); }
  .home-technology .hero h1 { font-size: clamp(34px, 7.5vw, 52px); }
  .home-technology .home-tech-index { justify-content: flex-start; gap: 8px 20px; margin-bottom: 12px; }
  .home-technology .home-solution-grid { grid-template-columns: minmax(0, 1fr); }
  .home-technology .home-solution-body { padding: 26px; }
  .home-technology .home-application-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
}
@media (max-width: 640px) {
  .home-technology .home-delivery { width: calc(100% - 28px); }
  .home-technology .home-technologies > .container { width: calc(100% - 28px); }
  .home-technology .home-tech-list { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .home-technology .home-tech-copy { padding: 60px 22px 22px; }
}
@media (max-width: 420px) {
  .home-technology .hero-actions { align-items: stretch; }
  .home-technology .hero-actions .btn { flex: 1 1 180px; text-align: center; }
  .home-technology .home-application-link { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-technology .home-hero-slide { transition: none; }
  .home-technology .home-tech-media > img,
  .home-technology .home-tech-copy h3,
  .home-technology .home-tech-copy h3::after { transition: none; }
  .home-technology .home-tech-row .home-tech-media > img,
  .home-technology .home-tech-row .home-tech-copy h3,
  .home-technology .home-tech-row .home-tech-copy h3::after { transform: none !important; }
}
