/* Product families: local to ozone-generators.html. */
.ozone-family{padding:clamp(2.75rem,5vw,4.75rem) 0;background:radial-gradient(ellipse at 12% 20%,#cdebf62b,transparent 50%),radial-gradient(ellipse at 92% 55%,#dbf3fc52,transparent 50%),repeating-linear-gradient(90deg,transparent 0 119px,#a8c9d00b 120px),#f7fbfd;border-block:1px solid #e5eef3}
.ozone-family-intro{text-align:center;max-width:760px;margin:0 auto 2.4rem}.ozone-family-intro h2{font-size:clamp(1.75rem,3vw,2.65rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 1rem}.ozone-family-intro>p:last-child{font-size:.95rem;line-height:1.8;color:var(--color-muted);max-width:65ch;margin:auto}
.ozone-family-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem}
.ozone-family-card{position:relative;isolation:isolate;overflow:hidden;min-width:0;display:flex;flex-direction:column;padding:1.4rem 1.15rem;border:1px solid #d0e1ea;border-radius:18px;background:#ffffffeb;box-shadow:0 12px 28px -22px #214f7045}
.ozone-family-card::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle 180px at var(--pointer-x,50%) var(--pointer-y,40%),#b6e8f52b,transparent);opacity:0}
.ozone-family-border{position:absolute;inset:0;border-radius:inherit;pointer-events:none;padding:1px;background:linear-gradient(110deg,transparent 30%,#b5e8f0 46%,#009ecb 50%,transparent 65%);background-size:300% 100%;background-position:100% 0;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:0}
.ozone-family-label{display:flex;align-items:center;gap:.55rem;color:var(--color-accent);font-size:.56rem;font-weight:650;letter-spacing:.08em;min-height:28px}.ozone-family-label svg{flex-shrink:0;width:24px;height:24px}
.ozone-family-card h3{font-size:clamp(1.1rem,1.5vw,1.35rem);letter-spacing:-.035em;line-height:1.25;margin:1.2rem 0 .7rem;min-height:2.5em}
.ozone-family-capacity{color:var(--color-accent);font-size:1.3rem;font-weight:650;letter-spacing:-.03em;margin:0 0 1.1rem}
.ozone-family-image{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;min-height:145px;border:1px solid #e3edf2;border-radius:10px;background:radial-gradient(ellipse,#fff,#f2f7fa);color:#87a6b8;margin-bottom:1.1rem}.ozone-family-image span{font-size:.54rem;letter-spacing:.15em}
.ozone-family-models{font-size:.72rem;font-weight:600;line-height:1.8;color:#3d6378;margin:0 0 .85rem;min-height:3.6em}.ozone-family-models>span{color:#a3bac7;padding:0 .12rem}.ozone-family-models a{color:var(--color-accent);text-underline-offset:4px}
.ozone-family-description{font-size:.83rem;color:var(--color-muted);line-height:1.8;margin:0 0 1.4rem}
.ozone-family-button{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:48px;padding:.8rem .8rem;border:1px solid #92bdcf;border-radius:7px;color:var(--color-accent);background:transparent;font-size:.72rem;font-weight:600;line-height:1.5;text-decoration:none;cursor:pointer}.ozone-family-card>.ozone-family-button{margin-top:auto;width:100%}.ozone-family-button[aria-disabled=true]{cursor:default}.ozone-family-button>span{flex-shrink:0;font-size:1rem}.ozone-family-button::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 25%,#def8ff29 50%,transparent 75%);transform:translateX(-100%);opacity:0}
.ozone-family-custom{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center;margin-top:1.6rem;padding:clamp(1.6rem,3.5vw,2.75rem);border:1px solid #315c78;border-radius:18px;background:repeating-linear-gradient(90deg,transparent 0 59px,#c6e9fa06 60px),linear-gradient(110deg,#16394f,#204b65);color:#fff}.ozone-family-custom .products-kicker{color:#acdcec}.ozone-family-custom h3{font-size:clamp(1.5rem,2.5vw,2rem);letter-spacing:-.035em;margin:0 0 .6rem;line-height:1.2}.ozone-family-custom-capacity{color:#bae7f4;font-size:1.05rem;font-weight:600;margin:0 0 1rem}.ozone-family-custom p:not([class]){font-size:.88rem;line-height:1.8;color:#d7e6ee;max-width:68ch;margin:0 0 1.4rem}.ozone-family-custom .ozone-family-button{color:#fff;border-color:#8db7ca;width:fit-content;gap:1.5rem;padding-inline:1.1rem}
.ozone-family-custom-visual{color:#9bccdf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.ozone-family-custom-visual span{font-size:.52rem;letter-spacing:.11em;text-align:center}.ozone-family-custom-visual svg{width:100%;max-width:320px;height:auto;opacity:.65}
.ozone-family-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;list-style:none;margin:2rem 0 0;padding:1.6rem 0 0;border-top:1px solid #d7e6ed}.ozone-family-trust li{display:flex;align-items:start;gap:.75rem}.ozone-family-trust svg{color:var(--color-accent);flex-shrink:0}.ozone-family-trust h3{font-size:.83rem;margin:0 0 .4rem}.ozone-family-trust p{font-size:.75rem;line-height:1.7;color:var(--color-muted);margin:0}
.ozone-family :is(a,.ozone-family-card):focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.ozone-family-card:focus-within{border-color:var(--color-accent);background:#f3fbff;box-shadow:0 14px 30px -20px #214f7050}.ozone-family-card:focus-within::before{opacity:1}.ozone-family-button:focus-visible{background:var(--color-accent);color:#fff}.ozone-family-custom a:focus-visible{outline-color:#c3ecf9}
@media(hover:hover) and (pointer:fine){.ozone-family-card:hover{border-color:var(--color-accent);background:#f5fbff;box-shadow:0 14px 30px -20px #214f7050}.ozone-family-card:hover .ozone-family-label{color:var(--logo-blue)}.ozone-family-button:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .ozone-family-card{transition:transform 300ms ease,border-color 300ms ease,background-color 300ms ease,box-shadow 300ms ease}.ozone-family-card::before{transition:opacity 300ms ease}.ozone-family-card:hover::before{opacity:1}.ozone-family-card:hover{transform:translateY(-2px)}.ozone-family-card:hover .ozone-family-border,.ozone-family-card:focus-within .ozone-family-border{animation:family-border-sweep 800ms ease-out both}.ozone-family-button,.ozone-family-label{transition:color 300ms ease,background-color 300ms ease,border-color 300ms ease}.ozone-family-button>span{transition:transform 300ms ease}.ozone-family-button:is(:hover,:focus-visible)>span{transform:translateX(3px)}.ozone-family-button:is(:hover,:focus-visible)::before{animation:family-button-sweep 750ms ease-out both}
}
@keyframes family-border-sweep{0%{background-position:100% 0;opacity:0}20%,80%{opacity:.7}100%{background-position:0 0;opacity:0}}
@keyframes family-button-sweep{0%{transform:translateX(-100%);opacity:0}25%,70%{opacity:1}100%{transform:translateX(100%);opacity:0}}
@media(max-width:1100px){.ozone-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ozone-family-card{padding:1.5rem}.ozone-family-card h3,.ozone-family-models{min-height:0}.ozone-family-trust{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ozone-family-grid{grid-template-columns:1fr}.ozone-family-card{padding:1.3rem}.ozone-family-image{min-height:120px}.ozone-family-custom{grid-template-columns:1fr;gap:1.5rem}.ozone-family-custom .ozone-family-button{width:100%}.ozone-family-custom-visual{display:none}.ozone-family-trust{gap:1.2rem}.ozone-family-trust li{flex-direction:column}.ozone-family-intro{margin-bottom:1.6rem}}
@media(hover:none),(pointer:coarse){.ozone-family-card::before{display:none}.ozone-family-button:active{background:var(--color-accent);color:#fff}.ozone-family-card:active{border-color:var(--color-accent)}}
@media(prefers-reduced-motion:reduce){.ozone-family *,.ozone-family *::before,.ozone-family *::after{animation:none!important;transition:none!important}.ozone-family-card::before{display:none}}
.ozone-family-intro .products-kicker{justify-content:center}
.ozone-family-custom .ozone-custom-page-link{color:inherit;text-decoration:none;text-underline-offset:.2em}.ozone-family-custom .ozone-custom-page-link:hover{text-decoration:underline}.ozone-family-custom .ozone-custom-page-link:focus-visible{outline:2px solid #c3ecf9;outline-offset:4px}
/* Unavailable family pages are guidance, not clickable production actions. */
.ozone-family span.ozone-family-button[aria-disabled="true"]{cursor:default;color:var(--color-muted);background:#f7fafc;border-color:#d6e4eb;font-weight:500}
.ozone-family span.ozone-family-button[aria-disabled="true"]::before{content:none}
