/* ============================================================
   BREEZE — the clean-air brand
   Scoped to body.d-breeze. 1rem = 10px.
   Animations start from the visible state (fill backwards).
   ============================================================ */
body.d-breeze{
  --bz-bg:#f4f9fc;--bg2:#eaf4f9;--bz-card:#ffffff;--bz-ink:#0d2233;--bz-soft:#45607a;--bz-mute:#7f95a8;--bz-line:#dbe8f1;
  --bz-sky:#1e88e5;--bz-sky2:#5ec8f2;--bz-mint:#2ec4a0;--bz-r:22px;
  --bg-primary:var(--bz-bg);--bg-secondary:var(--bg2);--bg-card:var(--bz-card);--bg-inset:#eef5fa;
  --fg-primary:var(--bz-ink);--fg-soft:var(--bz-soft);--fg-muted:var(--bz-mute);--border-color:var(--bz-line);--border-strong:#c4d7e5;
  background:var(--bz-bg);color:var(--bz-ink);font-family:'Plus Jakarta Sans',system-ui,sans-serif
}
body.d-breeze h1,body.d-breeze h2,body.d-breeze h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.03em}
body.d-breeze h2 em,body.d-breeze h1 em{font-style:normal;color:var(--bz-sky)}
body.d-breeze .bx-nav{background:rgba(244,249,252,.86);border-color:var(--bz-line)}
body.d-breeze .bx-nav a,body.d-breeze .bx-brand{color:var(--bz-ink)}
body.d-breeze .bx-brand-mark{background:#fff;border-radius:50%}
body.d-breeze .bx-nav-cta{background:var(--bz-sky);color:#fff;border-radius:999px}
.bz-kick{font-size:1.2rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--bz-mint)}

/* hero */
.bz-hero{position:relative;overflow:hidden;padding:calc(var(--nav-h) + 6rem) 2.4rem 8rem}
.bz-sky{position:absolute;inset:0;background:radial-gradient(800px 520px at 78% 45%,rgba(94,200,242,.28),transparent 62%),radial-gradient(600px 400px at 0% 0%,rgba(46,196,160,.14),transparent 60%),linear-gradient(180deg,#ffffff,var(--bz-bg))}
.bz-hero-in{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:4rem;align-items:center}
.bz-over{display:inline-flex;align-items:center;gap:.9rem;padding:.8rem 1.6rem;border-radius:999px;background:#fff;border:1px solid var(--bz-line);font-size:1.3rem;font-weight:700;color:var(--bz-soft)}
.bz-over i{color:var(--bz-sky)}
.bz-hero h1{font-size:clamp(5rem,8vw,10rem);line-height:.95;margin:2.4rem 0 2rem;background:linear-gradient(120deg,var(--bz-ink) 40%,var(--bz-sky));-webkit-background-clip:text;background-clip:text;color:transparent}
.bz-hero h1 *{-webkit-text-fill-color:var(--bz-ink)}
.bz-tag{font-size:clamp(1.9rem,2.1vw,2.4rem);line-height:1.45;color:var(--bz-soft);max-width:36ch}
.bz-pledge{list-style:none;margin:2.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:1rem}
.bz-pledge li{display:inline-flex;align-items:center;gap:.8rem;padding:.9rem 1.6rem;border-radius:999px;background:rgba(46,196,160,.1);color:#137a62;font-weight:700;font-size:1.4rem}
.bz-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3.2rem}
.bz-btn{display:inline-flex;align-items:center;gap:1rem;padding:1.6rem 2.8rem;border-radius:999px;font-weight:700;font-size:1.55rem;transition:transform .25s var(--ease),box-shadow .25s}
.bz-btn-main{background:linear-gradient(135deg,var(--bz-sky),var(--bz-sky2));color:#fff;box-shadow:0 16px 40px rgba(30,136,229,.32)}
.bz-btn-main:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(30,136,229,.42)}
.bz-btn-line{background:#fff;border:1.5px solid var(--bz-line);color:var(--bz-ink)}
.bz-btn-line:hover{border-color:var(--bz-sky)}

/* the orb */
.bz-orb{position:relative;width:min(500px,100%);aspect-ratio:1;margin-left:auto}
.bz-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(30,136,229,.22);animation:bz-breathe 6s ease-in-out infinite backwards}
.bz-r2{inset:11%;animation-delay:-2s;border-color:rgba(46,196,160,.28)}
.bz-r3{inset:22%;animation-delay:-4s;background:radial-gradient(circle,rgba(94,200,242,.22),transparent 70%)}
@keyframes bz-breathe{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.6}}
.bz-core{position:absolute;inset:30%;border-radius:50%;background:#fff;box-shadow:0 30px 70px rgba(30,136,229,.28),0 0 0 10px rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;overflow:hidden}
.bz-core img{width:100%;height:100%;object-fit:cover}
.bz-core span{font-weight:800;font-size:4rem;color:var(--bz-sky)}
.bz-ion{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--bz-sky2);box-shadow:0 0 10px var(--bz-sky2);transform:rotate(var(--a)) translateX(22%);animation:bz-ion 4.2s var(--d) ease-out infinite backwards}
@keyframes bz-ion{0%{transform:rotate(var(--a)) translateX(90px);opacity:0}15%{opacity:1}100%{transform:rotate(var(--a)) translateX(250px);opacity:0}}
.bz-dust{position:absolute;left:var(--x);top:var(--y);width:5px;height:5px;border-radius:50%;background:#9aa7b2;opacity:.5;animation:bz-dust 5.4s var(--d) ease-in-out infinite}
@keyframes bz-dust{0%,100%{opacity:.5;transform:translateY(0)}60%{opacity:0;transform:translateY(-14px) scale(.4)}}

/* sections */
.bz-sec{padding:9rem 2.4rem 0}
.bz-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.bz-head{margin-bottom:3.6rem;text-align:center}
.bz-head h2{font-size:clamp(3.4rem,5vw,6rem);line-height:1.02;margin-top:1rem}
.bz-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:2rem}
.bz-item{display:flex;flex-direction:column;gap:1rem;padding:1.6rem 1.6rem 2.4rem;border-radius:var(--bz-r);background:var(--bz-card);border:1px solid var(--bz-line);box-shadow:0 10px 30px rgba(13,34,51,.05);transition:transform .35s var(--ease),box-shadow .35s}
.bz-item:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(30,136,229,.16)}
.bz-item-img{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:16px;background:linear-gradient(160deg,#eef7fc,#e2f0f8);overflow:hidden;margin-bottom:.6rem}
.bz-item-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.bz-item:hover .bz-item-img img{transform:scale(1.05)}
.bz-item-img>i{font-size:5rem;color:var(--bz-sky)}
.bz-item-img em{position:absolute;left:1.2rem;top:1.2rem;padding:.5rem 1.1rem;border-radius:999px;background:#e53935;color:#fff;font-style:normal;font-weight:800;font-size:1.25rem}
.bz-chip{align-self:flex-start;padding:.4rem 1.1rem;border-radius:999px;background:rgba(30,136,229,.1);color:var(--bz-sky);font-size:1.15rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 .8rem}
.bz-item h3{font-size:2.1rem;padding:0 .8rem}
.bz-item p{font-size:1.45rem;line-height:1.6;color:var(--bz-soft);padding:0 .8rem}
.bz-item-foot{margin-top:auto;padding:1.4rem .8rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.bz-price b{font-size:2.3rem;font-weight:800}
.bz-price s{margin-left:.8rem;font-size:1.4rem;color:var(--bz-mute)}
.bz-item-foot a{padding:1rem 1.8rem;border-radius:999px;background:var(--bz-ink);color:#fff;font-weight:700;font-size:1.35rem}
.bz-why{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.6rem}
.bz-why>div{position:relative;display:flex;flex-direction:column;gap:.8rem;padding:3rem 2.6rem;border-radius:var(--bz-r);background:linear-gradient(160deg,#ffffff,#f0f8fc);border:1px solid var(--bz-line);overflow:hidden}
.bz-why-n{position:absolute;right:1.8rem;top:1rem;font-size:5.4rem;font-weight:800;color:rgba(30,136,229,.08)}
.bz-why i{color:var(--bz-mint);font-size:2.6rem}
.bz-why b{font-size:2rem;font-weight:800}
.bz-why small{color:var(--bz-soft);font-size:1.45rem;line-height:1.55}
.bz-clients{padding:3.6rem;border-radius:var(--bz-r);background:var(--bz-ink);color:#fff;text-align:center}
.bz-clients ul{list-style:none;margin:2rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 3.2rem}
.bz-clients li{font-size:1.9rem;font-weight:700;opacity:.92}
.bz-svcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem}
.bz-svcs>div{padding:2.8rem;border-radius:var(--bz-r);background:var(--bz-card);border:1px solid var(--bz-line)}
.bz-svcs i{font-size:2.4rem;color:var(--bz-sky)}
.bz-svcs h3{font-size:2rem;margin:1.2rem 0 .8rem}
.bz-svcs p{font-size:1.45rem;line-height:1.6;color:var(--bz-soft)}
.bz-about{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:center}
.bz-about .bz-head{text-align:left}
.bz-prose p{font-size:1.65rem;line-height:1.75;color:var(--bz-soft)}
.bz-prose p+p{margin-top:1.4rem}
.bz-prose .bz-lead{font-size:2.1rem;line-height:1.5;color:var(--bz-ink);font-weight:600}
.bz-photo{margin:0;border-radius:var(--bz-r);overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 70px rgba(13,34,51,.14)}
.bz-photo img{width:100%;height:100%;object-fit:cover}
.bz-team{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem}
.bz-person{margin:0;display:flex;gap:2rem;align-items:flex-start;padding:2.8rem;border-radius:var(--bz-r);background:var(--bz-card);border:1px solid var(--bz-line)}
.bz-person>span{flex:none;width:78px;height:78px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bz-sky),var(--bz-mint));color:#fff;font-weight:800;font-size:2.4rem}
.bz-person img{width:100%;height:100%;object-fit:cover}
.bz-person b{display:block;font-size:1.8rem}
.bz-person small{display:block;font-size:1.3rem;color:var(--bz-mute);margin-top:.2rem}
.bz-person p{font-size:1.45rem;line-height:1.6;color:var(--bz-soft);margin-top:1rem}
.bz-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.bz-gal-item{aspect-ratio:1;border-radius:16px;overflow:hidden}
.bz-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.bz-gal-item:hover img{transform:scale(1.06)}
.bz-revs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem}
.bz-revs figure{margin:0;padding:2.8rem;border-radius:var(--bz-r);background:var(--bz-card);border:1px solid var(--bz-line)}
.bz-rev-t{display:block;font-size:1.7rem;font-weight:800;margin-bottom:1rem}
.bz-revs blockquote{font-size:1.5rem;line-height:1.65;color:var(--bz-soft)}
.bz-revs figcaption{margin-top:1.4rem;font-size:1.35rem;font-weight:700;color:var(--bz-sky)}
.bz-faq{max-width:860px!important}
.bz-faq details{border-bottom:1px solid var(--bz-line)}
.bz-faq summary{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:2.2rem 0;cursor:pointer;list-style:none;font-size:1.8rem;font-weight:700}
.bz-faq summary::-webkit-details-marker{display:none}
.bz-faq summary i{color:var(--bz-sky);transition:transform .3s}
.bz-faq details[open] summary i{transform:rotate(45deg)}
.bz-faq p{padding:0 0 2.2rem;font-size:1.55rem;line-height:1.7;color:var(--bz-soft)}
body.d-breeze .hours-row{border-radius:14px;background:var(--bz-card);border-color:var(--bz-line)}
.bz-contact{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.bz-contact-card{padding:4.2rem;border-radius:var(--bz-r);background:linear-gradient(150deg,#1e88e5,#2ec4a0);color:#fff}
.bz-contact-card .bz-kick{color:rgba(255,255,255,.85)}
.bz-contact-card h2{font-size:clamp(3rem,4vw,4.6rem);margin:1rem 0 1.6rem;line-height:1.04}
body.d-breeze .bz-contact-card h2 em{color:#fff;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.bz-contact-card>p:not(.bz-kick){font-size:1.6rem;line-height:1.6;margin-bottom:2.4rem;color:rgba(255,255,255,.88)}
body.d-breeze .bz-contact-card .ci{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.26);color:#fff}
body.d-breeze .bz-contact-card .ci small,body.d-breeze .bz-contact-card .ci span{color:#fff}
body.d-breeze .bz-contact-card .ci-ico{background:#fff;color:var(--bz-sky)}
body.d-breeze .contact-form{border-radius:var(--bz-r);padding:4rem;background:var(--bz-card);border-color:var(--bz-line)}
body.d-breeze .btn-onbiz{background:var(--bz-sky);color:#fff;border-radius:999px;text-transform:none;letter-spacing:0;font-size:1.55rem}
.bz-map{margin-top:1.6rem}
.bz-share{max-width:var(--max-w);margin:4rem auto 0;padding:0 2.4rem}
body.d-breeze .bx-foot{margin-top:9rem}
@media (prefers-reduced-motion:reduce){.bz-ring,.bz-ion,.bz-dust{animation:none}}
@media (max-width:980px){
  .bz-hero-in,.bz-about,.bz-contact{grid-template-columns:1fr}
  .bz-orb{margin:1rem auto 0;width:min(400px,88%)}
  .bz-gal{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .bz-hero{padding:calc(var(--nav-h) + 4rem) 1.6rem 5rem}
  .bz-sec{padding:6.4rem 1.6rem 0}
  .bz-gal{grid-template-columns:1fr 1fr}
  .bz-clients,.bz-contact-card,body.d-breeze .contact-form{padding:2.6rem}
  .bz-person{flex-direction:column}
  .bz-share{padding:0 1.6rem}
}
