/*! Arkommunities theme stylesheet — merged from the five Draft 3 pages (home3, about3, resources3, faq3, projects3).
   Generated by notes/tools/build_css.py. Section 1 = Home stylesheet (superset, original order).
   Section 2 = rules from other pages that Home did not have. Section 3 = theme additions. */
/* ===== 0. Design tokens on :root (also defined on .z3 below) ===== */
:root{--ink:#0B1026;--ink2:#141B3D;--gold:#F5C451;--teal:#3DD6C6;--ember:#FF6B3D;--cream:#FFF6E0}

/* ===== 1. Shared Draft 3 rules (from home3, original order) ===== */
.z3{--ink:#0B1026;--ink2:#141B3D;--gold:#F5C451;--teal:#3DD6C6;--ember:#FF6B3D;--cream:#FFF6E0;font-family:'Poppins',sans-serif;font-size:20px;line-height:1.7;color:var(--cream);background:var(--ink);overflow:clip!important;position:relative}
.z3 *{box-sizing:border-box}
.z3 h1,.z3 h2{font-family:'Lora',Georgia,serif;font-weight:600;margin:0;text-align:center}
.z3-bar{position:fixed;top:0;left:0;height:6px;width:0;z-index:9999;background:linear-gradient(90deg,var(--teal),var(--gold),var(--ember));box-shadow:0 0 14px var(--gold)}
.z3-cursor{position:fixed;top:0;left:0;width:300px;height:300px;border-radius:50%;pointer-events:none;z-index:9990;background:radial-gradient(circle,rgba(245,196,81,.18),transparent 65%);mix-blend-mode:screen}
.z3-spin{position:fixed;right:-140px;top:50%;margin-top:-260px;width:520px;height:520px;border-radius:50%;border:2px dashed rgba(245,196,81,.35);pointer-events:none;z-index:1}
.z3-spin::before{content:"";position:absolute;inset:50px;border-radius:50%;border:3px solid transparent;border-top-color:var(--teal);border-bottom-color:var(--ember)}
.z3-head{position:sticky;top:0;z-index:9000;display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding:14px 32px;background:rgba(11,16,38,.82);backdrop-filter:blur(12px);border-bottom:1px solid rgba(245,196,81,.35)}
.z3-brand{font-family:'Lora',Georgia,serif;font-weight:600;font-size:24px;color:var(--gold);text-decoration:none;letter-spacing:.03em}
.z3-nav{display:flex;flex-wrap:wrap;gap:10px}
.z3-nav a{color:var(--cream);text-decoration:none;padding:8px 20px;border-radius:999px;border:1px solid rgba(61,214,198,.5);font-size:16px;transition:.3s}
.z3-nav a:hover,.z3-nav a.on{background:linear-gradient(90deg,var(--teal),var(--gold));color:var(--ink);transform:translateY(-2px);box-shadow:0 8px 24px rgba(245,196,81,.35)}
.z3-foot{background:#070B1C;border-top:1px solid rgba(245,196,81,.35);padding:56px 32px 28px;position:relative;z-index:5}
.z3-foot-in{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;font-size:16px;line-height:1.8}
.z3-foot strong{color:var(--gold);font-family:'Lora',Georgia,serif;font-size:18px}
.z3-foot a{color:var(--cream);text-decoration:none}
.z3-foot a:hover{color:var(--gold);text-decoration:underline}
.z3-copy{max-width:1100px;margin:32px auto 0;text-align:center;font-size:14px;opacity:.7}
.z3-hero{position:relative;min-height:760px;display:flex;align-items:center;justify-content:center;padding:100px 24px;overflow:hidden}
.z3-hero.small{min-height:560px}
.z3-bg{position:absolute;left:0;right:0;top:-15%;bottom:-15%;background-size:cover;background-position:center}
.z3-shade{position:absolute;inset:0;background:linear-gradient(rgba(11,16,38,.6),rgba(11,16,38,.85))}
.z3-hero canvas{position:absolute;inset:0;width:100%;height:100%}
.z3-ring{position:absolute;width:760px;height:760px;max-width:140vw;border-radius:50%;border:3px dashed rgba(245,196,81,.55);animation:z3spin 40s linear infinite;box-shadow:0 0 80px rgba(61,214,198,.25) inset}
.z3-ring.two{width:520px;height:520px;border:3px solid transparent;border-top-color:var(--teal);border-bottom-color:var(--ember);animation:z3spin 14s linear infinite reverse}
@keyframes z3spin{to{transform:rotate(360deg)}}
.z3-orb{position:absolute;border-radius:50%;filter:blur(50px);opacity:.5;animation:z3float 12s ease-in-out infinite}
.z3-orb.a{width:320px;height:320px;background:var(--teal);left:-60px;top:60px}
.z3-orb.b{width:380px;height:380px;background:var(--ember);right:-80px;bottom:20px;animation-delay:-4s}
.z3-orb.c{width:240px;height:240px;background:var(--gold);left:45%;top:-60px;animation-delay:-8s}
@keyframes z3float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,-50px) scale(1.25)}}
.z3-hero h1{position:relative;z-index:3;max-width:960px;font-size:40px;line-height:1.35;background:linear-gradient(90deg,#fff,var(--gold),var(--teal),#fff);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:z3shine 8s linear infinite}
.z3-hero.small h1{font-size:56px}
@keyframes z3shine{to{background-position:300% 0}}
.z3-tick{background:var(--gold);color:var(--ink);overflow:hidden;white-space:nowrap;padding:14px 0;transform:none;margin:0 0 0;position:relative;z-index:5;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.z3-tick div{display:inline-block;padding-left:100%;animation:z3tick 22s linear infinite;font-family:'Lora',serif;font-size:28px;font-weight:600}
@keyframes z3tick{to{transform:translateX(-100%)}}
.z3-big{font-size:46px;background:linear-gradient(90deg,var(--teal),var(--gold),var(--ember));-webkit-background-clip:text;background-clip:text;color:transparent;padding:80px 24px}
.z3-bandwrap{background:var(--ink2);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.z3-sec{padding:110px 24px;position:relative}
.z3-glow{background:radial-gradient(circle at 50% 0,var(--ink2),var(--ink) 70%)}
.z3-card{max-width:860px;margin:0 auto;padding:48px;border-radius:24px;text-align:center;background:linear-gradient(135deg,rgba(61,214,198,.14),rgba(255,107,61,.14));border:1px solid rgba(245,196,81,.45);box-shadow:0 20px 60px rgba(0,0,0,.45),0 0 40px rgba(245,196,81,.15);transition:transform .15s;transform-style:preserve-3d}
.z3-card p{margin:0}
.z3-wrap{max-width:800px;margin:0 auto;height:520px;overflow:hidden;position:relative}
.z3-scroll{position:absolute;left:0;right:0;top:0;margin:0;text-align:center;font-size:20px;line-height:1.6;opacity:0;animation:z3sc 40s linear infinite}
@keyframes z3sc{0%{opacity:0;transform:translateY(520px)}3%{opacity:1;transform:translateY(480px)}47%{opacity:1;transform:translateY(-260px)}50%{opacity:0;transform:translateY(-300px)}100%{opacity:0;transform:translateY(-300px)}}
.z3-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.z3-grid .z3-card{padding:40px 28px}
.z3-grid h3{font-family:'Lora',serif;font-size:28px;margin:0 0 8px;color:var(--gold)}
.z3-grid small{font-size:18px;opacity:.8}
.z3-list{max-width:1000px;margin:0 auto;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;text-align:center;counter-reset:n}
.z3-list li{counter-increment:n;padding:30px 18px;border-radius:18px;background:linear-gradient(135deg,rgba(61,214,198,.14),rgba(255,107,61,.14));border:1px solid rgba(245,196,81,.45);transition:transform .15s,box-shadow .3s}
.z3-list li::before{content:counter(n,decimal-leading-zero);display:block;font-family:'Lora',serif;font-size:34px;color:var(--gold)}
.z3-list li:hover{box-shadow:0 0 30px rgba(245,196,81,.4)}
.z3-faq{max-width:860px;margin:0 auto}
.z3-faq details{background:rgba(255,255,255,.06);border:1px solid rgba(245,196,81,.4);border-radius:16px;margin-bottom:18px;transition:box-shadow .3s}
.z3-faq details:hover{box-shadow:0 0 30px rgba(61,214,198,.35)}
.z3-faq summary{cursor:pointer;list-style:none;padding:22px 60px 22px 26px;font-family:'Lora',serif;font-weight:600;font-size:24px;color:var(--gold);position:relative}
.z3-faq summary::-webkit-details-marker{display:none}
.z3-faq summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:34px;color:var(--teal);transition:transform .3s}
.z3-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.z3-faq details p{margin:0;padding:0 26px 26px}
.z3-more{max-width:860px;margin:30px auto 0;text-align:center;font-style:italic}
.z3-story{display:flex;flex-wrap:wrap;align-items:center;gap:48px;max-width:1200px;margin:0 auto;padding:110px 24px}
.z3-story .img{flex:1 1 320px;min-height:420px;border-radius:30px;background:url('https://arkommunities.com/wp-content/uploads/2026/10/unnamed.png') center/cover no-repeat;border:2px solid var(--gold);box-shadow:0 0 0 10px rgba(61,214,198,.15),0 30px 80px rgba(0,0,0,.6);animation:z3bob 7s ease-in-out infinite}
@keyframes z3bob{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-18px)}}
.z3-story p{flex:1 1 320px;margin:0}
.z3-contact{padding:110px 24px;text-align:center;background:linear-gradient(135deg,var(--ink2),#2a1240)}
.z3-contact a{display:inline-block;color:var(--ink);text-decoration:none;font-weight:600;font-size:19px;padding:20px 40px;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--ember),var(--gold));background-size:200% 100%;animation:z3shine 4s linear infinite,z3pulse 2.4s ease-in-out infinite}
.z3-contact a:hover{transform:scale(1.1) rotate(-1deg)}
@keyframes z3pulse{0%,100%{box-shadow:0 0 0 0 rgba(245,196,81,.7)}50%{box-shadow:0 0 0 24px rgba(245,196,81,0)}}
.z3.on .rv{opacity:0;transform:translateY(60px) scale(.96);transition:1s cubic-bezier(.2,.8,.2,1)}
.z3.on .rv.in{opacity:1;transform:none}
@media(max-width:700px){.z3-foot{padding:40px 20px 24px}.z3-spin{display:none}.z3-hero h1{font-size:27px}.z3-hero.small h1{font-size:36px}.z3-big{font-size:30px}.z3-card{padding:28px}.z3-tick div{font-size:20px}.z3-faq summary{font-size:20px}}
.z3-burger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:46px;height:42px;padding:0;background:rgba(61,214,198,.08);border:1px solid rgba(61,214,198,.5);border-radius:12px;cursor:pointer}
.z3-burger span{display:block;width:22px;height:2px;background:var(--gold);border-radius:2px;transition:transform .3s,opacity .3s}
.z3-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.z3-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.z3-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.z3-head{padding:10px 20px;justify-content:space-between;flex-wrap:nowrap}
.z3-brand{font-size:22px}
.z3-burger{display:flex}
.z3-nav{display:none;position:absolute;top:100%;right:16px;width:min(300px,calc(100vw - 32px));flex-direction:column;gap:8px;padding:14px;background:rgba(11,16,38,.97);border:1px solid rgba(245,196,81,.35);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.6)}
.z3-nav.open{display:flex}
.z3-nav a{text-align:center;padding:13px 16px;font-size:17px}

