/* Zeyndex theme layer: loaded last on every page. Only colours, backgrounds, borders, shadows. */
:root{--zx-deep:#06241a;--zx-forest:#0b3d2a;--zx-mint:#7be3a8;--zx-tint:#eef7f1;--zx-tint2:#e0f1e8;--zx-edge:#cfe6d9;--zx-glow:0 14px 36px rgba(0,122,63,.14)}
body{background:#fbfdfc}
/* Heroes: deep green with fine grid + glow */
.zx-hero,.zx-page-hero{background:radial-gradient(900px 420px at 85% -10%,rgba(123,227,168,.28),transparent 60%),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/44px 44px,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/44px 44px,linear-gradient(135deg,var(--zx-deep),var(--zx-forest) 60%,#0d5a3a);border-bottom:0;color:#fff}
.zx-hero::before{display:none}
.zx-hero h1,.zx-hero-title,.zx-page-hero h1{color:#fff}
.zx-hero h1 span,.zx-page-hero h1 span{color:var(--zx-mint)}
.zx-hero p,.zx-hero-desc,.zx-page-hero p{color:rgba(255,255,255,.82)}
.zx-hero-title mark{background:linear-gradient(135deg,#17b968,#0a8a4b);box-shadow:0 8px 24px rgba(23,185,104,.35)}
.zx-hero-badge,.zx-page-hero-badge,.zx-page-hero .zx-section-label,.zx-hero .zx-kicker{background:rgba(255,255,255,.12);color:var(--zx-mint);border:1px solid rgba(255,255,255,.18)}
.zx-hero-badge-dot{background:var(--zx-mint)}
.zx-hero .zx-btn--primary,.zx-hero .zx-btnx.primary{background:#fff;color:var(--green-dark);border-color:#fff}
.zx-hero .zx-btn--primary:hover,.zx-hero .zx-btnx.primary:hover{background:var(--zx-mint);border-color:var(--zx-mint)}
.zx-hero .zx-btn--outline,.zx-hero .zx-btnx.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.zx-hero .zx-btn--outline:hover,.zx-hero .zx-btnx.secondary:hover{background:rgba(255,255,255,.14);color:#fff}
.zx-hero-stats{border-top:1px solid rgba(255,255,255,.18);padding-top:22px}
.zx-hero-stat strong{color:#fff}.zx-hero-stat span{color:rgba(255,255,255,.7)}
.zx-hero-circle{box-shadow:0 0 0 10px rgba(255,255,255,.08),0 0 0 22px rgba(255,255,255,.04),0 30px 70px rgba(0,0,0,.4)}
.zx-hero-floating{box-shadow:0 18px 40px rgba(0,0,0,.28)}
.zx-breadcrumb{background:transparent}
/* Section rhythm */
.zx-sectionx.soft,.zx-services,.zx-testimonials,.zx-values,.zx-tech,.zx-trust,.zx-pricing-section{background:radial-gradient(circle at 1px 1px,rgba(0,122,63,.09) 1px,transparent 0) 0 0/22px 22px,var(--zx-tint)}
.zx-why,.zx-process{background:linear-gradient(180deg,#fff,var(--zx-tint2))}
.zx-sectionx h2::after,.zx-section-title::after{content:"";display:block;width:54px;height:4px;border-radius:4px;margin-top:12px;background:linear-gradient(90deg,var(--green),var(--zx-mint))}
.zx-page-hero h1::after,.zx-hero h1::after{display:none}
.zx-cta-x,.zx-cta{background:radial-gradient(600px 260px at 15% 0,rgba(123,227,168,.25),transparent 60%),linear-gradient(135deg,var(--zx-deep),#0c6a40)}
.zx-stats,.zx-about-stats{background:linear-gradient(135deg,var(--zx-deep),var(--zx-forest))}
/* Boxes: tinted, accented, lifted */
.zx-card,.zx-resource-card,.zx-service-card,.zx-process-card,.zx-value-card,.zx-team-card,.zx-project-card,.zx-testimonial-card,.zx-trust-card,.zx-contact-card,.zx-tech-item,.zx-tool-panel,.zx-pricing-card,.zx-faq-item,.zx-svc-block-inner{border:1px solid var(--zx-edge);border-top:3px solid var(--green);box-shadow:0 8px 26px rgba(6,36,26,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.zx-card,.zx-resource-card,.zx-service-card,.zx-process-card,.zx-value-card,.zx-testimonial-card,.zx-trust-card,.zx-contact-card,.zx-tech-item{background:linear-gradient(160deg,#fff 0%,#f1f9f4 100%)}
.zx-card:hover,.zx-resource-card:hover,.zx-service-card:hover,.zx-process-card:hover,.zx-value-card:hover,.zx-project-card:hover,.zx-team-card:hover,.zx-pricing-card:hover,.zx-tech-item:hover{transform:translateY(-5px);box-shadow:var(--zx-glow);border-color:#9fd2b6}
.zx-resource-card:before{display:none}
.zx-service-icon,.zx-value-icon,.zx-contact-card-icon,.zx-trust-icon,.zx-tech-item-icon,.zx-svc-icon-big,.zx-why-item-icon{background:linear-gradient(135deg,#0a8a4b,var(--green-dark));color:#fff;box-shadow:0 8px 18px rgba(0,122,63,.28)}
.zx-service-icon svg,.zx-value-icon svg,.zx-contact-card-icon svg,.zx-trust-icon svg,.zx-tech-item-icon svg,.zx-svc-icon-big svg,.zx-why-item-icon svg{stroke:#fff}
.zx-process-num{background:linear-gradient(135deg,#0a8a4b,var(--green-dark));color:#fff}
.zx-project-tag,.zx-card-meta{background:var(--zx-tint2);color:var(--green-dark)}
.zx-filter-tab.active{background:var(--green);color:#fff;border-color:var(--green)}
/* Callouts, lists, tables, FAQ */
.zx-callout{background:linear-gradient(135deg,var(--zx-deep),var(--zx-forest));border-left:4px solid var(--zx-mint);color:#fff;box-shadow:0 14px 34px rgba(6,36,26,.2)}
.zx-callout p{color:rgba(255,255,255,.82)}.zx-callout strong{color:var(--zx-mint)}
.zx-list{list-style:none;padding:0}
.zx-list li{position:relative;padding:10px 14px 10px 44px;margin:8px 0;background:#fff;border:1px solid var(--zx-edge);border-radius:10px}
.zx-list li::before{content:"\2713";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.zx-article .zx-list li{background:var(--zx-tint)}
.zx-table th{background:var(--green);color:#fff;border-color:var(--green)}.zx-table tr:nth-child(even) td{background:var(--zx-tint)}
.zx-faq{border-top:0;display:grid;gap:12px}
.zx-faq details{background:#fff;border:1px solid var(--zx-edge);border-left:4px solid var(--green);border-radius:12px;padding:16px 20px;box-shadow:0 4px 14px rgba(6,36,26,.05)}
.zx-faq details[open]{background:var(--zx-tint);box-shadow:var(--zx-glow)}
.zx-faq summary{color:var(--zx-forest)}
.zx-article-toc,.zx-article blockquote{background:var(--zx-tint);border-color:var(--zx-edge)}
.zx-tool-result,.zx-pricing-card.featured,.zx-pricing-card.zx-pricing-featured{background:linear-gradient(145deg,var(--zx-forest),#0c6a40)}
.zx-footer{background:linear-gradient(180deg,#08201a,var(--zx-deep))}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--zx-mint);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* Breadcrumbs */
.zx-crumbs{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:.85rem;margin:0 0 22px;color:rgba(255,255,255,.75)}
.zx-crumbs a{color:var(--zx-mint);font-weight:600;text-decoration:none}.zx-crumbs a:hover{text-decoration:underline}.zx-crumbs strong{color:#fff;font-weight:600}
.zx-breadcrumb{padding:16px 0;font-size:.86rem}.zx-breadcrumb a{font-weight:600}
/* Mobile safety: nothing may push the page wider than the screen */
.zx-tech-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
img,video,svg{max-width:100%}
.zx-table{display:block;overflow-x:auto}
.zx-footer .zx-logo img{border-radius:8px}

/* Responsive article and policy-page hardening (Step 6) */
.zx-article{width:min(100% - 32px, 820px);min-width:0;overflow-wrap:anywhere}
.zx-article-header{width:100%;min-width:0}
.zx-article h1,.zx-article h2,.zx-article h3,.zx-article p,.zx-article li{overflow-wrap:anywhere}
.zx-article img,.zx-article video,.zx-article iframe{max-width:100%;height:auto}
.zx-article figure{margin:24px 0;max-width:100%}
.zx-article pre{max-width:100%;overflow-x:auto;white-space:pre;overscroll-behavior-x:contain}
.zx-article table{width:100%;border-collapse:collapse}
.zx-article table,.zx-article .zx-table-wrap{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.zx-article-toc{max-width:100%;overflow-wrap:anywhere}
.zx-article-toc ol{padding-left:22px}
.zx-article-toc li{margin:6px 0}
.zx-sectionx>.zx-article,.zx-sectionx>article.zx-article{padding-left:0;padding-right:0}
.zx-hero .zx-content,.zx-content,.zx-sectionx{min-width:0}
.zx-sectionx .zx-article>section{min-width:0}
.zx-sectionx .zx-article>section+section{margin-top:8px}
.zx-note{overflow-wrap:anywhere}
@media(max-width:820px){
  .zx-article{width:calc(100% - 36px)}
  .zx-article h1{font-size:clamp(1.85rem,5.4vw,2.6rem);line-height:1.18}
  .zx-article h2{font-size:clamp(1.35rem,4.2vw,1.7rem);line-height:1.3;margin-top:32px}
  .zx-article h3{font-size:1.08rem;line-height:1.4;margin-top:22px}
  .zx-article p,.zx-article li{font-size:.97rem;line-height:1.8}
  .zx-article-toc{padding:17px 18px;margin:22px 0}
  .zx-article .zx-callout{padding:20px}
  .zx-article .zx-btnx{max-width:100%;white-space:normal;text-align:center}
  .zx-sectionx{padding-top:44px;padding-bottom:44px}
}
@media(max-width:560px){
  .zx-article{width:calc(100% - 28px)}
  .zx-article h1{font-size:1.8rem;letter-spacing:-.025em}
  .zx-article h2{font-size:1.35rem;margin-top:28px}
  .zx-article h3{font-size:1.02rem}
  .zx-article p,.zx-article li{font-size:.94rem;line-height:1.78}
  .zx-article-header .zx-meta{gap:7px 12px;font-size:.76rem}
  .zx-article-toc{padding:15px;margin:20px 0}
  .zx-article-toc ol{padding-left:19px}
  .zx-article .zx-callout{padding:17px;border-radius:12px}
  .zx-article blockquote{padding:16px;margin:20px 0}
  .zx-breadcrumb{font-size:.78rem;line-height:1.6;overflow-wrap:anywhere}
  .zx-sectionx .zx-table,.zx-article .zx-table{font-size:.88rem}
}

/* Step 7: reliable phone-width reflow for resource articles and legal pages.
   Kept scoped to .zx-article so site-wide layout and interactive tools remain unchanged. */
.zx-sectionx > article.zx-article,
.zx-sectionx > .zx-article {
  box-sizing: border-box;
  width: 100%;
  max-width: 860px;
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
  padding-left: 22px;
  padding-right: 22px;
}
.zx-article,
.zx-article * { min-width: 0; }
.zx-article { overflow-wrap: anywhere; word-wrap: break-word; }
.zx-article p,
.zx-article li,
.zx-article a,
.zx-article h1,
.zx-article h2,
.zx-article h3,
.zx-article strong,
.zx-article em { max-width: 100%; overflow-wrap: anywhere; }
.zx-article ul,
.zx-article ol { padding-left: 1.35rem; }
.zx-article img,
.zx-article video,
.zx-article iframe,
.zx-article svg { display: block; max-width: 100%; height: auto; }
.zx-article iframe { width: 100%; }
.zx-article pre { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; overflow-x: auto; }
.zx-article code { overflow-wrap: anywhere; white-space: pre-wrap; }
.zx-article table { width: 100%; max-width: 100%; border-collapse: collapse; }
.zx-article table,
.zx-article .zx-table,
.zx-article .zx-table-wrap { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.zx-article th,
.zx-article td { overflow-wrap: anywhere; }
.zx-article-toc { width: 100%; max-width: 100%; box-sizing: border-box; overflow-wrap: anywhere; }
.zx-article-toc ol { margin: 0; padding-left: 1.25rem; }
.zx-article .zx-btnx { max-width: 100%; white-space: normal; text-align: center; }
@media (max-width: 820px) {
  .zx-sectionx > article.zx-article,
  .zx-sectionx > .zx-article { padding-left: 20px; padding-right: 20px; }
  .zx-article h1 { font-size: clamp(1.75rem, 5.5vw, 2.5rem); line-height: 1.2; }
  .zx-article h2 { font-size: clamp(1.3rem, 4.5vw, 1.65rem); line-height: 1.32; }
  .zx-article h3 { font-size: 1.08rem; line-height: 1.4; }
  .zx-article p, .zx-article li { line-height: 1.8; }
}
@media (max-width: 560px) {
  .zx-sectionx > article.zx-article,
  .zx-sectionx > .zx-article { padding-left: 16px; padding-right: 16px; }
  .zx-article h1 { font-size: 1.72rem; letter-spacing: -.02em; }
  .zx-article h2 { font-size: 1.3rem; margin-top: 28px; }
  .zx-article h3 { font-size: 1.02rem; margin-top: 22px; }
  .zx-article p, .zx-article li { font-size: .96rem; line-height: 1.78; }
  .zx-article-toc { padding: 15px; margin: 20px 0; }
  .zx-article .zx-callout { padding: 16px; }
  .zx-article blockquote { padding: 16px; margin: 20px 0; }
  .zx-article .zx-meta { flex-wrap: wrap; gap: 6px 10px; }
}
