/* Zion 2.0: standalone editorial pages; no external libraries. */
body:has(.ze-page) .site-content{padding-top:0!important}
.ze-page{--ze-red:#ed3e29;--ze-ink:#282c31;--ze-teal:#117f79;--ze-cream:#faf7f1;background:var(--ze-cream);color:var(--ze-ink);padding:35px 0 95px;min-height:65vh}
.ze-shell{max-width:1260px;margin:auto;padding:0 clamp(20px,4vw,64px)}
.ze-page *{box-sizing:border-box}
.ze-intro{padding:35px 0 26px;max-width:900px}
.ze-eyebrow,.ze-section-title span,.ze-sticker{display:inline-block;font:700 13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;color:var(--ze-red);text-transform:uppercase}
.ze-intro h1,.ze-404 h1{font-size:clamp(56px,8vw,114px)!important;letter-spacing:-.08em!important;line-height:.96!important;margin:12px 0 24px!important;color:var(--ze-ink)!important;font-weight:800}
.ze-intro p{font-size:clamp(17px,1.75vw,22px);line-height:1.6;max-width:800px}
.ze-richtext{max-width:950px;margin:20px 0 42px;font-size:17px;line-height:1.8}
.ze-richtext p{font:inherit;margin:0 0 1.3em}
.ze-richtext a{color:var(--ze-red);text-decoration:underline}
.ze-section{margin:45px 0 65px}.ze-section-title{border-top:2px solid var(--ze-ink);padding-top:20px;margin-bottom:25px}.ze-section-title h2{font-size:clamp(30px,4vw,54px)!important;line-height:1.2!important;margin:7px 0!important;letter-spacing:-.04em}
.ze-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.ze-card{border:1px solid #e5e1db;border-radius:16px;background:#fff;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;min-width:0}
.ze-card:hover{transform:translateY(-5px);box-shadow:7px 7px 0 rgba(237,62,41,.16)}
.ze-card-link{display:block!important;color:var(--ze-ink)!important;text-decoration:none!important;height:100%}
.ze-card-photo{aspect-ratio:4/3;background:#eee6dc;overflow:hidden}.ze-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ze-card-body{padding:17px}.ze-card time{font-size:12px;color:#6d6f72}.ze-card h2{font-size:22px!important;line-height:1.3!important;letter-spacing:-.02em!important;margin:8px 0!important;color:var(--ze-ink)!important}.ze-card p{font-size:14px;line-height:1.5;color:#65676b;margin:0!important}
.ze-pagination .page-numbers{display:flex;gap:10px;list-style:none;padding:0!important;margin:30px 0!important;flex-wrap:wrap}.ze-pagination a,.ze-pagination span{border:1px solid #ddd;border-radius:8px;display:inline-block;padding:7px 12px;color:var(--ze-ink)}.ze-pagination .current{background:var(--ze-red);color:#fff;border-color:var(--ze-red)}
.ze-empty{padding:24px;border:1px dashed #ddd;border-radius:14px;color:#666}
/* Now Playing */
.ze-now-hero{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(25px,6vw,85px);background:#f2e5d8;padding:35px 7%;border-radius:20px;overflow:hidden}
.ze-vinyl{width:min(100%,350px);aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#171919 0 7px,#333 8px 10px,#111 11px 17px);box-shadow:12px 15px 0 rgba(0,0,0,.12);display:grid;place-items:center;animation:ze-spin 13s linear infinite}.ze-vinyl-label{width:30%;aspect-ratio:1;background:var(--ze-red);border:16px solid #dfbca3;border-radius:50%}
@keyframes ze-spin{to{transform:rotate(360deg)}}
.ze-now-note h2{font-size:clamp(30px,4vw,56px)!important;line-height:1.1!important;margin:15px 0!important}.ze-now-note p{font-size:17px;line-height:1.7}.ze-now-note a{color:var(--ze-red);font-weight:700}
/* Rabbit Hole */
.ze-rabbit .ze-intro h1{color:var(--ze-teal)!important}.ze-terminal{padding:20px 25px;color:#d1ffe1;background:#1e2d2b;font:700 24px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-radius:12px;box-shadow:9px 9px 0 var(--ze-teal)}.ze-terminal>span{font-size:45px;color:#7affa9}.ze-terminal small{font-size:12px;letter-spacing:.07em;margin-left:auto}
/* Archives */
.ze-folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ze-folder{display:flex;flex-direction:column;min-height:190px;background:#f6e9c9;border:2px solid #323232;border-radius:4px;padding:23px 20px;color:var(--ze-ink);text-decoration:none;box-shadow:7px 7px 0 #ead8b0}.ze-folder:nth-child(3n+2){background:#e9f0e8}.ze-folder:nth-child(3n){background:#f7dcd5}.ze-folder-tab{font:700 12px ui-monospace,monospace;color:#74633f}.ze-folder h3{font-size:clamp(22px,2.5vw,32px);line-height:1.15;margin:20px 0 auto}.ze-folder>span:last-child{color:var(--ze-red);font-size:14px;margin-top:16px}.ze-years{display:flex;gap:15px;flex-wrap:wrap}.ze-years{list-style:none;padding:0!important}.ze-years>li{list-style:none}.ze-years>li>a{display:inline-block;background:#fff;padding:16px 23px;border-radius:10px;color:var(--ze-ink);font-weight:700;border:1px solid #e0ded8;text-decoration:none!important}.ze-years>a{background:#fff;padding:16px 23px;border-radius:10px;color:var(--ze-ink);font-weight:700;border:1px solid #e0ded8}
/* Mission Control */
.ze-orbit{height:160px;border-radius:16px;background:linear-gradient(135deg,#1b2929,#137970);position:relative;overflow:hidden;display:grid;place-items:center;margin:10px 0 40px}.ze-orbit span{font:900 75px/1 ui-monospace,monospace;color:#fcefe7}.ze-orbit i{position:absolute;width:220px;height:90px;border:1px solid rgba(255,255,255,.5);border-radius:100%;transform:rotate(25deg)}.ze-orbit i:nth-child(3){transform:rotate(-30deg)}.ze-orbit i:nth-child(4){transform:rotate(90deg)}
.ze-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ze-project{padding:20px;background:#fff;border:2px solid #eee5dc;border-radius:16px;text-decoration:none!important;color:var(--ze-ink)!important}.ze-project-index{font:700 12px monospace;color:var(--ze-red)}.ze-project img,.ze-project-art{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin:14px 0}.ze-project-art{background:#f6e4d9;display:grid;place-items:center;font-size:90px;color:var(--ze-red)}.ze-project h3{font-size:25px;line-height:1.15;margin:10px 0}.ze-project p{font-size:15px;line-height:1.6}
/* Privacy */
.ze-cookie{border:3px solid var(--ze-red);border-radius:22px;background:#fff;display:grid;grid-template-columns:130px 1fr;gap:30px;padding:30px;align-items:center}.ze-cookie-icon{font-size:95px}.ze-cookie h2{font-size:clamp(32px,4vw,55px)!important;margin:8px 0!important}.ze-cookie p{font-size:17px;line-height:1.6}.ze-disclaimer{background:#e5f0eb;border-left:5px solid var(--ze-teal);padding:18px 22px;font-size:14px;line-height:1.6}
/* 404 */
.ze-404-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;min-height:65vh}.ze-404 h1 em{color:var(--ze-red);font-style:normal}.ze-404 p{font-size:19px;line-height:1.6;max-width:550px}.ze-cta,.ze-alt{display:inline-block;margin:15px 12px 0 0;padding:13px 20px;border-radius:7px;border:2px solid var(--ze-red);text-decoration:none!important;font-weight:700}.ze-cta{background:var(--ze-red);color:#fff!important}.ze-alt{color:var(--ze-red)!important}.ze-glitch{text-align:center;position:relative;color:var(--ze-red);font:900 clamp(120px,17vw,250px)/1 ui-monospace,monospace;text-shadow:8px 10px 0 #b0e5d6}.ze-glitch small{display:block;letter-spacing:.1em;color:var(--ze-ink);font:700 16px monospace}
@media(max-width:1000px){.ze-post-grid,.ze-folder-grid,.ze-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ze-404-layout{grid-template-columns:1fr}.ze-glitch{text-align:left}}
@media(max-width:680px){.ze-page{padding-top:12px}.ze-intro{padding:15px 0}.ze-post-grid,.ze-folder-grid,.ze-project-grid,.ze-now-hero{grid-template-columns:1fr}.ze-now-hero{justify-items:center}.ze-cookie{grid-template-columns:1fr}.ze-cookie-icon{font-size:65px}.ze-terminal small{margin:0}.ze-404 h1{font-size:clamp(48px,15vw,90px)!important}}
@media(prefers-reduced-motion:reduce){.ze-vinyl{animation:none}.ze-card{transition:none}}

/* Zion 2.0.1 — NerdyStuff only: four cards per desktop row. */
@media (min-width:1001px){
  .ze-rabbit .ze-post-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
}
.ze-rabbit .ze-card h2{
  font-size:clamp(17px,1.35vw,21px)!important;
  font-weight:800!important;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
  line-height:1.3!important;
}
.ze-rabbit .ze-card-body{padding:15px}
.ze-rabbit .ze-card-body p{overflow-wrap:anywhere}

/* 2.0.2: NerdyStuff copy uses the full shell width without changing type size. */
.ze-rabbit .ze-richtext{max-width:none;width:100%;margin:36px 0 42px;font-size:17px;line-height:1.8;}
.ze-rabbit .ze-richtext p{text-align:justify;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;}
.ze-rabbit .ze-rabbit-directory{margin-top:34px;}
@media(max-width:680px){.ze-rabbit .ze-richtext{margin-top:29px;} .ze-rabbit .ze-richtext p{text-align:left;}}

/* Zion 2.0.3 — shared editorial body typography / full-width justified Gutenberg copy. */
.ze-page .ze-richtext {
  width: 100%;
  max-width: none;
  font-size: 17px;
  line-height: 1.8;
  margin: 34px 0 42px;
}
.ze-page .ze-richtext p,
.ze-page .ze-richtext li {
  font-size: inherit;
  line-height: inherit;
  text-align: justify;
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-wrap: break-word;
}
.ze-page .ze-section-title:has(> span:only-child) {
  margin-bottom: 23px;
  padding-top: 18px;
}
.ze-now .ze-richtext {margin-top: 38px;}
@media(max-width:680px){
  .ze-page .ze-richtext p, .ze-page .ze-richtext li {text-align: left;}
  .ze-page .ze-richtext {margin-top: 28px;}
}

/* Zion 2.0.4 — four editorial cards per desktop row, consistent across templates.
   Homepage categories retain the existing five-column layout. */
@media (min-width: 1001px) {
  .ze-page .ze-post-grid,
  .ze-page .ze-folder-grid,
  .ze-page .ze-project-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }
  .ze-page .ze-folder { min-width: 0; }
  .ze-page .ze-folder h3 { font-size: clamp(19px, 1.8vw, 26px); overflow-wrap: anywhere; }
  .ze-page .ze-card h2 { font-weight: 800 !important; overflow-wrap: anywhere; word-break: normal; }
  .ze-page .ze-project h3 { font-size: clamp(19px, 1.8vw, 25px); overflow-wrap: anywhere; }
}
@media (min-width: 681px) and (max-width: 1000px) {
  .ze-page .ze-post-grid, .ze-page .ze-folder-grid, .ze-page .ze-project-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 680px) {
  .ze-page .ze-post-grid, .ze-page .ze-folder-grid, .ze-page .ze-project-grid {grid-template-columns: minmax(0, 1fr);}
}

/* Zion 2.0.5: standard service pages use white, special editorial pages retain cream. */
.ze-page.ze-archives{background:#fff;}
.ze-archives .ze-richtext{max-width:none;width:100%;}