/* ===== 2. Rules present on other pages but not on Home ===== */
.z3-faq details ul{margin:0;padding:0 26px 26px 48px}   /* from faq3 */
.z3-faq details li{margin:0 0 .8em}   /* from faq3 */

/* ===== 3. Theme additions (new in the WordPress theme; not in the Draft 3 pages) ===== */
  html,body{margin:0;padding:0}
  body{background:var(--ink)}
  .z3-skip{position:absolute;left:12px;top:-100px;z-index:10000;padding:12px 18px;border-radius:12px;background:var(--gold);color:var(--ink);font-weight:600;text-decoration:none}
  .z3-skip:focus{top:12px}
  .z3-main{display:block}
  .z3-brand .custom-logo-link{display:inline-flex;align-items:center}
  .z3-brand img,.z3-head .custom-logo{display:block;max-height:60px;width:auto;height:auto}
  .z3-nav .z3-navlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
  .z3-nav .z3-navlist li{margin:0;padding:0}
  .z3-nav .z3-navlist a{display:block}
  .z3-nav .z3-navlist .sub-menu{list-style:none;margin:8px 0 0;padding:0 0 0 12px;display:flex;flex-direction:column;gap:8px}
  .z3-burger:focus-visible,.z3-nav a:focus-visible,.z3-foot a:focus-visible,.z3-contact a:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
  .z3-foot .z3-foot-widgets{max-width:1100px;margin:32px auto 0;font-size:16px}
  .z3-edit{max-width:1100px;margin:0 auto;padding:24px;text-align:center;font-size:15px}
  .z3-edit a{color:var(--gold);text-decoration:underline}
  .z3-main>p:empty{display:none}
  .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
  
