:root{--forest:#014d28;--deep:#013d20;--green:#02773e;--leaf:#31a948;--lime:#8cc63f;--cream:#f6faf6;--paper:#fff;--mint:#e3f3e8;--ink:#14261c;--muted:#58595b;--line:#d8e8dc;--display:"Bricolage Grotesque","Be Vietnam Pro",system-ui,sans-serif;--display-heavy:"Inter","Be Vietnam Pro",system-ui,sans-serif;--body:"Be Vietnam Pro",system-ui,sans-serif}
.language-switch{display:flex;align-items:center;gap:2px;flex:none;padding:3px;border:1px solid #ffffff70;border-radius:999px}
.language-switch a{display:grid;place-items:center;min-width:34px;min-height:32px;padding:3px 5px;border-radius:999px;color:#dcece1;text-decoration:none;font:700 .72rem/1 var(--body)}
.language-switch a:hover{color:#fff;background:#ffffff24}
.language-switch a[aria-current="page"]{background:#fff;color:var(--forest)}
@media(max-width:700px){.language-switch{padding:2px}.language-switch a{min-width:28px;min-height:30px;font-size:.72rem}.site-header .header-inner{gap:8px}}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.65 var(--body)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display-heavy);line-height:1.12;letter-spacing:-.025em;text-wrap:balance}h1{font-size:clamp(3rem,5.45vw,5.7rem);font-weight:800}h2{font-size:clamp(2.25rem,3.7vw,3.85rem);font-weight:800}h3{font-size:clamp(1.8rem,2.6vw,2.7rem);font-weight:800}::selection{background:var(--lime);color:var(--deep)}:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:white;padding:12px}.skip:focus{left:8px}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
    .site-header{position:sticky;top:0;z-index:30;background:var(--forest);color:#fff}.header-inner{display:flex;align-items:center;gap:30px;min-height:68px}.brand{display:flex;align-items:center;gap:12px;flex:none}.brand img{width:70px;height:auto}.nav{display:flex;align-items:center;gap:25px;margin-left:auto;font-size:.84rem;font-weight:700}.nav a{color:#d6efdc}.nav a:hover,.nav a[aria-current="page"]{color:#fff}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:49px;padding:12px 23px;border:1px solid transparent;border-radius:999px;background:var(--lime);color:var(--deep);font-size:.9rem;font-weight:800;line-height:1.35;transition:background .2s,transform .2s}.header-cta:hover,.button:hover{background:#a5d651;transform:translateY(-2px)}.menu-button{display:none;margin-left:auto;padding:9px;border:0;background:none;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
    .hero{position:relative;overflow:hidden;background:radial-gradient(850px 520px at 91% 8%,rgba(140,198,63,.10),transparent 63%),radial-gradient(690px 540px at 2% 100%,rgba(140,198,63,.10),transparent 64%),linear-gradient(135deg,#014d28,#02773e);color:#fff}.hero-inner{padding-block:30px 116px}.breadcrumb{display:flex;flex-wrap:wrap;gap:9px;align-items:center;color:#d6efdc;font-size:.78rem;font-weight:600}.breadcrumb a:hover{text-decoration:underline}.hero-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);align-items:end;gap:9%;margin-top:73px}.hero h1{max-width:12.5ch}.hero h1 em{color:var(--lime);font-style:normal}.hero-copy>p{max-width:55ch;margin-top:27px;color:#e4f2e6;font-size:1.04rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button-outline{border-color:#bad3c0;background:transparent;color:#fff}.button-outline:hover{background:#ffffff17}.hero-index{border-top:1px solid #ffffff6b}.hero-index-label{display:block;margin:0 0 20px;padding-top:16px;color:#d6efdc;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.hero-index a{display:grid;grid-template-columns:38px 1fr 24px;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #ffffff50;font-weight:700}.hero-index a:hover{color:var(--lime)}.hero-index small{color:#fff;font-size:.76rem}.hero-index .arrow{text-align:right;font-size:1.35rem;font-weight:400}
    .section{padding:50px 0}.section-kicker{display:block;width:52px;height:5px;margin-bottom:24px;border-radius:9px;background:var(--leaf)}.section-head{max-width:850px}.section-head p{max-width:74ch;margin-top:18px;color:var(--muted)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:end;padding-bottom:52px;border-bottom:1px solid var(--line)}.intro h2{max-width:13ch}.intro p{max-width:57ch;color:var(--muted)}.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:29px}.choice-row article{padding:10px 20px 10px 0}.choice-row b{display:block;color:var(--green);font-size:.8rem;text-transform:uppercase;letter-spacing:.055em}.choice-row p{max-width:35ch;margin-top:8px;font-size:.93rem}.choice-row strong{color:var(--ink)}
    .catalog{padding:50px 24px;background:#e3f3e8}.catalog-top{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:42px}.catalog-top .section-head{max-width:730px}.product-list{display:grid;gap:16px}.product-card{display:grid;grid-template-columns:220px 1fr 218px;gap:36px;align-items:center;min-height:224px;padding:35px 39px;border:1px solid #d4e6d8;border-radius:18px;background:var(--paper);transition:border-color .2s,transform .2s}.product-card:hover{border-color:#8dcca0;transform:translateY(-3px)}.product-card.featured{border-color:#81bd8d}.product-id{display:flex;flex-direction:column;justify-content:space-between;align-self:stretch;min-height:147px}.product-id span{color:var(--green);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.product-id strong{font-family:var(--display-heavy);font-size:clamp(3.6rem,6vw,6.1rem);font-weight:800;line-height:.9;letter-spacing:-.06em;color:var(--forest)}.product-card h3{margin-bottom:10px}.product-card p{max-width:58ch;color:var(--muted);font-size:.95rem}.product-card .outcome{margin-top:16px;color:var(--green);font-size:.81rem;font-weight:700}.product-action{display:flex;flex-direction:column;align-items:flex-end;gap:10px;text-align:right}.product-action a{display:inline-flex;align-items:center;gap:11px;min-height:44px;padding:10px 0;color:var(--green);font-size:.87rem;font-weight:800}.product-action a:hover{text-decoration:underline;text-underline-offset:4px}.product-action a span{font-size:1.35rem;font-weight:400}.product-action small{color:var(--muted);font-size:.82rem}.future{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:36px}.future-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 30px;border:1px solid #c6ddcd;border-radius:14px;background:#f3faf5}.future-card h3{font-size:1.34rem}.future-card p{margin-top:5px;color:var(--muted);font-size:.84rem}.future-card span{flex:none;color:var(--green);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
    .guide{padding:50px 0;background:var(--cream)}.guide-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:start}.guide h2{max-width:19ch}.guide-list{margin-top:7px}.guide-item{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:21px 0;border-top:1px solid var(--line)}.guide-item:last-child{border-bottom:1px solid var(--line)}.guide-item>span{color:var(--green);font-size:.85rem;font-weight:800}.guide-item h3{font-size:1.1rem}.guide-item p{margin-top:6px;color:var(--muted);font-size:.9rem}
    .final-cta{padding:50px 0;background:radial-gradient(750px 420px at 90% 10%,rgba(140,198,63,.10),transparent 60%),linear-gradient(135deg,#014d28,#02773e);color:#fff}.final-inner{display:flex;justify-content:space-between;align-items:end;gap:30px}.final-inner h2{max-width:28ch}.final-inner p{max-width:55ch;margin-top:17px;color:#dfefe2}.final-inner .button{flex:none}footer{padding:30px 0;background:var(--cream);border-top:1px solid var(--line);color:var(--muted);font-size:.77rem}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner img{width:90px}.contact-float{position:fixed;left:15px;bottom:15px;z-index:25;display:flex;flex-direction:column;gap:7px}.contact-float a{display:flex;align-items:center;justify-content:center;min-width:79px;min-height:42px;padding:9px 13px;border-radius:99px;background:#fff;color:var(--green);box-shadow:0 5px 18px rgba(0,0,0,.14);font-size:.82rem;font-weight:800}.contact-float a:hover{background:var(--mint)}
    @media(max-width:900px){.nav{gap:12px}.hero-layout{grid-template-columns:1fr 300px;gap:5%}.product-card{grid-template-columns:150px 1fr;gap:18px}.product-action{grid-column:2;align-items:flex-start;text-align:left}.product-id{grid-row:1 / 3}.product-id strong{font-size:4rem}}
    @media(max-width:700px){.wrap{width:min(100% - 36px,1180px)}.header-inner{min-height:68px;gap:12px}.brand img{width:60px}.header-cta{margin-left:auto;min-height:40px;padding:8px 13px;font-size:.75rem}.menu-button{display:block;margin-left:0}.nav{display:none;position:absolute;top:68px;left:0;right:0;margin:0;padding:12px 18px 19px;background:var(--forest);box-shadow:0 14px 26px rgba(0,0,0,.16)}.nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav a{min-height:44px;padding:11px 4px;border-bottom:1px solid #ffffff30}.hero-inner{padding-block:26px 48px}.hero-layout{grid-template-columns:1fr;gap:48px;margin-top:51px}.hero h1{font-size:clamp(2.7rem,10vw,4.5rem)}.hero-copy>p{font-size:.96rem}.hero-index{max-width:580px}.section{padding:36px 0}.catalog{padding:36px 18px}.intro{grid-template-columns:1fr;gap:17px;padding-bottom:29px}.intro h2{max-width:20ch}.choice-row{grid-template-columns:1fr;gap:0;padding-top:15px}.choice-row article{padding:14px 0;border-bottom:1px solid var(--line)}.catalog-top{display:block}.product-card{grid-template-columns:1fr;gap:16px;min-height:0;padding:27px}.product-id{grid-row:auto;min-height:0;flex-direction:row;align-items:center}.product-id strong{font-size:3rem}.product-action{grid-column:auto;gap:0}.future{grid-template-columns:1fr;margin-top:22px}.future-card{padding:21px}.guide{padding:36px 0}.guide-grid{grid-template-columns:1fr;gap:26px}.final-inner{align-items:flex-start;flex-direction:column}.final-inner .button{flex:none}.footer-inner{align-items:flex-start;flex-direction:column;gap:9px}.contact-float{left:0;right:0;bottom:0;flex-direction:row;gap:10px;padding:8px 18px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}.contact-float a{flex:1;min-width:0;min-height:44px;padding:7px;font-size:.75rem;box-shadow:none;background:var(--mint)}body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Shared layouts for the software landing page and directory pages. */
h2{font-size:2rem}
html{scroll-padding-top:78px}
.compact-hero{background:var(--forest)}
.compact-hero,.home-hero,.directory-section,.home-industries,.home-reasons,.home-process,.home-contact{padding-inline:18px}
.final-cta{background:var(--forest);padding-inline:18px}
.compact-hero .hero-inner{padding-block:29px 50px}
.compact-hero .hero-layout{align-items:center;margin-top:64px}
.hero h1{max-width:13ch;font-size:clamp(2.6rem,3.85vw,4.2rem)}
.hero-side{padding:32px;border:1px solid #ffffff42;border-radius:19px;background:#ffffff12}
.nav-group{position:relative;display:flex;align-items:center;gap:3px}
.nav-group>.nav-parent{white-space:nowrap}
.nav-subtoggle{display:grid;place-items:center;width:24px;height:30px;padding:0;border:0;background:transparent;color:#d6efdc;cursor:pointer}
.nav-subtoggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.nav-group.is-open .nav-subtoggle svg{transform:rotate(180deg)}
.nav-group.is-current>.nav-parent,.nav-group:hover>.nav-parent,.nav-group.is-open>.nav-parent{color:#fff}
.nav-submenu{position:absolute;top:100%;left:-16px;z-index:35;display:none;min-width:205px;padding:8px;border:1px solid #b5d6be;border-radius:12px;background:#fff;box-shadow:0 14px 28px rgba(0,27,15,.16)}
.nav-group:hover .nav-submenu,.nav-group.is-open .nav-submenu{display:grid}
.nav .nav-submenu a{display:flex;align-items:center;min-height:43px;margin:0;padding:10px 12px;border-radius:7px;color:var(--forest);white-space:nowrap}
.nav .nav-submenu a:hover,.nav .nav-submenu a[aria-current="page"]{background:var(--mint);color:var(--forest);text-decoration:none}
.hero-side .hero-index-label{padding-top:0}
.hero-side h2{font-size:clamp(1.65rem,2.25vw,2.3rem)}
.hero-side p{margin-top:13px;color:#e4f2e6;font-size:.95rem}
.hero-side a{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:20px;color:#fff;font-size:.9rem;font-weight:800}
.hero-side a:hover{text-decoration:underline;text-underline-offset:5px}
.solution-hero-side{padding:27px}
.solution-route-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:23px}
.solution-hero-side .solution-route{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;min-height:68px;margin:0;padding:10px;border:1px solid #badcc4;border-radius:12px;background:#fff;color:var(--forest);font-size:.82rem;line-height:1.2;text-decoration:none;transition:background .2s,border-color .2s}
.solution-hero-side .solution-route:hover{border-color:var(--lime);background:#f0f8e9;text-decoration:none}
.solution-route-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e2f2e5;color:var(--green)}
.solution-route-icon svg,.solution-card-icon svg,.solution-industry-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.directory-section{padding:50px 0;background:var(--cream)}
.directory-section.tinted{background:var(--mint)}
.directory-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:34px}
.directory-heading p{max-width:47ch;color:var(--muted)}
.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.directory-card{display:flex;flex-direction:column;min-height:252px;padding:30px;border:1px solid var(--line);border-radius:17px;background:#fff}
.directory-card .card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--green);font-size:.79rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.directory-card h3{margin-top:25px;font-size:clamp(1.65rem,2.2vw,2.3rem)}
.service-directory-grid .directory-card h3{margin-top:0}
.directory-card p{max-width:52ch;margin-top:10px;color:var(--muted);font-size:.93rem}
.directory-card a{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:auto;padding-top:20px;color:var(--green);font-size:.87rem;font-weight:800}
.directory-card a:hover{text-decoration:underline;text-underline-offset:4px}
.directory-card .card-status{margin-top:4px;color:var(--muted);font-size:.8rem}
.directory-card.wide{grid-column:span 2}
.directory-card.wide p{max-width:70ch}
.solution-products .directory-card{min-height:405px;padding:20px;overflow:hidden}
.solution-products .directory-card h3{margin-top:20px;font-size:clamp(1.65rem,2vw,2.1rem)}
.solution-products .directory-card p{margin-top:8px}
.solution-card-art{position:relative;height:183px;margin:0 -20px;overflow:hidden;border-block:1px solid #d8e8dc;background:#eaf5ed}
.solution-card-art img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.solution-products .directory-card:hover .solution-card-art img{transform:scale(1.035)}
.solution-card-icon,.solution-industry-icon{display:grid;place-items:center;flex:none;color:var(--green);background:#fff}
.solution-card-icon{position:absolute;top:13px;left:13px;width:40px;height:40px;border-radius:11px;box-shadow:0 3px 11px rgba(0,0,0,.11)}
.solution-industries .directory-card{min-height:272px}
.solution-industry-icon{width:50px;height:50px;margin-top:21px;border:1px solid #c6e6ce;border-radius:14px;background:#e2f2e5}
.solution-industries .directory-card h3{margin-top:15px}
.industry-hero-side{padding:27px}
.industry-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}
.industry-hero-side .industry-quick-grid a{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:7px;min-height:68px;margin:0;padding:9px;border:1px solid #badcc4;border-radius:11px;background:#fff;color:var(--forest);font-size:.76rem;font-weight:800;line-height:1.25;text-decoration:none;transition:background .2s,border-color .2s}
.industry-hero-side .industry-quick-grid a:hover{border-color:var(--lime);background:#f0f8e9;text-decoration:none}
.industry-quick-grid svg,.industry-card-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.industry-quick-grid svg{box-sizing:content-box;padding:5px;border-radius:9px;background:#e2f2e5;color:var(--green)}
.industry-hero-side>p{font-size:.82rem}
.industry-directory-grid .directory-card{min-height:435px;padding:20px;overflow:hidden;transition:transform .25s,border-color .25s}
.industry-directory-grid .directory-card:hover{transform:translateY(-3px);border-color:#8ec69a}
.industry-card-art{position:relative;height:185px;margin:16px -20px 0;overflow:hidden;border-block:1px solid #d8e8dc;background:#eaf5ed}
.industry-card-art img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.industry-directory-grid .directory-card:hover .industry-card-art img{transform:scale(1.04)}
.industry-card-icon{position:absolute;top:13px;left:13px;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#fff;color:var(--green);box-shadow:0 3px 11px rgba(0,0,0,.11)}
.industry-directory-grid .directory-card h3{margin-top:19px;font-size:clamp(1.65rem,2vw,2.1rem)}
.industry-directory-grid .directory-card p{margin-top:8px}
.directory-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:23px;color:var(--green);font-size:.88rem;font-weight:800}
.directory-link:hover{text-decoration:underline;text-underline-offset:4px}
.mini-guide{padding:50px 0;background:var(--cream)}
.mini-guide-inner{display:grid;grid-template-columns:1fr 1.35fr;gap:9%;align-items:start}
.mini-guide h2{max-width:22ch}
.mini-guide p{max-width:65ch;color:var(--muted)}
.mini-guide .guide-list{margin-top:0}

/* Root page: one visual overview of five products without invented UI screens. */
.home-hero{overflow:hidden;background:var(--forest);color:#fff}
.home-hero-inner{padding-block:29px 50px}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);align-items:center;gap:2%;margin-top:38px}
.home-hero h1{max-width:none;font-size:clamp(2.5rem,3.65vw,4.1rem)}
.home-hero h1 em{color:var(--lime);font-style:normal}
html[lang="vi"] .home-hero h1 .hero-title-line,html[lang="vi"] .home-hero h1 em{display:block;white-space:nowrap}
.home-hero p{max-width:59ch;margin-top:26px;color:#e4f2e6;font-size:1.03rem}
@keyframes home-hero-rise{from{opacity:.08;transform:translate3d(0,26px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:no-preference){.home-hero h1{animation:home-hero-rise .72s cubic-bezier(.16,1,.3,1) .08s backwards}.home-hero .hero-actions .button{animation:home-hero-rise .62s cubic-bezier(.16,1,.3,1) backwards}.home-hero .hero-actions .button:first-child{animation-delay:.38s}.home-hero .hero-actions .button:nth-child(2){animation-delay:.5s}}
.home-hero-art{width:calc(100% + 100px);min-width:0;margin:0 -100px 0 0;--hero-float-distance:10px;animation:hero-art-float 6s ease-in-out 1s infinite}
.home-hero-art.is-motion-paused{animation-play-state:paused}
.home-hero-art img{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 24px rgba(0,0,0,.18))}
.hero-art-stage{position:relative;animation:hero-art-enter .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes hero-art-enter{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes hero-art-float{0%,100%{transform:translateY(0)}50%{transform:translateY(calc(0px - var(--hero-float-distance)))}}
@media(prefers-reduced-motion:reduce){.home-hero-art,.hero-art-stage{animation:none!important}}
.home-products{padding:50px 0;background:var(--cream)}
.tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}
.tile{display:flex;flex-direction:column;min-height:273px;padding:28px;border:1px solid var(--line);border-radius:17px;background:#fff}
.tile h3{margin-top:30px;font-size:clamp(1.65rem,2.1vw,2.15rem)}
.tile p{margin-top:9px;color:var(--muted);font-size:.92rem}
.tile a{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-top:auto;padding-top:18px;color:var(--green);font-size:.85rem;font-weight:800}
.tile a:hover{text-decoration:underline;text-underline-offset:4px}
.tile.marked{border-color:#7fc78e}
.tile.phase-two{background:#f3faf5}
.home-products .tile{padding:20px 20px 24px;overflow:hidden;transition:transform .2s,border-color .2s}
.home-products .tile:hover{transform:translateY(-4px);border-color:#6eae7b}
.home-products .tile.phase-two{background:#fff}
.home-products .tile h3{margin-top:20px;font-size:clamp(1.45rem,1.85vw,1.9rem)}
.home-products .tile p{margin-top:8px}
.tile-media{position:relative;height:184px;margin:0 -20px;overflow:hidden;border-block:1px solid #d8e8dc;background:#eaf5ed}
.tile-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-products .tile:nth-child(2) .tile-media img{object-position:center 20%}
.tile-media-icon,.industry-icon{display:grid;place-items:center;flex:none;color:#0b693b;background:#e1f2e4}
.software-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.tile-media-icon{position:absolute;left:14px;top:14px;width:40px;height:40px;border:1px solid #fff;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.1)}
.tile-media-icon svg,.industry-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-industries{padding:50px 0;background:var(--mint)}
.industry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:34px}
.industry-tile{display:flex;flex-direction:column;min-height:247px;padding:25px;border:1px solid #c8dfce;border-radius:15px;background:#fff}
.industry-tile h3{font-size:1.48rem}
.industry-tile p{margin-top:13px;color:var(--muted);font-size:.88rem}
.industry-tile a{display:inline-flex;align-items:center;min-height:44px;margin-top:auto;padding-top:15px;color:var(--green);font-size:.84rem;font-weight:800}
.industry-icon{width:48px;height:48px;margin-bottom:20px;border:1px solid #c6e6ce;border-radius:14px}
.home-services{padding:50px 0;background:var(--cream)}
.home-services .tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-services .tile{padding:20px 20px 24px;overflow:hidden}
.service-media{height:190px;margin:0 -20px;overflow:hidden;background:var(--mint)}
.service-media img{display:block;width:100%;height:100%;object-fit:cover}
.home-services .tile h3{margin-top:21px}
.home-reasons{padding:50px 0;background:#fff}
.reason-heading{margin-bottom:28px}
.reason-heading h2{font-size:2rem}
.reason-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(30px,5vw,72px);align-items:center}
.reason-intro{margin:0;overflow:hidden;border-radius:16px;background:var(--mint)}
.reason-photo{display:block;width:100%;height:auto;aspect-ratio:745/558;object-fit:cover}
.reason-list{display:grid;align-content:stretch;border-top:1px solid #b9d4c0}
.reason-item{display:grid;grid-template-columns:34px 1fr;gap:19px;align-items:start;padding:19px 0;border-bottom:1px solid #b9d4c0}
.reason-icon{display:block;width:28px;height:28px;margin-top:2px;color:var(--green)}
.reason-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reason-item h3{font-size:1.24rem}
.reason-item p{max-width:55ch;margin-top:7px;color:var(--muted);font-size:.91rem}
.home-proof{padding:82px 0 88px;background:#e3f3e8}
.proof-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.company-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none}
.company-stats li{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}
.proof-stat-icon{display:block;width:64px;height:64px;margin-bottom:18px;padding:12px;border-radius:50%;background:#fff;color:var(--green)}
.company-stats strong{display:block;color:var(--forest);font:800 clamp(3rem,4.5vw,4.5rem)/1 var(--display-heavy);font-variant-numeric:tabular-nums;letter-spacing:-.035em;white-space:nowrap}
.company-stats span{display:block;max-width:22ch;margin:11px auto 0;color:#365d44;font-size:.94rem;font-weight:700;line-height:1.45}
@media(max-width:960px){.company-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 28px}}
@media(max-width:700px){.home-proof{padding:54px 0 60px}.company-stats{gap:40px 18px}.proof-stat-icon{width:56px;height:56px;margin-bottom:16px}.company-stats strong{font-size:clamp(2.35rem,9vw,3.5rem)}.company-stats span{margin-top:8px;font-size:.8rem}}
@media(max-width:360px){.company-stats{column-gap:12px}.company-stats strong{font-size:2.15rem}}
.home-process{padding:50px 0;background:var(--forest);color:#fff}
.home-process .section-head{margin-inline:auto;text-align:center}
.home-process .section-kicker{margin-inline:auto;background:var(--lime)}
.home-process .section-head p{margin-inline:auto;color:#dceee0}
.process-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:38px 0 0;padding:0;list-style:none}
.process-grid::before{content:"";position:absolute;top:25px;left:calc(12.5% - 9px);right:calc(12.5% - 9px);height:2px;background:#83b997}
.process-card{position:relative;z-index:1;min-width:0}
.process-number{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border:2px solid var(--lime);border-radius:50%;background:var(--lime);color:var(--deep);font:900 1.12rem/1 var(--display-heavy);font-variant-numeric:tabular-nums}
@media(min-width:701px){.process-number,.process-card p{margin-inline:auto}.process-copy{text-align:center}}
.process-copy{margin-top:22px;padding-top:17px}
.process-card h3{font-size:1.18rem}
.process-card p{max-width:none;margin-top:9px;color:#dceee0;font-size:.88rem}
@media(min-width:701px){.process-card p{white-space:nowrap}}
@media(min-width:701px) and (max-width:1023px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}.process-grid::before{display:none}}
@media(min-width:901px){.products-page .guide-item p{white-space:nowrap}}
.home-contact{padding:72px 0 78px;background:var(--mint)}
.home-contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:6%;align-items:start}
.home-contact-info{min-width:0}
.home-contact h2{max-width:18ch}
.home-contact p{max-width:52ch;margin-top:19px;color:var(--muted)}
.home-contact-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 22px;margin:29px 0 0;padding:0;list-style:none}
.home-contact-benefits li{position:relative;padding-left:21px;color:var(--forest);font-size:.88rem;font-weight:700;line-height:1.45}
.home-contact-benefits li::before{content:"";position:absolute;top:.48em;left:0;width:9px;height:9px;border-radius:50%;background:var(--green)}
.home-contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;margin-top:29px}
.home-contact-channels a{display:block;min-width:0;padding:13px 0 15px;border-top:1px solid #b9d8c2}
.home-contact-channels a:last-child{grid-column:1/-1}
.home-contact-channels span{display:block;color:#466a50;font-size:.75rem;font-weight:700}
.home-contact-channels strong{display:block;margin-top:5px;color:var(--forest);font-size:.93rem;line-height:1.45;overflow-wrap:anywhere}
.home-contact-channels a:hover strong,.home-contact-channels a:focus-visible strong{text-decoration:underline;text-underline-offset:3px}
.home-contact-map{margin-top:21px;overflow:hidden;border:1px solid #c6ddcd;border-radius:13px;background:#fff}
.home-contact-map iframe{display:block;width:100%;height:205px;border:0}
.home-contact-map>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);color:var(--green);font-size:.83rem;font-weight:700}
.home-contact-map>a:hover,.home-contact-map>a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.form-card{padding:29px;border:1px solid #c7dfcd;border-radius:18px;background:#fff}
.form-card h3{font-size:1.47rem}
.form-card>p{margin-top:8px;color:var(--muted);font-size:.87rem}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:23px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{color:var(--ink);font-size:.82rem;font-weight:800}
.field input,.field select,.field textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #abcab4;border-radius:8px;background:#fff;color:var(--ink);font:400 .91rem/1.4 var(--body)}
.field textarea{min-height:112px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #8cc63f88;outline-offset:1px;border-color:var(--green)}
.form-card .button{margin-top:19px;border:0;cursor:pointer}
.form-note{margin-top:10px!important;color:var(--muted);font-size:.78rem!important}
.contact-page{padding:50px 0;background:var(--cream)}
.contact-page-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:start}
.contact-page .form-card{border-color:var(--line)}
.contact-info{padding:12px 0}
.contact-info h2{max-width:20ch}
.contact-info p{margin-top:17px;color:var(--muted)}
.contact-lines{display:grid;gap:0;margin-top:30px;border-top:1px solid var(--line)}
.contact-lines>div{padding:17px 0;border-bottom:1px solid var(--line)}
.contact-lines b{display:block;color:var(--green);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.contact-lines a,.contact-lines span{display:block;margin-top:5px;font-weight:700}
.contact-lines a:hover{text-decoration:underline}
.contact-map{margin-top:27px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--mint)}
.contact-map iframe{display:block;width:100%;height:280px;border:0}
.contact-map>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 17px;border-top:1px solid var(--line);color:var(--green);font-size:.84rem;font-weight:700;text-decoration:none}
.contact-map>a:hover,.contact-map>a:focus-visible{background:#e6f3e9;text-decoration:underline;text-underline-offset:3px}

@media(max-width:900px){.home-contact-grid{grid-template-columns:1fr;gap:36px}.home-contact-info{max-width:760px}}
@media(max-width:900px){.home-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:1%}.home-hero-art{width:calc(100% + 30px);margin-right:-30px}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:701px) and (max-width:900px){.home-hero-grid{grid-template-columns:1fr;gap:32px}.home-hero-art{width:min(100%,680px);margin:0 auto}}
@media(max-width:700px){.home-contact-benefits{gap:13px 14px}.home-contact-channels{grid-template-columns:1fr}.home-contact-channels a:last-child{grid-column:auto}.home-contact-map iframe{height:185px}}
@media(max-width:700px){.home-hero .home-hero-grid h1{font-size:clamp(2.1rem,8.3vw,3.5rem)}}
@media(max-width:700px){.compact-hero .hero-inner{padding-block:26px 48px}.compact-hero .hero-layout{margin-top:48px}.directory-section,.home-products,.home-industries,.home-services,.home-reasons,.home-process,.home-contact,.contact-page{padding:36px 0}.directory-heading{display:block}.directory-heading p{margin-top:15px}.directory-grid,.mini-guide-inner,.home-hero-grid,.home-contact-grid,.contact-page-grid{grid-template-columns:1fr}.directory-card.wide{grid-column:auto}.directory-card{min-height:220px;padding:25px}.mini-guide{padding:36px 0}.mini-guide-inner{gap:26px}.home-hero-inner{padding-block:26px 48px}.home-hero-grid{gap:25px;margin-top:43px}.home-hero h1{font-size:clamp(2.7rem,10vw,4.5rem)}.home-hero-art{width:calc(100% + 24px);margin:0 -12px;--hero-float-distance:6px}.tile-grid,.home-services .tile-grid,.industry-grid,.reason-grid,.process-grid{grid-template-columns:1fr}.tile,.industry-tile{min-height:210px}.process-grid{gap:23px}.home-contact-grid{gap:35px}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-card{padding:23px}.contact-page-grid{gap:42px}}
@media(max-width:700px){.solution-route-list{grid-template-columns:1fr}.solution-hero-side .solution-route{min-height:56px}}
@media(max-width:700px){.hero h1{font-size:clamp(2.1rem,8.3vw,3.5rem)}}
@media(max-width:430px){.home-hero .home-hero-grid h1{font-size:clamp(1.5rem,7.5vw,2rem)}}
@media(max-width:700px){.nav{max-height:calc(100vh - 68px);overflow-y:auto}.nav-group{display:block}.nav-group>.nav-parent{display:block}.nav-subtoggle{display:none}.nav-submenu{position:static;display:grid;min-width:0;margin:0 0 6px 12px;padding:0 0 0 14px;border:0;border-left:1px solid #7db58a;border-radius:0;background:transparent;box-shadow:none}.nav .nav-submenu a{min-height:40px;padding:9px 4px;color:#d6efdc;white-space:normal}.nav .nav-submenu a:hover,.nav .nav-submenu a[aria-current="page"]{background:transparent;color:#fff;text-decoration:underline}}
@media(max-width:700px){.industry-quick-grid{grid-template-columns:1fr}.industry-hero-side .industry-quick-grid a{min-height:52px;padding:8px 11px;font-size:.83rem}}
/* Corporate footer, adapted from the Mstar Corp real-estate page. */
.site-footer{position:relative;isolation:isolate;overflow:hidden;padding:0;border-top:1px solid #36734c;background:var(--deep);color:#c9e2d0;font:400 .86rem/1.6 var(--body)}
.site-footer::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--lime),transparent)}
.site-footer .footer-shell{position:relative;width:min(1320px,calc(100% - 48px));margin-inline:auto}
.footer-main{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,5fr);gap:56px;padding:62px 0 54px}
.footer-brand>a{display:inline-flex;align-items:center;justify-content:center;width:148px;min-height:84px;padding:8px 12px;border-radius:12px;background:#fff}
.footer-brand img{width:124px;height:auto;object-fit:contain}
.site-header{border-bottom:1px solid #dce9df;background:#fff;color:var(--ink);box-shadow:0 4px 16px rgba(0,0,0,.08)}
.site-header .brand img{width:82px;height:50px;padding:0;border-radius:0;background:transparent;object-fit:contain}

.site-header .nav>.nav-group>.nav-parent,.site-header .nav>a{color:#41584a}
.site-header .nav>.nav-group>.nav-parent:hover,.site-header .nav>a:hover,.site-header .nav>a[aria-current="page"],.site-header .nav-group.is-current>.nav-parent,.site-header .nav-group.is-open>.nav-parent{color:var(--forest)}
.site-header .nav-subtoggle{color:var(--forest)}
.site-header .language-switch{border-color:#cbded0}
.site-header .language-switch a{color:#365e43}
.site-header .language-switch a:hover{background:#eaf4ed;color:var(--forest)}
.site-header .language-switch a[aria-current="page"],.site-header .language-switch a[aria-current="page"]:hover{background:var(--forest);color:#fff}
.site-header .header-cta{background:var(--green);color:#fff}
.site-header .header-cta:hover{background:var(--forest);color:#fff}
.site-header .menu-button{color:var(--forest)}
@media(max-width:700px){.site-header .brand img{width:64px;height:40px}.site-header .nav{border-top:1px solid #e1ece4;background:#fff}.site-header .nav a{border-bottom-color:#e1ece4}.site-header .nav .nav-submenu a,.site-header .nav .nav-submenu a:hover{color:var(--forest)}}
.footer-brand p{max-width:38ch;margin:12px 0 0;color:#c9e2d0}
.footer-social{display:flex;gap:10px;margin-top:24px}
.footer-social a{display:grid;place-items:center;width:36px;height:36px;border:1px solid #5a8967;border-radius:50%;color:#dceee0;transition:border-color .2s,color .2s}
.footer-social a:hover,.footer-social a:focus-visible{border-color:var(--lime);color:var(--lime)}
.footer-social svg,.footer-detail>svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.footer-column h2{margin:7px 0 22px;color:var(--lime);font:800 .76rem/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase}
.footer-details{display:grid;gap:20px}
.footer-detail{display:grid;grid-template-columns:17px minmax(0,1fr);align-items:start;gap:12px;max-width:100%;text-decoration:none}
.footer-detail>svg{margin-top:2px;color:var(--lime)}
.footer-detail strong{display:block;color:#fff;font-size:.88rem;font-weight:700;overflow-wrap:anywhere}
.footer-detail small{display:block;margin-top:2px;color:#c9e2d0;font-size:.81rem;line-height:1.6}
.footer-detail:hover strong,.footer-detail:focus-visible strong{color:var(--lime)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0 28px;border-top:1px solid #36734c;color:#b8d8c1;font-size:.76rem}
.footer-bottom strong{color:#e2f2e5;font-weight:700}
@media(max-width:850px){.footer-main{gap:30px}}
@media(max-width:700px){.site-footer .footer-shell{width:calc(100% - 36px)}.footer-main{grid-template-columns:1fr;gap:38px;padding:48px 0 44px}.footer-brand p{max-width:48ch}.footer-column h2{margin:0 0 18px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px;padding:22px 0 25px}}

/* Match the product detail hero while keeping the header's solid brand color. */
.hero,.compact-hero,.home-hero{background:radial-gradient(900px 500px at 85% 10%,rgba(140,198,63,.30),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(140,198,63,.25),transparent 60%),linear-gradient(135deg,#014d28,#0a9a47)}

/* Industry icons sit with their titles instead of forming a repeated tile stack. */
.industry-heading,.solution-industry-heading{display:flex;align-items:center;gap:14px;min-width:0}
.industry-heading h3,.solution-industry-heading h3{min-width:0;margin-top:0}
.industry-heading .industry-icon{margin:0}
.solution-industry-heading{margin-top:21px}
.solution-industry-heading .solution-industry-icon{margin:0}

/* Section rhythm between desktop and phone layouts. */
@media(min-width:701px) and (max-width:900px){.section,.directory-section,.home-products,.home-industries,.home-services,.home-reasons,.home-process,.home-contact,.contact-page,.mini-guide,.guide,.final-cta{padding-block:42px}.catalog{padding-block:42px}.compact-hero .hero-inner,.home-hero-inner{padding-bottom:42px}}
@media(max-width:700px){.final-cta{padding-block:36px}}

@media(max-width:900px){.reason-layout{grid-template-columns:1fr;gap:28px}.reason-intro{width:min(100%,520px)}}
@media(max-width:700px){.reason-heading{margin-bottom:22px}.reason-layout{gap:20px}.reason-list{padding-inline:3px}.reason-item{padding:19px 0}}
@media(min-width:701px) and (max-width:900px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.process-grid::before{display:none}}
@media(max-width:700px){.process-grid{grid-template-columns:1fr;gap:24px;margin-top:31px}.process-grid::before{top:26px;bottom:26px;left:25px;right:auto;width:2px;height:auto}.process-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:start}.process-copy{margin-top:0;padding:4px 0 0;border:0}.process-card h3{font-size:1.12rem}.process-card p{max-width:42ch;margin-top:6px}}
