@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

.home-page {
  --home-ink: #111820;
  --home-red: #e45243;
  --home-yellow: #e8b84f;
  --home-paper: #f4f1eb;
  --home-line: #d5d5cf;
  --home-muted: #667078;
  background: var(--home-paper);
  color: var(--home-ink);
  font-family: 'DM Sans', sans-serif;
  font-size: 17px;
  line-height: 1.65;
}
.home-page .wrap { width: min(calc(100% - 80px), 1240px); }
.home-page .button,
.home-page .home-button,
.home-page .capability-card,
.home-page .unit-card,
.home-page .stat-card,
.home-page .hero-panel,
.home-page .hero-ring,
.home-page .portrait-wrap img,
.home-page .product-row,
.home-page .product-images img,
.home-page .portrait-tag,
.home-page .mobile-nav,
.home-page .trust-callout a { border-radius: 8px; }
.home-page .hero-ring { border-radius: 50%; }
.home-page .site-header { position: sticky; top: 0; background: #fff; border-bottom-color: var(--home-line); }
.home-page .mobile-nav { background: #fff; }
.home-page .nav { min-height: 92px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.home-page .brand { justify-self: start; }
.home-page .brand img { width: 180px; height: 66px; mix-blend-mode: multiply; filter: contrast(1.3) brightness(1.08); }
.home-page .nav-links { gap: 28px; font-size: .93rem; }
.home-page .nav-links { justify-self: center; }
.home-page .header-button { justify-self: end; padding: 14px 20px; font-size: .86rem; }
.home-page h1, .home-page h2, .home-page h3 { font-family: 'Space Grotesk', sans-serif; letter-spacing: -.045em; }
.home-page h1 { font-size: clamp(2.85rem, 4.8vw, 5.35rem); line-height: 1.02; max-width: 780px; margin: 24px 0 30px; font-weight: 600; }
.home-page h2 { font-size: clamp(2.8rem, 5vw, 5.6rem); line-height: .98; margin: 16px 0 28px; font-weight: 600; }
.home-page h3 { font-size: 1.75rem; line-height: 1.1; margin: 38px 0 16px; }
.home-page p { color: var(--home-muted); }
.home-page em { color: var(--home-red); font-style: normal; }
.home-page .section-space { padding: 132px 0; }
.home-page .section-label, .home-page .home-kicker { color: var(--home-red); font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.home-page .section-label { margin-bottom: 18px; }
.home-page .section-label::before { content: ''; display: inline-block; width: 28px; height: 2px; margin: 0 10px 3px 0; background: currentColor; }
.home-hero { position: relative; isolation: isolate; padding: 174px 0 0; color: #fff; background: #0d1419; overflow: hidden; }
.home-hero::before { content: ''; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(10,16,20,.98) 0%, rgba(10,16,20,.88) 43%, rgba(10,16,20,.48) 100%), linear-gradient(180deg, rgba(228,82,67,.12), transparent 48%), url('../images/products/acidordescaler.jpeg') 88% 30% / 38% auto no-repeat; opacity: .68; transform: scale(1.05); animation: hero-background-drift 18s ease-in-out infinite alternate; }
.home-hero::after { content: ''; position: absolute; z-index: -1; inset: 0; opacity: .18; background-image: linear-gradient(rgba(232,184,79,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(232,184,79,.35) 1px, transparent 1px); background-size: 76px 76px; mask-image: linear-gradient(90deg, #000, transparent 78%); }
.hero-atmosphere { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.hero-particle { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--home-yellow); box-shadow: 0 0 22px 5px rgba(232,184,79,.45); animation: particle-float 7s ease-in-out infinite; }
.particle-one { top: 23%; right: 35%; }.particle-two { top: 58%; right: 15%; width: 4px; height: 4px; background: var(--home-red); animation-delay: -2s; }.particle-three { top: 72%; right: 45%; width: 5px; height: 5px; animation-delay: -4s; }
.hero-line { position: absolute; width: 1px; height: 42%; background: linear-gradient(transparent, rgba(232,184,79,.7), transparent); transform: rotate(26deg); animation: line-pulse 5s ease-in-out infinite; }.line-one { top: -6%; right: 30%; }.line-two { top: 25%; right: 9%; height: 58%; animation-delay: -2s; }
.hero-layout { display: grid; grid-template-columns: 1.16fr .84fr; gap: 80px; align-items: center; min-height: 680px; }
.home-page .home-kicker { color: var(--home-yellow); margin: 0; }
.home-page .home-kicker span { display: inline-block; width: 42px; height: 1px; background: var(--home-red); margin: 0 12px 4px; }
.home-page .hero-copy h1 { color: #fff; }
.hero-intro { max-width: 560px; color: #c6ccd0 !important; font-size: 1rem; line-height: 1.5; }
.hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 38px; }
.home-button { display: inline-flex; align-items: center; gap: 24px; padding: 16px 22px; border: 1px solid transparent; font-size: .9rem; font-weight: 700; transition: transform .25s ease, background .25s ease; }
.home-button:hover { transform: translateY(-3px); }
.home-button-primary { color: #fff; background: var(--home-red); }
.home-button-primary:hover { background: #c83d33; }
.home-button-dark { color: #fff; background: var(--home-ink); }
.home-text-link, .underlined-link { color: inherit; font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.hero-proof { display: flex; gap: 28px; max-width: 500px; margin-top: 65px; padding-top: 20px; border-top: 1px solid #3c454b; font-size: .82rem; }
.proof-item { display: grid; gap: 2px; min-width: 155px; }
.hero-proof strong { color: #fff; font-size: .92rem; }.hero-proof span { color: #899298; }
.hero-panel { position: relative; min-height: 520px; padding: 26px; border: 1px solid rgba(232,184,79,.38); background: linear-gradient(145deg, rgba(35,45,50,.8), rgba(17,24,32,.94)); display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; box-shadow: 0 30px 90px rgba(0,0,0,.25); }
.hero-panel-glow { position: absolute; inset: 12% 8%; background: radial-gradient(circle, rgba(228,82,67,.34), transparent 54%); filter: blur(10px); animation: glow-breathe 6s ease-in-out infinite; }
.hero-panel::before, .hero-panel::after { content: ''; position: absolute; border: 1px solid rgba(232,184,79,.35); border-radius: 50%; }
.hero-panel::before { width: 430px; height: 430px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.hero-panel::after { width: 310px; height: 310px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.hero-panel-top, .hero-panel-bottom { position: relative; z-index: 1; display: flex; justify-content: space-between; color: #9ba5a8; font-size: .69rem; letter-spacing: .14em; }
.hero-panel-top span:first-child { color: var(--home-yellow); }
.hero-product { position: absolute; z-index: 2; inset: 92px 42px 70px; display: grid; place-items: center; transform: rotate(2deg); animation: product-float 7s ease-in-out infinite; }
.hero-product img { width: min(100%, 330px); max-height: 355px; object-fit: contain; filter: drop-shadow(0 24px 30px rgba(0,0,0,.45)); mix-blend-mode: screen; }
.product-scan { position: absolute; right: 0; bottom: 0; padding: 7px 10px; color: var(--home-yellow); border: 1px solid rgba(232,184,79,.4); background: rgba(10,16,20,.72); font-size: .58rem; letter-spacing: .15em; }
.hero-panel p { position: relative; z-index: 1; max-width: 230px; margin: 0; color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 1.28rem; line-height: 1.2; }
.hero-ring { position: absolute; z-index: 1; top: 50%; left: 50%; width: 148px; height: 148px; transform: translate(-50%, -50%); display: grid; place-items: center; border: 2px solid var(--home-yellow); border-radius: 50%; color: var(--home-yellow); font: 600 5rem 'Space Grotesk', sans-serif; }
.hero-marquee { display: flex; justify-content: space-around; gap: 35px; padding: 22px 0; border-top: 1px solid #343e43; color: #829097; font-size: .72rem; font-weight: 700; letter-spacing: .18em; }
.hero-marquee span { animation: marquee-drift 7s ease-in-out infinite; }.hero-marquee span:nth-child(2) { animation-delay: -1.5s; }.hero-marquee span:nth-child(3) { animation-delay: -3s; }.hero-marquee span:nth-child(4) { animation-delay: -4.5s; }
.intro-section { background: #fff; }
.intro-grid, .product-grid, .leadership-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }
.intro-copy { padding-top: 45px; max-width: 600px; }
.large-copy { color: var(--home-ink) !important; font: 500 1.5rem/1.35 'Space Grotesk', sans-serif; letter-spacing: -.025em; }
.intro-copy p:not(.large-copy) { margin: 28px 0; }
.underlined-link { color: var(--home-ink); display: inline-block; margin-top: 14px; }
.capability-section { background: #e6e4de; }
.section-heading-row, .trust-heading { display: flex; justify-content: space-between; gap: 60px; align-items: end; margin-bottom: 55px; }
.section-aside, .trust-heading > p { max-width: 330px; margin: 0 0 8px; }
.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.capability-card { position: relative; min-height: 360px; padding: 28px; display: flex; flex-direction: column; justify-content: flex-end; }
.capability-card p { max-width: 290px; margin: 0; }
.capability-card a { position: absolute; top: 26px; right: 28px; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid currentColor; font-size: 1.4rem; }
.capability-dark { background: var(--home-ink); color: #fff; }.capability-dark p { color: #bbc4c7; }.capability-dark a { color: var(--home-yellow); }
.capability-red { background: var(--home-red); color: #fff; }.capability-red p { color: #ffe0da; }.capability-red a { color: #fff; }
.capability-light { background: #fff; }.capability-light a { color: var(--home-red); }
.card-number, .product-code { position: absolute; top: 26px; left: 28px; font: 600 .8rem 'Space Grotesk', sans-serif; color: var(--home-yellow); }
.capability-light .card-number { color: var(--home-red); }
.product-preview { background: var(--home-yellow); }
.product-heading > p:not(.section-label) { max-width: 380px; margin: 0 0 35px; }
.product-list { border-top: 1px solid rgba(17,24,32,.35); }
.product-row { position: relative; display: grid; grid-template-columns: 70px 1fr 30px; gap: 18px; align-items: center; padding: 23px 0; border-bottom: 1px solid rgba(17,24,32,.35); }
.product-row:hover { padding-left: 10px; background: rgba(255,255,255,.15); }
.product-row strong, .product-row small { display: block; }.product-row strong { font: 600 1.25rem 'Space Grotesk', sans-serif; }.product-row small { color: #596367; font-size: .85rem; margin-top: 4px; }.product-code { position: static; color: var(--home-red); }.product-arrow { font-size: 1.4rem; }
.leadership-section { background: #e3e2dd; }.portrait-wrap { position: relative; max-width: 430px; }.portrait-wrap img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: grayscale(100%); }.portrait-tag { position: absolute; right: -1px; bottom: 0; padding: 13px 18px; background: var(--home-red); color: #fff; font-size: .8rem; font-weight: 700; }.leadership-copy { max-width: 560px; padding-top: 35px; }
.trust-section { background: #fff; }.logo-marquee { position: relative; width: 100%; max-width: 100%; overflow: hidden; border-top: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); }.logo-track { display: flex; width: max-content; animation: logo-marquee 28s linear infinite; }.logo-strip { display: flex; flex: 0 0 auto; align-items: center; gap: 38px; width: max-content; padding: 42px 19px; border: 0; }.logo-strip img { width: 150px; height: 52px; object-fit: contain; opacity: 1; }.trust-callout { display: flex; align-items: center; gap: 25px; padding-top: 28px; }.trust-callout strong { font: 600 1.25rem 'Space Grotesk', sans-serif; }.trust-callout span { color: var(--home-muted); }.trust-callout a { margin-left: auto; color: var(--home-red); font-weight: 700; }
.home-contact { padding: 100px 0; background: var(--home-red); color: #fff; }.contact-banner { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: end; }.home-contact .section-label { color: var(--home-yellow); }.home-contact h2 { margin-bottom: 0; }.home-contact h2 em { color: #fff; }.home-contact p:not(.section-label) { max-width: 440px; color: #ffe1dc; }.home-contact .home-button { margin-top: 20px; color: var(--home-ink); background: #fff; }
.home-footer { background: var(--home-ink); color: #fff; padding: 78px 0 25px; }.footer-main { display: grid; grid-template-columns: 1.7fr 1fr 1.45fr 1.35fr; gap: 42px; padding-bottom: 70px; }.footer-brand img { width: 180px; filter: grayscale(1) brightness(0) invert(1); }.footer-main p:not(.footer-title) { max-width: 280px; color: #9da7aa; margin-top: 25px; }.footer-title { color: var(--home-yellow) !important; font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.footer-main a:not(.footer-brand) { display: block; color: #c7ced0; margin: 12px 0; }.footer-main a:not(.footer-brand):hover { color: var(--home-yellow); }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid #374248; color: #7d898e; font-size: .76rem; }
.footer-social-links { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 12px; margin-top: 18px; }.footer-social-links span { width: 100%; color: var(--home-yellow); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.footer-social-links a { display: inline-block !important; margin: 0 !important; color: #c7ced0 !important; font-size: .72rem; }.footer-social-links a:hover { color: var(--home-yellow) !important; }
.footer-products a { font-size: .76rem; margin: 10px 0 !important; }.footer-social-links a { display: grid !important; place-items: center; width: 26px; height: 26px; border: 1px solid #536066; border-radius: 6px; }.footer-social-links svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }.footer-social-links .icon-fill { fill: currentColor; stroke: none; }
.home-footer .footer-brand img { content: url('../images/logo/logogetinkvision-white.png'); background: transparent !important; filter: none !important; mix-blend-mode: normal; }
.message-fab { position: fixed; z-index: 30; right: 24px; bottom: 24px; width: 58px; height: 58px; border: 0; border-radius: 50%; color: #fff; background: var(--home-red); box-shadow: 0 12px 28px rgba(17,24,32,.25); cursor: pointer; font-size: 1.65rem; transition: transform .25s ease, background .25s ease; }
.message-fab:hover { transform: translateY(-5px) scale(1.04); background: #c83d33; }
.message-dialog { position: fixed; inset: 0; z-index: 40; display: grid; place-items: center; padding: 24px; background: rgba(17,24,32,.64); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
.message-dialog.open { opacity: 1; visibility: visible; }
.message-dialog-card { position: relative; width: min(100%, 500px); max-height: calc(100vh - 48px); overflow-y: auto; padding: 38px; border-radius: 10px; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.28); transform: translateY(16px); transition: transform .25s ease; }
.message-dialog.open .message-dialog-card { transform: translateY(0); }
.message-dialog-close { position: absolute; top: 16px; right: 18px; border: 0; background: transparent; color: var(--home-ink); cursor: pointer; font-size: 1.8rem; line-height: 1; }
.message-dialog-card h2 { margin: 8px 0 12px; font-size: 2.8rem; }.message-dialog-intro { margin-bottom: 24px; }.whatsapp-form { display: grid; gap: 9px; }.whatsapp-form label { color: var(--home-ink); font-size: .84rem; font-weight: 700; }.whatsapp-form input, .whatsapp-form textarea { width: 100%; padding: 12px 13px; border: 1px solid var(--home-line); border-radius: 7px; background: #fafafa; color: var(--home-ink); resize: vertical; }.whatsapp-form input:focus, .whatsapp-form textarea:focus { outline: 2px solid var(--home-yellow); outline-offset: 1px; }.whatsapp-form .home-button { margin-top: 12px; justify-content: center; cursor: pointer; }
@media (max-width: 820px) { .home-page .wrap { width: min(calc(100% - 40px), 1240px); }.home-page .nav { min-height: 78px; display: flex; }.home-page .brand { margin-right: auto; }.home-page .nav-links, .home-page .header-button { display: none; }.hero-layout, .intro-grid, .product-grid, .leadership-grid, .contact-banner { grid-template-columns: 1fr; gap: 45px; }.home-hero { padding-top: 130px; }.hero-layout { min-height: auto; padding-bottom: 80px; }.hero-panel { min-height: 400px; }.home-page .section-space { padding: 90px 0; }.capability-grid { grid-template-columns: 1fr; }.capability-card { min-height: 300px; }.section-heading-row, .trust-heading { display: block; }.section-aside, .trust-heading > p { margin-top: 24px; }.logo-strip { grid-template-columns: repeat(3, 1fr); }.trust-callout { flex-wrap: wrap; }.trust-callout a { margin-left: 0; }.footer-main { grid-template-columns: 1fr 1fr; }.footer-main > div:first-child { grid-column: 1 / -1; } }
@media (max-width: 500px) { .home-page { font-size: 16px; }.home-page .wrap { width: min(calc(100% - 28px), 1240px); }.home-page h1 { font-size: 2.35rem; }.home-page h2 { font-size: 3rem; }.hero-intro { font-size: .94rem; }.hero-proof { grid-template-columns: 1fr 1fr; }.hero-proof span { margin-bottom: 8px; }.hero-actions { align-items: flex-start; flex-direction: column; }.hero-panel { min-height: 340px; }.hero-marquee { overflow: hidden; justify-content: flex-start; white-space: nowrap; }.hero-marquee span { flex: 0 0 auto; }.intro-copy { padding-top: 0; }.logo-strip { grid-template-columns: repeat(2, 1fr); }.footer-main { grid-template-columns: 1fr; }.footer-main > div:first-child { grid-column: auto; }.footer-bottom { display: grid; }.home-contact { padding: 75px 0; }.message-fab { right: 16px; bottom: 16px; }.message-dialog-card { padding: 30px 22px; }.message-dialog-card h2 { font-size: 2.35rem; } }

@media (max-width: 820px) { .home-hero { padding-top: 125px; }.home-hero::before { background-position: 120% 35%; background-size: 62% auto; opacity: .42; }.hero-layout { gap: 50px; }.hero-proof { margin-top: 45px; }.hero-panel { min-height: 430px; } }
@media (max-width: 500px) { .home-hero { padding-top: 108px; }.home-hero::before { background-position: 170% 30%; background-size: 100% auto; opacity: .26; }.home-kicker { line-height: 1.7; }.hero-proof { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.proof-item { min-width: 0; }.hero-product { inset: 70px 18px 52px; }.hero-panel { min-height: 360px; }.hero-panel-top, .hero-panel-bottom { font-size: .58rem; }.hero-panel-bottom { gap: 10px; }.hero-panel-bottom span { white-space: nowrap; } }

@keyframes hero-background-drift { from { transform: scale(1.05) translate3d(0, 0, 0); } to { transform: scale(1.12) translate3d(-1.5%, -1%, 0); } }
@keyframes particle-float { 0%, 100% { transform: translate3d(0, 0, 0); opacity: .35; } 50% { transform: translate3d(18px, -28px, 0); opacity: 1; } }
@keyframes line-pulse { 0%, 100% { opacity: .18; } 50% { opacity: .75; } }
@keyframes glow-breathe { 0%, 100% { opacity: .45; transform: scale(.94); } 50% { opacity: .9; transform: scale(1.08); } }
@keyframes product-float { 0%, 100% { transform: rotate(2deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-10px); } }

/* Bright industrial hero treatment. */
.home-page .home-hero { color: var(--home-ink); background: #eef0eb; }
.home-page .home-hero::before { background: radial-gradient(circle at 78% 42%, rgba(228,82,67,.16), transparent 24%), linear-gradient(110deg, rgba(244,241,235,.98) 0%, rgba(244,241,235,.9) 46%, rgba(244,241,235,.32) 100%), url('../images/products/acidordescaler.jpeg') 91% 38% / 30% auto no-repeat; opacity: 1; }
.home-page .home-hero::after { opacity: .2; background-image: linear-gradient(rgba(16,24,32,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(16,24,32,.12) 1px, transparent 1px); mask-image: linear-gradient(90deg, #000, transparent 86%); }
.home-page .home-kicker { color: #9b6811; }.home-page .home-kicker span { background: var(--home-red); }
.home-page .hero-copy h1 { color: var(--home-ink); }.home-page .hero-intro { color: #58636a !important; }
.home-page .hero-proof { border-top-color: #c9cfca; }.home-page .hero-proof strong { color: var(--home-ink); }.home-page .hero-proof span { color: #68747a; }
.home-page .hero-text-link { color: var(--home-ink); }
.home-page .hero-panel { background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(224,228,223,.88)); border-color: rgba(16,24,32,.16); box-shadow: 0 28px 65px rgba(16,24,32,.15); }
.home-page .hero-panel-top, .home-page .hero-panel-bottom { color: #657077; }.home-page .hero-panel-top span:first-child { color: #9b6811; }
.home-page .hero-panel-glow { background: radial-gradient(circle, rgba(228,82,67,.25), transparent 56%); }
.home-page .hero-product img { mix-blend-mode: multiply; filter: drop-shadow(0 24px 30px rgba(16,24,32,.22)); }
.home-page .hero-ring { color: var(--home-red); border-color: var(--home-red); }.home-page .hero-panel::before, .home-page .hero-panel::after { border-color: rgba(228,82,67,.24); }
.home-page .hero-marquee { color: #657077; border-top-color: #c9cfca; }
@media (max-width: 820px) { .home-page .home-hero::before { background-position: 105% 35%; background-size: 52% auto; opacity: 1; } }
@media (max-width: 500px) { .home-page .home-hero::before { background-position: 150% 30%; background-size: 86% auto; opacity: .6; } }

/* Editorial photo-led hero. */
.home-page .home-hero { min-height: 660px; padding: 0; background: #f4f1eb; }
.home-page .home-hero::before, .home-page .home-hero::after { display: none; }
.hero-photo { position: absolute; inset: 0 0 0 43%; z-index: -2; background: linear-gradient(90deg, #f4f1eb 0%, rgba(244,241,235,.82) 10%, rgba(14,22,26,.08) 39%, rgba(14,22,26,.42) 100%), url('../images/hero/chemical-laboratory.jpg') center / cover no-repeat; animation: photo-breathe 14s ease-in-out infinite alternate; }
.hero-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,22,26,.12), transparent 34%, rgba(14,22,26,.45)); }
.hero-red-rail { display: none; }
.hero-layout { position: relative; z-index: 1; min-height: 580px; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 80px; padding-bottom: 66px; }
.home-page .hero-copy { max-width: 770px; padding-top: 100px; }
.home-page .home-kicker { color: #a56d0e; }.home-page .hero-copy h1 { color: var(--home-ink); max-width: 740px; font-size: clamp(2.35rem, 4vw, 4.45rem); margin-bottom: 22px; }
.home-page .hero-intro { max-width: 520px; color: #59646a !important; }
.home-page .home-text-link { color: var(--home-ink); }
.hero-side { min-height: 370px; display: flex; flex-direction: column; justify-content: space-between; padding: 28px 0 0 30px; border-left: 1px solid rgba(255,255,255,.52); color: #fff; }
.hero-side-label { font-size: .62rem; letter-spacing: .18em; writing-mode: vertical-rl; transform: rotate(180deg); opacity: .8; }
.hero-side-copy { display: grid; gap: 8px; text-transform: uppercase; font: 500 1.2rem/1.05 'Space Grotesk', sans-serif; letter-spacing: .04em; }
.hero-side-copy span:nth-child(2) { color: var(--home-yellow); padding-left: 24px; }.hero-side-copy span:nth-child(3) { padding-left: 48px; }
.hero-side-index { align-self: end; font: 600 4rem/1 'Space Grotesk', sans-serif; color: #fff; }.hero-side-index span { color: var(--home-yellow); font-size: 1rem; }
.home-page .hero-marquee { position: relative; z-index: 2; background: var(--home-ink); border: 0; color: #e5e7e5; }
@media (max-width: 820px) { .home-page .home-hero { min-height: auto; }.hero-photo { inset: 48% 0 0; background: linear-gradient(180deg, #f4f1eb 0%, rgba(14,22,26,.1) 24%, rgba(14,22,26,.5) 100%), url('../images/hero/chemical-laboratory.jpg') center / cover no-repeat; }.hero-layout { min-height: 700px; grid-template-columns: 1fr; gap: 30px; padding-bottom: 50px; }.home-page .hero-copy { padding-top: 112px; }.hero-side { min-height: 190px; padding: 0 0 0 22px; border-left-color: rgba(255,255,255,.72); }.hero-side-label { writing-mode: initial; transform: none; }.hero-side-copy { font-size: 1rem; }.hero-side-index { font-size: 3rem; } }
@media (max-width: 500px) { .hero-layout { min-height: 650px; }.home-page .hero-copy { padding-top: 96px; }.hero-side { min-height: 160px; }.hero-side-copy { font-size: .86rem; }.hero-side-index { font-size: 2.5rem; }.hero-photo { inset: 52% 0 0; } }

/* Homepage brand treatment. */
.home-page .hero-copy h1 { font-size: clamp(3.4rem, 6.1vw, 6.6rem); font-weight: 800; line-height: .92; }
.home-page .hero-copy h1 sup { font-size: .2em; vertical-align: top; margin-left: .08em; letter-spacing: 0; }
.hero-company-tag { display: table; margin-top: 22px; padding: 11px 15px; border: 1px solid var(--home-red); background: rgba(228,82,67,.11); color: var(--home-ink); font-size: clamp(.72rem, 1vw, .95rem); font-weight: 700; letter-spacing: .08em; line-height: 1.25; text-transform: uppercase; }

/* Full-width facility banner supplied by Getinkvision. */
.facility-banner { width: 100%; overflow: hidden; background: #edf4f8; line-height: 0; }
.facility-banner img { display: block; width: 100%; height: auto; }
@media (max-width: 820px) { .facility-banner img { min-height: 255px; object-fit: cover; object-position: center; } }
@media (max-width: 500px) { .facility-banner img { min-height: 210px; object-position: 43% center; } }

/* Facility banner based on the supplied reference layout. */
.facility-hero { position: relative; min-height: 640px; overflow: hidden; background: #e7f2f7 url('../images/hero/banner.jpeg') right center / contain no-repeat; color: #102033; isolation: isolate; }
.facility-hero::before { content: ''; position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg, #f8faf9 0%, rgba(248,250,249,.99) 34%, rgba(248,250,249,.76) 43%, rgba(238,248,252,.22) 52%, transparent 61%), linear-gradient(47deg, transparent 0 24%, rgba(165,218,242,.28) 24.2% 25%, transparent 25.2% 48%, rgba(193,229,246,.22) 48.2% 49%, transparent 49.2%); pointer-events: none; }
.facility-hero-image { display: none; }
.facility-hero-image::before { display: none; }
.facility-hero-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(248,250,249,.03), rgba(13,30,44,.04)); }
.facility-hero-shape { position: absolute; z-index: -2; left: -16%; bottom: -62%; width: 66%; height: 136%; border: 1px solid rgba(78,153,197,.16); transform: rotate(-39deg); background: linear-gradient(135deg, rgba(255,255,255,.8), rgba(212,237,248,.12)); }
.facility-hero-content { position: relative; z-index: 1; min-height: 640px; padding-top: 120px; }
.facility-hero-copy { width: min(46%, 610px); }
.facility-hero h1 { margin: 0; color: #092237; font-size: clamp(3.8rem, 7vw, 7.3rem); font-weight: 800; letter-spacing: -.08em; line-height: .85; }
.facility-hero h1 sup { font-size: .22em; vertical-align: top; letter-spacing: 0; }
.facility-hero-title { display: table; margin: 22px 0 19px; padding: 10px 20px; border: 0; border-radius: 7px; background: #ffd4d6 !important; background-image: none !important; color: #001629 !important; box-shadow: none; font-size: clamp(1.05rem, 1.7vw, 1.65rem); font-weight: 900; letter-spacing: -.055em; text-shadow: 0 0 .2px currentColor; }
.facility-hero-intro { max-width: 560px; margin: 0; color: #647380; font-size: 1rem; line-height: 1.55; }
.facility-hero-actions { display: flex; gap: 25px; margin-top: 25px; }
.facility-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 13px 23px; border: 1px solid #f05a50; border-radius: 7px; font-size: .9rem; font-weight: 800; }
.facility-button-primary { background: #f45146; color: #fff; box-shadow: 0 8px 18px rgba(244,81,70,.18); }.facility-button-outline { border-color: #dfc6c4; background: rgba(255,255,255,.72); color: #162a3a; }
.play-mark { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #f2c0bd; border-radius: 50%; color: #f45146; font-size: .7rem; }
.facility-values { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 575px; margin-top: 42px; }
.facility-values div { display: grid; justify-items: center; gap: 8px; padding: 0 14px; border-right: 1px solid #cbd3d7; text-align: center; }.facility-values div:first-child { padding-left: 0; }.facility-values div:last-child { border: 0; }
.facility-values b { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 50%; background: #fff; box-shadow: 0 5px 17px rgba(25,57,75,.14); color: #f45146; font-size: 1.25rem; }.facility-values span { color: #263d4e; font-size: .66rem; font-weight: 800; line-height: 1.3; text-transform: uppercase; }
.facility-footer-line { display: flex; align-items: center; gap: 13px; margin-top: 39px; color: #78858d; font-size: .65rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }.facility-footer-line i { width: 36px; height: 2px; background: #f45146; }.facility-footer-line span { color: #aab5ba; }
.facility-motto { position: absolute; top: 34px; right: 2%; margin: 0; color: #304354; font-size: .7rem; font-weight: 800; letter-spacing: .18em; line-height: 1.7; text-transform: uppercase; }
.facility-stats { position: absolute; right: 0; bottom: 34px; display: grid; grid-template-columns: repeat(3, 1fr); width: min(49%, 610px); padding: 27px 25px; border-radius: 48px 0 0 0; background: #102b40; color: #fff; }
.facility-stats div { display: grid; gap: 5px; justify-items: center; padding: 0 16px; border-right: 1px solid rgba(255,255,255,.28); text-align: center; }.facility-stats div:last-child { border: 0; }.facility-stats strong { font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1; }.facility-stats span { color: #d4dde2; font-size: .62rem; font-weight: 700; line-height: 1.4; text-transform: uppercase; }
@media (max-width: 820px) { .facility-hero { min-height: 720px; }.facility-hero-image { inset: 42% 0 0; }.facility-hero-image::after { background: linear-gradient(180deg, #f8faf9, rgba(248,250,249,.08) 35%, rgba(13,30,44,.2)); }.facility-hero-content { min-height: 720px; padding-top: 80px; }.facility-hero-copy { width: min(100%, 610px); }.facility-hero h1 { font-size: clamp(3.5rem, 10vw, 5.7rem); }.facility-motto { right: 4%; }.facility-stats { width: 86%; bottom: 22px; }.facility-values { margin-top: 30px; } }
@media (max-width: 560px) { .facility-hero { min-height: 790px; }.facility-hero-content { min-height: 790px; padding-top: 60px; }.facility-hero h1 { font-size: clamp(3.1rem, 15vw, 4.4rem); }.facility-hero-title { margin-top: 16px; padding: 8px 11px; font-size: .88rem; }.facility-hero-intro { max-width: 85%; font-size: .88rem; }.facility-hero-actions { gap: 10px; margin-top: 20px; }.facility-button { min-height: 46px; padding: 10px 12px; font-size: .72rem; }.facility-button-outline { display: none; }.facility-values { max-width: 100%; gap: 0; margin-top: 28px; }.facility-values div { padding: 0 5px; }.facility-values b { width: 35px; height: 35px; font-size: 1rem; }.facility-values span { font-size: .53rem; }.facility-footer-line { margin-top: 26px; gap: 8px; font-size: .5rem; letter-spacing: .13em; }.facility-motto { top: 21px; font-size: .53rem; }.facility-stats { right: 0; bottom: 15px; width: 100%; padding: 18px 8px; border-radius: 30px 0 0 0; }.facility-stats div { padding: 0 5px; }.facility-stats span { font-size: .48rem; } }
@keyframes photo-breathe { from { transform: scale(1); } to { transform: scale(1.045); } }

.home-page h1 { font-size: clamp(2.35rem, 4vw, 4.45rem); }
.home-page h2 { font-size: clamp(2.25rem, 4vw, 4.5rem); }
.home-page h3 { font-size: clamp(1.4rem, 2vw, 1.75rem); }
.home-page .message-dialog-card h2 { font-size: 2.35rem; }
@media (max-width: 500px) {
  .home-page h1 { font-size: 2.25rem; }
  .home-page h2 { font-size: 2.55rem; }
  .home-page h3 { font-size: 1.4rem; }
}

/* Homepage motion and the more restrained technical product palette. */
.home-page .hero-copy { animation: home-rise .8s both ease-out; }
.home-page .footer-brand img { background: transparent; filter: brightness(0) invert(1); mix-blend-mode: normal; opacity: 1; }
.home-page .hero-panel { animation: home-rise 1s .12s both ease-out, panel-breathe 8s 1s infinite ease-in-out; }
.home-page .hero-ring { animation: ring-spin 18s linear infinite; }
.home-page .hero-marquee span { animation: marquee-drift 7s infinite ease-in-out; }
.home-page .hero-marquee span:nth-child(2) { animation-delay: .7s; }
.home-page .hero-marquee span:nth-child(3) { animation-delay: 1.4s; }
.home-page .hero-marquee span:nth-child(4) { animation-delay: 2.1s; }
.home-page .capability-card { animation: home-rise .75s both ease-out; transition: transform .35s ease, box-shadow .35s ease; }
.home-page .capability-card:nth-child(2) { animation-delay: .12s; }
.home-page .capability-card:nth-child(3) { animation-delay: .24s; }
.home-page .capability-card:hover { transform: translateY(-8px); box-shadow: 0 18px 35px rgba(17,24,32,.14); }
.product-preview { background: #e8e6e0; color: var(--home-ink); }
.product-preview .section-label { color: var(--home-red); }
.product-preview .home-button-dark { background: var(--home-ink); }
.product-row { transition: padding .25s ease, background .25s ease, transform .25s ease; }
.product-row:hover { transform: translateX(8px); background: rgba(255,255,255,.72); }
.logo-marquee::before { content: 'TRUSTED BY'; position: absolute; z-index: 2; top: 8px; left: 0; color: var(--home-red); font-size: .65rem; font-weight: 700; letter-spacing: .16em; }
.logo-strip img { animation: logo-float 5s infinite ease-in-out; transition: opacity .3s ease, transform .3s ease; }
.logo-strip img:nth-child(2) { animation-delay: -.8s; }
.logo-strip img:nth-child(3) { animation-delay: -1.6s; }
.logo-strip img:nth-child(4) { animation-delay: -2.4s; }
.logo-strip img:nth-child(5) { animation-delay: -3.2s; }
.logo-strip img:nth-child(6) { animation-delay: -4s; }
.logo-strip img:hover { opacity: 1; transform: translateY(-9px) scale(1.04); }
.home-page .portrait-wrap { animation: home-rise .9s .15s both ease-out; }
.home-page .leadership-copy { animation: home-rise .9s .3s both ease-out; }
@keyframes home-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes panel-breathe { 0%, 100% { box-shadow: 0 0 0 rgba(228,82,67,0); } 50% { box-shadow: 0 0 55px rgba(228,82,67,.14); } }
@keyframes ring-spin { from { transform: translate(-50%, -50%) rotate(0); } to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes marquee-drift { 0%, 100% { opacity: .5; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } }
@keyframes logo-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes logo-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .home-page *, .home-page *::before, .home-page *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

.home-page .proof-section { background: var(--home-ink); color: #fff; }
.proof-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: center; }
.proof-section h2 { margin-bottom: 0; color: #fff; }
.proof-section .section-label { color: var(--home-yellow); }
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.stat-card { min-height: 180px; padding: 26px; border: 1px solid #3a454c; background: #192329; display: flex; flex-direction: column; justify-content: space-between; transition: transform .3s ease, border-color .3s ease, background .3s ease; }
.stat-card:hover { transform: translateY(-8px); border-color: var(--home-yellow); background: #202d34; }
.stat-card strong { color: var(--home-yellow); font: 600 clamp(3rem, 5vw, 5.2rem)/.9 'Space Grotesk', sans-serif; }
.stat-card strong::after { content: '+'; font-size: .55em; vertical-align: top; margin-left: 3px; }
.stat-card span { max-width: 130px; color: #c6ced0; font-size: .82rem; line-height: 1.35; }
.product-images { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 380px; margin-top: 45px; }
.product-images img { width: 100%; height: 130px; object-fit: cover; filter: saturate(.8) contrast(1.05); transition: transform .35s ease, filter .35s ease; }
.product-images img:hover { transform: scale(1.04); filter: saturate(1.15) contrast(1.05); }
.units-section { background: var(--home-ink); color: #fff; }
.units-heading { align-items: end; }
.units-section .section-label { color: var(--home-yellow); }
.units-section .section-aside { color: #bfc8cb; }
.units-section h2 { margin-bottom: 0; }
.units-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.unit-card { min-height: 330px; padding: 30px; border: 1px solid #3c484e; background: #1b252b; display: flex; flex-direction: column; align-items: flex-start; transition: transform .35s ease, border-color .35s ease, background .35s ease; }
.unit-card:hover { transform: translateY(-8px); border-color: var(--home-yellow); background: #222f35; }
.unit-card-accent { background: var(--home-red); border-color: var(--home-red); }.unit-card-accent:hover { border-color: #fff; background: #cf4036; }
.unit-number { color: var(--home-yellow); font-size: .7rem; font-weight: 700; letter-spacing: .16em; }
.unit-card h3 { margin: 48px 0 8px; color: #fff; font-size: 2.35rem; }
.unit-card h4 { max-width: 360px; margin: 0 0 20px; color: #d8dfe0; font-size: 1rem; line-height: 1.35; }
.unit-card p { max-width: 430px; margin: 0 0 24px; color: #b7c1c4; }.unit-card-accent p { color: #ffe1dc; }
.unit-card a { margin-top: auto; color: var(--home-yellow); font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 4px; }.unit-card-accent a { color: #fff; }
.reveal { opacity: 0; transform: translateY(30px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal .capability-card, .reveal .product-row, .reveal .stat-card { animation: none; }
@media (max-width: 820px) { .proof-grid { grid-template-columns: 1fr; gap: 35px; }.stat-grid { grid-template-columns: repeat(3, 1fr); }.product-images { max-width: none; }.units-grid { grid-template-columns: 1fr; } }
@media (max-width: 500px) { .stat-grid { grid-template-columns: 1fr; }.stat-card { min-height: 135px; }.product-images { grid-template-columns: 1fr 1fr; }.product-images img { height: 100px; }.logo-strip { gap: 24px; padding-inline: 12px; }.logo-strip img { width: 120px; }.logo-track { animation-duration: 22s; } }