/* ===== 4. Blog, post, search, 404 and comment templates (new in Prompt 3) ===== */
.z3-hero.z3-hero-blog{min-height:420px}
.z3-hero-blog .z3-bg{background:radial-gradient(circle at 30% 30%,rgba(61,214,198,.35),transparent 55%),radial-gradient(circle at 75% 70%,rgba(255,107,61,.35),transparent 55%),linear-gradient(135deg,var(--ink2),var(--ink))}
.z3-blog-herotxt{position:relative;z-index:3;text-align:center;max-width:860px}
.z3-blog-herotxt p{margin:14px 0 0;font-size:22px;color:var(--cream)}
.z3-pagehead{padding:90px 24px 10px;text-align:center;background:radial-gradient(circle at 50% 0,var(--ink2),var(--ink) 70%)}
.z3-pagehead h1{font-size:46px;background:linear-gradient(90deg,var(--teal),var(--gold),var(--ember));-webkit-background-clip:text;background-clip:text;color:transparent}
.z3-pagehead .z3-pagehead-desc{max-width:760px;margin:16px auto 0;font-size:18px;opacity:.85}
.z3-pagehead .z3-pagehead-desc p{margin:0}
.z3-postsec{padding:70px 24px 110px}
.z3-posts{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:28px}
@media(min-width:800px){.z3-posts{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1200px){.z3-posts{grid-template-columns:repeat(3,1fr)}}
.z3-post-card{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,rgba(61,214,198,.10),rgba(255,107,61,.10));border:1px solid rgba(245,196,81,.35);box-shadow:0 20px 50px rgba(0,0,0,.35);transition:box-shadow .3s,transform .3s}
.z3-post-card:hover,.z3-post-card:focus-within{box-shadow:0 0 34px rgba(245,196,81,.35),0 20px 50px rgba(0,0,0,.35);transform:translateY(-3px)}
.z3-post-thumb{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(245,196,81,.55),transparent 45%),radial-gradient(circle at 20% 80%,rgba(61,214,198,.45),transparent 50%),radial-gradient(circle at 85% 75%,rgba(255,107,61,.45),transparent 50%),linear-gradient(160deg,#141B3D,#0B1026)}
.z3-post-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.z3-post-card:hover .z3-post-thumb img{transform:scale(1.05)}
.z3-post-thumb-fallback::after{content:"";position:absolute;left:50%;top:22%;width:16px;height:56%;margin-left:-8px;border-radius:6px 6px 0 0;background:linear-gradient(#F5C451,#7a5a1a);box-shadow:0 0 40px 10px rgba(245,196,81,.35)}
.z3-post-body{display:flex;flex-direction:column;gap:10px;padding:24px 26px 28px;flex:1}
.z3-post-cat{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.z3-post-cat a{color:var(--teal);text-decoration:none}
.z3-post-card h2{margin:0;text-align:left;font-size:26px;line-height:1.3}
.z3-post-card h2 a{color:var(--gold);text-decoration:none}
.z3-post-card h2 a:hover{text-decoration:underline}
.z3-post-date{font-size:14px;opacity:.75}
.z3-post-excerpt{margin:0;font-size:17px;line-height:1.65}
.z3-more-link{margin-top:auto;align-self:flex-start;color:var(--gold);font-weight:600;text-decoration:none;font-size:16px}
.z3-more-link:hover{text-decoration:underline}
.z3-empty{max-width:760px;margin:0 auto;text-align:center;font-size:20px}
.z3-empty .z3-searchform{margin-top:28px}
.z3 .navigation.pagination{max-width:1200px;margin:50px auto 0;text-align:center}
.z3 .pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.z3 .pagination .page-numbers{display:inline-block;min-width:46px;padding:10px 16px;border-radius:999px;border:1px solid rgba(61,214,198,.5);color:var(--cream);text-decoration:none;font-size:16px}
.z3 .pagination a.page-numbers:hover,.z3 .pagination .page-numbers.current{background:linear-gradient(90deg,var(--teal),var(--gold));color:var(--ink);border-color:transparent}
.z3 .pagination .dots{border-color:transparent}
/* single post */
.z3-single{padding:80px 24px 40px}
.z3-single-head{max-width:900px;margin:0 auto 34px;text-align:center}
.z3-single-head h1{font-size:48px;line-height:1.2;color:var(--gold)}
.z3-single-meta{margin-top:16px;font-size:16px;opacity:.85}
.z3-single-meta a{color:var(--teal);text-decoration:none}
.z3-single-thumb{max-width:1100px;margin:0 auto 46px}
.z3-single-thumb img{display:block;width:100%;height:auto;border-radius:24px;border:1px solid rgba(245,196,81,.4);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.z3-prose{max-width:760px;margin:0 auto;font-size:19px;line-height:1.8}
.z3-prose>*{margin-top:0;margin-bottom:1.2em}
.z3-prose h2,.z3-prose h3,.z3-prose h4,.z3-prose h5,.z3-prose h6{font-family:'Lora',Georgia,serif;font-weight:600;color:var(--gold);text-align:left;line-height:1.3;margin:1.8em 0 .6em}
.z3-prose h2{font-size:34px}.z3-prose h3{font-size:28px}.z3-prose h4{font-size:23px}.z3-prose h5,.z3-prose h6{font-size:20px}
.z3-prose a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.z3-prose a:hover{color:var(--teal)}
.z3-prose ul,.z3-prose ol{padding-left:1.4em}
.z3-prose li{margin:.35em 0}
.z3-prose li::marker{color:var(--gold)}
.z3-prose blockquote,.z3-prose .wp-block-quote{margin:1.6em 0;padding:18px 26px;border-left:4px solid var(--gold);background:rgba(245,196,81,.07);border-radius:0 16px 16px 0;font-family:'Lora',Georgia,serif;font-size:21px}
.z3-prose blockquote cite,.z3-prose .wp-block-quote cite{display:block;margin-top:10px;font-family:'Poppins',sans-serif;font-size:15px;font-style:normal;color:var(--teal)}
.z3-prose img{max-width:100%;height:auto;border-radius:16px}
.z3-prose figure{margin:1.6em 0}
.z3-prose figcaption,.z3-prose .wp-caption-text,.z3-prose .wp-element-caption{margin-top:8px;font-size:15px;opacity:.75;text-align:center}
.z3-prose code,.z3-prose kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:rgba(255,255,255,.08);border:1px solid rgba(245,196,81,.25);border-radius:6px;padding:.1em .4em}
.z3-prose pre{overflow:auto;padding:18px 20px;border-radius:14px;background:#070B1C;border:1px solid rgba(245,196,81,.3);font-size:15px;line-height:1.6}
.z3-prose pre code{background:none;border:0;padding:0}
.z3-prose table{width:100%;border-collapse:collapse;font-size:17px}
.z3-prose th,.z3-prose td{padding:10px 14px;border:1px solid rgba(245,196,81,.3);text-align:left}
.z3-prose th{background:rgba(245,196,81,.12);color:var(--gold)}
.z3-prose hr{border:0;border-top:1px solid rgba(245,196,81,.35);margin:2em 0}
.z3-tags{max-width:760px;margin:30px auto 0;display:flex;flex-wrap:wrap;gap:8px;font-size:15px}
.z3-tags a{padding:6px 14px;border-radius:999px;border:1px solid rgba(61,214,198,.5);color:var(--cream);text-decoration:none}
.z3-tags a:hover{background:rgba(61,214,198,.15)}
.z3-postnav{max-width:960px;margin:60px auto 0;display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:700px){.z3-postnav{grid-template-columns:1fr 1fr}}
.z3-postnav a{display:block;padding:22px 26px;border-radius:20px;text-decoration:none;color:var(--cream);background:linear-gradient(135deg,rgba(61,214,198,.10),rgba(255,107,61,.10));border:1px solid rgba(245,196,81,.35);transition:box-shadow .3s}
.z3-postnav a:hover{box-shadow:0 0 30px rgba(245,196,81,.35)}
.z3-postnav small{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.z3-postnav strong{display:block;margin-top:6px;font-family:'Lora',Georgia,serif;font-size:21px;color:var(--gold)}
.z3-postnav .z3-next{text-align:right}
.z3-back{max-width:760px;margin:40px auto 0;text-align:center}
/* buttons */
.z3-btn,.z3 .wp-block-button__link,.z3 input[type=submit],.z3 button[type=submit],.z3 .button{display:inline-block;padding:14px 30px;border:0;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--ember));color:var(--ink);font-family:'Poppins',sans-serif;font-weight:600;font-size:17px;line-height:1.3;text-decoration:none;cursor:pointer;box-shadow:0 10px 30px rgba(245,196,81,.25);transition:transform .2s,box-shadow .3s}
.z3-btn:hover,.z3 .wp-block-button__link:hover,.z3 input[type=submit]:hover,.z3 button[type=submit]:hover,.z3 .button:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(245,196,81,.4);color:var(--ink)}
.z3-btn-ghost{background:transparent;color:var(--gold);border:1px solid var(--gold);box-shadow:none}
/* 404 */
.z3-404{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:110px 24px;text-align:center;background:radial-gradient(circle at 50% 30%,var(--ink2),var(--ink) 70%)}
.z3-404-num{font-family:'Lora',Georgia,serif;font-weight:700;font-size:150px;line-height:1;color:var(--gold);text-shadow:0 0 50px rgba(245,196,81,.45)}
.z3-404 h1{font-size:40px}
.z3-404 p{margin:0;font-size:20px}
.z3-404 .z3-btn{margin-top:20px}
.z3-404 .z3-searchform{margin-top:26px}
@media(max-width:700px){.z3-404-num{font-size:110px}.z3-404 h1{font-size:30px}.z3-pagehead h1{font-size:34px}.z3-single-head h1{font-size:34px}.z3-prose{font-size:18px}.z3-blog-herotxt p{font-size:18px}}
/* search form */
.z3-searchform{display:flex;gap:10px;max-width:520px;margin:0 auto;width:100%}
.z3-searchform .search-field{flex:1;min-width:0}
.z3-searchform .z3-btn{padding:12px 22px;white-space:nowrap}
/* comments */
.z3-comments{max-width:760px;margin:70px auto 0;padding-top:40px;border-top:1px solid rgba(245,196,81,.3)}
.z3-comments h2,.z3-comments h3{font-family:'Lora',Georgia,serif;color:var(--gold);text-align:left;font-size:28px;margin:0 0 20px}
.z3-comment-list,.z3-comment-list .children{list-style:none;margin:0;padding:0}
.z3-comment-list .children{padding-left:28px}
.z3-comment-list .comment-body{margin:0 0 18px;padding:20px 22px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(245,196,81,.25);font-size:17px}
.z3-comment-list .comment-author{display:flex;align-items:center;gap:10px;font-weight:600}
.z3-comment-list .comment-author img{border-radius:50%}
.z3-comment-list .says{display:none}
.z3-comment-list .comment-metadata{font-size:13px;opacity:.7}
.z3-comment-list .comment-metadata a,.z3-comment-list .reply a{color:var(--teal);text-decoration:none}
.z3-comment-list .reply{font-size:15px}
.z3-comments .comment-form p{margin:0 0 16px}
.z3-comments .comment-notes,.z3-comments .logged-in-as{font-size:15px;opacity:.8}
.z3-comments .comment-notes a,.z3-comments .logged-in-as a{color:var(--gold)}
/* ===== 5. Forms & plugin output (CF7, WPForms, Mailchimp/MailPoet, Elementor forms, Gutenberg, WordPress core) ===== */
.z3 label{display:block;margin:0 0 6px;font-size:16px;font-weight:600;color:var(--cream)}
.z3 input[type=text],.z3 input[type=email],.z3 input[type=url],.z3 input[type=tel],.z3 input[type=number],.z3 input[type=search],.z3 input[type=password],.z3 input[type=date],.z3 textarea,.z3 select,.z3 .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),.z3 .wpforms-container input.wpforms-field-medium,.z3 .wpforms-container textarea,.z3 .elementor-field-group .elementor-field{width:100%;max-width:100%;padding:13px 16px;border-radius:14px;border:1px solid rgba(245,196,81,.4);background:rgba(255,255,255,.06);color:var(--cream);font-family:'Poppins',sans-serif;font-size:17px;line-height:1.4;transition:border-color .2s,box-shadow .2s}
.z3 textarea{min-height:150px;resize:vertical}
.z3 select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.z3 select option{background:var(--ink);color:var(--cream)}
.z3 input::placeholder,.z3 textarea::placeholder{color:rgba(255,246,224,.5)}
.z3 input:focus,.z3 textarea:focus,.z3 select:focus,.z3 button:focus-visible,.z3 .wp-block-button__link:focus-visible,.z3 .z3-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-color:var(--gold);box-shadow:0 0 0 4px rgba(245,196,81,.2)}
.z3 input[type=checkbox],.z3 input[type=radio]{width:20px;height:20px;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--gold)}
.z3 input[type=file]{color:var(--cream);font-size:16px}
.z3 input[type=file]::file-selector-button{margin-right:12px;padding:10px 18px;border:0;border-radius:999px;background:var(--gold);color:var(--ink);font-weight:600;cursor:pointer}
.z3 input[type=checkbox]+label,.z3 input[type=radio]+label,.z3 .comment-form-cookies-consent label{display:inline;font-weight:400}
.z3 fieldset{border:1px solid rgba(245,196,81,.3);border-radius:16px;padding:16px 20px;margin:0 0 18px}
.z3 legend{padding:0 8px;color:var(--gold)}
/* Contact Form 7 */
.z3 .wpcf7-form p{margin:0 0 18px}
.z3 .wpcf7-not-valid{border-color:var(--ember)!important}
.z3 .wpcf7-not-valid-tip{display:block;margin-top:6px;color:var(--ember);font-size:14px}
.z3 .wpcf7 form .wpcf7-response-output{margin:20px 0 0;padding:14px 18px;border-radius:14px;border:1px solid var(--gold);font-size:16px}
.z3 .wpcf7 form.invalid .wpcf7-response-output,.z3 .wpcf7 form.unaccepted .wpcf7-response-output,.z3 .wpcf7 form.failed .wpcf7-response-output,.z3 .wpcf7 form.spam .wpcf7-response-output{border-color:var(--ember);color:var(--ember)}
.z3 .wpcf7 form.sent .wpcf7-response-output{border-color:var(--teal);color:var(--teal)}
.z3 .wpcf7-spinner{background-color:var(--gold)}
/* WPForms */
.z3 .wpforms-container .wpforms-field-label{color:var(--cream);font-weight:600}
.z3 .wpforms-container .wpforms-error,.z3 .wpforms-container label.wpforms-error{color:var(--ember)}
.z3 .wpforms-container input.wpforms-error,.z3 .wpforms-container textarea.wpforms-error{border-color:var(--ember)}
.z3 .wpforms-confirmation-container-full{background:rgba(61,214,198,.12);border:1px solid var(--teal);color:var(--cream);border-radius:14px}
.z3 .wpforms-container .wpforms-submit{background:linear-gradient(90deg,var(--gold),var(--ember));color:var(--ink);border:0;border-radius:999px;padding:14px 30px;font-weight:600}
/* Mailchimp for WP / MailPoet */
.z3 .mc4wp-form-fields p,.z3 .mailpoet_paragraph{margin:0 0 14px}
.z3 .mc4wp-error,.z3 .mailpoet_validate_error,.z3 .parsley-errors-list{color:var(--ember)}
.z3 .mc4wp-success,.z3 .mailpoet_validate_success{color:var(--teal)}
.z3 .mailpoet_form .mailpoet_text,.z3 .mailpoet_form .mailpoet_textarea{width:100%!important}
.z3 .mailpoet_submit{background:linear-gradient(90deg,var(--gold),var(--ember))!important;color:var(--ink)!important;border:0!important;border-radius:999px!important;padding:14px 30px!important;font-weight:600}
/* Elementor forms */
.z3 .elementor-form .elementor-field-label{color:var(--cream)}
.z3 .elementor-form .elementor-button{background:linear-gradient(90deg,var(--gold),var(--ember));color:var(--ink);border-radius:999px;font-weight:600}
.z3 .elementor-message-danger,.z3 .elementor-form .elementor-error{color:var(--ember)}
.z3 .elementor-message-success{color:var(--teal)}
/* Gutenberg blocks */
.z3 .wp-block-image img{border-radius:16px}
.z3 .wp-block-table table{width:100%;border-collapse:collapse}
.z3 .wp-block-table td,.z3 .wp-block-table th{border:1px solid rgba(245,196,81,.3);padding:10px 14px}
.z3 .wp-block-columns{gap:28px}
.z3 .wp-block-group.has-background{border-radius:20px;padding:28px}
.z3 .wp-block-separator{border-color:rgba(245,196,81,.35)}
.z3 .wp-block-pullquote{border-color:var(--gold);color:var(--cream)}
.z3-prose .alignwide{max-width:1100px;margin-left:calc((760px - 1100px)/2);margin-right:calc((760px - 1100px)/2)}
.z3-prose .alignfull{max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0}
@media(max-width:1160px){.z3-prose .alignwide{margin-left:0;margin-right:0;max-width:100%}}
/* WordPress core classes */
.z3 .alignleft{float:left;margin:.3em 1.4em 1em 0}
.z3 .alignright{float:right;margin:.3em 0 1em 1.4em}
.z3 .aligncenter{display:block;margin-left:auto;margin-right:auto;text-align:center}
@media(max-width:600px){.z3 .alignleft,.z3 .alignright{float:none;margin:1em 0}}
.z3 .wp-caption{max-width:100%}
.z3 .wp-caption img{display:block;max-width:100%;height:auto}
.z3 .sticky .z3-post-card,.z3 .z3-post-card.sticky{border-color:var(--gold)}
.z3 .bypostauthor>.comment-body{border-color:var(--teal)}
.z3 .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.z3 .gallery img{border-radius:12px;width:100%;height:auto}
/* ===== 6. Home spec 1E (shared, must stay last) ===== */
.z3-herotxt{position:relative;z-index:3;text-align:center;max-width:960px}
.z3-herotxt h1{font-size:64px;letter-spacing:.08em;line-height:1.2}
.z3-herotxt p{margin:18px 0 0;font-size:26px;color:var(--cream)}
.z3-h{font-size:40px;color:var(--gold);margin:0 0 36px}
.z3-left{text-align:left}
.z3-card p+p{margin-top:1em}
.z3-eyebrow{margin:0;padding:60px 24px 0;text-align:center;font-size:18px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.z3-sub{max-width:860px;margin:0 auto;padding:0 24px 70px;text-align:center}
.z3-bandwrap .z3-big{padding:20px 24px 28px}
.z3-story .txt{flex:1 1 320px}
.z3-story .txt p{margin:0 0 1em}
.z3-intro{max-width:860px;margin:0 auto 36px;text-align:center}
@media(max-width:700px){.z3-herotxt h1{font-size:36px}.z3-herotxt p{font-size:19px}.z3-h{font-size:30px}}

/* v1.0.2 fixes */
body.admin-bar .z3-head{top:32px}
@media(max-width:782px){body.admin-bar .z3-head{top:46px}}
.z3-burger{height:44px;min-width:46px}
.z3-brand:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:6px}
.z3-searchform{align-items:stretch}
.z3-searchform .search-field{margin:0}
.z3-searchform .z3-btn{margin:0;line-height:1.2}
.z3-comments a,.z3-comment-list a,.z3-comments .logged-in-as a{color:var(--gold)}
.z3-comments a:hover,.z3-comment-list a:hover{color:var(--cream)}
.z3-post-cat,.z3-post-date{font-size:15px}

