.products-page { padding-top:var(--site-header-height); background:#fff; color:#111; overflow-x:clip; }
.products-page h1,.products-page h2,.products-page h3,.products-page h4 { letter-spacing:0; }
.products-intro { padding-top:35px; }
.products-intro h1 { font-size:42px; line-height:1.4; max-width:730px; margin:0 auto 66px; text-align:center; }
.products-intro picture { display:block; width:calc(100% + 30px); margin-left:-15px; }
.products-hero-image { width:100%; height:auto; aspect-ratio:18/5; object-fit:contain; }
.products-features { max-width:1140px; min-height:266px; padding:76px 12px 80px; margin:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.products-features article { display:flex; gap:16px; padding-right:12px; align-items:flex-start; }
.products-features img { width:65px; height:65px; flex:none; }
.products-features h2 { font-size:16px; line-height:1.5; margin:0 0 10px; padding:0; }
.products-features p { font-size:16px; line-height:1.5; margin:0; color:#666; }
.products-category { min-height:372px; padding:110px 20px 120px; text-align:center; background:#18191b url('../media/products/bgmesoactives.jpg') center/cover no-repeat; scroll-margin-top:var(--site-header-height); }
.products-category h2 { margin:0 0 32px; font-size:46px; line-height:1.375; color:#fff; }
.products-category p { margin:0; color:#8ed5ce; font-size:16px; line-height:1.5; }
.product-section { padding:90px 0 40px; scroll-margin-top:var(--site-header-height); }
.product-heading { text-align:center; margin-bottom:39px; }
.product-heading h2 { font-family:Arial,var(--sans); font-size:42px; line-height:1.3; color:#666; margin:0 0 10px; }
.product-heading h3 { font-size:34px; line-height:1.38; padding-bottom:10px; margin:0 0 24px; }
.product-more { font-size:16px; line-height:26px; color:#258f89; text-decoration:none; display:inline-block; }
.product-more:hover,.product-more:focus-visible { color:#14655f; text-decoration:underline; text-underline-offset:4px; }
.product-more--pending { color:#949a98; cursor:not-allowed; text-decoration:none; }
.product-layout { display:grid; grid-template-columns:8fr 3fr 1fr; align-items:start; }
.product-image { display:block; width:100%; grid-column:1; grid-row:1; }
.product-image img { display:block; width:100%; height:auto; border-radius:0; }
.product-points { grid-column:2; padding:0 20px; min-width:0; }
.product-points h4 { font-size:23px; line-height:1.37; margin:0 0 32px; }
.product-points p { font-size:16px; line-height:1.5; color:#666; margin:0; }
.product-section--right .product-layout { grid-template-columns:1fr 3fr 8fr; }
.product-section--right .product-image { grid-column:3; }
.product-section--right .product-points { grid-column:2; grid-row:1; }
.product-section--center { width:60%; margin:0 auto; padding:50px 30px 60px; }
.product-section--center .product-heading h2 { margin-bottom:0; }
.product-section--center .product-heading { margin-bottom:29px; }
.product-section--center .product-layout { display:block; }
.product-section--center .product-points { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:40px -9px 0; padding:0; }
.product-section--center .product-points article { padding:0; }
.products-page a:focus-visible,.products-footer-contact:focus-visible { outline:2px solid #258f89; outline-offset:5px; }
.products-footer-contact { background:none; border:0; padding:0; color:inherit; font:inherit; cursor:pointer; }
.products-footer-contact:hover { color:var(--teal); }
.product-word-clip { display:inline-block; overflow:hidden; vertical-align:bottom; }
.product-word-clip>span { display:inline-block; }
.products-motion-ready .product-word-clip>span { transform:translateY(110%); transition:transform .7s cubic-bezier(.22,.61,.36,1); transition-delay:var(--word-delay,0ms); }
.products-motion-ready .is-visible .product-word-clip>span { transform:none; }
.products-motion-ready [data-product-fade] { opacity:0; transform:translateY(30px); transition:opacity .7s ease .3s,transform .7s ease .3s; }
.products-motion-ready [data-product-fade].is-visible { opacity:1; transform:none; }
.product-dialog { width:min(660px,calc(100% - 32px)); max-height:calc(100dvh - 40px); padding:32px; border:0; border-radius:4px; color:var(--ink); }
.product-dialog::backdrop { background:rgb(0 0 0 / .55); }
.product-dialog h2 { font-size:28px; margin:0 36px 8px 0; line-height:1.3; }
.product-dialog h3 { font-size:19px; margin:24px 0 8px; }
.product-dialog p { color:var(--muted); }
.product-dialog img { width:100%; height:260px; object-fit:contain; }
.product-dialog-close { position:absolute; top:12px; right:12px; width:36px; height:36px; background:none; border:0; font-size:28px; cursor:pointer; }
.product-consult { padding:12px 24px; background:var(--teal); color:#143e3b; border:0; cursor:pointer; font:inherit; }
body:has(.product-dialog[open]) { overflow:hidden; }
@media(max-width:767px) {
  .product-section--center { width:100%; }
  .product-layout,.product-section--right .product-layout { grid-template-columns:1fr; }
  .product-image,.product-section--right .product-image { grid-column:1; grid-row:1; }
  .product-points,.product-section--right .product-points { grid-column:1; grid-row:2; padding:30px 20px 0; }
}
@media(max-width:767px) {
  .products-intro { padding-top:35px; }
  .products-intro h1 { font-size:30px; padding:0 20px; margin-bottom:40px; }
  .products-intro picture { width:calc(100% - 10px); margin:0 5px; }
  .products-hero-image { aspect-ratio:1; }
  .products-features { display:block; padding:50px 16px 80px; }
  .products-features article { padding:0 0 30px; }
  .products-category { padding:110px 20px 120px; min-height:360px; }
  .products-category h2 { font-size:28px; }
  .product-heading { padding-inline:20px; }
  .product-heading h2 { font-size:34px; }
  .product-heading h3 { font-size:26px; }
  .product-points h4 { font-size:21px; }
  .product-section--center .product-heading { padding:0; }
  .product-section--center .product-points { grid-template-columns:1fr; gap:30px; margin-inline:-9px; }
}
@media(prefers-reduced-motion:reduce) {
  .products-motion-ready .product-word-clip>span,.products-motion-ready [data-product-fade] { transform:none; opacity:1; transition:none; }
}
