:root{
  --graphite:#1f2328;
  --graphite-2:#2a2f36;
  --steel:#3a414a;
  --steel-2:#5b6470;
  --plate:#e9ecef;
  --plate-2:#dfe3e7;
  --white:#fff;
  --em:#12a36b;
  --em-dark:#0d8255;
  --em-soft:#d6f3e6;
  --text:#363c44;
  --muted:#6b7480;
  --line:#cfd5db;
  --cut:22px;
  --hf:'Barlow Condensed',system-ui,sans-serif;
  --bf:'Barlow',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--bf);color:var(--text);background:#f6f7f8;line-height:1.7;font-size:1.04rem;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:var(--hf);color:var(--graphite);font-weight:700;text-transform:uppercase;letter-spacing:.01em;line-height:1.02}
a{color:var(--em-dark)}
a:hover{color:var(--graphite)}
img{max-width:100%;display:block}

/* ---------- Logo: one line, one style ---------- */
.zr-logo{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap;text-decoration:none;color:#fff}
.zr-hex{width:38px;height:38px;color:var(--em);flex:none}
.zr-hex svg{width:100%;height:100%}
.zr-word{font-family:var(--hf);font-weight:800;font-size:1.65rem;letter-spacing:.04em;text-transform:uppercase;color:inherit;line-height:1}
.zr-logo:hover{color:#fff}

/* ---------- Hazard stripe ---------- */
.zr-hazard{height:8px;background:repeating-linear-gradient(-45deg,var(--em) 0 14px,var(--graphite) 14px 28px)}

/* ---------- Header ---------- */
.zr-head{position:sticky;top:0;z-index:1030;background:var(--graphite);box-shadow:0 10px 30px -20px rgba(0,0,0,.7)}
.zr-head .navbar{padding:.75rem 0}
.zr-head .nav-link{font-family:var(--hf);font-weight:700;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;color:#c8ced5!important;padding:.5rem .8rem!important;white-space:nowrap}
.zr-head .zr-btn{white-space:nowrap}
@media(min-width:1200px) and (max-width:1399.98px){.zr-head .nav-link{font-size:1.02rem;padding:.5rem .55rem!important}.zr-head .zr-btn{padding:.55rem 1rem;font-size:1rem}.zr-word{font-size:1.5rem}}
.zr-head .nav-link:hover,.zr-head .nav-link.active,.zr-head .nav-link.show{color:var(--em)!important}
.zr-dd{background:var(--graphite-2);border:0;border-top:4px solid var(--em);border-radius:0;padding:.5rem 0;min-width:300px;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}
.zr-dd .dropdown-item{color:#dfe4e9;font-weight:500;padding:.5rem 1.2rem}
.zr-dd .dropdown-item:hover{background:var(--steel);color:var(--em)}
.zr-dd .dropdown-divider{border-color:var(--steel)}
@media(max-width:1199.98px){.navbar-collapse{padding:1rem 0}.zr-dd{clip-path:none;min-width:0}}

/* ---------- Buttons ---------- */
.zr-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--hf);font-weight:700;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:.7rem 1.5rem;border:0;cursor:pointer;transition:all .2s;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}
.zr-btn.big{padding:.95rem 2rem;font-size:1.2rem}
.zr-btn.em{background:var(--em);color:#fff}
.zr-btn.em:hover{background:var(--em-dark);color:#fff;transform:translateY(-2px)}
.zr-btn.steel{background:var(--graphite);color:#fff}
.zr-btn.steel:hover{background:var(--em);color:#fff}
.zr-btn.dark{background:var(--graphite);color:var(--em)}
.zr-btn.dark:hover{background:#fff;color:var(--graphite)}
.zr-btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.zr-btn.ghost:hover{box-shadow:inset 0 0 0 2px var(--em);color:var(--em)}

/* ---------- Shared ---------- */
.zr-tag{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--hf);font-weight:700;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;color:var(--em);margin-bottom:.8rem}
.zr-tag::before{content:"";width:22px;height:10px;background:repeating-linear-gradient(-45deg,currentColor 0 4px,transparent 4px 8px)}
.zr-tag.dark{color:var(--graphite)}
.zr-h2{font-size:clamp(2.4rem,5vw,3.8rem)}
.zr-muted{color:var(--muted);font-size:1.1rem}
.zr-light{color:#b8c0c9;font-size:1.1rem}
.zr-sec{padding:6rem 0;position:relative}
.zr-steel{background:var(--graphite);color:#b8c0c9;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:100% 6px}
.zr-sec.angled{clip-path:polygon(0 4vw,100% 0,100% calc(100% - 4vw),0 100%);padding:calc(6rem + 4vw) 0}
.zr-plate-bg{background:var(--plate);background-image:radial-gradient(var(--plate-2) 2px,transparent 2.5px);background-size:26px 26px}
.rise-zr{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.rise-zr.on{opacity:1;transform:none}

/* ---------- Hero ---------- */
.zr-hero{position:relative;padding:6.5rem 0 8rem;color:#c8ced5;background:linear-gradient(100deg,rgba(31,35,40,.96) 35%,rgba(31,35,40,.6)),var(--img) center/cover no-repeat,var(--graphite);clip-path:polygon(0 0,100% 0,100% calc(100% - 5vw),0 100%)}
.zr-hero h1{color:#fff;font-size:clamp(3.2rem,8vw,6.6rem);font-weight:800;line-height:.92;margin-bottom:1.4rem}
.zr-hero h1 .em{color:var(--em)}
.zr-hero p{font-size:1.18rem;max-width:560px;margin-bottom:2.2rem}
.zr-plate{background:rgba(42,47,54,.92);backdrop-filter:blur(6px);border-left:6px solid var(--em);padding:1.8rem;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%)}
.zr-plate h4{color:#fff;font-size:1.6rem;margin-bottom:1rem}
.plate-row{display:flex;align-items:center;gap:1rem;padding:.9rem 0;border-top:1px solid var(--steel);text-decoration:none;color:#dfe4e9;transition:padding .2s}
.plate-row:hover{padding-left:.4rem;color:var(--em)}
.plate-row strong{display:block;font-family:var(--hf);font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase}
.plate-row small{color:#9aa3ad}
.plate-row b{margin-left:auto;color:var(--em)}
.zi{display:inline-grid;place-items:center;width:42px;height:42px;background:var(--em);color:#fff;font-size:1.1rem;flex:none;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}

/* ---------- Ticker ---------- */
.zr-ticker{background:var(--em);overflow:hidden;padding:.9rem 0;margin-top:-1px}
.zr-ticker-track{display:flex;gap:1.6rem;width:max-content;animation:zt 55s linear infinite;font-family:var(--hf);font-weight:800;font-size:1.35rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;white-space:nowrap}
.zr-ticker i{font-style:normal;color:var(--graphite)}
@keyframes zt{to{transform:translateX(-50%)}}

/* ---------- Zone tabs ---------- */
.zr-tabs .nav-tabs{border:0;gap:.5rem;margin-bottom:1.6rem;flex-wrap:wrap}
.zr-tabs .nav-link{display:flex;align-items:center;gap:.7rem;border:0;border-radius:0;background:var(--plate);color:var(--graphite);font-family:var(--hf);font-weight:700;font-size:1.25rem;letter-spacing:.05em;text-transform:uppercase;padding:.6rem 1.3rem .6rem .6rem;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);transition:all .2s}
.zr-tabs .nav-link .zi{width:36px;height:36px;font-size:.95rem;background:var(--graphite)}
.zr-tabs .nav-link:hover{background:var(--plate-2)}
.zr-tabs .nav-link.active{background:var(--graphite);color:#fff}
.zr-tabs .nav-link.active .zi{background:var(--em)}
.zone-lead{font-family:var(--hf);font-size:1.45rem;font-weight:600;color:var(--steel-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:1.4rem}

/* ---------- Cards ---------- */
.zr-card{background:var(--white);height:100%;display:flex;flex-direction:column;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%);box-shadow:inset 0 0 0 1px var(--line);transition:transform .3s;scroll-margin-top:120px}
.zr-card:hover{transform:translateY(-6px)}
.zr-card-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--plate-2)}
.zr-card-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:transform .8s,filter .5s}
.zr-card:hover .zr-card-img img{transform:scale(1.07);filter:none}
.zr-zone{position:absolute;left:0;top:1rem;background:var(--graphite);color:var(--em);font-family:var(--hf);font-weight:700;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .9rem .3rem .8rem;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.zr-card-body{padding:1.6rem 1.6rem 2rem;display:flex;flex-direction:column;flex:1;border-top:4px solid var(--em)}
.zr-card-body h3{font-size:1.65rem;margin-bottom:.6rem}
.zr-card-body p{color:var(--muted);flex:1}
.zr-card-body .zr-btn{align-self:flex-start}
.zr-card:target{box-shadow:inset 0 0 0 3px var(--em)}

/* ---------- Why / specs ---------- */
.zr-cut-img{clip-path:polygon(0 0,calc(100% - 50px) 0,100% 50px,100% 100%,50px 100%,0 calc(100% - 50px));background:var(--steel)}
.zr-cut-img img{width:100%;aspect-ratio:5/4.2;object-fit:cover}
.zr-specs{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2rem}
@media(max-width:575.98px){.zr-specs{grid-template-columns:1fr}}
.zr-specs>div{background:var(--graphite-2);padding:1.3rem;border-left:4px solid var(--em)}
.zr-specs span{color:var(--em);font-size:1.4rem}
.zr-specs h5{color:#fff;font-size:1.3rem;margin:.4rem 0 .3rem}
.zr-specs p{margin:0;font-size:.95rem}

/* ---------- Process ---------- */
.zr-process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:2px solid var(--graphite)}
.zp{padding:2rem 1.6rem;border-right:2px solid var(--graphite);background:var(--white);position:relative;transition:background .3s}
.zp:last-child{border-right:0}
.zp:hover{background:var(--em-soft)}
.zp span{display:inline-grid;place-items:center;width:54px;height:54px;background:var(--graphite);color:var(--em);font-size:1.4rem;margin-bottom:1rem;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.zp h5{font-size:1.6rem}
.zp p{margin:0;color:var(--muted)}
.zp:not(:last-child)::after{content:"\25B6";position:absolute;right:-.75rem;top:50%;transform:translateY(-50%);color:var(--em);background:#f6f7f8;font-size:.9rem;line-height:1;padding:.2rem 0;z-index:1}
@media(max-width:767.98px){.zr-process{grid-template-columns:1fr 1fr}.zp{border-bottom:2px solid var(--graphite)}.zp::after{display:none}}

/* ---------- Posts ---------- */
.zr-post{background:var(--white);height:100%;display:flex;flex-direction:column;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%);transition:transform .3s}
.zr-post:hover{transform:translateY(-6px)}
.zr-post-img{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--plate-2)}
.zr-post-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.zr-post:hover .zr-post-img img{transform:scale(1.06)}
.zr-post-body{padding:1.6rem 1.6rem 2rem;display:flex;flex-direction:column;flex:1}
.zr-post-body h3{font-size:1.55rem}
.zr-post-body h3 a{color:var(--graphite);text-decoration:none}
.zr-post-body h3 a:hover{color:var(--em-dark)}
.zr-post-body p{color:var(--muted);flex:1}
.zr-read{font-family:var(--hf);font-weight:700;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--em-dark)}

/* ---------- Quote ---------- */
.zr-quote{margin:0;background:var(--white);padding:2.2rem;border-left:6px solid var(--em);height:100%;box-shadow:inset 0 0 0 1px var(--line)}
.zr-quote blockquote{font-family:var(--hf);font-weight:600;font-size:clamp(1.5rem,2.4vw,1.9rem);color:var(--graphite);line-height:1.25;text-transform:none;margin-bottom:1rem}
.zr-quote figcaption{font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem}

/* ---------- CTA ---------- */
.zr-cta{background:var(--em);color:#eafff5;padding:5rem 0;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.06) 0 20px,transparent 20px 40px)}
.zr-cta h2{color:#fff;font-size:clamp(2.4rem,5vw,3.8rem)}
.zr-cta p{margin:0;font-size:1.12rem}

/* ---------- Band (inner pages) ---------- */
.zr-band{padding:6rem 0 7rem;color:#c8ced5;background:linear-gradient(100deg,rgba(31,35,40,.95) 40%,rgba(31,35,40,.55)),var(--img) center/cover,var(--graphite);clip-path:polygon(0 0,100% 0,100% calc(100% - 3vw),0 100%)}
.zr-band h1{color:#fff;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:800}
.zr-band p{font-size:1.15rem;max-width:620px}
.zr-crumb{font-family:var(--hf);font-weight:700;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;margin-top:1.4rem;color:#8e98a3}
.zr-crumb a{color:var(--em);text-decoration:none}
.zr-crumb span{color:var(--steel-2);margin:0 .3rem}
.zr-val{background:var(--graphite-2);padding:2rem;height:100%;border-top:4px solid var(--em);transition:transform .3s}
.zr-val:hover{transform:translateY(-5px)}
.zr-val span{color:var(--em);font-size:1.6rem}
.zr-val h4{color:#fff;font-size:1.7rem;margin:.6rem 0 .4rem}
.zr-val p{margin:0}
.zr-combo{background:var(--graphite);color:#b8c0c9;padding:clamp(2rem,5vw,3.4rem);clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%);border-left:8px solid var(--em)}

/* ---------- Article ---------- */
.zr-article{background:var(--white);padding:clamp(1.6rem,4vw,3rem);box-shadow:inset 0 0 0 1px var(--line);font-size:1.08rem}
.zr-article h2{font-size:2rem;margin:2.3rem 0 .7rem;padding-left:.9rem;border-left:5px solid var(--em)}
.zr-legal{scroll-margin-top:110px}
.zr-legal:first-child h2,.zr-article>h2:first-child{margin-top:0}
.zr-art-end{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;background:var(--em-soft);padding:1.5rem 1.6rem;margin-top:2.5rem;border-left:6px solid var(--em)}
.zr-art-end h4{margin:0;font-size:1.6rem}
.zr-art-end p{margin:0;color:var(--muted)}
.zr-aside{position:sticky;top:110px}
.zr-side{background:var(--white);padding:1.6rem;margin-bottom:1rem;box-shadow:inset 0 0 0 1px var(--line)}
.zr-side h5{font-size:1.4rem;margin-bottom:1rem}
.zr-side.dark{background:var(--graphite);box-shadow:none;color:#b8c0c9}
.zr-side.dark h5{color:#fff}
.zr-side-post{display:flex;gap:.9rem;align-items:center;padding:.7rem 0;border-top:1px solid var(--line);text-decoration:none;color:var(--graphite);font-weight:600;line-height:1.3}
.zr-side-post img{width:74px;height:74px;object-fit:cover;flex:none;background:var(--plate-2)}
.zr-side-post:hover span{color:var(--em-dark)}
.zr-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.zr-tags a{font-size:.85rem;font-weight:600;padding:.3rem .7rem;background:var(--plate);text-decoration:none;color:var(--graphite)}
.zr-tags a:hover{background:var(--em);color:#fff}
.zr-toc{display:flex;flex-direction:column}
.zr-toc a{padding:.55rem 0;border-top:1px solid var(--line);text-decoration:none;color:var(--graphite);font-weight:600}
.zr-toc a b{color:var(--em);margin-right:.5rem}
.zr-toc a:hover{color:var(--em-dark)}

/* ---------- Contact ---------- */
.zr-contact-card{background:var(--graphite);color:#c8ced5;padding:2.2rem;height:100%;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%);border-top:6px solid var(--em)}
.zr-contact-card h3{color:#fff;font-size:2rem;margin-bottom:1.2rem}
.zc{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 0;border-top:1px solid var(--steel)}
.zc>span{width:44px;height:44px;background:var(--em);color:#fff;display:grid;place-items:center;font-size:1.1rem;flex:none;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.zc small{font-family:var(--hf);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--em);font-size:.9rem}
.zc p{margin:.1rem 0 0;color:#fff;font-weight:600;word-break:break-word}
.zc a{color:#fff;text-decoration:none}
.zc a:hover{color:var(--em)}
.zr-form{background:var(--white);padding:clamp(1.8rem,4vw,2.8rem);box-shadow:inset 0 0 0 1px var(--line);height:100%}
.zr-form h3{font-size:2.2rem;margin-bottom:1.4rem}
.form-label{font-family:var(--hf);font-weight:700;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:var(--graphite)}
.form-control,.form-select{border:2px solid var(--line);border-radius:0;padding:.75rem 1rem;background:#f6f7f8}
.form-control:focus,.form-select:focus{border-color:var(--em);box-shadow:none;background:#fff}
.form-check-input{border-radius:0;border:2px solid var(--steel-2)}
.form-check-input:checked{background-color:var(--em);border-color:var(--em)}
.zr-check{display:flex;flex-wrap:wrap;gap:.5rem}
.zr-check label{cursor:pointer}
.zr-check input{position:absolute;opacity:0}
.zr-check span{display:block;padding:.5rem 1rem;background:var(--plate);font-family:var(--hf);font-weight:700;font-size:1.05rem;letter-spacing:.05em;text-transform:uppercase;border-left:4px solid transparent;transition:all .2s}
.zr-check input:checked+span{background:var(--graphite);color:#fff;border-left-color:var(--em)}
.zr-check input:focus-visible+span{outline:2px solid var(--em)}
.form-success{display:none;margin-top:1.2rem;padding:1rem 1.2rem;background:var(--em-soft);border-left:6px solid var(--em);font-weight:600;color:var(--graphite)}
.form-success.show{display:block}
.zr-map{margin-top:2rem;clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),calc(100% - 40px) 100%,0 100%);background:var(--plate-2)}
.zr-map iframe{display:block;width:100%;height:420px;border:0;filter:grayscale(.6)}

/* ---------- Newsletter ---------- */
.zr-nl{padding:6rem 0;color:#c8ced5;background:linear-gradient(100deg,rgba(31,35,40,.96) 40%,rgba(31,35,40,.75)),var(--img) center/cover,var(--graphite)}
.zr-nl-side{color:#fff;font-size:clamp(2.2rem,4vw,3.2rem)}
.zr-ticks{list-style:none;padding:0;margin:1.6rem 0 0}
.zr-ticks li{padding:.6rem 0 .6rem 2rem;position:relative;border-top:1px solid var(--steel)}
.zr-ticks li::before{content:"\25B6";position:absolute;left:0;color:var(--em);font-size:.85rem;top:.85rem}
.zr-nl-card{background:var(--white);color:var(--text);padding:clamp(1.8rem,4vw,3rem);border-top:8px solid var(--em);clip-path:polygon(0 0,100% 0,100% calc(100% - 34px),calc(100% - 34px) 100%,0 100%)}
.zr-nl-card h1{font-size:clamp(2.2rem,4vw,3.2rem)}
.zr-nl-card>p{color:var(--muted)}
.zr-nl-foot{margin:1.4rem 0 0;color:var(--muted)}

/* ---------- Footer ---------- */
.zr-foot{background:var(--graphite);color:#9aa3ad}
.zr-foot h6{font-family:var(--hf);font-size:1.15rem;letter-spacing:.1em;color:var(--em);margin-bottom:1rem}
.zr-foot a:not(.zr-logo){display:block;color:#dfe4e9;text-decoration:none;margin-bottom:.5rem;word-break:break-word}
.zr-foot a:not(.zr-logo):hover{color:var(--em)}
.zr-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;border-top:1px solid var(--steel);padding:1.4rem 0 1.8rem;font-size:.92rem;font-family:var(--hf);letter-spacing:.06em;text-transform:uppercase}
.zr-up{position:fixed;right:1.2rem;bottom:1.2rem;width:50px;height:50px;background:var(--em);color:#fff;display:grid;place-items:center;font-size:1rem;text-decoration:none;opacity:0;pointer-events:none;transition:opacity .3s;z-index:1020;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.zr-up.show{opacity:1;pointer-events:auto}
.zr-up:hover{background:var(--em-dark);color:#fff}

@media(max-width:767.98px){.zr-sec{padding:4.5rem 0}.zr-sec.angled{padding:calc(4.5rem + 4vw) 0}.zr-hero{padding:4.5rem 0 6rem}.zr-band{padding:4.5rem 0 5rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rise-zr{opacity:1;transform:none}}