/* v1.0.4 — dynamic Resources cards (category links) */
a.z3-rescard{display:block;text-decoration:none;color:inherit}
a.z3-rescard:hover,a.z3-rescard:focus-visible{border-color:var(--gold);box-shadow:0 20px 60px rgba(0,0,0,.45),0 0 50px rgba(245,196,81,.35)}
a.z3-rescard:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.z3-resgrid h3{text-wrap:balance}
.z3-res-empty{text-align:center;opacity:.8}

/* v1.0.5 — category-driven "How We Live It Out" tiles */
.z3-catlist li{position:relative;cursor:pointer}
.z3-catlist li a{display:block;color:var(--cream);text-decoration:none;font-size:18px;line-height:1.4}
.z3-catlist li a::after{content:"";position:absolute;inset:0;border-radius:18px}
.z3-catlist li:hover,.z3-catlist li:focus-within{border-color:var(--gold);box-shadow:0 0 36px rgba(245,196,81,.45)}
.z3-catlist li a:focus-visible{outline:none}
.z3-catlist li:focus-within{outline:2px solid var(--teal);outline-offset:3px}
.z3-latest{padding:0 0 10px}

/* v1.0.5 — burger menu panel: "heavenly glow" (no oval buttons) */
.z3-nav{background:radial-gradient(120% 90% at 50% 0,rgba(245,196,81,.16),rgba(11,16,38,.97) 62%);border:1px solid rgba(245,196,81,.4);border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.65),0 0 46px rgba(245,196,81,.2);padding:10px 8px;gap:0}
.z3-nav a{position:relative;display:block;text-align:left;padding:15px 22px 15px 30px;border:0;border-radius:12px;background:transparent;font-family:'Lora',serif;font-size:20px;letter-spacing:.02em;color:var(--cream);box-shadow:none;transform:none;transition:color .3s,background .3s,text-shadow .3s}
.z3-nav li+li a{border-top:1px solid rgba(245,196,81,.16);border-top-left-radius:0;border-top-right-radius:0}
.z3-nav a::before{content:"";position:absolute;left:12px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--gold);opacity:.35;box-shadow:0 0 0 rgba(245,196,81,0);transition:opacity .3s,box-shadow .3s,transform .3s}
.z3-nav a:hover,.z3-nav a:focus-visible,.z3-nav a.on{background:linear-gradient(90deg,rgba(245,196,81,.18),rgba(245,196,81,0));color:var(--gold);text-shadow:0 0 14px rgba(245,196,81,.65);transform:none;box-shadow:none}
.z3-nav a:hover::before,.z3-nav a:focus-visible::before,.z3-nav a.on::before{opacity:1;transform:scale(1.35);box-shadow:0 0 12px 3px rgba(245,196,81,.75)}
.z3-nav .z3-navlist .sub-menu a{font-size:17px}

