/* Atlas of Katie — frontend. Isolated from Elementor/theme styles. */
html.aok-atlas-active,
body.aok-atlas-active{
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  background:#000!important;
}
body.aok-atlas-active:before,
body.aok-atlas-active:after{content:none!important;display:none!important}

/* Keep the native WordPress admin bar visible for logged-in users.
   The Atlas begins immediately below it, with no white spacer. */
body.admin-bar.aok-atlas-active{background:var(--aok-bg,#000)!important;}
body.admin-bar .aok-atlas{
  top:32px!important;
  bottom:0!important;
  height:calc(100dvh - 32px)!important;
  min-height:calc(100vh - 32px)!important;
  z-index:99998!important;
}
body.admin-bar #wpadminbar{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:99999!important;
}
@media screen and (max-width:782px){
  body.admin-bar .aok-atlas{
    top:46px!important;
    height:calc(100dvh - 46px)!important;
    min-height:calc(100vh - 46px)!important;
  }
}

.aok-atlas,.aok-atlas *{box-sizing:border-box}
.aok-atlas{
  --aok-bg:#000;
  --aok-fg:#fff;
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:block!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:var(--aok-bg)!important;
  color:var(--aok-fg)!important;
  font-family:var(--aok-font)!important;
  overflow:hidden!important;
  isolation:isolate;
}
.aok-stage{position:relative;width:100%;height:100%;margin:0!important;padding:0!important;border:0!important;background:var(--aok-bg)!important;overflow:hidden}
.aok-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0!important;padding:0;opacity:0;visibility:hidden;pointer-events:none;border:0!important;background:var(--aok-bg)!important;transition:none!important}
.aok-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}

/* Cover: literal typography from the supplied reference, not an image. */
.aok-cover{align-items:flex-start!important;justify-content:flex-start!important;padding:13px 10px!important}
.aok-cover-title{
  margin:0!important;
  padding:0!important;
  color:var(--aok-fg)!important;
  font-family:"Courier New",Courier,monospace!important;
  font-size:22px!important;
  line-height:1.28!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-align:left!important;
  white-space:nowrap;
  text-transform:none!important;
}

.aok-slide-inner{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:2.6vh 4vw;margin:0}

/* Image + caption remain a single composition, as in the reference PDF. */
.aok-media-composition{display:flex;align-items:center;justify-content:center;gap:18px;max-width:92vw;max-height:92vh;margin:0 auto;padding:0}
.aok-main-image,.aok-main-video{display:block;width:auto;height:auto;max-width:min(72vw,1040px);max-height:88vh;object-fit:contain;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
.aok-caption-rail{position:relative;flex:0 0 24px;width:24px;height:min(82vh,760px);align-self:center;overflow:visible}
.aok-caption{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-90deg);transform-origin:center;white-space:nowrap;line-height:1.25;letter-spacing:.01em;margin:0!important;padding:0!important;color:var(--aok-fg)}

.aok-thought{white-space:pre-wrap;max-width:min(760px,78vw);line-height:1.6;margin:0;padding:0;color:var(--aok-fg)}
.aok-type-audio .aok-slide-inner{flex-direction:column;gap:24px}
.aok-audio-wrap audio{width:min(560px,80vw)}
.aok-audio-caption{max-width:min(760px,80vw);line-height:1.5;color:var(--aok-fg)}

/* Final gallery screen. */
.aok-end{align-items:center!important;justify-content:center!important}
.aok-return-home,
.aok-return-home:hover,
.aok-return-home:focus,
.aok-return-home:focus-visible,
.aok-return-home:active{
  position:relative!important;
  z-index:30!important;
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--aok-fg)!important;
  font-family:"Courier New",Courier,monospace!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  text-transform:none!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  transition:none!important;
}

/* Invisible navigation. Hard reset prevents Elementor/theme hover colours. */
.aok-nav,
.aok-nav:hover,
.aok-nav:focus,
.aok-nav:focus-visible,
.aok-nav:active{
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  width:50%!important;
  height:auto!important;
  z-index:20!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  color:transparent!important;
  opacity:1!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  transform:none!important;
  transition:none!important;
  text-decoration:none!important;
}
.aok-nav:before,.aok-nav:after{content:none!important;display:none!important}
.aok-prev{left:0!important;right:auto!important}.aok-next{right:0!important;left:auto!important}
.aok-atlas[data-cursor="1"] .aok-prev{cursor:w-resize!important}.aok-atlas[data-cursor="1"] .aok-next{cursor:e-resize!important}
.aok-slide video,.aok-slide audio{position:relative;z-index:25}.aok-slide video:hover,.aok-slide audio:hover{cursor:auto}

@media (max-width:768px){
  .aok-cover{padding:12px 9px!important}
  .aok-cover-title{font-size:18px!important;line-height:1.28!important}
  .aok-slide-inner{padding:4vh 5vw 7vh}
  .aok-media-composition{display:flex;flex-direction:column;gap:13px;max-width:92vw;max-height:92vh}
  .aok-main-image,.aok-main-video{max-width:88vw;max-height:76vh}
  .aok-caption-rail{width:88vw;height:auto;flex:0 0 auto}
  .aok-caption{position:static;transform:none;white-space:normal;width:100%;line-height:1.35;text-align:center!important;font-size:12px!important}
  .aok-thought{max-width:86vw;font-size:14px!important}
  .aok-audio-caption{max-width:86vw;text-align:center!important}
  .aok-return-home,.aok-return-home:hover,.aok-return-home:focus,.aok-return-home:active{font-size:12px!important;max-width:82vw!important;text-align:center!important}
}
