/* Zashi Magazine — static rebuild of the Wix site. Layout coordinates live inline on each piece. */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { overflow-x: hidden; }
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
  font-family: "Helvetica Neue", Helvetica, Arimo, Arial, sans-serif; color: #000; }

/* Two hand-designed layouts, exactly like Wix: desktop (1280 wide) and phone (320 wide), each scaled to fit. */
.stage { position: relative; margin: 0 auto; overflow-x: clip; }
.stage.d { zoom: var(--zd, 1); }
.stage.m { zoom: var(--zm, 1); }
@media (max-width: 767px) { .stage.d { display: none; } }
@media (min-width: 768px) { .stage.m { display: none; } }

.hdr { top: 0; left: 0; width: 100%; z-index: 50; pointer-events: none; }
.hdr > * { pointer-events: auto; }
.pg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }

.c { position: absolute; transform-origin: 50% 50%; }
.c.i img, .c.i video, .c.bx img { position: absolute; display: block; max-width: none; }
.c.i a, .c.s a { display: block; width: 100%; height: 100%; }
.c.s svg { display: block; width: 100%; height: 100%; }
.c.t { overflow-wrap: break-word; }
.c.t p, .c.t ul, .c.t ol { margin: 0; }
.c.t a { color: inherit; text-decoration: inherit; }
.c.t a:hover { opacity: .8; }
.c.e iframe { display: block; }

/* galleries: slideshow (About) and scrolling strip (Edition) */
.gal { overflow: hidden; }
.gal img { display: block; max-width: none; }
.ga { position: absolute; top: 50%; translate: 0 -50%; z-index: 2; padding: 4px 10px; background: none; border: 0;
  color: var(--ac, #000); font: 400 44px/1 Georgia, serif; cursor: pointer; text-shadow: 0 0 8px rgba(255,255,255,.8); }
.ga.prev { left: 0; } .ga.next { right: 0; }
@media (hover: hover) { .gal .ga { opacity: 0; transition: opacity .2s; } .gal:hover .ga, .gal:focus-within .ga { opacity: 1; } }
.ss figure { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity .7s; pointer-events: none; }
.ss figure.on { opacity: 1; pointer-events: auto; }
.ss figure img { position: absolute; }
.ss figcaption { position: absolute; left: 0; right: 0; padding: 0 9px; }
.sl-track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  scrollbar-width: none; }
.sl-track::-webkit-scrollbar { display: none; }
.sl-track img { flex: 0 0 auto; scroll-snap-align: start; }
@media (prefers-reduced-motion: reduce) { .ss figure { transition: none; } .sl-track { scroll-behavior: auto; } }

.btn { display: flex; align-items: center; justify-content: center; text-decoration: none; }

/* desktop menu */
.nav { white-space: nowrap; text-decoration: none; line-height: 1; cursor: pointer; }
.nav:hover { opacity: .7; }
.more .drop { display: none; position: absolute; top: 100%; right: 0; padding: 10px 0; min-width: 260px;
  background: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.18); }
.more:hover .drop, .more:focus-within .drop { display: block; }
.more .drop a { display: block; padding: 8px 18px; color: inherit; text-decoration: none; }
.more .drop a:hover { background: #f2f2f2; }

/* phone menu */
.burger { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px;
  background: none; border: 0; padding: 0; cursor: pointer; }
.burger i { display: block; width: 24px; height: 2px; background: #fff; }
.mmenu { position: fixed; inset: 0; z-index: 200; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 26px; background: rgba(0,0,0,.94); }
.mmenu[hidden] { display: none; }
.mmenu a { color: #fff; font: 700 22px/1.2 "Helvetica Neue", Helvetica, Arimo, Arial, sans-serif; letter-spacing: .06em;
  text-decoration: none; }
.mmenu .x, .popup .x { position: absolute; background: none; border: 0; cursor: pointer; font-size: 26px; line-height: 1; }
.mmenu .x { top: 18px; right: 20px; color: #fff; }

/* "Free your mind" newsletter popup */
.popup { position: fixed; right: 30px; bottom: 0; width: 498px; height: 202px; z-index: 150; }
.popup[hidden] { display: none; }
.popup .x { top: -34px; right: 0; color: #000; font-size: 30px; font-weight: 700; }
.pbox { position: relative; width: 100%; height: 100%; overflow: hidden;
  background: linear-gradient(180deg, #8fb7e0 0%, #b9d3ee 55%, #e8eef5 100%); }
.pgfx { position: absolute; left: 0; bottom: 0; width: 182px; height: 171px; object-fit: contain; object-position: 50% 100%; }
.pfree { position: absolute; left: 56px; top: 18px; margin: 0; font: 800 21px/22px "Helvetica Neue", Helvetica, Arimo, Arial, sans-serif;
  letter-spacing: .06em; color: #000; }
.pform input { position: absolute; left: 186px; top: 42px; width: 285px; height: 48px; border: 0; border-radius: 3px;
  padding: 0 14px; font: 700 13px/1 "Helvetica Neue", Helvetica, Arimo, Arial, sans-serif; letter-spacing: .25em; }
.pform button { position: absolute; left: 190px; top: 111px; width: 277px; height: 41px; border: 0; border-radius: 22px;
  background: #f00; color: #fff; font: italic 15px "Libre Baskerville", Baskerville, serif; cursor: pointer; }
.pform .thanks { position: absolute; left: 186px; top: 70px; width: 285px; color: #000;
  font: 700 15px/1.3 "Helvetica Neue", Helvetica, Arimo, Arial, sans-serif; }
@media (max-width: 767px) {
  .popup { right: 0; left: 0; margin: 0 auto; width: 100%; max-width: 498px; height: 180px; }
  .pgfx { width: 120px; height: 113px; }
  .pfree { left: 30px; top: 14px; font-size: 16px; line-height: 17px; }
  .pform input { left: 128px; width: calc(100% - 140px); top: 36px; }
  .pform button { left: 128px; width: calc(100% - 140px); top: 100px; }
  .pform .thanks { left: 128px; width: calc(100% - 140px); }
}

/* Entrance animations carried over from Wix (paused until the piece scrolls into view). */
html.js .anim:not(.run) { opacity: 0; }
html.js .anim.run { animation: var(--a); }
@media (prefers-reduced-motion: reduce) { html.js .anim { animation: none; } }
@keyframes z-fadeIn { from { opacity: 0; } }
@keyframes z-shapeIn { from { clip-path: var(--motion-shape-start, inset(50%)); } to { clip-path: var(--motion-shape-end, inset(0)); } }
@keyframes z-glideIn { from { translate: var(--motion-translate-x, 0px) var(--motion-translate-y, 0px); } }
@keyframes z-spinIn { from { rotate: var(--motion-rotate, -180deg); scale: var(--motion-scale, 0); } }
@keyframes z-expandIn { from { scale: var(--motion-scale, 0); } }
@keyframes z-shrinkIn { from { scale: 1.6; } }
@keyframes z-circleIn { from { translate: var(--motion-translate-x, -100%) var(--motion-translate-y, -100%); rotate: var(--motion-rotate-z, 0deg); } }
@keyframes z-flipIn { from { transform: perspective(800px) rotateX(90deg); } }
@keyframes z-blurIn { from { filter: blur(12px); } }