/* v1.0.6 — scrolling gold band is horizontal (not tilted); burger menu items slightly smaller */
.z3-tick{transform:none;margin:0}
.z3-nav a{font-size:17px;padding:11px 20px 11px 28px}
.z3-nav a::before{left:11px}
.z3-nav .z3-navlist .sub-menu a{font-size:15px}
.z3-nav{width:min(260px,calc(100vw - 32px))}

/* ===== v1.0.7 — motion polish (all inside no-preference; visitors with "reduce motion" see a calm site) ===== */
.z3-beam{display:none}
@media (prefers-reduced-motion:no-preference){
  /* 1. Hero entrance: title resolves from a soft, wide, blurred glow; tagline rises in after it */
  .z3-herotxt h1{animation:z3shine 8s linear infinite,z3heroin 1.9s cubic-bezier(.2,.8,.2,1) .15s both,z3heroglow 6s ease-in-out 2.2s infinite}
  .z3-herotxt p{animation:z3tagin 1.3s cubic-bezier(.2,.8,.2,1) 1.1s both}
  @keyframes z3heroin{0%{opacity:0;letter-spacing:.26em;filter:blur(14px) drop-shadow(0 0 0 rgba(245,196,81,0))}60%{opacity:1;filter:blur(2px) drop-shadow(0 0 26px rgba(245,196,81,.55))}100%{opacity:1;letter-spacing:.08em;filter:blur(0) drop-shadow(0 0 14px rgba(245,196,81,.28))}}
  @keyframes z3heroglow{0%,100%{filter:drop-shadow(0 0 12px rgba(245,196,81,.22))}50%{filter:drop-shadow(0 0 26px rgba(245,196,81,.5))}}
  @keyframes z3tagin{0%{opacity:0;transform:translateY(22px)}100%{opacity:1;transform:none}}

  /* 2. Lighthouse sweep: a slow band of light crosses the hero, then rests */
  .z3-beam{display:block;position:absolute;top:-10%;bottom:-10%;left:-45%;width:42%;z-index:2;pointer-events:none;background:linear-gradient(100deg,rgba(255,236,170,0) 0%,rgba(255,236,170,.12) 45%,rgba(255,246,224,.18) 52%,rgba(255,236,170,.10) 60%,rgba(255,236,170,0) 100%);transform:skewX(-16deg);filter:blur(10px);mix-blend-mode:screen;animation:z3sweep 12s ease-in-out 2.5s infinite}
  @keyframes z3sweep{0%{left:-45%;opacity:0}8%{opacity:1}42%{left:110%;opacity:1}50%,100%{left:110%;opacity:0}}

  /* 3. Numbered tiles: each number glows on as its tile scrolls into view, one after another */
  .z3-list li.in::before{animation:z3num 1.3s cubic-bezier(.2,.8,.2,1) both}
  .z3-list li:nth-child(2).in::before{animation-delay:.12s}
  .z3-list li:nth-child(3).in::before{animation-delay:.24s}
  .z3-list li:nth-child(4).in::before{animation-delay:.36s}
  .z3-list li:nth-child(5).in::before{animation-delay:.48s}
  .z3-list li:nth-child(n+6).in::before{animation-delay:.6s}
  @keyframes z3num{0%{opacity:0;transform:scale(.4);text-shadow:0 0 0 rgba(245,196,81,0)}55%{opacity:1;transform:scale(1.28);text-shadow:0 0 24px rgba(245,196,81,.95)}100%{opacity:1;transform:scale(1);text-shadow:0 0 10px rgba(245,196,81,.35)}}

  /* 7. Burger menu: the panel fades in and the links stagger in one by one */
  .z3-nav.open{animation:z3panelin .32s cubic-bezier(.2,.8,.2,1) both;transform-origin:top right}
  .z3-nav.open .z3-navlist li{animation:z3linkin .5s cubic-bezier(.2,.8,.2,1) both}
  .z3-nav.open .z3-navlist li:nth-child(1){animation-delay:.06s}
  .z3-nav.open .z3-navlist li:nth-child(2){animation-delay:.11s}
  .z3-nav.open .z3-navlist li:nth-child(3){animation-delay:.16s}
  .z3-nav.open .z3-navlist li:nth-child(4){animation-delay:.21s}
  .z3-nav.open .z3-navlist li:nth-child(5){animation-delay:.26s}
  .z3-nav.open .z3-navlist li:nth-child(n+6){animation-delay:.31s}
  @keyframes z3panelin{0%{opacity:0;transform:translateY(-8px) scale(.97)}100%{opacity:1;transform:none}}
  @keyframes z3linkin{0%{opacity:0;transform:translateX(-14px)}100%{opacity:1;transform:none}}
}

