﻿/* Homepage layout adapted from the supplied editorial reference. Scoped to the static homepage. */
body { background:#fff; color:#172022; }
.site-header { position:sticky; top:0; z-index:80; box-shadow:0 1px 0 rgba(12,33,35,.08); }
.hero { min-height:660px; height:calc(100vh - 70px); max-height:820px; }
.hero-content { align-items:center; padding-top:70px; padding-bottom:110px; }
.hero-content>div { max-width:860px; text-align:center; margin:0 auto; }
.hero-content h1 { max-width:820px; margin:0 auto 22px; font-size:clamp(48px,5.2vw,76px); line-height:.98; letter-spacing:-.045em; }
.hero-content p { max-width:720px; margin:0 auto 30px; font-size:14px; line-height:1.8; }
.hero-actions { justify-content:center; }
.hero-shade { background:linear-gradient(90deg,rgba(3,18,23,.22),rgba(4,28,34,.12)),linear-gradient(0deg,rgba(4,18,22,.38),rgba(4,18,22,.03) 58%); }
.hero-dots { bottom:72px; }
.stats-band { position:relative; z-index:5; width:min(1120px,calc(100% - 48px)); margin:-54px auto 0; background:#fff; border:0; box-shadow:0 18px 55px rgba(16,44,47,.13); border-radius:4px; overflow:hidden; }
.stats-band div { min-height:132px; padding:28px 34px; }
.stats-band strong { font-size:36px; }
.stats-band span { font-size:14px; }
.section,.modular,.applications,.trust,.faq-quote,.map-section,footer { max-width:none !important; }
.intro { padding-top:118px !important; padding-bottom:118px !important; background:#fff; }
.intro .section-heading { width:min(1120px,100%); margin:0 auto 52px; display:grid; grid-template-columns:.9fr 1.1fr; align-items:flex-end; gap:11%; }
.intro .section-heading h2 { font-size:clamp(38px,4vw,58px); line-height:1.02; letter-spacing:-.04em; }
.intro .section-heading p { max-width:560px; font-size:15px; line-height:1.8; }
.product-grid { width:min(1120px,100%); margin:auto; gap:24px; }
.product-card { border:0; border-radius:3px; box-shadow:0 15px 45px rgba(18,37,39,.09); padding:0 26px 30px; transition:transform .25s ease,box-shadow .25s ease; overflow:hidden; background:#fff; }
.product-card:hover { transform:translateY(-7px); box-shadow:0 24px 55px rgba(18,37,39,.15); }
.product-card .product-image { height:330px !important; margin:0 -26px 25px; border-radius:0 !important; }
.product-card h3 { font-size:24px; }
.product-card p,.product-card li { font-size:13px; }
.modular { width:100%; padding-top:112px !important; padding-bottom:112px !important; background:#f4f6f6; display:grid; grid-template-columns:minmax(0,540px) minmax(0,540px); justify-content:center; gap:80px; }
.modular-copy h2 { font-size:clamp(38px,4vw,58px); line-height:1.02; letter-spacing:-.04em; }
.modular-copy p { font-size:15px; line-height:1.85; }
.system-diagram { min-height:420px; border-radius:3px; background:#fff; box-shadow:0 20px 55px rgba(16,44,47,.11); padding:46px; flex-direction:column; }
.system-diagram>div { width:100%; padding:24px; text-align:left; border-left:4px solid #00979b; }
.advantages { padding-top:105px !important; padding-bottom:105px !important; background:#0e1517; color:#fff; }
.advantages>.section-heading,.advantages>.advantage-grid { width:min(1120px,100%); margin-left:auto; margin-right:auto; }
.advantages .section-heading { text-align:center; display:block; margin-bottom:52px; }
.advantages .section-heading h2 { color:#fff; font-size:46px; }
.advantages .section-heading p { color:#aeb9bb; margin:16px auto 0; max-width:680px; }
.advantage-grid { gap:18px; }
.advantage-grid article { min-height:220px; padding:34px 28px; background:#182225; border:1px solid rgba(255,255,255,.08); color:#fff; }
.advantage-grid article h3 { color:#fff; }
.advantage-grid article p { color:#aeb9bb; font-size:13px; line-height:1.75; }
.applications { padding-top:120px !important; padding-bottom:120px !important; background:#fff; }
.applications>.section-heading,.applications>.solution-grid { width:min(1120px,100%); margin-left:auto; margin-right:auto; }
.solution-heading { text-align:center; display:block !important; margin-bottom:48px; }
.solution-heading h2 { max-width:720px; margin:auto; font-size:clamp(40px,4vw,58px); }
.solution-heading p { max-width:720px; margin:18px auto 0; }
.solution-grid { display:grid; grid-template-columns:1fr 1.45fr 1fr; grid-template-rows:360px; gap:18px; }
.solution-card { min-width:0; height:360px; border:0; border-radius:3px; position:relative; overflow:hidden; }
.solution-card:nth-child(4) { display:none; }
.solution-image { height:100% !important; }
.solution-image img { height:100%; object-fit:cover; }
.solution-copy { position:absolute; inset:auto 0 0; padding:64px 24px 24px; color:#fff; background:linear-gradient(transparent,rgba(3,15,18,.9)); }
.solution-copy h3 { color:#fff; font-size:22px; }
.solution-copy p { color:#d4dcdc; font-size:12px; }
.trust { padding-top:120px !important; padding-bottom:120px !important; display:grid; grid-template-columns:minmax(0,540px) minmax(0,480px); justify-content:center; align-items:center; gap:84px; background:#f4f6f6; }
.team-image { min-height:560px; border-radius:3px; position:relative; overflow:hidden; }
.team-image:after { content:'20+ YEARS'; position:absolute; left:0; bottom:0; padding:24px 30px; background:#00979b; color:#fff; font-weight:800; font-size:24px; letter-spacing:.04em; }
.trust-copy h2 { font-size:clamp(38px,4vw,56px); line-height:1.02; letter-spacing:-.04em; }
.trust-copy p { font-size:15px; line-height:1.85; }
.resource { width:min(1120px,calc(100% - 48px)); margin:-34px auto 0; position:relative; z-index:4; border:0; border-radius:3px; box-shadow:0 18px 50px rgba(18,37,39,.16); }
.faq-quote { padding-top:125px !important; padding-bottom:125px !important; grid-template-columns:minmax(0,560px) minmax(0,470px); justify-content:center; gap:80px; background:#fff; }
.faq>h2 { font-size:44px; line-height:1.05; }
.quote-form { background:#00979b; border-radius:3px; padding:44px; color:#fff; }
.quote-form h2,.quote-form p { color:#fff; }
.quote-form input,.quote-form select,.quote-form textarea { background:#fff; }
.map-section { padding-top:90px !important; padding-bottom:90px !important; background:#f4f6f6; }
.map-shell { width:min(1120px,100%); margin:auto; }
footer { background:#0d1315; padding-top:60px !important; padding-bottom:60px !important; }
/* Annotation refinements */
@media(min-width:901px){
 .hero-content{justify-content:center;align-items:center}
 .hero-content>div{width:min(1120px,calc(100% - 48px));margin:0 auto;text-align:left}
 .hero-content h1{font-size:42px;line-height:1.08;max-width:780px;margin:0 0 20px;text-align:left}
 .hero-content p{font-size:12px;max-width:720px;margin:0 0 28px;text-align:left}
 .hero-actions{justify-content:flex-start}
}

/* Homepage refinement: equal product cards, visual modular platform, factory reel */
.product-grid{align-items:stretch}
.product-card{height:100%;display:flex;flex-direction:column}
.product-card ul{margin-top:auto}
.modular{grid-template-columns:minmax(0,500px) minmax(0,580px)!important;gap:72px!important}
.system-diagram{position:relative!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important;padding:92px 28px 28px!important;background:#102a30!important;border:0!important}
.system-diagram:before{content:'ONE CORE / MULTIPLE CONFIGURATIONS';position:absolute;left:30px;top:28px;color:#62cbc8;font-size:12px;font-weight:800;letter-spacing:.14em}
.system-diagram:after{content:'Build the right luminaire around a consistent modular engine.';position:absolute;left:30px;top:51px;right:30px;color:#d8e4e5;font-size:14px;line-height:1.5}
.system-diagram>div{min-height:170px!important;padding:24px 18px!important;border:0!important;border-top:4px solid #20b5b3!important;border-radius:3px!important;background:#fff!important;color:#172022!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;text-align:left!important;font-size:17px!important;line-height:1.25!important;box-shadow:none!important}
.system-diagram>span{display:none!important}
.trust{grid-template-columns:minmax(0,560px) minmax(0,480px)!important;grid-template-rows:440px!important;align-items:start!important;align-content:start!important}
.team-image{align-self:start!important;height:440px!important;overflow:hidden!important}
.team-image img{width:100%;height:100%!important;object-fit:cover!important;object-position:center!important}
.factory-showcase{padding:105px 0 110px;background:#0e1517;color:#fff;overflow:hidden}
.factory-heading{width:min(1120px,calc(100% - 48px));margin:0 auto 42px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:flex-end}
.factory-heading span{grid-column:1/-1;color:#62cbc8;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.factory-heading h2{font-size:clamp(36px,4vw,54px);line-height:1.02;letter-spacing:-.04em;margin:0;color:#fff}
.factory-heading p{margin:0;color:#aeb9bb;font-size:15px;line-height:1.8;max-width:520px}
.factory-marquee{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.factory-track{display:flex;width:max-content;gap:18px;animation:factory-scroll 55s linear infinite;will-change:transform}
.factory-marquee:hover .factory-track{animation-play-state:paused}
.factory-track figure{width:420px;height:280px;flex:0 0 420px;margin:0;overflow:hidden;border-radius:3px;background:#263336}
.factory-track img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .4s ease}
.factory-track figure:hover img{transform:scale(1.035)}
@keyframes factory-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 9px))}}
@media(prefers-reduced-motion:reduce){.factory-track{animation-play-state:paused}}
@media(max-width:900px){
 .modular{grid-template-columns:1fr!important;gap:36px!important}
 .system-diagram{padding:100px 20px 20px!important;grid-template-columns:1fr!important}
 .system-diagram>div{min-height:120px!important}
 .trust{grid-template-columns:1fr!important;grid-template-rows:auto auto!important}
 .team-image{height:320px!important}
 .factory-showcase{padding:76px 0}
 .factory-heading{grid-template-columns:1fr;gap:18px;width:calc(100% - 40px)}
 .factory-heading span{grid-column:1}
 .factory-track figure{width:300px;height:210px;flex-basis:300px}
}
.modular{overflow:hidden;color:#000}
.modular-copy{min-width:0;overflow-wrap:anywhere}
.modular-copy h2,.modular-copy p,.feature-list span{color:#000!important}
.feature-list{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.feature-list span{min-width:0;white-space:normal;overflow-wrap:anywhere}
.system-diagram{min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box;display:grid!important;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);gap:12px;align-items:stretch;padding:34px!important;background:linear-gradient(145deg,#fff,#f8fbfb)}
.system-diagram>div{color:#172022!important;box-sizing:border-box;min-width:0;max-width:100%;overflow-wrap:normal;word-break:normal;white-space:normal;font-size:18px!important;line-height:1.25;padding:24px 18px!important;border:1px solid #dfe8e9!important;border-left:4px solid #00979b!important;border-radius:4px!important;background:#fff;display:flex!important;align-items:center;justify-content:flex-start;text-align:left!important;box-shadow:0 8px 20px rgba(16,44,47,.06)}
.system-diagram>span{display:grid;place-items:center;min-width:0;font-size:28px!important}
.advantage-grid article{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.advantage-grid article:hover{transform:translateY(-10px);box-shadow:0 22px 38px rgba(0,0,0,.28);border-color:rgba(98,203,200,.6)}
.trust{grid-template-columns:minmax(0,540px) minmax(0,480px)!important;grid-template-rows:auto!important;grid-auto-flow:column!important;align-items:center!important;align-content:center!important;min-height:0!important}
.team-image{grid-column:1!important;grid-row:1!important;align-self:center!important;min-height:0!important;height:auto!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.team-image:after{display:none!important}
.team-image img{width:100%;height:auto!important;object-fit:contain!important;object-position:center;background:transparent!important;display:block}
.trust-copy{grid-column:2!important;grid-row:1!important;align-self:center!important;padding:0!important;min-width:0}
.resource{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;box-sizing:border-box;overflow:hidden;padding:42px 52px!important}
.resource>div{min-width:0}.resource h2,.resource p{overflow-wrap:anywhere}.resource .primary-btn{white-space:nowrap;justify-self:end}
.stats-band{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));box-sizing:border-box;padding:0!important}
.stats-band div{min-width:0;box-sizing:border-box;justify-content:center}.stats-band strong,.stats-band span{max-width:100%;overflow-wrap:anywhere}
.stats-band strong{white-space:nowrap;word-break:keep-all}.stats-band span{word-break:normal;overflow-wrap:normal;text-align:left}
.product-card .product-image{height:300px!important;background:#f2f4f4;display:grid;place-items:center}
.product-card .product-image img{width:100%;height:100%;object-fit:contain!important;object-position:center}
.map-copy h2,.map-copy p{color:#000!important}
footer{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:60px;box-sizing:border-box;overflow:hidden}
/* Final cascade for homepage refinements */
.product-grid{align-items:stretch}.product-card{height:100%;display:flex;flex-direction:column}.product-card ul{margin-top:auto}
.modular{grid-template-columns:minmax(0,500px) minmax(0,580px)!important;gap:72px!important}
.system-diagram{position:relative!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important;padding:92px 28px 28px!important;background:#102a30!important;border:0!important}
.system-diagram:before{content:'ONE CORE / MULTIPLE CONFIGURATIONS';position:absolute;left:30px;top:28px;color:#62cbc8;font-size:12px;font-weight:800;letter-spacing:.14em}.system-diagram:after{content:'Build the right luminaire around a consistent modular engine.';position:absolute;left:30px;top:51px;right:30px;color:#d8e4e5;font-size:14px;line-height:1.5}
.system-diagram>div{min-height:170px!important;padding:24px 18px!important;border:0!important;border-top:4px solid #20b5b3!important;border-radius:3px!important;background:#fff!important;color:#172022!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;text-align:left!important;font-size:17px!important;line-height:1.25!important;box-shadow:none!important}.system-diagram>span{display:none!important}
.trust{grid-template-columns:minmax(0,560px) minmax(0,480px)!important;grid-template-rows:440px!important;align-items:start!important;align-content:start!important}.team-image{align-self:start!important;height:440px!important;overflow:hidden!important}.team-image img{width:100%;height:100%!important;object-fit:cover!important;object-position:center!important}
.factory-showcase{padding:105px 0 110px;background:#0e1517;color:#fff;overflow:hidden}.factory-heading{width:min(1120px,calc(100% - 48px));margin:0 auto 42px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:flex-end}.factory-heading span{grid-column:1/-1;color:#62cbc8;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.factory-heading h2{font-size:clamp(36px,4vw,54px);line-height:1.02;letter-spacing:-.04em;margin:0;color:#fff}.factory-heading p{margin:0;color:#aeb9bb;font-size:15px;line-height:1.8;max-width:520px}.factory-marquee{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.factory-track{display:flex;width:max-content;gap:18px;animation:factory-scroll 55s linear infinite;will-change:transform}.factory-marquee:hover .factory-track{animation-play-state:paused}.factory-track figure{width:420px;height:280px;flex:0 0 420px;margin:0;overflow:hidden;border-radius:3px;background:#263336}.factory-track img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .4s ease}.factory-track figure:hover img{transform:scale(1.035)}
@keyframes factory-scroll-final{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 9px))}}.factory-track{animation-name:factory-scroll-final}@media(prefers-reduced-motion:reduce){.factory-track{animation-play-state:paused}}
@media(max-width:900px){.modular{grid-template-columns:1fr!important;gap:36px!important}.system-diagram{padding:100px 20px 20px!important;grid-template-columns:1fr!important}.system-diagram>div{min-height:120px!important}.trust{grid-template-columns:1fr!important;grid-template-rows:auto auto!important}.team-image{height:320px!important}.factory-showcase{padding:76px 0}.factory-heading{grid-template-columns:1fr;gap:18px;width:calc(100% - 40px)}.factory-heading span{grid-column:1}.factory-track figure{width:300px;height:210px;flex-basis:300px}}

.home-insights{padding:92px max(24px,calc((100vw - 1180px)/2));background:#f7f8f7;color:#172427}
.home-insights-heading{margin-bottom:34px;display:flex;justify-content:space-between;gap:28px;align-items:flex-end}
.home-insights-heading span,.home-insights-grid article>div>span{color:#00979b;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.home-insights-heading h2{margin:10px 0 12px;font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.035em}
.home-insights-heading p{max-width:560px;margin:0;color:#667477;font-size:15px;line-height:1.75}
.home-insights-heading>a{padding:14px 18px;border:1px solid #d8e0df;border-radius:6px;font-weight:900;white-space:nowrap}
.home-insights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.home-insights-grid article{overflow:hidden;border:1px solid #d8e0df;border-radius:8px;background:#fff}
.home-insights-image{display:block;height:230px;overflow:hidden;background:#dfe6e5}
.home-insights-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.home-insights-image:hover img{transform:scale(1.035)}
.home-insights-grid article>div{padding:24px}
.home-insights-grid h3{margin:10px 0 12px;font-size:22px;line-height:1.18;letter-spacing:-.015em}
.home-insights-grid p{margin:0;color:#667477;font-size:14px;line-height:1.65}
.home-insights-grid time{display:block;margin:18px 0 12px;color:#728083;font-size:13px;font-weight:800}
.read-article{color:#00979b;font-weight:900}
@media(max-width:980px){.home-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-insights-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.home-insights{padding:72px 20px}.home-insights-grid{grid-template-columns:1fr}.home-insights-image{height:220px}}
footer>div{min-width:0}
.footer-socials{grid-column:2;display:flex!important;justify-content:flex-end;align-items:center;gap:12px;margin-top:-28px}
.footer-socials a{width:38px;height:38px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;transition:transform .2s ease,background .2s ease}
.footer-socials a:hover{transform:translateY(-4px);background:#00979b}
.footer-socials img{width:18px;height:18px;display:block;filter:brightness(0) invert(1)}
@media(max-width:900px){
 .site-header{position:relative}.hero{height:650px;min-height:650px}.hero-content{padding:50px 24px 105px}.hero-content>div{text-align:left}.hero-content h1{font-size:36px;text-align:left}.hero-content p{font-size:12px;text-align:left}.hero-actions{justify-content:flex-start}.stats-band{width:calc(100% - 28px);margin-top:-38px;grid-template-columns:1fr 1fr!important}.stats-band div{min-height:110px;padding:20px}.stats-band strong{font-size:28px}.intro,.modular,.advantages,.applications,.trust,.faq-quote,.map-section{padding-left:20px!important;padding-right:20px!important}.intro{padding-top:86px!important}.intro .section-heading{display:block}.intro .section-heading p{margin-top:20px}.product-grid{grid-template-columns:1fr}.product-card .product-image{height:300px!important}.modular{grid-template-columns:1fr;gap:36px}.system-diagram{min-height:0;padding:25px;display:flex!important;flex-direction:column}.system-diagram>div{width:100%;font-size:18px!important}.system-diagram>span{transform:rotate(90deg)}.advantage-grid{grid-template-columns:1fr}.solution-grid{grid-template-columns:1fr;grid-template-rows:auto}.solution-card,.solution-card:nth-child(4){display:block;height:330px}.trust{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;grid-auto-flow:row!important;gap:38px}.team-image{grid-column:1!important;grid-row:1!important;min-height:0!important}.trust-copy{grid-column:1!important;grid-row:2!important}.resource{width:calc(100% - 40px);margin:0 20px;grid-template-columns:1fr!important;padding:30px!important}.resource .primary-btn{justify-self:start}.faq-quote{grid-template-columns:1fr;gap:46px}.quote-form{padding:28px}.faq>h2{font-size:38px}footer{grid-template-columns:1fr!important;text-align:left}.footer-socials{grid-column:1;justify-content:flex-start;margin-top:0}
}

/* Modular configuration image cards: fixed text encoding and completed visuals */
.system-diagram {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  min-height: 420px !important;
  padding: 92px 28px 28px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #102a30 !important;
  box-shadow: 0 24px 55px rgba(16, 44, 47, 0.12) !important;
  overflow: hidden !important;
}

.system-diagram::before {
  content:'ONE CORE / MULTIPLE CONFIGURATIONS' !important;
  position: absolute;
  left: 30px;
  top: 28px;
  color: #62cbc8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.system-diagram::after {
  content: 'Build the right luminaire around a consistent modular engine.' !important;
  position: absolute;
  left: 30px;
  top: 51px;
  right: 30px;
  color: #d8e4e5;
  font-size: 14px;
  line-height: 1.5;
}

.system-diagram > span,
.system-diagram > svg {
  display: none !important;
}

.system-diagram .module-card {
  min-height: 300px !important;
  padding: 12px 12px 24px !important;
  border: 0 !important;
  border-top: 4px solid #20b5b3 !important;
  border-radius: 3px !important;
  background: #ffffff !important;
  color: #172022 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  text-align: left !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.system-diagram .module-card img {
  width: 100% !important;
  height: 218px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto 18px !important;
  border-radius: 2px !important;
  background: #f7fafa !important;
}

.system-diagram .module-card strong {
  display: block !important;
  color: #172022 !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

@media (max-width: 900px) {
  .system-diagram {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 100px 20px 20px !important;
  }

  .system-diagram .module-card {
    min-height: 260px !important;
  }

  .system-diagram .module-card img {
    height: 190px !important;
  }
}

/* Homepage team introduction: color-only treatment. */
.trust {
  background: #000;
  color: #fff;
}

.trust .trust-copy h2,
.trust .trust-copy p,
.trust .trust-copy .text-link,
.trust .trust-copy .text-link:hover,
.trust .trust-copy .text-link:focus-visible {
  color: #fff;
}

/* Homepage B2B solution links: isolated from all existing homepage modules. */
.b2b-solutions-hub {
  padding: 108px max(24px, calc((100vw - 1180px) / 2));
  background: #f4f6f5;
  color: #172427;
}

.b2b-solutions-heading {
  max-width: 780px;
  margin: 0 auto 48px;
  text-align: center;
}

.b2b-solutions-heading > span,
.b2b-feature-copy > span,
.b2b-horizontal-copy > span {
  color: #00979b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.b2b-solutions-heading h2 {
  margin: 12px 0 18px;
  font-size: clamp(38px, 4.3vw, 58px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.b2b-solutions-heading p {
  margin: 0;
  color: #667477;
  font-size: 16px;
  line-height: 1.75;
}

.b2b-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  min-height: 500px;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(16, 35, 38, .09);
}

.b2b-feature-media,
.b2b-scene-media,
.b2b-horizontal-media {
  display: block;
  overflow: hidden;
  background: #e8eceb;
}

.b2b-feature-media img,
.b2b-scene-media img,
.b2b-horizontal-media img {
  width: 100%;
  height: 100%;
  display: block;
  transition: transform .4s ease;
}

.b2b-feature-media img {
  object-fit: contain;
  padding: 34px;
}

.b2b-feature-media:hover img,
.b2b-scene-media:hover img,
.b2b-horizontal-media:hover img {
  transform: scale(1.025);
}

.b2b-feature-copy {
  padding: 62px 58px;
  align-self: center;
}

.b2b-feature-copy h3,
.b2b-scene-card h3,
.b2b-horizontal-copy h3 {
  margin: 12px 0 18px;
  line-height: 1.08;
  letter-spacing: -.025em;
}

.b2b-feature-copy h3 {
  font-size: clamp(32px, 3.2vw, 46px);
}

.b2b-feature-copy p,
.b2b-scene-card p,
.b2b-horizontal-copy p {
  color: #667477;
  line-height: 1.72;
}

.b2b-feature-copy ul {
  display: grid;
  gap: 11px;
  margin: 25px 0 30px;
  padding: 0;
  list-style: none;
}

.b2b-feature-copy li {
  position: relative;
  padding-left: 22px;
  color: #304044;
  font-size: 14px;
  font-weight: 700;
}

.b2b-feature-copy li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .48em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #00979b;
}

.b2b-solution-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border-radius: 5px;
  background: #00979b;
  color: #fff !important;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.b2b-scene-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 26px;
}

.b2b-scene-card {
  display: grid;
  grid-template-rows: 330px 1fr;
  overflow: hidden;
  border: 1px solid #dce3e1;
  border-radius: 8px;
  background: #fff;
}

.b2b-scene-media img {
  object-fit: cover;
}

.b2b-scene-card--product .b2b-scene-media img {
  object-fit: contain;
  padding: 26px;
}

.b2b-scene-card > div {
  padding: 30px 32px 34px;
}

.b2b-scene-card h3 {
  margin-top: 0;
  font-size: 28px;
}

.b2b-scene-card p {
  min-height: 72px;
  margin: 0 0 20px;
  font-size: 15px;
}

.b2b-solution-text-link {
  display: inline-block;
  color: #007f83 !important;
  font-size: 14px;
  font-weight: 900;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.b2b-horizontal-list {
  display: grid;
  gap: 24px;
  margin-top: 26px;
}

.b2b-horizontal-item {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  min-height: 310px;
  overflow: hidden;
  border: 1px solid #dce3e1;
  border-radius: 8px;
  background: #fff;
}

.b2b-horizontal-media {
  min-height: 310px;
}

.b2b-horizontal-media img {
  object-fit: cover;
}

.b2b-horizontal-copy {
  padding: 45px 52px;
  align-self: center;
}

.b2b-horizontal-copy h3 {
  font-size: clamp(28px, 3vw, 40px);
}

.b2b-horizontal-copy p {
  max-width: 570px;
  margin: 0 0 26px;
  font-size: 15px;
}

.b2b-horizontal-item.is-reverse .b2b-horizontal-media {
  grid-column: 2;
  grid-row: 1;
}

.b2b-horizontal-item.is-reverse .b2b-horizontal-copy {
  grid-column: 1;
  grid-row: 1;
}

.b2b-solutions-hub h3 a:hover {
  color: #007f83;
}

@media (max-width: 900px) {
  .b2b-solutions-hub {
    padding: 84px 24px;
  }

  .b2b-feature {
    grid-template-columns: 1fr;
  }

  .b2b-feature-media {
    min-height: 430px;
  }

  .b2b-scene-card {
    grid-template-rows: 290px 1fr;
  }

  .b2b-horizontal-copy {
    padding: 38px;
  }
}

@media (max-width: 700px) {
  .b2b-solutions-hub {
    padding: 72px 20px;
  }

  .b2b-solutions-heading {
    margin-bottom: 34px;
    text-align: left;
  }

  .b2b-solutions-heading h2 {
    font-size: 36px;
  }

  .b2b-feature,
  .b2b-scene-pair,
  .b2b-horizontal-item {
    grid-template-columns: 1fr;
  }

  .b2b-feature-media {
    min-height: 0;
    aspect-ratio: 1.42;
  }

  .b2b-feature-media img {
    padding: 20px;
  }

  .b2b-feature-copy {
    padding: 34px 26px 38px;
  }

  .b2b-feature-copy h3 {
    font-size: 31px;
  }

  .b2b-solution-button {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    text-align: center;
  }

  .b2b-scene-pair {
    gap: 20px;
  }

  .b2b-scene-card {
    grid-template-rows: auto;
  }

  .b2b-scene-media {
    aspect-ratio: 16 / 10;
  }

  .b2b-scene-card > div {
    padding: 26px 24px 30px;
  }

  .b2b-scene-card h3 {
    font-size: 26px;
  }

  .b2b-scene-card p {
    min-height: 0;
  }

  .b2b-horizontal-list {
    gap: 20px;
  }

  .b2b-horizontal-item,
  .b2b-horizontal-item.is-reverse {
    display: flex;
    flex-direction: column;
  }

  .b2b-horizontal-media,
  .b2b-horizontal-item.is-reverse .b2b-horizontal-media {
    min-height: 0;
    aspect-ratio: 16 / 10;
    order: 1;
  }

  .b2b-horizontal-copy,
  .b2b-horizontal-item.is-reverse .b2b-horizontal-copy {
    order: 2;
    padding: 30px 25px 34px;
  }

  .b2b-horizontal-copy h3 {
    font-size: 29px;
  }
}

