@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root { --ink:#17272d; --muted:#5d6c70; --teal:#557f2d; --teal-hover:#416820; --teal-dark:#18363a; --sand:#e3a047; --sand-dark:#a95600; --paper:#f7f8f3; --line:#e1e6dc; }
* { box-sizing:border-box; }
html { font-size:18px; scroll-behavior:smooth; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body { margin:0; color:var(--ink); background:#fff; font-family:Inter,Arial,sans-serif; line-height:1.5; }
h1,h2,h3,h4 { font-family:Manrope,Inter,sans-serif; letter-spacing:-.025em; line-height:1.35; text-wrap:balance; }
body h1 { font-size:clamp(2.2rem,4vw,3.5rem); font-weight:600; }
body h2 { font-size:clamp(1.55rem,2.4vw,2.15rem); font-weight:600; }
body h3 { font-size:1.15rem; font-weight:600; }
body h4 { font-size:1rem; font-weight:600; }
p,li,.spec-row span,.contact-item span,.contact-item a { line-height:1.5 !important; }
.container { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.eyebrow { color:var(--teal); font-size:.76rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow + :is(h1,h2,h3,h4) { margin-block-start:12px; }
:is(h1,h2,h3,h4) + p { margin-block-start:14px; }
p + p { margin-block-start:16px; }
p + :is(.btn,.button) { margin-block-start:22px; }
.section { padding:88px 0; }
.section-sm { padding:56px 0; }
.section-title { max-width:650px; }
.section-title h2 { margin:10px 0 16px; font-size:clamp(1.75rem,3vw,2.55rem); line-height:1.5; }
.section-title p { color:var(--muted); font-size:1.05rem; line-height:1.75; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 20px; border:1px solid transparent; border-radius:4px; font-weight:700; text-decoration:none; transition-property:background-color,color,border-color,box-shadow,transform; transition-duration:.2s; transition-timing-function:ease; cursor:pointer; }
.btn-primary { background:var(--teal); color:#fff; }
.btn-primary:hover { background:var(--teal-hover); color:#fff; }
.btn-outline { border-color:rgba(16,49,59,.25); color:var(--ink); background:#fff; }
.btn-outline:hover { border-color:var(--teal); color:var(--teal); }
.btn-light { background:#fff; color:var(--teal-dark); }
.btn-light:hover { background:#edf6f4; }
.site-header { position:sticky; top:0; z-index:40; background:rgba(255,255,255,.98); border-bottom:1px solid var(--line); box-shadow:0 5px 18px rgba(23,39,45,.06); backdrop-filter:blur(12px); transition-property:background-color,border-color,box-shadow; transition-duration:.22s; transition-timing-function:cubic-bezier(.2,0,0,1); }
.nav-wrap { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; font-family:Manrope,sans-serif; font-weight:800; letter-spacing:-.04em; }
.brand img { width:156px; height:40px; border-radius:0; object-fit:contain; object-position:left center; }
.brand span { font-size:1.02rem; }
.brand span { display:none; }
.nav-links { display:flex; align-items:center; gap:26px; }
@media(min-width:681px){
.nav-wrap{justify-content:flex-start}
.nav-links{margin-left:clamp(36px,3.7vw,64px)}
}
.nav-links a { color:#405156; font-size:.9rem; font-weight:600; text-decoration:none; }
.nav-links a:hover { color:var(--teal); }
.nav-links a.active { color:var(--teal); }
.nav-cta { min-height:40px; padding:0 16px; }
.nav-links .nav-cta { background:var(--teal); color:#fff !important; }
.nav-links .nav-cta:hover { background:var(--teal-hover); color:#fff !important; }
.menu-btn { display:none; border:0; background:none; color:var(--ink); cursor:pointer; }
.nav-products { display:flex; align-self:stretch; align-items:center; }
.nav-products-trigger { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; }
.nav-chevron { width:12px; height:8px; fill:none; stroke:currentColor; stroke-width:1.6; transition:transform .22s cubic-bezier(.2,0,0,1); }
.nav-links .nav-products.is-open > .nav-products-trigger { color:var(--teal); }
.nav-products.is-open .nav-chevron { transform:rotate(180deg); }
.product-mega { position:absolute; top:100%; left:0; right:0; max-height:calc(100vh - 74px); overflow:auto; background:#fff; color:var(--ink); border-top:1px solid #e8eeec; box-shadow:0 22px 55px rgba(5,31,39,.16),0 4px 14px rgba(5,31,39,.06); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-8px); transition-property:opacity,transform,visibility; transition-duration:.22s; transition-timing-function:cubic-bezier(.2,0,0,1); }
.nav-products.is-open .product-mega { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.product-mega-inner { display:flex; align-items:stretch; min-height:350px; padding-inline:0; }
.product-mega-sidebar { flex:0 0 290px; padding:28px 24px 32px; background:var(--paper); }
.nav-links .product-mega-overview { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:66px; margin-bottom:13px; padding:10px 12px; border-bottom:1px solid #dce5e2; color:var(--ink); }
.nav-links .product-mega-overview:hover { color:var(--teal); }
.product-mega-overview span { display:grid; gap:3px; }
.product-mega-overview small { color:var(--teal); font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.product-mega-overview svg,
.product-mega-heading svg,
.product-mega-link svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; flex:none; }
.product-mega-category { position:relative; display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:48px; padding:10px 12px; border:0; border-radius:5px; background:transparent; color:var(--ink); font:600 .88rem/1.35 Inter,Arial,sans-serif; text-align:left; cursor:pointer; transition-property:background-color,color,transform; transition-duration:.18s; transition-timing-function:cubic-bezier(.2,0,0,1); }
.product-mega-category svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; opacity:.45; transition-property:opacity,transform; transition-duration:.18s; transition-timing-function:cubic-bezier(.2,0,0,1); }
.product-mega-category:hover { color:var(--teal); }
.product-mega-category.is-active { background:#fff; color:var(--teal); box-shadow:0 5px 18px rgba(5,31,39,.06); }
.product-mega-category.is-active svg { opacity:1; transform:translateX(2px); }
.product-mega-family+.product-mega-family { margin-top:2px; }
.product-mega-family.is-active>.product-mega-family-trigger svg { transform:rotate(90deg); }
.product-mega-subcategories { display:grid; gap:2px; margin:3px 0 9px; padding:4px 10px 5px 22px; }
.product-mega-subcategories[hidden] { display:none; }
.nav-links .product-mega-subcategory { position:relative; display:flex; align-items:center; width:100%; min-height:34px; padding:6px 10px 6px 15px; border:0; border-radius:4px; background:transparent; color:#536a70; font:500 .82rem/1.35 Inter,Arial,sans-serif; text-align:left; text-decoration:none; cursor:pointer; transition:background-color .18s cubic-bezier(.2,0,0,1),color .18s cubic-bezier(.2,0,0,1); }
.product-mega-subcategory::before { content:""; position:absolute; top:50%; left:2px; width:5px; height:5px; border-radius:50%; background:#a9b9b6; transform:translateY(-50%); transition:background-color .18s cubic-bezier(.2,0,0,1),transform .18s cubic-bezier(.2,0,0,1); }
.nav-links .product-mega-subcategory:hover { color:var(--teal); background:rgba(255,255,255,.62); }
.nav-links .product-mega-subcategory.is-active { color:var(--teal); background:#fff; font-weight:700; }
.product-mega-subcategory.is-active::before { background:var(--teal); transform:translateY(-50%) scale(1.2); }
.product-mega-category:active { transform:scale(.96); }
.product-mega-category:focus-visible,
.product-mega-subcategory:focus-visible,
.nav-products-trigger:focus-visible,
.product-mega-card:focus-visible,
.product-mega-heading a:focus-visible { outline:3px solid rgba(85,127,45,.32); outline-offset:2px; }
.product-mega-content { flex:1; min-width:0; padding:32px 34px 36px; background:#fff; }
[data-products-menu] .product-mega { overflow:hidden; }
[data-products-menu] .product-mega-inner,
[data-products-menu] .product-mega-content { max-height:calc(100vh - 74px); }
[data-products-menu] .product-mega-content { overflow-y:auto; scroll-behavior:smooth; }
.product-mega-panel[hidden] { display:none; }
.product-mega-panel.is-active { display:block; }
.product-mega-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:23px; }
.product-mega-heading span { color:#849398; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.product-mega-heading h2 { margin:3px 0 0; color:var(--ink); font-size:1.32rem; line-height:1.3; }
.nav-links .product-mega-heading a { display:inline-flex; align-items:center; gap:7px; min-height:40px; color:var(--teal); font-size:.78rem; }
.nav-links .product-mega-heading a:hover { color:var(--teal-dark); }
.product-mega-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.nav-links .product-mega-card { display:flex; flex-direction:column; min-width:0; padding:11px 11px 14px; border-radius:8px; color:var(--ink); background:#fff; box-shadow:0 0 0 1px rgba(16,49,59,.08); transition-property:transform,box-shadow,color; transition-duration:.2s; transition-timing-function:cubic-bezier(.2,0,0,1); }
.nav-links .product-mega-card:hover { color:var(--teal); transform:translateY(-3px); box-shadow:0 14px 32px rgba(5,31,39,.12),0 0 0 1px rgba(16,49,59,.06); }
.product-mega-image { display:flex; align-items:center; justify-content:center; height:126px; margin-bottom:12px; padding:9px; overflow:hidden; border-radius:5px; background:#f4f7f6; outline:1px solid rgba(0,0,0,.1); outline-offset:-1px; }
.product-mega-image img { width:100%; height:100%; object-fit:contain; }
.product-mega-card strong { min-height:38px; color:inherit; font:700 .82rem/1.45 Manrope,Inter,sans-serif; }
.product-mega-link { display:flex; align-items:center; gap:4px; margin-top:9px; color:#7a8c91; font-size:.7rem; font-weight:600; }
.product-mega-link svg { width:14px; height:14px; }
.product-mega-empty { grid-column:1/-1; padding:45px 20px; color:var(--muted); text-align:center; background:var(--paper); border-radius:8px; }
@media(min-width:1101px){
.nav-wrap{min-height:88px}
.brand img{width:176px;height:52px}
.nav-links{gap:32px}
.nav-links a{font-size:1.08rem;font-weight:500;line-height:1.4}
.nav-products-trigger{min-height:56px}
.nav-cta{min-height:46px;padding-inline:20px}
.product-mega{max-height:calc(100vh - 88px)}
[data-products-menu] .product-mega-inner,[data-products-menu] .product-mega-content{max-height:calc(100vh - 88px)}
}
.hero { position:relative; overflow:hidden; background:var(--teal-dark); color:#fff; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(24,54,58,.94) 0%,rgba(24,54,58,.74) 44%,rgba(24,54,58,.18) 100%); }
.hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.7; }
.hero-inner { position:relative; z-index:1; min-height:620px; display:flex; align-items:center; padding:90px 0; }
.hero-copy { max-width:690px; }
.hero h1 { margin:16px 0 24px; max-width:720px; font-size:clamp(2.25rem,4vw,3.75rem); line-height:1.5; }
.hero p { max-width:600px; color:#d5e1df; font-size:1.1rem; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hero .eyebrow { color:#f1c08b; }
.stats { border-bottom:1px solid var(--line); background:#fff; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.stat { padding:28px 24px; border-right:1px solid var(--line); }
.stat:first-child { padding-left:0; }.stat:last-child { border:0; }
.stat strong { display:block; font-family:Manrope,sans-serif; font-size:1.55rem; }.stat span { display:block; color:var(--muted); margin-top:5px; font-size:.88rem; }
.soft { background:var(--paper); }.dark { background:var(--teal-dark); color:#fff; }
.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px; align-items:center; }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.card { border:1px solid var(--line); background:#fff; border-radius:8px; overflow:hidden; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.card:hover { transform:translateY(-3px); border-color:#9bc0c1; box-shadow:0 15px 35px rgba(16,49,59,.08); }
.card-body { padding:23px; }.card h3 { margin:0 0 9px; font-size:1.18rem; }.card p { margin:0; color:var(--muted); line-height:1.5; font-size:1rem; }.card-body>.eyebrow+h3{margin-top:12px}
.card-media { height:430px; background:#eef3f1; display:flex; align-items:center; justify-content:center; padding:18px; }.card-media img { width:100%; height:100%; object-fit:contain; }
.category-card .card-media { height:430px; }
.category-card .card-media img { object-fit:cover; object-position:center; }
.arrow { display:inline-flex; margin-top:20px; color:var(--teal); font-size:.88rem; font-weight:700; text-decoration:none; }
.split-image { height:420px; min-height:420px; border-radius:8px; overflow:hidden; background:#e5eeeb; }.split-image img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.about-story-grid { align-items:start; }
.about-story-copy h2 { font-size:2rem; margin:10px 0 20px; }
.about-story-copy p { font-size:1.35rem; margin:0 0 18px; }
.about-story-copy h2,
.about-story-copy p { line-height:1.5 !important; }
.check-list { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:14px; }.check-list li { display:flex; gap:12px; color:var(--muted); line-height:1.55; }.check-list svg { flex:none; color:var(--teal); margin-top:3px; }
.industry { padding:26px; min-height:180px; background:var(--teal-dark); color:#fff; border-radius:8px; }.industry:nth-child(2n) { background:#466a3b; }.industry .eyebrow,.industry h3,.industry p { color:#fff; }.industry h3 { margin:35px 0 8px; }.industry p { font-size:.98rem; line-height:1.55; }
.band { padding:28px 0; background:#eaf1ef; }.band-row { display:flex; align-items:center; justify-content:space-between; gap:24px; }.band p { margin:0; color:var(--muted); }
.page-hero { padding:52px 0 58px; background:var(--paper); border-bottom:1px solid var(--line); }.page-hero .container { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); column-gap:72px; align-items:end; }.page-hero .breadcrumbs { grid-column:1/-1; margin-bottom:32px; }.page-hero .eyebrow { grid-column:1; margin-top:0!important; }.page-hero h1 { grid-column:1; max-width:880px; margin:12px 0 0; font-size:clamp(2.2rem,3.4vw,3.2rem); line-height:1.12; text-wrap:balance; }.page-hero p { grid-column:2; grid-row:2/span 2; align-self:end; max-width:590px; margin:0 0 3px; color:var(--muted); line-height:1.65; font-size:1.05rem; text-wrap:pretty; }.error404 .page-hero .container { display:block; }.error404 .page-hero .eyebrow { margin-top:0!important; }.error404 .page-hero p { margin:18px 0 24px; }
@media(max-width:900px){.page-hero .container{display:block}.page-hero .breadcrumbs{margin-bottom:28px}.page-hero h1{max-width:820px}.page-hero p{max-width:680px;margin-top:18px}}
.breadcrumbs { color:var(--muted); font-size:.82rem; }.breadcrumbs a { color:var(--teal); text-decoration:none; }
.detail-hero { padding:60px 0; background:var(--paper); }.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }.product-stage { height:420px; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--line); border-radius:8px; padding:30px; }.product-stage img { width:100%; height:100%; object-fit:contain; }
.detail-grid h1 { font-size:clamp(2.2rem,4vw,3.4rem) !important; line-height:1.5 !important; }
.detail-title{margin:14px 0 0;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.5}
.detail-intro{margin-top:18px;max-width:62ch}
.detail-intro p{margin:0;color:var(--muted);font-size:1.08rem;line-height:1.75}
.detail-copy h2{margin:12px 0 18px;font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.5}
.detail-copy p{margin:0;color:var(--muted);font-size:1.06rem;line-height:1.75}
.detail-copy-block{margin-top:30px}
.detail-stack{display:grid;gap:28px}
.detail-copy-panel{max-width:none}
.detail-spec-card{width:100%}
.detail-bullets{margin:14px 0 0;padding-left:20px;display:grid;gap:12px}
.detail-bullets li{color:var(--muted);font-size:1rem;line-height:1.75}
.specs{display:grid;gap:24px}
.spec-group{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.spec-group-title{padding:14px 18px;background:#f5f8f7;border-bottom:1px solid var(--line);font-family:Manrope,Inter,sans-serif;font-size:.92rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-dark)}
.spec-table{display:block}
.spec-row{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:28px;align-items:start;padding:16px 18px;border-bottom:1px solid var(--line)}
.spec-row:last-child{border-bottom:0}
.spec-row strong{font-size:1rem;line-height:1.5;font-weight:700;color:var(--ink)}
.spec-row span{color:var(--muted);font-size:1rem;line-height:1.5;word-break:break-word}
.software-page-content{max-width:980px}
.software-page-content > :first-child{margin-top:0 !important}
.software-page-content .card{margin:24px 0}
.software-page-content .card:hover{transform:none;box-shadow:none}
.software-page-content .check-list{margin-top:0}
.form-card { padding:32px; border:1px solid var(--line); border-radius:8px; background:#fff; }.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.field { display:grid; gap:7px; }.field.full { grid-column:1/-1; }.field label { color:var(--ink); font-size:.82rem; font-weight:700; }.field input,.field select,.field textarea { width:100%; border:1px solid #cbd8d5; border-radius:4px; background:#fff; color:var(--ink); padding:13px 14px; font:inherit; outline:none; }.field textarea { min-height:145px; resize:vertical; }.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(85,127,45,.14); }
.esss-form-shell .ff-el-form-control,
.esss-form-shell .ff-el-group select,
.esss-form-shell .ff-t-cell .ff-el-form-control{
width:100%;
border:1px solid #cbd8d5;
border-radius:4px;
background:#fff;
color:var(--ink);
padding:13px 14px;
font:inherit;
outline:none;
min-height:48px
}
.esss-form-shell textarea.ff-el-form-control{min-height:145px;resize:vertical}
.esss-form-shell .ff-el-form-control:focus,
.esss-form-shell .ff-el-group select:focus{
border-color:var(--teal);
box-shadow:0 0 0 3px rgba(85,127,45,.14)
}
.esss-form-shell .ff-el-form-control::placeholder{color:#7c8c91}
.esss-form-shell .ff-t-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.esss-form-shell .ff-t-cell{width:100% !important;margin:0 !important}
.esss-form-shell .ff-el-group{margin-bottom:16px}
.esss-form-shell .ff-el-input--label label,
.esss-form-shell .ff-el-is-required.asterisk-right label{
color:var(--ink);
font-size:.82rem;
font-weight:700;
line-height:1.5;
margin-bottom:7px;
display:block
}
.esss-form-shell .ff_submit_btn_wrapper{margin-top:18px}
.esss-form-shell .ff-btn-submit,
.esss-form-shell .ff_submit_btn_wrapper button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
min-height:48px;
padding:0 20px;
border:1px solid transparent;
border-radius:4px;
font-weight:700;
text-decoration:none;
transition:all .2s ease;
cursor:pointer;
background:var(--teal) !important;
color:#fff !important;
box-shadow:none !important
}
.esss-form-shell .ff-btn-submit:hover,
.esss-form-shell .ff_submit_btn_wrapper button:hover{background:var(--teal-hover) !important;color:#fff !important}
.esss-form-shell .ff_errors_found,
.esss-form-shell .text-danger{font-size:.85rem}
.contact-list { display:grid; gap:20px; }.contact-item { display:flex; gap:14px; align-items:flex-start; }.contact-item svg { color:var(--teal); flex:none; }.contact-item strong { display:block; margin-bottom:4px; }.contact-item span,.contact-item a { color:var(--muted); line-height:1.55; text-decoration:none; }
.faq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(44px,6vw,96px); align-items:start; }.faq-column { display:grid; gap:12px; }.faq-list details { border-bottom:1px solid var(--line); padding:18px 0; }.faq-list summary { cursor:pointer; font-family:Manrope,sans-serif; font-weight:700; }.faq-list p { color:var(--muted); line-height:1.7; padding-right:20px; text-wrap:pretty; }
@media(max-width:760px){.faq-list{grid-template-columns:1fr;column-gap:0}.faq-column{gap:12px}}
.site-footer { background:var(--paper); color:var(--ink); padding:38px 0 18px; border-top:4px solid var(--teal-dark); }.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; column-gap:56px; row-gap:32px; align-items:start; }.site-footer .brand { width:max-content; margin-bottom:10px; }.site-footer .brand img { width:154px; height:46px; }.site-footer h3 { margin:0 0 10px; color:var(--ink); font-size:.95rem; letter-spacing:0; }.site-footer p { margin:0; }.site-footer p,.site-footer a { color:var(--muted); line-height:1.55; font-size:.94rem; text-decoration:none; }.footer-grid > div:first-child p { max-width:36ch; }.site-footer a:hover { color:var(--teal); }.footer-links { display:grid; gap:7px; }.footer-links a { display:inline-flex; width:max-content; line-height:1.5; }.footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); margin-top:28px; padding-top:14px; color:#728078; font-size:.86rem; }
.toast { position:fixed; right:20px; bottom:20px; z-index:70; display:none; padding:14px 16px; border-radius:5px; background:var(--teal-dark); color:#fff; box-shadow:0 15px 40px rgba(0,0,0,.2); }.toast.show { display:block; }
@media(max-width:900px){.nav-links{gap:15px}.grid-4{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.hero-inner{min-height:560px}.grid-2{gap:30px}}
@media(max-width:680px){.container{width:min(100% - 32px,1160px)}.menu-btn{display:block}.nav-links{position:absolute;top:74px;left:0;right:0;display:none;padding:20px 16px 24px;background:var(--teal-dark);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 12px 30px rgba(16,49,59,.2);flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.nav-cta{display:none}.stats-grid,.grid-2,.grid-3,.grid-4,.detail-grid,.form-grid,.footer-grid,.esss-form-shell .ff-t-container{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.stat:last-child{border-bottom:0}.section{padding:64px 0}.page-hero{padding:44px 0 48px}.hero h1{font-size:2.2rem}.band-row{align-items:flex-start;flex-direction:column}.split-image{min-height:280px}.product-stage{height:310px}.spec-row{grid-template-columns:1fr;gap:6px}.footer-bottom{flex-direction:column;gap:8px}}
@media(max-width:1050px) and (min-width:681px){
.product-mega-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-mega-sidebar{flex-basis:250px}
.product-mega-content{padding-inline:24px}
}
@media(max-width:680px){
.container{width:100%!important;max-width:none!important;padding-inline:20px!important}
.product-mega-inner.container{padding-inline:0!important}
.menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px}
.nav-links{max-height:calc(100vh - 74px);overflow:auto}
.nav-links>a,.nav-links>.nav-products>.nav-products-trigger{color:#e7efea}
.nav-links>a:hover,.nav-links>.nav-products>.nav-products-trigger:hover{color:#fff}
.nav-links>a.active,.nav-links>.nav-products>.nav-products-trigger.active,.nav-links>.nav-products.is-open>.nav-products-trigger{color:#b9d99b}
.nav-links>a,.nav-products{width:100%}
.nav-products{display:block}
.nav-products-trigger{width:100%;justify-content:space-between}
.product-mega{position:static;display:none;width:calc(100% + 32px);max-height:none;margin:7px -16px -9px;overflow:visible;border-top:1px solid rgba(255,255,255,.12);box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none}
.nav-products.is-open .product-mega{display:block}
.product-mega-inner{width:100%;min-height:0;flex-direction:column}
.product-mega-sidebar{flex-basis:auto;padding:18px 16px;background:#edf2f0}
.nav-links .product-mega-overview{margin-bottom:8px;color:var(--ink)}
.product-mega-category{min-height:46px}
.product-mega-subcategories{padding-left:18px}
.product-mega-content{padding:22px 16px 27px}
[data-products-menu] .product-mega{overflow:visible}
[data-products-menu] .product-mega-inner,[data-products-menu] .product-mega-content{max-height:none}
[data-products-menu] .product-mega-content{overflow:visible;scroll-behavior:auto}
.product-mega-heading{align-items:flex-start;margin-bottom:18px}
.product-mega-heading h2{font-size:1.12rem}
.product-mega-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.product-mega-image{height:105px}
.product-mega-card strong{font-size:.76rem}
}
@media(max-width:420px){
.product-mega-grid{grid-template-columns:1fr 1fr}
.product-mega-heading>a{font-size:0}
.product-mega-heading>a svg{width:20px;height:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.btn,.site-header,.product-mega,.nav-chevron,.product-mega-category,.product-mega-category svg,.product-mega-subcategory,.product-mega-subcategory::before,.product-mega-card{transition:none}}
/* WordPress template aliases retain the source demo geometry while keeping PHP template names readable. */
.wrap{width:min(1160px,calc(100% - 40px));margin-inline:auto}.header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}.main-nav{display:flex;align-items:center;gap:26px}.main-nav ul{display:contents;list-style:none}.main-nav a{color:#405156;font-size:.9rem;font-weight:600}.main-nav a:hover{color:var(--teal)}.main-nav .current-menu-item>a{color:var(--teal)}.menu-toggle{display:none}.page-head{padding:78px 0 72px;background:var(--paper);border-bottom:1px solid var(--line);color:var(--ink)}.page-head h1{max-width:780px;margin:12px 0;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.5}.page-head p{max-width:650px;color:var(--muted);line-height:1.5;font-size:1.05rem}.section-head{max-width:650px;margin-bottom:30px}.section-head h2{margin:10px 0 16px;font-size:clamp(1.75rem,3vw,2.55rem)}.product-card{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.product-card:hover{transform:translateY(-3px);border-color:#a8bc99;box-shadow:0 15px 35px rgba(23,39,45,.08)}.product-card img{height:210px;width:100%;object-fit:contain;background:#f2f5ee;padding:18px}.product-card-body{padding:23px}.product-card h3{margin:0 0 9px;font-size:1.18rem}.product-card p{margin:0;color:var(--muted);font-size:.92rem}.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.main-product-image{height:420px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px;width:100%;object-fit:contain}.gallery-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.gallery-thumb{height:72px;padding:3px;border:1px solid var(--line);background:#fff;cursor:pointer}.gallery-thumb img{width:100%;height:100%;object-fit:contain}.gallery-thumb.active{border:2px solid var(--teal)}.modal{position:fixed;inset:0;background:rgba(4,22,28,.82);display:none;align-items:center;justify-content:center;padding:30px;z-index:99}.modal.open{display:flex}.modal img{max-width:min(900px,92vw);max-height:88vh;object-fit:contain;background:#fff}.modal-close{position:absolute;right:24px;top:20px;background:#fff;border:0;color:var(--ink);font-size:24px;width:42px;height:42px;cursor:pointer}
@media(max-width:680px){.wrap{width:min(100% - 32px,1160px)}.menu-toggle{display:block;border:0;background:none;color:#fff;cursor:pointer}.main-nav{position:absolute;top:74px;left:0;right:0;display:none;padding:20px 16px 24px;background:var(--teal-dark);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 12px 30px rgba(16,49,59,.2);flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.main-nav ul{display:flex;flex-direction:column;gap:15px}.product-layout{grid-template-columns:1fr}.main-product-image{height:310px}}
@media(min-width:768px){.gallery-thumbs{grid-template-columns:repeat(6,minmax(0,1fr))}}
.product-stage.product-stage-gallery,
.main-product-frame{
height:430px;
aspect-ratio:auto;
padding:24px;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden
}
.main-product-image{
display:block !important;
width:100% !important;
height:100% !important;
max-width:100%;
max-height:100%;
padding:0 !important;
border:0 !important;
border-radius:0 !important;
background:transparent !important;
object-fit:contain !important;
object-position:center center !important
}
.gallery-thumbs{margin-top:12px}
.gallery-thumb{aspect-ratio:1/1;height:auto;display:flex;align-items:center;justify-content:center;border-radius:6px}
.modal-panel{position:relative;display:inline-flex;align-items:center;justify-content:center}
.modal-panel img{max-width:min(900px,92vw);max-height:88vh;object-fit:contain;background:#fff}
.modal-panel .modal-close{position:absolute;top:10px;right:10px}

/* Company profile */
.about-hero{padding:72px 0;background:linear-gradient(110deg,#edf3f1 0%,#f7f8f6 58%,#fff 100%);border-bottom:1px solid var(--line)}
.about-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);gap:64px;align-items:center}
.about-hero-copy{padding:18px 0}
.about-breadcrumbs{margin-bottom:46px}
.about-hero h1{max-width:700px;margin:14px 0 20px;font-size:clamp(2.35rem,4.3vw,4.4rem);line-height:1.08;letter-spacing:-.045em}
.about-hero-copy>p{max-width:630px;margin:0;color:var(--muted);font-size:1.08rem;line-height:1.75}
.about-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}
.about-text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--teal);font-size:.88rem;font-weight:700;text-decoration:none}
.about-text-link:hover{color:var(--teal-dark)}
.about-hero-media{position:relative;margin:0;min-height:500px;overflow:hidden;border-radius:10px;background:#dfe8e5;box-shadow:0 24px 60px rgba(11,51,64,.15)}
.about-hero-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.about-hero-media figcaption{position:absolute;left:22px;right:22px;bottom:22px;display:grid;gap:3px;padding:17px 19px;border-radius:7px;background:rgba(8,40,50,.9);color:#fff;backdrop-filter:blur(8px)}
.about-hero-media figcaption strong{font-family:Manrope,Inter,sans-serif;font-size:1rem}
.about-hero-media figcaption span{color:#cbdcda;font-size:.78rem}
.about-facts{background:#fff;border-bottom:1px solid var(--line)}
.about-facts-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.about-facts-grid>div{display:grid;gap:4px;padding:27px 28px;border-right:1px solid var(--line)}
.about-facts-grid>div:first-child{padding-left:0}.about-facts-grid>div:last-child{border-right:0}
.about-facts-grid strong{font:700 1.42rem/1.2 Manrope,Inter,sans-serif;color:var(--teal-dark)}
.about-facts-grid span{color:var(--muted);font-size:.8rem}
.about-intro-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:90px;align-items:start}
.about-intro-heading{position:sticky;top:112px}
.about-intro-heading h2{margin:12px 0 0;font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.18}
.about-intro-copy{display:grid;gap:22px}
.about-intro-copy p{margin:0;color:#405960;font-size:1.08rem;line-height:1.9!important;text-align:justify;text-align-last:start;text-justify:inter-word;hyphens:auto;overflow-wrap:break-word}
.about-intro-copy p:first-child{font-size:1.25rem;color:var(--ink)}
.about-growth-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:64px;align-items:center}
.about-growth-visual{margin:0;padding:18px;border-radius:10px;background:#fff;box-shadow:0 18px 50px rgba(11,51,64,.09)}
.about-growth-visual img{display:block;width:100%;height:auto}
.about-growth-copy h2{margin:12px 0 26px;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.2}
.about-milestones{list-style:none;margin:0;padding:0;display:grid}
.about-milestones li{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.about-milestones li>span{color:var(--teal);font-size:.78rem;font-weight:800;letter-spacing:.06em}
.about-milestones strong{display:block;margin-bottom:5px;font-family:Manrope,Inter,sans-serif}
.about-milestones p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.65!important}
.about-section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:38px}
.about-section-heading h2{max-width:720px;margin:10px 0 0;font-size:clamp(2rem,3vw,2.9rem);line-height:1.2}
.about-tech-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.about-tech-card{min-height:210px;padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.about-tech-card>span{color:var(--teal);font-size:.7rem;font-weight:800;letter-spacing:.12em}
.about-tech-card h3{margin:45px 0 9px;font-size:1.08rem}
.about-tech-card p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.6!important}
.about-global{padding:86px 0;background:var(--teal-dark);color:#fff}
.about-global-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:68px;align-items:center}
.about-global .eyebrow{color:#f1c08b}
.about-global h2{margin:12px 0 20px;font-size:clamp(2rem,3.2vw,3rem);line-height:1.18}
.about-global-copy>p{margin:0;color:#c6d9d7;font-size:1rem;line-height:1.8!important}
.about-regions{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.about-regions span{padding:8px 11px;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#e6efed;font-size:.73rem}
.about-global-image{margin:0;height:390px;overflow:hidden;border-radius:9px}
.about-global-image img{width:100%;height:100%;object-fit:cover}
.about-principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.about-principles-grid article{min-height:230px;padding:30px;border-radius:8px;background:var(--paper)}
.about-principles-grid span{color:var(--teal);font-size:.72rem;font-weight:800;letter-spacing:.12em}
.about-principles-grid h3{margin:52px 0 8px;font-size:1.45rem}
.about-principles-grid p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65!important}
.about-location-heading{max-width:720px;margin-bottom:34px}
.about-location-heading h2{margin:10px 0 0;font-size:clamp(2rem,3vw,2.9rem);line-height:1.2}
.about-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.about-location-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff}
.about-location-copy{display:flex;flex:1;flex-direction:column;padding:26px}
.about-location-copy h3{margin:11px 0 12px;font-size:1.35rem}
.about-location-copy address{margin:0;color:var(--muted);font-size:.94rem;font-style:normal;line-height:1.7;text-wrap:pretty}
.about-location-copy>a{display:inline-flex;align-items:center;gap:7px;width:max-content;margin-top:20px;color:var(--teal);font-size:.82rem;font-weight:700;text-decoration:none}
.about-location-copy>a:hover{color:var(--teal-hover)}
.about-location-map{height:280px;border-top:1px solid var(--line);background:#edf1e9}
.about-location-map iframe{display:block;width:100%;height:100%;border:0}
.about-cta{padding:42px 0;background:#e8f0ee;border-top:1px solid #d4e1de}
.about-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.about-cta h2{margin:8px 0 0;font-size:clamp(1.55rem,2.4vw,2.25rem);line-height:1.2}

/* Product and solution mega menus */
.product-mega-subgroup{padding:0 0 28px;scroll-margin-top:20px}
.product-mega-subgroup:last-child{padding-bottom:0}
.product-mega-subgroup+.product-mega-subgroup{padding-top:25px;border-top:1px solid var(--line)}
.product-mega-subgroup .product-mega-heading{margin-bottom:18px}
.product-mega-subgroup>h3{margin:0 0 14px;color:#7a8c91;font-size:.7rem;letter-spacing:.11em;text-transform:uppercase}
.solution-mega-inner{display:grid;grid-template-columns:270px 1fr;gap:34px;padding-top:30px;padding-bottom:34px}
.solution-mega-intro{padding:9px 26px 10px 0;border-right:1px solid var(--line)}
.solution-mega-intro>span{color:var(--teal);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.solution-mega-intro h2{margin:10px 0 13px;font-size:1.45rem;line-height:1.3}
.solution-mega-intro p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.65!important}
.solution-mega-intro a{display:inline-flex;margin-top:23px;color:var(--teal);font-size:.77rem;font-weight:700;text-decoration:none}
.solution-mega-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.nav-links .solution-mega-card{display:flex;flex-direction:column;min-width:0;min-height:220px;padding:17px;border-radius:7px;color:var(--ink);background:#f6f8f7;box-shadow:inset 0 0 0 1px rgba(16,49,59,.07);transition-property:transform,box-shadow,background-color;transition-duration:.2s}
.nav-links .solution-mega-card:hover{color:var(--ink);background:#fff;transform:translateY(-3px);box-shadow:0 14px 30px rgba(5,31,39,.1),inset 0 0 0 1px rgba(16,49,59,.06)}
.solution-mega-number{color:var(--teal);font-size:.66rem;font-weight:800;letter-spacing:.1em}
.solution-mega-card>svg{width:72px;height:28px;margin:25px 0 20px;fill:none;stroke:var(--teal);stroke-width:1.5}
.solution-mega-card strong{font:700 .82rem/1.45 Manrope,Inter,sans-serif}
.solution-mega-card>span:last-child{margin-top:8px;color:var(--muted);font-size:.69rem;line-height:1.5}

/* Solutions page */
.solutions-hero{padding:58px 0 66px;background:linear-gradient(100deg,var(--teal-dark),#365d43);color:#fff}
.solutions-breadcrumbs{margin-bottom:36px;color:#b8ccca}.solutions-breadcrumbs a{color:#fff}
.solutions-hero-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:72px;align-items:end}
.solutions-hero .eyebrow{color:#f1c08b}
.solutions-hero h1{max-width:980px;margin:15px 0 0;font-size:clamp(2.6rem,3.7vw,3.85rem);line-height:1.08;letter-spacing:-.04em;text-wrap:balance}
.solutions-hero-copy{padding-bottom:4px}
.solutions-hero p{max-width:570px;margin:0 0 26px;color:#d3e1df;font-size:1.08rem;line-height:1.7!important;text-wrap:pretty}
@media(max-width:900px){.solutions-hero-layout{grid-template-columns:1fr;gap:28px;align-items:start}.solutions-hero-copy{padding-bottom:0}.solutions-hero p{max-width:680px}}
.solution-index{position:sticky;top:74px;z-index:20;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 7px 18px rgba(11,51,64,.05)}
.solution-index-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.solution-index a{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;min-height:76px;padding:14px 15px;border-right:1px solid var(--line);color:var(--ink);text-decoration:none}
.solution-index a:first-child{border-left:1px solid var(--line)}
.solution-index a>span{color:var(--teal);font-size:.65rem;font-weight:800}
.solution-index a>strong{font-size:.72rem;line-height:1.35}
.solution-index a>svg{width:16px;height:16px;fill:none;stroke:var(--teal);stroke-width:1.7}
.solution-detail{scroll-margin-top:150px}
.solution-detail-heading{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:end;margin-bottom:38px}
.solution-detail-heading h2{margin:10px 0 0;font-size:clamp(2rem,3vw,3rem);line-height:1.2}
.solution-detail-heading>p{margin:0;color:var(--muted);font-size:1rem;line-height:1.7!important}
.solution-system-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:24px;align-items:stretch}
.solution-topology{margin:0;padding:28px;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}
.solution-topology figcaption{margin-bottom:36px;color:#7a8c91;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.solution-flow{display:flex;align-items:center;justify-content:center;min-height:190px}
.solution-node{display:grid;justify-items:center;gap:12px;min-width:104px;text-align:center}
.solution-node>span{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:#eaf2f0;color:var(--teal)}
.solution-node svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6}
.solution-node strong{max-width:110px;font-size:.76rem;line-height:1.4}
.solution-flow-arrow{flex:1;min-width:28px;max-width:54px;height:12px;fill:none;stroke:#8da5a3;stroke-width:1.5}
.solution-products{padding:28px;border-radius:9px;background:var(--teal-dark);color:#fff}
.solution-products-title{display:grid;gap:5px;margin-bottom:22px}
.solution-products-title span{color:#f1c08b;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.solution-products-title strong{font-family:Manrope,Inter,sans-serif;font-size:1.05rem}
.solution-products-grid{display:grid;gap:9px}
.solution-products-grid a{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:9px;border-radius:6px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none}
.solution-products-grid a:hover{background:rgba(255,255,255,.14)}
.solution-products-grid a>span{display:flex;align-items:center;justify-content:center;width:58px;height:48px;padding:5px;border-radius:4px;background:#fff}
.solution-products-grid img{width:100%;height:100%;object-fit:contain}
.solution-products-grid strong{font-size:.74rem;line-height:1.35}
.solution-products-grid small{color:#bcd0cd;font-size:.65rem}

/* Product catalog */
.catalog-hero{padding:58px 0 66px;background:#f1f5f3;border-bottom:1px solid var(--line)}
.catalog-breadcrumbs{margin-bottom:36px}
.catalog-hero-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:72px;align-items:end}
.catalog-hero h1{max-width:980px;margin:15px 0 0;font-size:clamp(2.6rem,3.7vw,3.85rem);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.catalog-hero p{max-width:570px;margin:0 0 4px;color:var(--muted);font-size:1.06rem;line-height:1.75!important;text-wrap:pretty}
@media(max-width:900px){.catalog-hero-layout{grid-template-columns:1fr;gap:24px;align-items:start}.catalog-hero p{max-width:680px;margin-bottom:0}}
.catalog-index{position:sticky;top:74px;z-index:20;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 7px 18px rgba(11,51,64,.05)}
.catalog-index-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.catalog-index a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;min-height:72px;padding:14px 20px;border-right:1px solid var(--line);color:var(--ink);text-decoration:none}
.catalog-index a:first-child{border-left:1px solid var(--line)}
.catalog-index a>span{color:var(--teal);font-size:.65rem;font-weight:800}
.catalog-index a>strong{font-size:.8rem}
.catalog-index svg{width:17px;height:17px;fill:none;stroke:var(--teal);stroke-width:1.7}
.catalog-family{scroll-margin-top:146px}
.catalog-family-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:42px}
.catalog-family-heading h2{margin:10px 0 0;font-size:clamp(2.1rem,3.3vw,3.2rem);line-height:1.15}
.catalog-group+.catalog-group{margin-top:42px;padding-top:38px;border-top:1px solid var(--line)}
.catalog-group-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.catalog-group-title h3{margin:0;font-size:1.2rem}
.catalog-group-title span{color:var(--muted);font-size:.72rem}
.catalog-model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.catalog-model-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-decoration:none;transition-property:transform,box-shadow,border-color;transition-duration:.2s}
.catalog-model-card:hover{transform:translateY(-3px);border-color:#9bc0c1;box-shadow:0 15px 35px rgba(16,49,59,.09)}
.catalog-model-image{display:flex;align-items:center;justify-content:center;height:190px;padding:17px;background:#f2f6f4;outline:1px solid rgba(0,0,0,.08);outline-offset:-1px}
.catalog-model-image img{width:100%;height:100%;object-fit:contain}
.catalog-model-copy{display:flex;flex:1;flex-direction:column;padding:18px}
.catalog-model-copy>strong{font:700 .88rem/1.5 Manrope,Inter,sans-serif}
.catalog-model-copy small{display:flex;align-items:center;gap:5px;margin-top:auto;padding-top:18px;color:var(--teal);font-size:.7rem;font-weight:700}
.catalog-model-copy svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}

@media(max-width:1050px){
.about-hero-grid,.about-growth-grid,.about-global-grid{gap:38px}
.about-tech-grid{grid-template-columns:repeat(3,1fr)}
.solution-mega-grid{grid-template-columns:repeat(3,1fr)}
.solution-mega-card:nth-child(n+4){display:none!important}
.solution-index-grid{overflow-x:auto;grid-template-columns:repeat(5,minmax(180px,1fr))}
.solution-system-grid{grid-template-columns:1fr}
.catalog-model-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
.about-hero{padding:44px 0 50px}
.about-hero-grid,.about-intro-grid,.about-growth-grid,.about-global-grid{grid-template-columns:1fr;gap:34px}
.about-breadcrumbs{margin-bottom:32px}
.about-hero h1{font-size:2.35rem}
.about-hero-media{min-height:350px}
.about-facts-grid{grid-template-columns:repeat(2,1fr)}
.about-facts-grid>div{padding:20px 14px;border-bottom:1px solid var(--line)}
.about-facts-grid>div:nth-child(2){border-right:0}.about-facts-grid>div:first-child{padding-left:14px}
.about-intro-heading{position:static}
.about-intro-copy p{text-align:start;hyphens:none}
.about-intro-copy p:first-child{font-size:1.08rem}
.about-growth-visual{padding:9px}
.about-section-heading,.about-cta-inner{align-items:flex-start;flex-direction:column}
.about-tech-grid{grid-template-columns:repeat(2,1fr)}
.about-tech-card{min-height:180px;padding:20px}.about-tech-card h3{margin-top:34px}
.about-global{padding:64px 0}.about-global-image{height:290px}
.about-principles-grid{grid-template-columns:1fr}.about-principles-grid article{min-height:190px}.about-principles-grid h3{margin-top:34px}
.about-location-grid{grid-template-columns:1fr}
.about-location-copy{padding:22px}
.about-location-map{height:240px}
.solution-mega-inner{display:block;width:100%;padding:22px 16px 26px}
.solution-mega-intro{padding:0 0 20px;border-right:0;border-bottom:1px solid var(--line)}
.solution-mega-grid{grid-template-columns:1fr 1fr;margin-top:18px}
.nav-links .solution-mega-card{min-height:180px;padding:14px}
.solution-mega-card:nth-child(n+4){display:flex!important}
.solution-mega-card>svg{margin:17px 0 14px}
.solutions-hero{padding:58px 0 64px}.solutions-hero h1{font-size:2.4rem}
.solution-index{top:74px}.solution-index-grid{width:100%;padding:0;grid-template-columns:repeat(5,minmax(165px,1fr))}
.solution-detail-heading{grid-template-columns:1fr;gap:15px}
.solution-topology{padding:22px 16px}
.solution-flow{align-items:stretch;flex-direction:column;gap:8px}
.solution-node{grid-template-columns:54px 1fr;align-items:center;justify-items:start;width:100%;text-align:left}
.solution-node>span{width:54px;height:54px}.solution-node strong{max-width:none}
.solution-flow-arrow{width:12px;height:24px;min-width:0;margin-left:21px;transform:rotate(90deg)}
.solution-products{padding:22px 16px}
.solution-products-grid a{grid-template-columns:52px 1fr}.solution-products-grid small{display:none}
.catalog-hero{padding:44px 0 50px}.catalog-breadcrumbs{margin-bottom:28px}.catalog-hero h1{font-size:2.25rem}
.catalog-index-grid{width:100%;padding:0;overflow-x:auto;grid-template-columns:repeat(4,minmax(165px,1fr))}
.catalog-family-heading{align-items:flex-start;flex-direction:column}
.catalog-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.catalog-model-image{height:140px;padding:11px}
.catalog-model-copy{padding:14px}.catalog-model-copy>strong{font-size:.78rem}
}

/* Solution information architecture: clickable categories, real topology and products */
.solution-mega .product-mega-sidebar{flex-basis:320px}
.solution-mega-content{padding-top:30px;padding-bottom:32px}
.solution-mega-panel .product-mega-heading{margin-bottom:20px}
.solution-mega-topology,.solution-mega-combination{padding:18px;border:1px solid var(--line);border-radius:7px;background:#fff}
.solution-mega-topology>h3,.solution-mega-combination>h3{margin:0 0 13px;color:#74878c;font-size:.67rem;letter-spacing:.11em;text-transform:uppercase}
.solution-topology-canvas{display:flex;align-items:flex-start;gap:0}
.solution-topology-device{display:block;flex:1;min-width:0;margin:0;text-align:center}
.solution-topology-media{display:flex;align-items:center;justify-content:center;height:76px;overflow:hidden;border:1px solid #dce6e3;border-radius:6px;background:#f0f5f3}
.solution-topology-device.is-product .solution-topology-media{background:#fff}
.solution-topology-media img{display:block;width:100%;height:100%;padding:6px;object-fit:contain}
.solution-topology-media svg{width:58px;height:48px;fill:none;stroke:var(--teal);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.solution-topology-device figcaption{margin-top:8px}
.solution-topology-device figcaption strong{display:block;color:var(--ink);font:700 .68rem/1.35 Manrope,Inter,sans-serif}
.solution-topology-connector{display:block;flex:0 0 44px;padding:18px 5px 0;text-align:center}
.solution-topology-connector small{display:block;min-height:14px;color:#6f8388;font-size:.55rem;font-weight:800;letter-spacing:.04em}
.solution-topology-connector i{position:relative;display:block;height:1px;margin-top:8px;background:var(--teal)}
.solution-topology-connector i::after{content:"";position:absolute;top:50%;right:-1px;width:6px;height:6px;border-top:1px solid var(--teal);border-right:1px solid var(--teal);transform:translateY(-50%) rotate(45deg)}
.solution-mega-combination{margin-top:14px;padding:20px;background:#f8faf9}
.solution-mini-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.solution-mini-product-grid .product-mega-card{display:grid;grid-template-columns:118px minmax(0,1fr);grid-template-rows:auto auto;min-height:112px;column-gap:14px;padding:10px}
.solution-mini-product-grid .product-mega-image{grid-row:1/3;width:118px;height:92px;margin:0;padding:7px}
.solution-mini-product-grid .product-mega-card strong{align-self:end;min-height:0;font-size:.74rem;line-height:1.4}
.solution-mini-product-grid .product-mega-link{align-self:start;margin-top:5px;font-size:.65rem}

.solution-node{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;justify-content:center;min-height:138px;padding:20px;border:1px solid var(--line);border-radius:7px;background:#f2f6f4;text-align:left}
.solution-node>span{display:block;width:auto;height:auto;border-radius:0;background:none;color:var(--teal);font-size:.7rem;font-weight:800;letter-spacing:.12em}
.solution-node>small{margin-top:24px;color:#71848a;font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.solution-node>strong{max-width:none;margin-top:6px;font-size:.82rem;line-height:1.4}
.solution-node svg{display:none}

@media(max-width:1050px) and (min-width:681px){
.solution-mega .product-mega-sidebar{flex-basis:270px}
.solution-topology-media{height:64px}
.solution-topology-media svg{width:48px;height:42px}
.solution-topology-device figcaption strong{font-size:.61rem}
.solution-topology-connector{flex-basis:30px;padding-inline:3px}
.solution-topology-connector small{font-size:.5rem}
.solution-mini-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.solution-mini-product-grid .product-mega-card{grid-template-columns:100px minmax(0,1fr)}
.solution-mini-product-grid .product-mega-image{width:100px}
}
@media(max-width:680px){
.site-footer{padding:40px 0 20px}
.footer-grid{column-gap:0;row-gap:30px}
.site-footer .brand{margin-bottom:12px}
.footer-bottom{margin-top:30px;padding-top:16px;gap:10px}
.solution-mega .product-mega-sidebar{flex-basis:auto}
.solution-mega-content{padding:20px 16px 26px}
.solution-topology-canvas{flex-direction:column;align-items:stretch}
.solution-topology-device{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;text-align:left}
.solution-topology-media{width:92px;height:68px}
.solution-topology-device figcaption{margin:0 0 0 12px}
.solution-topology-device figcaption strong{font-size:.72rem}
.solution-topology-connector{display:flex;flex:0 0 42px;width:92px;flex-direction:column;align-items:center;justify-content:center;padding:3px 0}
.solution-topology-connector small{min-height:0}
.solution-topology-connector i{width:1px;height:20px;margin-top:3px}
.solution-topology-connector i::after{top:auto;right:auto;bottom:0;left:50%;transform:translateX(-50%) rotate(135deg)}
.solution-mini-product-grid{grid-template-columns:1fr}
.solution-mini-product-grid .product-mega-card{display:grid;grid-template-columns:108px minmax(0,1fr)}
.solution-mini-product-grid .product-mega-image{width:108px;height:86px}
.solution-flow{gap:9px}
.solution-node{min-height:100px}
.solution-node>small{margin-top:15px}
.solution-flow-arrow{margin-left:auto;margin-right:auto;transform:rotate(90deg)}
}