/* ===== v1.0.8 — more tasteful motion (still all inside no-preference) ===== */
.z3-scrollcue{display:none}
@media (prefers-reduced-motion:no-preference){
  /* 5. Section headings: a gold-to-teal underline draws itself in when the heading appears */
  .z3-h{position:relative}
  .z3-h::after{content:"";position:absolute;left:50%;bottom:2px;height:2px;width:min(220px,50%);margin-left:calc(min(220px,50%) / -2);border-radius:2px;background:linear-gradient(90deg,rgba(245,196,81,0),var(--gold),var(--teal),rgba(61,214,198,0));opacity:.9;transform-origin:center;pointer-events:none}
  .z3-h.rv:not(.in)::after{transform:scaleX(0)}
  .z3-h.rv.in::after{animation:z3line 1.3s cubic-bezier(.2,.8,.2,1) .35s both}
  @keyframes z3line{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}

  /* 6. Hero scroll cue: a small glowing chevron bobs at the bottom of the hero and fades once you scroll */
  .z3-scrollcue{display:block;position:absolute;left:50%;bottom:26px;z-index:4;width:22px;height:22px;margin-left:-11px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);opacity:0;filter:drop-shadow(0 0 8px rgba(245,196,81,.7));pointer-events:none;animation:z3cue 2.2s ease-in-out 3s infinite;transition:opacity .4s}
  .z3.scrolled .z3-scrollcue{animation:none;opacity:0}
  @keyframes z3cue{0%{opacity:0;transform:translateY(-6px) rotate(45deg)}40%{opacity:.9}100%{opacity:0;transform:translateY(12px) rotate(45deg)}}

  /* 8. Cards lift and glow a little on hover; post thumbnails zoom gently */
  .z3-card,.z3-post-card{transition:transform .15s,box-shadow .4s,border-color .4s}
  .z3.on .z3-post-card.in{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s,opacity 1s}
  .z3.on .z3-post-card.in:hover,.z3-post-card:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(0,0,0,.5),0 0 34px rgba(245,196,81,.25);border-color:var(--gold)}
  .z3-post-thumb img{transition:transform .9s cubic-bezier(.2,.8,.2,1)}
  .z3-post-card:hover .z3-post-thumb img{transform:scale(1.07)}

  /* 9. Cards in a row appear one after another instead of all at once */
  .z3-grid .rv:nth-child(2),.z3-posts .rv:nth-child(2),.z3-list .rv:nth-child(2){transition-delay:.12s}
  .z3-grid .rv:nth-child(3),.z3-posts .rv:nth-child(3),.z3-list .rv:nth-child(3){transition-delay:.24s}
  .z3-grid .rv:nth-child(4),.z3-posts .rv:nth-child(4),.z3-list .rv:nth-child(4){transition-delay:.36s}
  .z3-grid .rv:nth-child(5),.z3-list .rv:nth-child(5){transition-delay:.48s}

  /* 10. Links in the footer and in page text get a gold underline that slides in */
  .z3-foot a,.z3-prose a{background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 1px no-repeat;transition:background-size .4s cubic-bezier(.2,.8,.2,1),color .3s}
  .z3-foot a:hover,.z3-prose a:hover{background-size:100% 1px}
}

/* v1.0.10 — "Website by Aimplify" footer credit */
.z3-credit{max-width:1100px;margin:10px auto 0;text-align:center;font-size:13px;letter-spacing:.04em;opacity:.65;transition:opacity .3s}
.z3-credit:hover,.z3-credit:focus-within{opacity:1}
.z3-credit a{display:inline-flex;align-items:center;gap:8px;color:var(--cream);text-decoration:none}
.z3-credit a:hover{color:var(--gold);text-decoration:none}
.z3-credit strong{color:var(--gold);font-weight:600}
.z3-credit-logo{display:block;height:22px;width:auto;max-width:90px;object-fit:contain}

/* v1.0.11 — the header is fixed to the top of the screen on every device and browser
   (sticky could stay behind at some scroll positions). The page gets matching top padding so nothing moves. */
.z3{padding-top:var(--z3-head-h,65px)}
.z3-head{position:fixed;top:0;left:0;right:0;width:100%}

/* v1.0.13 — Resources cards: equal-size "small windows", centred, no auto-margin shrinking. */
.z3-resgrid{grid-template-columns:repeat(auto-fit,minmax(200px,240px));justify-content:center;gap:22px;align-items:stretch}
.z3-resgrid .z3-card{margin:0;max-width:none;width:100%;padding:28px 20px;min-height:132px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.z3-resgrid h3{font-size:22px;margin:0 0 6px}
.z3-resgrid small{font-size:15px}

/* v1.0.14 — Resources cards: centred rows (incl. a short last row), all the same height. */
.z3-resgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.z3-resgrid .z3-card{flex:0 0 240px;max-width:240px;width:240px;min-height:164px;box-sizing:border-box}
@media(max-width:520px){.z3-resgrid .z3-card{flex:1 1 100%;max-width:340px;width:100%;min-height:132px}}
